Tải bản đầy đủ (.doc) (50 trang)

ỨNG DỤNG STRUTS VÀ HIBERNATE TRONG QUẢN LÝ CÔNG VIỆC CHO CÔNG TY CHỨNG KHOÁN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.01 MB, 50 trang )

LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì công nghệ thông tin là
một trong những lĩnh vực có nhiều đóng góp thiết thực nhất, công nghệ thông tin có mặt trong hầu
hết các lĩnh vực của cuộc sống, đặc biệt nó là công cụ hỗ trợ rất đắc lực trong công tác quản lý.
Nhờ vào công tác tin học hóa mà công việc quản lý và điều hành doanh nghiệp tỏ ra rất nhanh
chóng và hiệu quả.
Từ những thập kỉ cuối thế kỷ XX công nghệ thông tin và truyền thông đã có những bước
phát triển vũ bão và đã đem lại những thay đổi lớn lao cho cuộc sống nhân loại. Công nghệ thông
tin không biên giới đã đưa hoạt động kinh tế vượt ra khỏi phạm vi quốc gia và trở thành hoạt động
mang tính toàn cầu. Vốn sản xuất, hàng hóa, sức lao động, thông tin và công nghệ đều có xu
hướng trao đổi, sử dụng và được điều phối xuyên quốc gia. Các mối quan hệ kinh tế thương mại,
công nghệ và hợp tác giữa các nước, các doanh nghiệp ngày càng được tăng cường nhưng đồng
thời tính cạnh tanh cũng trở nên mạng mẽ. kể từ sau khi gia nhập WTO với các chính sách thông
thoáng đã bãi bỏ đi nhiều hạn chế đối với các công ty, các doanh nghiệp nước ngoài thì Việt Nam
đã trở thành điểm đến hết sức lý tưởng của các nhà đầu tư nước ngoài. Sự gia nhập của hàng loạt
các công ty nước ngoài đòi hỏi một lượng rất lớn nhân công lao động.
Trong các công ty, doanh nghiệp không chỉ ở riêng Việt Nam mà còn trên toàn thế giới
luôn luôn phải đối diện với nguy cơ chi phí trang chải cao hơn mức dự kiến hay công việc không
đúng tiến độ được giao. Vì vậy người quản lý cần tổ chức kế hoạch và theo dõi tiến độ thực hiện
sao cho hiệu quả nhất để công việc được hoàn thành đúng thời gian quy định, giảm thiểu rủi ro và
chi phí thực hiện. Xuất phát từ nhu cầu này em đã nghiên cứu và chọn đề tài: “ỨNG DỤNG
STRUTS VÀ HIBERNATE TRONG QUẢN LÝ CÔNG VIỆC CHO CÔNG TY CHỨNG
KHOÁN” làm luận văn tốt nghiệp. Đề tài tập chung quản lý các thông tin của nhân viên, công việc
cũng như các phòng ban tại một thời điểm bất kỳ.
1
LỜI CẢM ƠN
Em xin chân thành cảm ơn Th.s Đào Quý Hùng đã tận tình hướng dẫn chỉ bảo em hoàn
thành đồ án này. Ngoài ra trong quá trình thực tập em cũng nhận được sự giúp đỡ, chỉ bảo tận tình
của các anh chị phòng chứng khoán công ty cổ phần chứng khoán Thiên Việt, và các bạn trong
nhóm thực tập cùng nhau trao đổi kiến thức giúp em nắm bắt vấn đề hơn. Đóng góp vào kết quả
mà em thu được có một phần rất lớn là công lao của các thầy cô đã tận tình giảng dạy, đào tạo và


