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à
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.
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ý
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.
+ 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.
- 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ì.
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.
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
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.
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 độ