Đề tài Xây dựng phần mềm về quản lý nhân sự ở công ty Vinapay

MỤC LỤC

Lời mở đầu 1

Chương I: GIỚI THIỆU VỀ CÔNG TY THỰC TẬP 3

I.Giới thiệu công ty Vinapay 4

1. Giới thiệu chung 4

1.1. Tầm nhìn của Vinapay 4

1.2. Sứ mệnh của Vinapay 4

1.3. Cam kết của Vinapay 5

1.4. Chiến lược 5

2. Cơ cấu tổ chức công ty 6

2.1. Sơ đồ tổ chức 6

2.2. Đội ngũ quản lý 6

2.2.1. Ông Nguyễn Trọng Khang 6

2.2.2. Ông Hoàng Kim Chương 7

2.2.3. Ông Đỗ Việt Hà 7

2.2.4. Bà Nguyễn Hương Giang 8

CHƯƠNG II.TỔNG QUAN VỀ ỨNG DỤNG WEB - QUẢN LÝ NHÂN SỰ 9

1. Mục đích xây dựng chương trình 10

2. Tổng quan về chương trình 10

3.Ứng dụng Web 11

3.1. Khái niệm 11

3.2. Lịch sử phát triển và ưu điểm của ứng dụng web 12

3.3. Các kĩ thuật trong Web application 13

4. Các công nghệ sử dụng để triển khai và phát triển ứng dụng 15

4.1. Internet Information Server (IIS) 16

4.1.1 Khái niêm 16

4.1.2. IIS có thể làm được gì? 17

4.1.3. IIS hoạt động như thế nào? 17

4.2. SQL Server 2005 18

4.2.1. Khái niệm 18

4.2.2. Phân loại SQL Server 19

4.2.3. Các phiên bản của SQL Server 20

4.2.4. Các thành phần quan trọng trong SQL Server 2005 20

4.3. ASP.NET 26

4.3.1. Khái niệm vềASP.NET 26

4.3.2. Môi trường phát triển ứng dụng ASP.NET 26

4.3.3. Các tính năng lập trình trong ASP.NET 27

4.4. MÔ HÌNH MODEL-VIEW-CONTROLLER (MVC). 32

4.4.1.Khái niệm mô hình MVC 32

4.4.2 Các thành phần trong mô hình 32

4.4.3. Các dạng của mô hình MVC 33

CHƯƠNG III.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 36

1. Giới thiệu 37

2. Phân tích hệ thống theo sơ đồ Chức năng 37

2.1. Quản lý người dùng 38

2.1.1. Hiển thị danh sách người dùng 38

2.1.2. Thêm, Sửa, Xoá người dùng 38

2.2. Quản lý thư mục 38

2.2.1. Hiển thị danh sách thư mục 39

2.2.2. Thêm, Sửa, Xoá thư mục 39

2.3. Quản lý Phân quyền 39

2.3.1. Hiện thị danh sách Phân Quyền 40

2.3.2. Thêm sửa xoá Phần Quyền với Người Dùng 40

2.4. Quản lý Nhân viên 40

2.4.1. Hiển thị danh sách nhân viên 41

2.4.2. Thêm, sửa, xoá nhân viên 41

3. Phân tích hệ thống theo sơ đồ luồng dữ liệu 42

3.1. Sơ đồ luồng dữ liệu mức ngữ cảnh 42

3.2. Sơ đồ luồng dữ liệu mức đỉnh 43

3.3.Sơ đồ luồng dữ liệu mức dưới đỉnh 44

3.3.1. Chức năng quản lý người dùng 44

3.3.2. Chức năng quản lý thư mục 44

3.3.3. Chức năng phân quyền 45

3.3.4. Chức năng quản lý Nhân viên 45

3.4. Sơ đồ luồng dữ liệu tổng quát 46

3.4.1. Quản lý tài khoản của nhân viên trong công ty 46

3.4.2. Quản lý nhân viên trong công ty 47

4. Các bảng cơ sở dữ liệu dùng trong chương trình 48

4.1. Bảng Tài khoản 48

4.2.Bảng Thư mục_Tài khoản 48

4.3. Bảng Nhân viên 49

4.4. Bảng Thư mục 50