giúp đỡ em hoàn thành tốt quá trình học tập tại trường và quá trình tốt nghiệp
Tốt nghiệp là một giai đoạn khó và rất quan trọng kết thúc quá trình học tập của em ở
trường trong năm năm học qua, cũng qua giai đoạn làm tốt nghiệp này đã giúp em củng cố kiến
thức, tính độc lập trong khi làm việc. Tuy công việc có vất vả và gặp nhiều khó khăn, nhưng với
sự giúp đỡ và hướng dẫn tận tình của th.s Đào quý Hùng em đã hoàn thành đồ án này. Một lần nữa
em xin chân thành cảm ơn chương trình Hợp Tác Đào Tạo Quốc Tế trường Đại học Bách Khoa Hà
Nội, cùng tập thể các thầy cô giáo trong chương trình đã giúp đỡ em trong quá trình học tập ở
trường và quá trình làm tốt nghiệp này.
2
CHƯƠNG I. TỔNG QUAN
Chương này giới thiệu khái quát về lĩnh vực, mục tiêu hoạt động của công ty chứng khoán
Thiên Việt và nêu khái quát về nghiệp vụ quản lí công việc, giúp người đọc hiểu được các khái
niệm cũng như nghiệp vụ cần thiết của người quản lý công việc
1.1Giới thiệu công ty chứng khoán Thiên Việt
Công ty Chứng khoán Thiên Việt - TVSC là một công ty được thành lập và hoạt động theo
luật Doanh nghiệp và các quy định hiện hành về chứng khoán và thị trường chứng khoán. Công ty
có tài khoản và con dấu riêng; được Ủy Ban Chứng Khoán nhà nước cấp giấy phép hoạt động
kinh doanh chứng khoán và đăng ký kinh doanh tại Sở Kế hoạch và Đầu tư thành phố Hà Nội.
Các mục tiêu hoạt động:
a. Hoạt động ổn định, lâu dài, có hiệu quả, luôn hướng tới lợi ích của cổ đông và khách
hàng.
b. Góp phần xây dựng thị trường chứng khoán Việt Nam phát triển lớn mạnh và tạo dựng
hình ảnh một Công ty chứng khoán năng động, có uy tín, dịch vụ chất lượng cao.
c. Hỗ trợ phát triển các doanh nghiệp Việt Nam, đặc biệt là đối với các doanh nghiệp vừa
và nhỏ.
d. Đa dạng và chuyên nghiệp hoá các sản phẩm dịch vụ, đáp ứng tốt nhất mọi nhu cầu
ngày càng tăng của các nhà đầu tư.
e. Gia tăng giá trị của Công ty, mang lại lợi ích thiết thực và tối đa cho các cổ đông.
Trên cơ sở mục tiêu hoạt động của công ty em đã quyết định nghiên cứu đề tài tốt nghiệp
“ỨNG DỤNG STRUTS VÀ HIBERNATE TRONG QUẢN LÝ CÔNG VIỆC CHO CÔNG TY

CHỨNG KHOÁN” nhằm khảo sát, phân tích thiết kế hệ thống và xây dựng Chương trình quản lý
công việc cho công ty chứng khoán Thiên Việt.
1.2 Các khái niệm
1.2.1 Trang chủ
• Bao gồm tất cả các thanh công cụ như: Quản trị, quản lý nhân viên, quản lý công việc,
quản lý họp, quản lý phòng ban, trợ giúp
• Nơi người sử dụng đăng nhập các thông tin cá nhân như: tên đăng nhập, mật khẩu.
3
1.2.2 Quản trị hệ thống
• Danh mục: bao gồm các thông tin: Chức vụ, học hàm, trạng thái công việc, mức độ ưu
tiên, loại công việc, lĩnh vực, loại cuộc họp.
• Tham số hệ thống
• Đổi mật khẩu: Người sử dụng có thể thay đổi mật khẩu sử dụng tại đây.
• Đăng nhập: Đăng nhập thông tin các nhân để quản lý công việc.
• Đăng xuất: Quay trở lại trang chủ.
1.2.3 Quản lý nhân viên
• Tra cứu thông tin nhân viên: Tra cứu toàn bộ tất cả các thông tin của nhân viên như
tên nhân viên, chức vụ, phòng ban.
• Quản lý thông tin nhân viên: Tuỳ theo phân cấp, lãnh đạo các cấp sẽ thực hiện việc
quản lý nhân viên:
- Người quản trị (nhân viên cấp 3) được phép quản lý các nhân viên cấp dưới.
- Người quản lý (nhân viên cấp 2) được phép quản lý các nhân viên cấp dưới, không được
phép quản lý người quản trị.
- Người dùng (nhân viên cấp 1) không được phép quản lý các nhân viên khác.
1.2.4 Quản lý công việc
• Tra cứu thông tin công việc: Tra cứu toàn bộ tất cả các thông tin của công việc như tên
công việc, phòng ban, trạng thái công việc, loại công việc.
• Nhập thông tin công việc: Nhập thông tin công việc như: tên công việc, ngày bắt đầu,
ngày kết thúc, mức độ ưu tiên, trạng thái công việc, phòng ban, công việc con, cán bộ quản lý trực
tiếp, cán cộ quản lý gián tiếp.

