Ứng dụng Struts và Hibernate trong quản lý công việc cho Công ty chứng khoán

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

doc48 trang | Chia sẻ: huyen82 | Lượt xem: 2114 | Lượt tải: 0download
Tóm tắt tài liệu Ứng dụng Struts và Hibernate trong quản lý công việc cho Công ty chứng khoán, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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ỳ. 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. 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. 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. - 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 Trang chủ: Toàn bộ các mục của quản lý công việc. Quản trị: Các danh mục, tham số hệ thống, đổi mật khẩu, đăng nhập, đăng xuất. 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. 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. Quản lý họp: Nhập thông tin cuộc họp, tra cứu thông tin cuộc họp. Quản lý phòng ban: Nhập thông tin phòng ban, tra cứu thông tin phòng ban. Trợ giúp. 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 Hình 1. Sơ đồ quy trình nghiệp vụ 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. 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 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. 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. 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. 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 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. 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 (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 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ử 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. 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. 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. Đ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. Trạng thái công việc. Phòng ban. Loại công việc. output của nghiệp vụ : Tra cứu được các thông tin của công việc. In thông tin của công việc. Xóa thông tin của công việc. 3.1.2.3 Quản lý họp Hệ thống quản lý cho phép use truy suất, sửa thông tin của các cuộc họp, tra cứu thông tin các cuộc họp và in hoặc xóa thông tin các cuộc họp. Quản lý họp như thế nào ? Quản lý theo tiêu đề cuộc họp. Quản lý theo loại cuộc họp. Quản lý theo nội dung cuộc họp. a, Nhập thông tin cuộc họp mục đích : Thông báo, thống kê, đánh giá tiến độ công việc. Phản hồi thắc mắc, trao đổi kinh nghiệm làm việc giữa các cán bộ công nhân viên trong công ty. Người sử dụng : Nhân viên quản trị( NVC2), nhân viên quản lý(NVC3). Điều kiện thực hiện : Các cán bộ thông qua, đề xuất và quyết định tổ chức các cuộc họp cố định ( thường kì) nhằm đánh giá tiến độ cũng như năng xuất công việc. Công ty có một số thông tin quan trọng cần thông báo gấp.. 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 : tiêu đề cuộc họp. Ngày, tháng, năm họp. Tuần họp. Loại cuộc họp. Nội dung cuộc họp. output- của công việc Hệ thống tự động lưu lại các thông tin của người quản lý đã nhập. Xác định năng xuất, tiến độ công việc qua các thời kỳ. b, Tra cứu thông tin cuộc họp Mục đích: Tìm kiếm và tra cứu thông tin các cuộc họp. 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 cuộc họp đã được lưu vào trong hệ thống. Input thông tin cần nhập: Tiêu đề cuộc họp. Ngày, tháng, năm họp. Loại cuộc họp. output của công việc: hệ thống thông báo thông tin các cuộc họp cho người sử dụng Người sử dụng có thể in thông tin các cuộc họp yêu cầu. Người sử dụng có thể xóa thông tin các cuộc họp mình yêu cầu. 3.1.2.4 Quản lý phòng ban Hệ thống quản lý cho phép use truy suất, sửa thông tin của các phòng ban, tra cứu thông tin phòng ban và in hoặc xóa thông tin các phòng ban. Quản lý phòng ban như thế nào ? Quản lý theo tên phòng ban. Quản lý theo lĩnh vực hoạt động của phòng ban. a, Nhập thông tin phòng ban Mục đích: Quản lý được thông tin, lĩnh vực hoạt động của phòng ban. Người sử dụng: Nhân viên cấp 2( người quản lý), nhân viên cấp 3(người quản trị) được phép nhập thông tin phòng ban. Điều kiện thực hiện: Các lãnh đạo thông qua quyết định các phòng ban có các cơ cấu tổ chức, lĩnh vực hoạt động riêng biệt. input thông tin cần nhập: Tên phòng ban. Số điện thoại cố định. Số điện thoại di động. Lĩnh vực hoạt động của phòng ban. output của nhập thông tin phòng ban: Hệ thống lưu lại các thông tin của phòng ban người sử dụng đã nhập. Quản lý các thông tin cũng như lĩnh vực hoạt động của phòng ban. b, Tra cứu thông tin phòng ban Mục đích: Tra cứu thông tin, lĩnh vực hoạt động của phòng ban. 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 phòng ban đã được lưu lại trên hệ thống. input thông tin cần nhập: Tên phòng ban. Lĩnh vực hoạt động của phòng._.

Các file đính kèm theo tài liệu này:

  • doc22433.doc
Tài liệu liên quan