CHƯƠNG VI. PHÁT TRIỂN ỨNG DỤNG. 51

1. Xây dựng kế hoạch phát triển ứng dụng 52

1.1. Tiêu chí phát triển 52

1.2. Kế hoạch phát triển 52

2. Cài đặt cơ sở dữ liệu và dữ liệu khởi tạo: 52

2.1.Tạo cơ sở dữ liệu 52

2.2. Tạo các bảng biểu 52

2.2.1. Bảng Thumuc_Taikhoan 52

2.2.2. Bảng Taikhoan 53

2.2.3. Bảng NhanVien 53

2.2.4. Bảng Thumuc 53

3. Cấu trúc chương trình áp dụng mô hình MVC 54

3.1. Cấu trúc thư mục của chương trình 54

3.2. Các thành phần trong cấu trúc 54

3.2.1. Thư mục common 54

3.2.2. Thư mục Controller 54

3.2.3. Thư mục Controller 55

3.2.3. Thư mục Images 55

3.2.4. Thư mục Interface 55

3.2.4. Các thành phần khác 56

4. Xây dựng các chức năng trong hệ thống 57

4.1. Quản lý người dùng 57

4.1.1. Chức năng đăng nhập 57

4.1.2. Hiển thị danh sách người dùng 58

4.1.3.Thay đổi Mật khẩu 59

4.1.4. Tạo người dùng mới 61

4.1.5. Xóa tài khoản 62

4.2. Quản lý nhân viên 64

4.2.1. Hiển thị danh sách nhân viên 64

4.2.2. Xóa nhân viên 64

4.2.3. Cập nhật thông tin nhân viên 65

4.2.4. Thêm mới nhân viên 68

4.3.Quản lý phân quyền 70

4.3.1. Hiển thị danh sách phân quyền 70

4.3.2. Cập nhật phân quyền người dùng 71

KẾT LUẬN 73

TÀI LIỆU THAM KHẢO 74

PHỤ LỤC 75

 

 