1.2.5 Quản lý họp.
• Tra cứu thông tin cuộc họp: Tra cứu toàn bộ các thông tin của cuộc họp như: tiêu đề, tuần,
tháng, năm, loại cuộc họp.
• Nhập thông tin cuộc họp: Nhập toàn bộ các thông tin của cuộc họp như: tiêu đề, tuần,
tháng, năm, loại cuộc họp, nội dung cuộc họp.
1.2.6 Quản lý phòng ban.
Tra cứu thông tin phòng ban: Tra cứu các thông tin phòng ban như tên phòng ban, lĩnh vực, số
điên thoại.
• Nhập thông tin phòng ban: Tuỳ theo phân cấp, lãnh đạo các cấp sẽ thực hiện việc nhập
thông tin phòng ban:
- Người quản trị( nhân viên cấp 3), người quản lý( nhân viên cấp 2) được phép nhập các
thông tin của phòng ban như: tên phòng ban, lĩnh vực, số điên thoại.
4
- Người dùng( nhân viên cấp 1) không được phép nhập các thông tin của phòng ban.
1.3 Quy trình nghiệp vụ
Các bước chính của nghiệp vụ quản lý công việc
a. Trang chủ: Toàn bộ các mục của quản lý công việc.
b. Quản trị: Các danh mục, tham số hệ thống, đổi mật khẩu, đăng nhập, đăng xuất.
c. Quản lý nhân viên: Nhập thông tin nhân viên, tra cứu thông tin nhân viên.
d. Quản lý công việc: Nhập thông tin công việc, tra cứu thông tin công việc.
e. Quản lý họp: Nhập thông tin cuộc họp, tra cứu thông tin cuộc họp.
f. Quản lý phòng ban: Nhập thông tin phòng ban, tra cứu thông tin phòng ban.
g. Trợ giúp.
Sơ đồ quy trình nghiệp vụ:
5

Hình 1. Sơ đồ quy trình nghiệp vụ
Đăng nhập
Quản trị
Quản lý

công việc
Quản lý
nhân viên
Trang chủ
Tra cứu thông tin
công việc
Nhập thông tin
phòng ban
Danh mục
Khảo sát hệ
thống
Đổi mật khẩu
Đăng nhập
Đăng xuất
Nhập thông tin
cuộc họp
Tra cứu thông tin
phòng ban
Tra cứu thông tin
cuộc họp
Nhập thông tin
công việc
Quản lý
họp
Nhập thông tin
nhân viên
Tra cứu thông tin
nhân viên
Trợ giúp
Quản lý

phòng ban
6
1.4 Các nghiệp vụ chính
1.4.1 Đăng nhập
Để quản lý công việc người quản lý cần điền đầy đủ các thông tin cá nhân để được đăng
nhập vào hệ thống quản lý công việc. Hệ thống sẽ tự động kiểm tra các thông tin cá nhân của
người đăng nhập. Nếu trùng khớp với các thông tin đã được đăng ký người quản lý đã được đăng
nhập thành công. Nếu không trùng khớp hệ thống sẽ báo lỗi cho người sử dụng đăng nhập lại.
Các thông tin cần thiết:
+ Tên đăng nhập.
+ Mật khẩu
Sau khi đăng nhập thành công hệ thống sẽ hiển thị toàn bộ các thông tin công việc mà người
sử dụng đang quản lý.
Các thông tin cần thiết:
• Công việc chưa bắt đầu:
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Ngày kết thúc thực.
+ Nội dung công việc.
+ Báo cáo của cán bộ trực tiếp.
+ Báo cáo của cán bộ gián tiếp.
• Công việc đang thực hiện:
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Ngày kết thúc thực.
+ Nội dung công việc.
+ Phản hồi của cán bộ trực tiếp.
+ Phản hồi của cán bộ gián tiếp.
1.4.2 Quản trị
Người sử dụng nếu là người quản trị (NVC3) hoặc người quản lý (NVC2) được quản lý, tra

cứu cũng như có thể thay đổi lại các thông tin của quản lý công việc.
Các thông tin cần thiết:
• Danh mục:
+ Chức vụ.
+ Học hàm.
+ Trạng thái công việc.
7
+ Mức độ ưu tiên.
+ Loại công việc.
+ Lĩnh vực.
+ Loại cuộc họp.
• Tham số hệ thống
• Đổi mật khẩu.
• Đăng nhập.
• Đăng xuất.
1.4.3 Quản lý công việc
a, Quản lý công việc
Sau khi nắm được thông tin công việc các cấp lãnh đạo(NVC3)sẽ lập kế hoạch và giao
việc cho các nhân viên cấp dưới(NVC2). Các nhân viên cấp dưới nhận công việc và tuỳ theo yêu
cầu của công việc sẽ chia công việc thành các công việc nhỏ. Các công việc nhỏ này sẽ được giao
cho từng nhân viên thực hiện(NVC1). Các nhân viên thực hiện công việc quản lý bởi các cán bộ
quản lý trực tiếp hoặc cán bộ quản lý gián tiếp.
Các thông tin cần thiết cho nghiệp vụ quản lý công việc :
• Thông tin công việc chính:
+ Tên công việc.
+ Ngày bắt đầu.
+ Ngày Kết thúc.
+ Ngày kết thúc thực.
+ Trạng thái công việc.
+ Đánh giá công việc.

