Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
- 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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
Danh mục
Quản trị
Khảo sát hệ
thống
Đổi mật khẩu
Đăng nhập
Đăng xuất
Quản lý
nhân viên
Đăng nhập
Trang chủ
Quản lý
công việc
Quản lý
họp
Quản lý
phòng ban
Trợ giúp
Hình 1. Sơ đồ quy trình nghiệp vụ
6
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
-
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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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
12
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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 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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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 :
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
14
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
(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
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
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ử
16
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
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.
17
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
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.
+ 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.
18
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
+ 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ý.
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.
19
Website: http://www.docs.vn Email :
[email protected] Tel : 0918.775.368
Đ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.
Output của nghiệp vụ
+ Hệ thống lƣu lại các thông tin công việc đã đăng nhập.
+ Đánh giá tiến độ công việc .
+ Dựa mức độ ƣu tiên để sắp sếp công việc hợp lý.
b, Tra cứu thông tin công việc
Mục đích :
Ngƣời quản lý thông qua các thông tin để tra cứu thông tin công việc, kiểm tra trạng thái
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ác thông tin công việc đã đƣợc lƣu lại trên hệ thống quản lý.
+ Ngƣời quản lý thao tác các thông tin tra cứu thông tin công việc.
input thông tin cập nhập :
+ Tên công việc.
20