doc81 trang | Chia sẻ: lethao | Lượt xem: 4600 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng phần mềm về quản lý nhân sự ở công ty Vinapay, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
phổ biến nhất của IIS mà chúng ta quan tâm trong giáo trình này là dịch vụ WWW (World Wide Web), nói tắt là dịch vụ Web. Dịch vụ Web sử dụng giao thức HTTP để tiếp nhận yêu cầu (Requests) của trình duyệt Web (Web browser) dưới dạng một địa chỉ URL (Uniform Resource Locator) của một trang Web và IIS phản hồi lại các yêu cầu bằng cách gửi về cho Web browser nội dung của trang Web tương ứng. 4.2. SQL Server 2005 : 4.2.1. Khái niệm: -SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. -SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server.... 4.2.2. Phân loại SQL Server: SQL Server có 7 editions: Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt trên hệ thống lên đến 32 CPUs và 64 GB RAM. Thêm vào đó nó có các dịch vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services) Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM. Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản windows kể cả Windows 98. Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc.... Ðây là edition mà các bạn muốn học SQL Server cần có. Chúng ta sẽ dùng edition này trong suốt khóa học. Edition này có thể cài trên Windows 2000 Professional hay Win NT Workstation. Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và không có user interface (giao diện). Thích hợp cho việc triển khai ứng dụng ở máy client. Kích thước database bị giới hạn khoảng 2 GB. Win CE : Dùng cho các ứng dụng chạy trên Windows CE Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới hạn thời gian sử dụng. 4.2.3. Các phiên bản của SQL Server: -SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ version 6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0. Cho nên có thể nói từ version 6.5 lên version 7.0 là một  bước nhảy vọt. Có một số đặc tính của SQL Server 7.0 không tương thích với version 6.5. Trong khi đó từ Version 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn. -Một điểm đặc biệt đáng lưu ý ở version 2000 là Multiple-Instance. Nói cho dễ hiểu là bạn có thể install version 2000 chung với các version trước mà không cần phải uninstall chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với version 2000 trên cùng một máy (điều này không thể xảy ra với các version trước đây). Khi đó version cũ trên máy bạn là Default Instance còn version 2000 mới vừa install sẽ là Named Instance. 4.2.4. Các thành phần quan trọng trong SQL Server 2005: -SQL Server 2000 được cấu tạo bởi nhiều thành phần như Relational Database Engine, Analysis Service và English Query.... Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng. a). Relational Database Engine - Cái lõi của SQL Server: -Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off. b). Replication - Cơ chế tạo bản sao (Replica). -Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn không thể dùng cơ chế back up and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized). c). Data Transformation Service (DTS) - Một dịch vụ chuyển dịch data vô cùng hiệu quả. Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access.... Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng như thế nào. DTS sẽ được bàn kỹ trong bài 8. d). Analysis Service - Một dịch vụ phân tích dữ liệu rất hay của Microsoft. Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn không thể lấy được những thông tin (Information) bổ ích từ đó. Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật "đào mỏ dữ liệu" (data mining) sẽ được chúng tôi giới thiệu trong bài 13. e). English Query -Ðây là một dịch vụ giúp cho việc query data bằng tiếng Anh "trơn" (plain English). f). Meta Data Service: -Dịch vụ này giúp cho việc chứa đựng và "xào nấu" Meta data dễ dàng hơn. Thế thì Meta Data là cái gì vậy? Meta data là những thông tin mô tả về cấu trúc của data trong database như data thuộc loại nào String hay Integer..., một cột nào đó có phải là Primary key hay không....Bởi vì những thông tin này cũng được chứa trong database nên cũng là một dạng data nhưng để phân biệt với data "chính thống" người ta gọi nó là Meta Data. Phần này chắc là bạn phải xem thêm trong một thành phần khác của SQL Server sắp giới thiệu sau đây là SQL Server Books Online vì không có bài nào trong loạt bài này nói rõ về dịch vụ này cả. g). SQL Server Books Online: - Quyển Kinh Thánh không thể thiếu: Cho dù bạn có đọc các sách khác nhau dạy về SQL server thì bạn cũng sẽ thấy books online này rất hữu dụng và không thể thiếu được( cho nên Microsoft mới hào phóng đính kèm theo SQL Server). h. SQL Server Tools: - Ðây là một bộ đồ nghề của người quản trị cơ sở dữ liệu (DBA ) Ái chà nếu kể chi tiết ra thì hơi nhiều đấy cho nên bạn cần đọc thêm trong books online. Ở đây người viết chỉ kể ra một vài công cụ thông dụng mà thôi. Ðầu tiên phải kể đến Enterprise Manager. Ðây là một công cụ cho ta thấy toàn cảnh hệ thống cơ sở dữ liệu một cách rất trực quan. Nó rất hữu ích đặc biệt cho người mới học và không thông thạo lắm về SQL. Kế đến là Query Analyzer. Ðối với một DBA giỏi thì hầu như chỉ cần công cụ này là có thể quản lý cả một hệ thống database mà không cần đến những thứ khác. Ðây là một môi trường làm việc khá tốt vì ta có thể đánh bất kỳ câu lệnh SQL nào và chạy ngay lập tức đặc biệt là nó giúp cho ta debug mấy cái stored procedure dễ dàng. Công cụ thứ ba cần phải kể đến là SQL Profiler. Nó có khả năng "chụp" (capture) tất cả các sự kiện hay hoạt động diễn ra trên một SQL server và lưu lại dưới dạng text file rất hữu dụng trong việc kiểm soát hoạt động của SQL Server. Ngoài một số công cụ trực quan như trên chúng ta cũng thường hay dùng osql và bcp (bulk copy)  trong command prompt. Tóm lại trong bài này chúng ta đã dạo qua một vòng để tìm hiểu về SQL Server. 4.3. ASP.NET 4.3.1. Khái niệm vềASP.NET: -Là phiên bản kế tiếp của Active Server Page (ASP); nó là một nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập trình viên xây dựng các lớp ứng dụng chuyên nghiệp. Cú pháp ASP.NET tượng thích với cú pháp ASP, ngoài ra ASP.NET còn cung cấp một mô hình lập trình mới, nền tảng an toàn (secure), linh hoạt (scalable),và ổn định (stable). Sẽ cảm thấy dễ chịu khi nâng cấp ứng dụng ASP hiện có, bằng cách đưa vào các hàm ASP.NET cho chúng (lời của MS). 4.3.2. Môi trường phát triển ứng dụng ASP.NET: -ASP.NET là biên dịch, dựa trên môi trường .NET và có thể xây dựng bằng bất cứ ngôn ngữ nào tương thích .NET, bao gồm Visual Basic .NET, C#, and JScript .NET. Ngoài ra, toàn bộ thư viện .NET Framework có thể sử dụng với ứng dụng ASP.NET, lập trình viên tận dụng dễ dàng những lợi ích của các kỹ thuật được cung cấp, bao gồm quản lý môi trường thực thi ngôn ngữ cung (common language runtime), kiểu an toàn (type safety), kế thừa (inheritance), .v.v. 4.3.3. Các tính năng lập trình trong ASP.NET: a). ASP.NET được thiết kế làm việc với các trình soạn thảo WYSIWYG HTML đi kèm và các công cụ lập trình khác được đưa vào trong Microsoft-Visual.NET. Tất cả các công cụ này không phài chỉ dùng để phát triển ứng dụng Web được dễ dàng, tuy nhiên có thể sử dụng một vài chức năng thông thường cho ứng dụng Web, bao gồm một GUI cho phép lập trình viên có thể dễ dàng đặt các server control vào trang web (web page), và một trình debug rất mạnh mẽ. b). Khi tạo một ứng dụng Web lập trình viên có thể chọn Web Forms hoặc Web Services, ngoài ra cũng có thể kết hợp hai loại này với nhau theo bất kỳ cách nào. Cà hai loại này có một nền cơ bản, cho phép sử dụng authentication schemes, cache frequently used data, hoặc chỉnh sửa cấu hình ứng dụng (customize application’s configuration). Tuy nhiên mỗi loại có một vài khả năng riêng: Web Forms cho phép xây dựng các form có nội dung phong phú (powerful forms) trên trang Web (Web Page). Khi xây dựng các form có thể sử dụng các server control để tạo các thành phần UI thông dụng và lập trình cho chúng một vài chức năng thông dụng, những control này cho phép xây dựng nhanh chóng các form chỉ dùng một lần (out of reusable built-in), hoặc các custom component, làm đơn giản mã của trang web (simplifying the code of a page). c). Một XML Web Service cung cấp điều kiện (mean) để truy cập các hàm ở server từ xa. Khi sử dụng Web Service, trong kinh doanh người ta có thể đưa ra các giao diện lập trình được cùng với dữ liệu, hoặc kết quả kinh doanh, những cái này có thể được nhận, hiệu chỉnh bởi các ứng dụng client và server. Web Server cho phép trao đổi dữ liệu theo hai kịch bản (scenarios) client-server và server-client, sử dụng chuẩn HTTP và thông diệp XML (XML messaging) để di chuyển dữ liệu qua tường lữa (firewall). XML Web Service có thể được viết bằng mọi ngôn ngữ lập trình, sử dụng mọi mô hình thành phần (component model), và có thể chạy trên bất kỳ hệ điều hành nào có thể truy cập XML Web Services. d). Mô hình (model) Web Forms và Web Services đều có tất cả các đặt tính của ASP.NET, đó là sức mạnh của .NET Framework và .NET Framework Common Lanuage Runtime. Các tính chất và cách sử dụng có thể được phát thảo như sau: - Với người đã có kỹ năng lập trình ASP thì mô hình lập trình mới ASP.NET sẽ rất gần gũi. Tuy là như vậy nhưng ASP.NET đã có những thay đổi rất đặc biệt so với ASP, ASP.NET đã có cấu trúc hơn và hướng đối tượng. Thật đáng tiết, điều này có nghĩa là tất cả các trang ASP đã tồn tại đều phải được chỉnh sửa một vài nơi để có thể chạy dưới ASP.NET. Ngoài ra, Visual Basic và Visual Basic.NET đã có một sự khác biệt rất lớn, điều này có nghĩa là các trang được viết bằng Visual Basic Scripting Edition sẽ không thể chuyển trực tiếp sang ASP.NET, cần thiết phải có một số thay đổi nhất định để có thể chuyển sang ASP.NET. Để có thêm thông tin về vấn đề này hãy xem mục Migrating from ASP to ASP.NET trong MSDN. - Truy cập database là kỹ thuật thường được sử dụng để hiển thị dữ liệu trên trang Web của khách (visitor). Với ASP.NET, việc quản lý (manage) database sẽ khá dễ dàng thông qua code. Để có nhiều thông tin hơn về vấn đề này xin xem mục Accessing Data with ASP.NET. - ASP.NET cung cấp một mô hình đơn giản để lập trình viên Web có thể làm việc như trên một ứng dụng thông thường. Lập trình viên có thể viết mã ngay trong file văn bản global.asax, hoặc là trong một class được biên dịch, được triễn khai như là một assembly, và có thể đưa vào các sự kiện mức ứng dụng. Ngoài ra người lập trình còn có thể mở rộng mô hình để thích hợp cho nhu cầu của từng ứng dụng. Để có nhiều thông tin hơn hãy xem mục ASP.NET Application trong MSDN. - ASP.NET tạo ra những chương trình dễ sử dụng và những session-state facility gần gủi với lập trình viên ASP và sẳn sàng tương thích với tất cả các giao diện lập trình .NET Framework khác (other .NET Framework APIs). Để có nhiều thông tin hơn xin xem mục ASP.NET State Management trong MSDN. - Đối với những lập trình viên cao cấp, người muốn sử dụng những giao diện lập trình mạnh như giao diện ISAPI (có trong ASP), ASP.NET giới thiệu hai giao diện: IhttpHandler và IhttpModule. Cài đặt giao diện IHttpHandler cho phép chương trình tương tác với các yêu cầu mức thấp (low-level request) và những dịch vụ hồi báo (response services) của IIS Web Services và cung cấp một vài chức năng giống với phần mở rộng ISAPI, nhưng với một mô hình lập trình rất đơn giản. Cài đặt giao diện IhttpModule cho phép lập trình viên đưa vào những customize event riêng trong mỗi yêu cầu (request) sinh ra trong ứng dụng. Để có nhiều thông tin hơn về vấn đề này hãy xem mục HTTP Runtime Support. - ASP.NET có được những chất lượng thực thi được tìm thấy trong .NET Framework và thực thi ngôn ngữ chung (common language runtime). Ngoài ra ASP.NET đã được thiết kế cho mục đích nâng cao khả năng thực thi vượt qua ASP và tất cả các nền ứng dụng Web khác (Lời của MS). - Tất cả mã của ASP.NET đều được biên dịch, việc này cho phép kết hợp dễ (early binding), kiễu mạnh (strong type), trình biên dịch tức thời (JIT) tương thích native code. Ngoài ra ASP.NET còn cung cấp catch mở rộng cho lập trình viên có thể tối ưu hóa ứng dụng trong một vài trường hợp. - Tạo được các câu lệnh debug (custom debug statements) cho trang web, nó rất hữu ích trong khi giãi quyết sự cố (troubleshooting). - Nền .NET Framework và ASP.NET cung cấp sơ đồ (schemes) chứng nhận(authentication) và cấp phép (authorization) cho ứng dụng Web, có thể dễ dàng xóa, thêm, hiệu chỉnh sơ đồ. - Cấu hình ứng dụng ASP.NET được lưu trữ trong các tập tin XML chuẩn, hiệu chỉnh dễ dàng , và có thể mở rộng để phù hợp cho nhu cầu của từng ứng dụng Web. 4.4. MÔ HÌNH MODEL-VIEW-CONTROLLER (MVC). 4.4.1.Khái niệm mô hình MVC: -MVC là viết tắt của Model-View-Controller. Phương pháp thiết kế MVC là phương pháp chia nhỏ một ứng dụng thành nhiều lớp hoặc chia nhỏ phần giao diện người dùng (User Interface) của một ứng dụng thành 3 phần chính là Model, View và Controller. 4.4.2 Các thành phần trong mô hình: a). Model (tạm dịch là phần “Mô hình”) là một đối tượng hoặc tập hợp các đối tượng biểu diển cho phần dữ liệu của chương trình, ví dụ: các dữ liệu được lưu trong cơ sở dữ liệu hay từ các hệ thống ứng dụng khác (như mail…). b.) View (tạm dịch là phần “Hiển thị”): Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựu…, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống. c). Controller (tạm dịch là phần “Điều khiển”): Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng. 4.4.3. Các dạng của mô hình MVC: -Với phương pháp thiết kế này, các chức năng hiển thị, chức năng logic điều khiển và chức năng truy cập dữ liệu của chương trình được chia thành các phần riêng biệt. Java là một ngôn ngữ lập trình hướng đối tượng thuần túy nên việc áp dụng MVC vào các phần mếm viết bằng Java rất dễ dàng và thuận tiện. Có hai hình mẫu chính của phương pháp thiết kế MVC trong Java là MVC model 1 và MVC model 2. a). Trong MVC model 1, các trang JSP đóng vai trò “Hiển thị” (View) và “Điều khiển” (Controller). Có thể có nhiều trang JSP khác nhau đóng các vai trò khác nhau. -Thao tác của người dùng trên trình duyệt web được gửi tới một trang JSP. Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean (nếu cần thiết), truyền các lệnh cần thi hành tới Java Bean (không phải Enterprise Java Bean). -Sau khi Java Bean thực hiện xong việc truy xuất hoặc cập nhập dữ liệu, trang JSP ban đầu có thể hiển thị dữ liệu lấy từ Bean (JSP ban đầu đóng luôn vai trò View), hoặc chọn một trang JSP khác để hiện dữ liệu từ Bean (JSP ban đầu đóng luôn vai trò Controller). Trong một thiết kế tốt, để đảm bảo việc tách rời phần trình bày và logic của chương trình, trang JSP nhận yêu cầu chỉ đóng vai trò “Điều khiển” (Contronller). -MVC model 1 có một nhược điểm là phần logic điều khiển được viết trong trang JSP, như vậy phần chương trình Java phức tạp dùng để điều khiển sẽ bị lẫn vào trong mã HTML dùng để trình bày. Độ phức tạp của chương trình càng cao, thì trang JSP càng khó phát triển và bảo trì. Hơn nữa, trong các dự án phức tạp, phần hiển thị do người thiết kế web giỏi về HTML và đồ họa thực hiện, còn phần điều khiển được người chuyên về lập trình thực hiện. Dùng JSP làm phần điều khiển sẽ khó phân ranh giới trách nhiệm giữa nhóm thiết kế đồ họa và nhóm lập trình. Để khắc phục nhược điểm này, MVC model 2 ra đời. Trong MVC model 2, một hoặc nhiều servlet (thường là một) đóng vai trò điều khiển, các Java Bean đóng vai trò mô hình và các trang JSP đóng vai trò hiển thị. b). Trong model 2, các logic phức tạp của chương trình được viết hoàn toàn trong các servlet (chương trình Java). Phần hiển thị chỉ gồm các trang JSP với một vài mã đơn giản để lấy dữ liệu có sẵn, không có logic phức tạp, vì thế hoàn toàn có thể giao cho người thiết kế web. Các yêu cầu của người dùng được gửi từ trình duyệt web tới servlet. Servlet sẽ khởi tạo Java Bean (nếu cần thiết), ra lệnh thu nhập, cập nhập thông tin. Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thích hợp để hiện thông tin trong Java Bean cho người dùng. Đây là cách sử dụng MVC rất hiệu quả trong Java. Tất nhiên, sử dụng MVC model 2 một cách hoàn toàn cứng nhắc, phần “Điều khiển” chỉ dùng servlet, phần “Hiển thị” chỉ dùng JSP sẽ dãn đến một vài trường hợp kém hiệu quả, nhất là khi các yêu cầu từ trình duyệt web chỉ đòi hỏi việc hiển thị thông tin. Trong trường hợp này, gửi thẳng yêu cầu hiển thị từ trình duyệt web tới trang JSP sẽ hiệu quả hơn. Trong cách áp dụng MVC này, các yêu cầu có liên quan đến logic chương trình hoặc truy cập dữ liệu sẽ gửi tới servlet controller, còn các yêu cầu chỉ liên quan tới hiển thị sẽ được gửi tới JSP controller. CHƯƠNG III.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1. Giới thiệu : -Phân tích và thiết kế hệ thống nhằm hiểu rõ chu kỳ phát triển hệ thống, nghiên cứu sơ bộ, mô hình hóa yêu cầu, dữ liệu và quá trình, mô hình hóa đối tượng, thiết kế nhập xuất và giao diện người sử dụng, thiết kế dữ liệu, kiến trúc ứng dụng, thực hiện, cài đặt, vận hành và hỗ trợ hệ thống. 2. Phân tích hệ thống theo sơ đồ Chức năng: 2.1. Quản lý người dùng: -Là chức năng quản lý người dùng hay đăng nhập vào hệ thống, với mỗi user này đều có username (tên người dùng) và password (mật mã) riêng. Quản lý người dùng(user) gồm 2 chức năng chính: là hiển thị danh sách người dùng và Thêm, Sửa xóa người dùng . 2.1.1. Hiển thị danh sách người dùng: -Là chức năng hiển thị toàn bộ người dùng trong hệ thống để theo dõi và quản lý người dùng một cách dễ dàng và thuận tiện. 2.1.2. Thêm, Sửa, Xoá người dùng: -Được gọi chung là chức năng cập nhật người dùng, chức năng này có nhiệm vụ thay đổi thông tin người dùng, đưa thêm hay loại bỏ người dùng trong hệ thống. 2.2. Quản lý thư mục: -Là chức năng quản lý thư mục của hệ thống, mỗi thư mục là một chức năng riêng, có một đường liên kết tới chức năng của thư mục đó. Quản lý thư mục gồm 2 chức năng chính: Hiển thị danh sách thư mục và Thêm, Sửa, Xoá thư mục. 2.2.1. Hiển thị danh sách thư mục: -Cũng như chức năng hiển thị danh sách người dùng, chức năng này có nhiệm vụ hiển thị danh sách thư mục để quản lý một cách dễ dàng và thuận tiện hơn. 2.2.2. Thêm, Sửa, Xoá thư mục: -Chức năng này có nhiệm vụ cập nhật thông tin của thư mục, thêm mới hay loại bỏ thư mục trong một hệ thống. Chức năng này chỉ có người dùng quản trị mới được sử dụng. Vì thay đổi nội dung của thư mục làm thay đổi cấu trúc toàn bộ của chương trình. 2.3. Quản lý Phân quyền: -Là chức năng phân quyền người dùng, chức năng này phụ thuộc vào 2 đối tượng “Người dùng” và “Thư mục”. Mỗi người dùng sẽ sử dụng một số các thư mục, các thư mục khác không có quyền sử dụng sẽ không được hiên ra trên giao diện người dùng. Phân quyền gồm 2 chức năng chính: Hiện thị danh sách Phân Quyền và Thêm sửa xoá Phần Quyền với Người Dùng. 2.3.1. Hiện thị danh sách Phân Quyền: -Là chức năng hiển thị danh sách người dùng và các quyền truy cập tới thư mục trong hệ thống. Chức năng này làm cho việc quản lý phân quyền tới từng thư mục cho một người dùng một cách dễ dàng và thuận tiện hơn. 2.3.2. Thêm sửa xoá Phần Quyền với Người Dùng: -Là chức năng cập nhât quyền hạn của người dùng, từ chức năng này có thể phân phát quyền hạn quản lý các chức năng khác nhau cho từng người dùng. Chức năng này chỉ có người dùng quản trị mới có quyền được sử dụng. 2.4. Quản lý Nhân viên: -Là chức năng chính trong hệ thống, quản lý nhân sự trong doanh nghiệp vinapay. Gồm 2 chức năng chính: Hiển thị danh sách nhân viên và Thêm, sửa, xoá nhân viên. 2.4.1. Hiển thị danh sách nhân viên: -Là chức năng hiển thị danh sách người dùng, trong chức năng này người dùng sẽ quản lý được nhân sự trong công ty. Từ chức năng này có thể thống kê, quản lý và báo cáo tình trạng nhân sự trong công ty. 2.4.2. Thêm, sửa, xoá nhân viên: -Là chức năng cập nhật nhân viên trong công ty, từ đây có thể thay đổi hồ sơ nhân viên, thêm mới hay loại bỏ nhân viên trong hệ thống quản lý. Với chức năng này chỉ có người dùng quản lý hồ sơ mới được sử dụng. 3. Phân tích hệ thống theo sơ đồ luồng dữ liệu: 3.1. Sơ đồ luồng dữ liệu mức ngữ cảnh: 3.2. Sơ đồ luồng dữ liệu mức đỉnh : 3.3.Sơ đồ luồng dữ liệu mức dưới đỉnh: 3.3.1. Chức năng quản lý người dùng: 3.3.2. Chức năng quản lý thư mục: 3.3.3. Chức năng phân quyền: 3.3.4. Chức năng quản lý Nhân viên: 3.4. Sơ đồ luồng dữ liệu tổng quát: 3.4.1. Quản lý tài khoản của nhân viên trong công ty: 3.4.2. Quản lý nhân viên trong công ty: 4. Các bảng cơ sở dữ liệu dùng trong chương trình: 4.1. Bảng Tài khoản : -Gồm các trường: Tên Tài Khoản, Mật Khẩu, Quản trị. 4.2.Bảng Thư mục_Tài khoản : -Gồm các trường: Mã thư mục, Tên tài khoản. 4.3. Bảng Nhân viên : -Gồm các trường:Mã Nhân Viên, Tên, Họ, Ngày Sinh, Địa chỉ, Số CMTND, Ngày Kí Hợp Đồng, Nơi Kí Hợp Đồng, Chuyên môn, Phòng, Ngày Bắt Đầu, Ngày Kết Thúc, Loại Hợp Đồng, Mức Lương. 4.4. Bảng Thư mục: -Gồm các trường: Mã thư mục, Tên Thư Mục, Đường Kết Nối CHƯƠNG VI. PHÁT TRIỂN ỨNG DỤNG. 1. Xây dựng kế hoạch phát triển ứng dụng 1.1. Tiêu chí phát triển: -Để phát triển ứng dụng một cách hiệu quả và có chất lượng cần phải đưa ra các bước xây dựng chương trình, các tiêu chí cho áp dung công nghệ và thiết kế. Có nghĩa là chương trình xây dựng phải đảm bảo đi theo mô hình phân tích và thiết kế. Để làm được điều đó thì chương trình xây dựng phải: - Xây dựng hệ thống chức năng của ứng dụng phải đảm bảo đúng như các chức năng được phân tích và thiết kế. - Xây dựng cấu trúc của chương trình phải tương thích với mô hình MVC. - Các bảng biểu chương trình phải đúng với thiết kế. 1.2. Kế hoạch phát triển: -Ngoài các tiêu chí xây dưng chương trình, khi phát triển ứng dụng cần phải thực hiện các bước sau một cách tuân thủ chặt chẽ. Bước 1: Cài đặt cơ sở dữ liệu và các dữ liệu khởi tạo chương trình. Bước 2: Xây dựng cấu trúc chương trình. Bước 3: Phát triển các chức năng theo thiết kế. 2. Cài đặt cơ sở dữ liệu và dữ liệu khởi tạo: 2.1.Tạo cơ sở dữ liệu: -Tạo cơ sở dữ liệu trong SQL Server 2005 với tên là HRM (Human Resour). 2.2. Tạo các bảng biểu: 2.2.1. Bảng Thumuc_Taikhoan: [Mã Thư Mục] nchar(10) Checked [Tên Tài Khoản] nchar(10) Checked 2.2.2. Bảng Taikhoan: [Tên Tài Khoản] nchar(20) Checked [Mật Khẩu] nchar(20) Checked [Quản Trị] int Checked 2.2.3. Bảng NhanVien: [Mã Nhân Viên] nchar(15) Checked Tên nchar(15) Checked Họ nchar(30) Checked [Ngày Sinh] datetime Checked [Địa chỉ] nchar(50) Checked [Số CMTND] nchar(15) Checked [Ngày Kí Hợp Đồng] datetime Checked [Nơi Kí Hợp Đồng] nchar(30) Checked [Chuyên Môn] nchar(

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

  • docỨng dụng web - quản lý nhân sự.DOC