+ Mức độ ưu tiên.
+ Loại công việc.
• Thông tin công việc con:
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Cán bộ quản lý trực tiếp.
+ Cán bộ quản lý gián tiếp.
+ Mức độ ưu tiên.
+ Mô tả công việc.
b, Tra cứu thông tin công việc
8
Sau khi giao việc đến từng nhân viên người quản lý công việc cần thường xuyên kiểm tra
các thông tin công việc của các nhân viên cấp dưới. Để kiểm tra các thông tin công việc người
quản lý cần phải tra cứu các thông tin công việc.
Các thông tin cần thiết cho nghiệp vụ tra cứu thông tin công việc:
+ Tên công việc.
+ Trạng thái công việc.
+ Phòng ban.
+ Loại công việc.
+ Tìm kiếm
+ Thêm mới
+ Tra cứu
1.4.4 Quản lý họp
a, Nhập thông tin cuộc họp
Để nắm bắt được các thông tin công việc và để có các thông báo trực tiếp đến từng nhân
viên người quản lý cần thường xuyên tổ chức ra các cuộc họp nhằm đánh giá được tiến độ công
việc qua các thời kỳ.
Các thông tin cần thiết cho nghiệp vụ này :
+ Tiêu đề cuộc họp.
+ Ngày họp

+ Tháng họp.
+ Năm họp.
+ Loại cuộc họp.
+ Nội dung cuộc họp.
b, Tra cứu thông tin cuộc họp
Các thông tin cần thiết cho nghiệp vụ này:
+ Tìm kiếm.
+ Thêm mới.
+ Tiêu đề cuộc họp.
+ Tuần họp.
+ Tháng họp.
+ Năm họp.
+ Nội dung cuộc họp.
+ In.
9
+ Xóa.
1.4.5 Quản lý thông tin phòng ban
Để có thể quản lý công ty một cách có hiệu quả người quản lý cần chia công ty thành các
phòng ban có các lĩnh vực hoạt động độc lập và chuyên nghiệp.
a, Nhập thông tin phòng ban
Các thông tin cần thiết cho nghiệp vụ này :
+ Tên phòng ban.
+ Lĩnh vực hoạt động.
+ Điện thoại di động.
+ Điện thoại cố định.
b, Tra cứu phòng ban
Các thông tin cần thiết:
+ Tên phòng ban.
+ Lĩnh vực hoạt động.
+ Số điện thoại.

+ Tìm kiếm.
+ Thêm mới.
+ Làm mới.
+ In.
+ Xóa.
1.5 Các báo cáo nghiệp vụ chính
Gồm các báo cáo :
- Báo cáo thông tin nhân viên.
- Báo cáo thông tin công việc.
- Báo cáo thông tin họp.
- Báo cáo thông tin phòng ban.
1.5.1 Báo cáo thông tin nhân viên
Báo cáo thông tin nhân viên là các báo cáo về thông tin của nhân viên như:
- Họ tên.
- Giới tính.
- Ngày sinh
- Email.
- Cán bộ quản lý trực tiếp.
10
- Phòng ban.
1.5.2 Báo cáo thông tin công việc
Báo cáo thông tin công việc là các báo cáo về các thông tin công việc như:
- Tên công việc.
- Mô tả công việc.
- Ngày bắt đầu.
- Ngày kết thúc.
- Ngày kết thúc thực.
- Đánh giá công việc.
- Trạng thái công việc.
- Mức độ ưu tiên.

- Thông tin công việc con:
+ Tên nhân viên.
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Ngày kết thúc thực.
+ Mô tả công việc.
+ Báo cáo trực tiếp.
+ Báo cáo gián tiếp.
+ Trạng thái.
1.5.3 Báo cáo quản lý họp
Báo cáo thông tin họp báo cáo các thông tin họp như:
- Tiêu đề.
- Người tạo.
- Thời gian họp.
- Loại cuộc họp.
- Nội dung.
1.5.4 Báo cáo thông tin phòng ban
Báo cáo các thông tin:
- Tên phòng ban
- Điện thoại cố định.
- Điện thoại di động.
- Lĩnh vực hoạt động.
11
CHƯƠNG II. CÔNG CỤ THỰC HIỆN VÀ CÁC CÔNG NGHỆ LIÊN
QUAN
Chương này giới thiệu sơ lược về công cụ và các công nghệ liên quan được lựa chọn để
thực hiện bài toán. Gồm có: Tìm hiểu về struts và hibenate, giới thiệu về các hệ quản trị cơ sở dữ
liệu SQL server.
Sau khi khảo sát và tìm hiểu về hệ thống em nhận thấy việc phát triển phần mềm theo mô
hình web mang lại nhiều thuận lợi trong việc quản trị, cài đặt và bảo trì.

Để phát triển mô hình web em đã quyết định lựa chọn một số fremwork hiện đại và đang
được sử dụng rộng dãi là struts và hibernate cùng với hệ quản trị cơ sở dữ liệu postgre SQL. Việc
sử dụng 2 framework là struts và hibernate giúp cho việc phát triển phần mềm một cách nhanh
chóng giảm bớt thời gian code dễ dàng cho việc phát triển và bảo trì cho các version sau.
2.1 Giới thiệu Struts
Struts, một dự án mã nguồn mở của Apache Software Foundation, là một bản hiện thực
Java phía server của mẫu thiết kế Model-View-Controller (MVC). Dự án Struts được khởi xướng
bởi Craig McClanahan vào tháng 5/2000, thuộc dự án Apache Jakarta. Hiện tại, dự án Struts đã trở
thành một dự án độc lập - dự án Apache Struts.
Dự án Struts được thiết kế với mục đích cung cấp một bộ khung mã nguồn mở để tạo các ứng
dụng Web, tách tầng trình bày (presentation layer) ra khỏi tầng giao tác (transaction layer) và tầng
dữ liệu (data layer). Từ khi ra đời, dự án Struts nhận được nhiều ủng hộ của các nhà phát triển và
nhanh chóng chiếm ưu thế trong cộng đồng mã nguồn mở.
2.1.1 Mẫu thiết kế MVC
Để nắm vững Struts Framework, bạn phải hiểu cơ bản về mẫu thiết kế MVC. Mẫu thiết kế
MVC, được bắt nguồn từ Smalltalk, bao gồm ba thành phần: Model, View, và Controller.
Ba thành phần của mẫu thiết kế MVC:
- Model
Biểu diễn các đối tượng dữ liệu. Thành phần Model là những gì đang được thao tác và
trình bày cho người dùng. Chúng thường biểu diễn các đối tượng nghiệp vụ hay các hệ thống
backend khác và có thể được hiện thực là những JavaBean đơn giản, những Enterprise JavaBean,
những biểu diễn đối tượng của dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ, hoặc chỉ là
những gì cần được thao tác hay biểu diễn trong một ứng dụng Web
- View
Đóng vai trò là phần biểu diễn trên màn hình (screen representation) của thành phần Model. Thành
phần View là đối tượng trình bày trạng thái hiện tại của các đối tượng dữ liệu. Mỗi thành phần
View trong Struts Framework được ánh xạ đến một trang JSP, trang này có thể chứa bất kỳ sự kết
12
hợp nào của các thẻ tùy biến Struts, JSP, và HTML. Các trang JSP trong Struts Framework có hai
chức năng chính. Thứ nhất, đóng vai trò là tầng trình bày của một Controller Action đã được thực

thi trước đó. Điều này thường được hoàn thành bằng cách sử dụng một tập thẻ tùy biến để duyệt
và thu lấy dữ liệu mà Controller Action chuyển đến JSP đích. Loại View này không thể hiện đặc
trưng của Struts và không được lưu tâm.
Chức năng thứ hai, thể hiện đặc trưng của Struts, là thu thập dữ liệu cần thiết để thực hiện một
Controller Action cụ thể. Điều này thường được hoàn thành bằng cách kết hợp các thư viện thẻ
Struts và các đối tượng ActionForm. Loại View này chứa một số lớp và thẻ đặc-trưng-Struts.
- Controller
Định nghĩa cách thức giao diện người dùng tương tác lại dữ liệu đầu vào. Thành phần Controller
là đối tượng thao tác thành phần Model (hay đối tượng dữ liệu). Thành phần Controller của Struts
Framework là xương sống của tất cả các ứng dụng Web Struts. Nó được hiện thực bằng một
servlet có tên là org.apache.struts.action.ActionServlet. Servlet này nhận các yêu cầu HTTP và
giao quyền điều khiển của mỗi yêu cầu, dựa vào URI của yêu cầu, cho một lớp
org.apache.struts.action.Action do người dùng định nghĩa. Lớp Action là nơi mà thành phần Model
của ứng dụng được thu lấy và/hay thay đổi. Khi lớp Action đã hoàn tất quá trình xử lý, nó trả về
một khóa cho ActionServlet. Khóa này được sử dụng để xác định View nào sẽ trình bày các kết
quả xử lý.
Dưới đây là một số lợi ích khi sử dụng mẫu thiết kế MVC:
Tính tin cậy - Tầng trình bày và tầng giao tác có sự phân chia rõ ràng, cho phép bạn thay
đổi cảm quan của ứng dụng mà không cần biên dịch lại mã lệnh của Model hay Controller.
Tính thích ứng và tái sử dụng cao - Mẫu MVC cho phép bạn sử dụng nhiều loại khung
nhìn, tất cả cùng truy xuất đến một mã nguồn phía server, từ trình duyệt web (HTTP) cho đến trình
duyệt không dây (WAP).
Các phí tổn trong vòng đời phát triển rất thấp - Mẫu MVC chỉ cần có người lập trình cấp thấp phát
triển và bảo trì các giao diện người dùng.
Triển khai nhanh chóng - Thời gian phát triển có thể được giảm đáng kể, bởi vì những
người lập trình cho thành phần Controller (nhà phát triển Java) chỉ tập trung vào phần giao tác, còn
những người lập trình cho thành phần View (nhà phát triển HTML và JSP) chỉ tập trung vào phần
trình bày.
Tính bảo trì - Việc tách phần trình bày và logic nghiệp vụ cũng khiến việc bảo trì và sửa
đổi một ứng dụng Web dựa trên Struts dễ dàng hơn.

13
2.1.2 Bản hiện thực Struts của mẫu MVC
Struts Framework mô hình hóa bản hiện thực phía server của mẫu MVC bằng cách kết hợp
các trang JSP, các thẻ JSP tùy biến, và một Java servlet. Trong phần này, chúng ta mô tả ngắn gọn
cách Struts Framework ánh xạ đến mỗi thành phần của mẫu MVC.
Hình 2. Bản hiện thực Struts của mẫu MVC
Hình trên mô tả quy trình xử lý mà hầu hết các yêu cầu ứng dụng Struts cần tuân theo. Quy trình
này có thể được chia thành 5 bước cơ bản:
- Một yêu cầu xuất phát từ một View đã được hiển thị trước đó.
- Yêu cầu này được tiếp nhận bởi ActionServlet (đóng vai trò là một Controller), ActionServlet tìm
URI được yêu cầu trong một file XML (sẽ được mô tả trong chương 3, “Làm quen với Struts”) và
xác định tên lớp Action sẽ thực hiện logic nghiệp vụ cần thiết.
- Lớp Action thực hiện logic của nó trên các thành phần Model của ứng dụng.
- Khi đã hoàn tất quá trình xử lý, lớp Action trả quyền điều khiển cho ActionServlet, đồng thời
cung cấp một khóa (key) biểu thị các kết quả xử lý. ActionServlet sử dụng khóa này để xác định
các kết quả sẽ được chuyển đến đâu khi trình bày.
- Yêu cầu kết thúc khi ActionServlet chuyển yêu cầu đến View được gắn với khóa trả về, và View
này trình bày các kết quả của Action.
2.2 Giới thiệu Hibernate:
2.2.1 Giới thiệu về Hibernate :
14
Hibernate là một dịch vụ lưu trữ và truy vấn dữ liệu quan hệ mạnh mẽ và nhanh. Hibernate
giúp bạn phát triển các class dùng để lưu trữ dữ liệu theo cách thức rất là hướng đối tượng:
association, inheritance, polymorphism, composition và collections. Hibernate cho phép bạn thực
hiện các câu truy vấn dữ liệu bằng cách sử dụng ngôn ngữ SQL mở rộng của Hibernate (HQL)
hoặc là ngôn ngữ SQL nguyên thuỷ cũng như là sử dụng các API.Không giống như các persistence
layer khác, Hibernate không ẩn đi sức mạnh của ngôn ngữ SQL khỏi bạn mà Hibernate còn đảm
bảo cho bạn việc bạn đầu tư vào công nghệ và tri thức cơ sở dữ liệu quan hệ là luôn luôn chính
xác. Và điều quan trọng hơn nữa là Hibernate được license theo LGPL (Lesser GNU Public
License). Theo đó, bạn có thể thoải mái sử dụng Hibernate trong các dự án open source hoặc các

dự án thương mại (commercial).Hibernate là một dự án open source chuyên nghiệp và là một
thành phần cốt tuỷ của bộ sản phẩm JBoss Enterprise Middleware System (JEMS). JBoss, như
chúng ta đã biết là một đơn vị của Red Hat, chuyên cung cấp các dịch vụ 24x7 về hỗ trợ chuyên
nghiệp, tư vấn và huyấn luyện sẵn sàng hỗ trợ bạn trong việc dùng Hibernate.Các thành phần của
Hibernate project:* Hibernate Core: Cung cấp các chức năng cơ bản của một persistence layer cho
các ứng dụng Java với các APIs và hỗ trợ XML mapping metadata.* Hibernate Annotations: Các
map class với JDK 5.0 annotations, bao gồm Hibernate Validator.* Hibernate EntityManager: Sử
dụng EJB 3.0 EntityManager API trong JSE hoặc với bất kỳ JEE server nào.* Hibernate Tools:
Các tool tích hợp với Eclipse và Ant dùng cho việc sinh ra các persistence object từ một schema có
sẵn trong database (reverse-engineering) và từ các file hbm sinh ra các class java để hiện thực các
persistence object, rồi Hibernate tự tạo các object trong database (forward-engineering).*
NHibernate: Hibernate cho .Net framework.* JBoss Seam: Một Java EE 5.0 framework cho phát
triển các ứng dụng JSF, Ajax và EJB 3.0 với sự hỗ trợ của Hibernate. Seam hiện rất mới và tỏ ra
rất mạnh để phát triển các ứng dụng Web 2.0. Nó tích hợp đầy đủ tất cả các công nghệ tốt nhất
hiện nay.
2.2.2 Kiến trúc của Hibernate
15
Hình 3. Biểu đồ mô tả tổng thể về Hibernate
Kiến trúc của Hibernate gồm 3 phần:
• Quản lý kết nối: Dịch vụ quản lý kết nối của Hibernate cung cấp việc quản lý hết sức hiệu
quả các connection đến database. Database connection luôn là phần đắt đỏ và nhiều rủi ro
trong việc kiểm soát, chúng ta tốn nhiều tài nguyên để mở và đóng một connection, hơn
nữa, việc xử lý dữ liệu phức tạp và có thể dẫn đến…….quên sót việc đóng kết nối hoặc
đóng một cách không hợp lý. Điều này hoàn toàn không đơn giản và dẫn đến một ứng
dụng đổ vỡ. (Một ví dụ là đóng nhiều kết nối trong 1 khối try...catch)
• Quản lý transation (giao tác):dịch vụ quản lý giao tác cung cấp khả năng cho phép user thi
hành nhiều phát biểu (statement) vào một thời điểm.
• Object relational mapping:
Công nghệ mapping dữ liệu dưới database thành dữ liệu trên object. Hibernate sẽ sử dụng
SELECT, INSERT, UPDATE và DELETE trên các records và đưa thao tác dưới database

tương ứng với việc thao tác tên Object java.
• Mục đích sau cùng của hibernate đó là ORM, nhưng nó phải thêm vào các dịch vụ quản lý
Connnection và Transaction vì phát sinh từ vấn đề performance và sự khó khăn khi tự
mình xử lý những dịch vụ này trên Object được persistent. Hibernate buộc phải sử dụng
những công cụ quản lý kết nối và transation của bên thứ 3 để hoàn thiện mô hình của mình.
Một ví dụ là Apache DBCP thường được sử dụng trong connection pooling với Hibernate.
16
2.3 Giới thiệu hệ quản trị cơ sở dữ liệu Postgre SQL
Postgre SQl là một chương trình mã nguồn mở có nhiều đặc điểm hiện đại:
• Câu truy vấn phức tạp (complex query)
• Khóa ngoại (foreign key)
• Thủ tục sự kiện (trigger)
• Tính toàn vẹn của các giao dịch (integrity transactions)
• Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)
Hơn nữa, PostgreSQL có thể dùng trong nhiều trường hợp khác, chẳng hạn như tạo ra các khả
năng mới như:
• Kiểu dữ liệu
• Hàm
• Toán tử
• Hàm tập hợp
• Phương pháp liệt kê
• Ngôn ngữ theo thủ tục
Postgre SQL không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm. Bởi
vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào.
CHƯƠNG III. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Nội dung chính của chương này mô tả phân tích thiết kế hệ thống về mặt chức năng, dữ liệu, xây
dựng sơ đồ chức năng hoạt động chi tiết của hệ thống, thiết kế các bảng dữ liệu nhằm xây dựng
nên hệ thống quản lí công việc.
3.1 Phân tích hệ thống
3.1.1 Yêu cầu của hệ thống

Chương trình quản lý công việc phải đáp ứng được các yêu cầu sau:
3.1.1.1 Quản trị hệ thống
• Phân quyền cho hệ thống.
• Tạo người sử dụng.
3.1.1.2 Quản lý danh mục
• Danh mục chức vụ.
• Danh mục học hàm.
• Danh mục trạng thái công việc.
• Danh mục mức độ ưu tiên.
• Danh mục loại công việc.
17
• Lĩnh vực.
• Loại cuộc họp.
3.1.1.3 Quản lý nghiệp vụ
• Nhập thông tin nhân viên.
• Tra cứu thông tin nhân viên.
• Nhập thông tin công việc.
• Tra cứu thông tin công việc.
• Nhập thông tin cuộc họp.
• Tra cứu thông tin cuộc họp.
• Nhập thông tin phòng ban.
• Tra cứu thông tin phòng ban.
3.1.2 Mô tả nghiệp vụ quản lý công việc
3.1.2.1 Quản lý nhân viên
Hệ thống quản lý thông tin nhân viên, cho phép user truy xuất, sửa thông tin nhân viên,
tìm kiếm thông tin nhân viên, và in báo cáo thông tin nhân viên tuỳ theo mục đích sử dụng:
Quản lý nhân viên như thế nào?
• Quản lý theo thông tin nhân viên.
• Theo công việc của nhân viên.
• Theo phòng ban của nhân viên.

a, Lưu thông tin nhân viên
 Mục đích
Để cập nhật thông tin nhân viên, thêm mới nhân viên và tìm kiếm nhân viên.
 Người sử dụng: Cán bộ nhân viên
 Điều kiện thực hiện
+ Thông tin nhân viên đã được xác định bởi cơ quan có thẩm quyền hoặc các
văn bằng chứng chỉ.
+ Các cán bộ quản lý (NVC2) hoặc quản trị (VNC3) mới được phép thực hiện
nghiệp vụ này.
 Input – thông tin cần cập nhật
Nhập thông tin nhân viên :
+ Họ tên.
+ Ngày sinh.
+ Giới tính.
18
+ Ngày vào cơ quan.
+ Tình trạng hôn nhân.
+ Nơi đào tạo.
+ Chuyên môn.
+ Diên thoại cố định.
+ Fax
+ Tên đăng nhập.
+ Mật khẩu.
+ Xác nhận mật khẩu.
+ Vai trò của người sử dụng.
 Output của nghiệp vụ
+ Nơi cập nhật, chỉnh sửa thông tin nhân viên.
+ Khi nhập đầy đủ thông tin nhân viên, hệ thống cho phép xuất ra một bản
báo cáo thông tin nhân viên.
+ Hệ thống tự động kiểm tra báo cáo tình trạng công việc của nhân viên khi

bắt đầu đăng nhập.
+ Hệ thống tự động kiểm tra báo cáo tình trang công việc của nhân viên cấp
dưới khi bắt đầu đăng nhập.
b, Tra cứu thông tin nhân viên
 Mục đích
Tìm kiếm và tra cứu thông tin của nhân viên.
 Người sử dụng: Cán bộ nhân viên.
 Điều kiện thực hiện
+ Thông tin nhân viên đã được cập nhật và lưu lại trong hệ thống.
 Input - Thông tin cần cập nhật
+ Tên nhân viên.
+ Công việc.
+ Chức vụ.
+ Phòng ban.
 Output của nghiệp vụ
+ Hệ thống thông báo các thông tin nhân viên cho người sử dụng.
+ Hệ thống có thể in ra các thông tin của nhân viên cho người sử dụng.
+ Người sử dụng có thể xóa thông tin của nhân viên mình quản lý.
19
3.1.2.2 Quản lý công việc
Hệ thống quản lý công việc cho phép use truy xuất, sửa thông tin công việc, tìm kiếm
thông tin công việc, và in báo cáo thông tin công việc tuỳ theo mục đích sử dụng
Quản lý công việc như thế nào ?
• Quản lý theo tên công việc.
• Quản lý theo loại công việc.
• Quản lý theo trạng thái công việc.
a, Nhập thông tin công việc
 Mục đích
Nhập thông tin, đánh giá, mô tả thông tin công việc, chia thành các công việc nhỏ hơn giao
cho từng nhân viên cấp dưới, Theo dõi quá trình thực hiện để có thể nhận xét, đánh giá tiến độ

thực hiện công việc
 Người sử dụng : Cán bộ nhân viên.
 Điều kiện thực hiện
+ Công việc đã được các cấp lãnh đạo phê duyệt và quyết định thực hiện.
 Input – thông tin cần cập nhật
• Công việc chính:
+ Tên công việc.
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Ngày kết thúc thực.
+ Đánh giá công việc.
+ Mức độ ưu tiên.
+ Trạng thái công việc.
+ Phòng ban.
+ Mô tả công việc.
• Công việc con :
+ Ngày bắt đầu.
+ Ngày kết thúc.
+ Mức độ ưu tiên.
+ Cán bộ quản lý trực tiếp.
+ Cán bộ quản lý gián tiếp.
+ Mô tả công việc.
20

×