TỔNG QUAN NGHIÊN CỨU
Lý do chọn đề tài
Bộ Công Nghệ Và Truyền Thông Lào, viết tắt là "ກຕສ", là tổ chức hành chính
Kỹ thuật trung ương là một phần quan trọng trong cơ cấu của Chính phủ, đóng vai trò then chốt trong việc xây dựng và quản lý các vấn đề vĩ mô liên quan đến khoa học và công nghệ, quyền sở hữu trí tuệ, cũng như thiết lập tiêu chuẩn chung trên toàn quốc.
Từ trước đến nay công việc thu thập thông tin của cán bộ trong Bộ Công Nghệ
Việc thu thập thông tin tại Và Truyền Thông Lào chủ yếu diễn ra trên giấy và dưới dạng tập tin Excel, gây khó khăn trong quản lý hồ sơ thông tin cá nhân và tìm kiếm dữ liệu của cán bộ Tuy nhiên, với phần mềm quản lý, thông tin được lưu trữ trên hệ thống quản trị cơ sở dữ liệu, giúp nâng cao khả năng quản lý, tra cứu và giảm thiểu công việc một cách đáng kể.
Bài toán “Phát Triển Hệ Thống Quản Lý Nhân Sự Và Ứng Dụng Tại Bộ Công Nghệ Và Truyền Thông Lào” nhằm đáp ứng hiệu quả nhu cầu quản lý thông tin trong bộ này Việc tin học hóa công tác quản lý giúp giảm bớt sức lao động, tiết kiệm thời gian và nâng cao độ chính xác so với phương pháp thủ công trước đây Tin học hóa còn giúp thu hẹp không gian lưu trữ, tránh thất lạc dữ liệu và tự động hệ thống hóa thông tin theo nhu cầu Đây là một bài toán thực tiễn, tôi hy vọng sẽ đưa ra những nhận xét và đánh giá tổng thể để phát triển hệ thống mới có nhiều chức năng hỗ trợ cho công tác quản lý Với nhu cầu cấp thiết của xã hội trong thời đại công nghệ thông tin, tôi mong muốn thiết kế một chương trình có thể ứng dụng vào thực tế.
Bộ Công nghệ và Truyền thông là cơ quan hành chính - kỹ thuật trung ương của Chính phủ, có nhiệm vụ quan trọng trong việc xây dựng và quản lý các vấn đề vĩ mô liên quan đến khoa học và công nghệ, quyền sở hữu trí tuệ, cũng như thiết lập tiêu chuẩn chung trên toàn quốc.
Bộ Công nghệ và Truyền thông có cơ cấu tổ chức gồm 2 văn phòng, 8 cục, và 4 viện:
Văn phòng hội đồng khoa học
Cục tổ chức và nhân sự
Cục kế hoạch và hợp tác
Cục tiêu chuẩn và đo lường
Cục công nghệ thông tin và đổi mới
Cục sở hữu trí tuệ
Viện sinh thái và công nghệ sinh học
Viện năng lượng tái tạo và vật liệu mới
Viện công nghệ máy tính và điện tử
Viện quản lý khoa học và công nghệ
Bộ Công nghệ và Truyền thông hiện có tổng cộng 644 nhân sự, dẫn dắt bởi Bộ trưởng Ông Băn đít SJ Bo viêng khăm Vông đa la Hai Thứ trưởng là Ông Húm phăn In tha rát và Ông Su li u đông Sún đa la.
Tình hình nghiên cứu
1.2.1 Mục đích và nhiệm vụ của đề tài
Trước đây, công việc thu thập thông tin của cán bộ trong Bộ Công nghệ và Truyền thông chủ yếu diễn ra trên giấy và dưới dạng tập tin excel, dẫn đến nhiều khó khăn trong việc quản lý hồ sơ và tìm kiếm thông tin Tuy nhiên, với phần mềm quản lý mới, thông tin được lưu trữ trên hệ thống quản trị cơ sở dữ liệu, giúp nâng cao khả năng quản lý, tra cứu và tinh giản công việc một cách đáng kể.
Quản lý nhân sự là công việc nhăm quản lý thông tin cá nhân của cán bộ và tất cả các quá trình hoạt động trong nội bộ
Mục đích của đề tài là phân tích, thiết kế và lập trình hệ thống phần mềm quản lý nhân sự nhằm hỗ trợ văn phòng tổ chức nhân sự trong việc quản lý hồ sơ thông tin cán bộ Để đạt được mục tiêu này, tôi đã xác định một số nhiệm vụ cụ thể cần thực hiện.
Tìm hiểu quy trình thu thập thông tin nhân sự trong phòng tổ chức nhân sự
Khảo sát yêu cầu người sử dụng
Phân tích yêu cầu người sử dụng, các chức năng và phi chức năng
Tìm hiểu về quy trình nghiệp vụ trong quản lý nhân sự
Phân tích thiết kế quy trình quản lý nhân sự
Thực hiện thiết kế cơ sở dữ liệu đáp ứng
Lập trình phần mềm quản lý cơ sở dữ liệu và thiết kế hệ thống
1.2.2 Phạm vi nghiên cứu của đề tài
Nội dung luận văn tập trung vào việc nghiên cứu thực trạng quản lý thông tin cán bộ tại Bộ Công nghệ và Truyền thông Lào, từ đó phân tích và thiết kế hệ thống quản lý thông tin phù hợp cho cơ quan Hệ thống này sẽ bao gồm các chức năng chính nhằm nâng cao hiệu quả quản lý và đảm bảo thông tin được cập nhật chính xác.
Tạo tài khoản người sử dụng
Quản lý thông tin nhân sự
Quản lý thông tin phòng ban
Quản lý thông tin thăng cấp cán bộ
Cập nhật thay đổi trạng thái nhân sự: đi công tác nước ngoài, du học, nghỉ hưu
Thông kê thông tin nhân sự nội bộ
Báo cáo thông tin cá nhân
Hệ thống được xây dựng dựa trên nhu cầu của hai đối tượng chính là:
Cán bộ văn phòng tổ chức
1.2.3 Công cụ và công nghệ sử dụng
Sử dụng công cụ Microsoft Visual Studio 2010 và phần mềm quản lý cơ sở dữ liệu Microsoft SQL Server 2014 Phần mềm sử dụng trong quá trình xây dựng gồm:
Microsoft Visual Studio là môi trường phát triển tích hợp (IDE) từ Microsoft
Visual Studio is a powerful integrated development environment (IDE) used for creating software applications for Microsoft Windows, as well as for web and web services It leverages Microsoft's software development frameworks, including Windows API, Windows Forms, Windows Presentation Foundation, Windows Store, and Microsoft Silverlight Additionally, Visual Studio supports both source code and managed code export.
Microsoft Visual Studio là một công cụ phát triển phần mềm mạnh mẽ, bao gồm trình soạn thảo mã với tính năng IntelliSense và khả năng refactoring mã Nó tích hợp gỡ lỗi cả ở cấp độ nguồn và máy, cùng với các công cụ thiết kế để xây dựng giao diện ứng dụng, thiết kế web, lớp và cơ sở dữ liệu Phần mềm này hỗ trợ plug-ins để mở rộng chức năng, bao gồm cả hệ thống kiểm soát nguồn như Subversion và các bộ công cụ mới cho việc biên tập và thiết kế hình ảnh, phục vụ cho nhiều khía cạnh của vòng đời phát triển phần mềm.
Microsoft Visual Studio hỗ trợ nhiều ngôn ngữ lập trình như C, C++, C++/CLI, VB.NET, C#, và F#, cùng với các ngôn ngữ khác như M, Python, và Ruby Nó cung cấp trình biên tập mã nguồn và gỡ lỗi, giúp người dùng phát triển ứng dụng hiệu quả Windows Forms Designer cho phép xây dựng giao diện người dùng (GUI) bằng cách sử dụng Windows Forms, cho phép bố trí và quản lý các nút điều khiển để trình bày dữ liệu, đồng thời liên kết chúng với các nguồn dữ liệu như cơ sở dữ liệu hoặc truy vấn.
Microsoft SQL Server hay còn gọi là MS-SQL Server là một hệ quản trị cơ sở dữ liệu (Relational Database Management System) chạy trên môi trường Windows
Ngôn ngữ truy vấn Transac - SQL (T - SQL) được sử dụng để trao đổi dữ liệu giữa máy khách và máy chủ MS SQL Server có khả năng thao tác với cơ sở dữ liệu có kích thước lớn, và phiên bản được sử dụng trong luận văn này là MS SQL Server 12.0 (SQL Server 2014, Hekaton).
T-SQL là ngôn ngữ lập trình cơ sở dữ liệu hướng thủ tục độc quyền của Microsoft, được sử dụng trong SQL Server Nó được thiết kế để mở rộng khả năng của SQL, với các tính năng nổi bật như biến địa phương và xử lý chuỗi/dữ liệu.
SQL (Structured Query Language): là ngôn ngữ để tạo, thêm, sửa, xóa dữ liệu trên một hệ quản trị cơ sở dữ liệu quan hệ
Microsoft SQL Server encompasses various integrated services, including SQL Server services, SQL Server Data, and SQL Server Master services It also offers specialized toolsets for Database Administrators (DBAs) and developers, such as SQL Server Data Tools, which are essential for effective database management and development.
Microsoft SQL Server là một công cụ mạnh mẽ cho việc phát triển cơ sở dữ liệu, cung cấp nhiều tính năng hữu ích cho việc triển khai, giám sát và quản lý cơ sở dữ liệu Dưới đây là năm việc quan trọng khi sử dụng SQL Server Management Studio: tối ưu hóa hiệu suất cơ sở dữ liệu, thực hiện sao lưu và phục hồi dữ liệu, quản lý quyền truy cập người dùng, theo dõi hoạt động và hiệu suất hệ thống, cũng như đảm bảo an ninh cho dữ liệu Những ưu điểm này giúp người dùng dễ dàng quản lý và duy trì cơ sở dữ liệu hiệu quả hơn.
Câu lệnh đơn giản, ngắn gọn, dễ dàng sử dụng
Được tối ưu hóa với những công nghệ mới
Có tính năng bảo mật cao
Tất cả các yêu cầu phức tạp của công việc đều có thể thực hiện được
Microsoft SQL Server cung cấp các công cụ quản lý toàn diện, bao gồm giao diện đồ họa người dùng (GUI) và ngôn ngữ truy vấn SQL Điểm mạnh nổi bật của MS-SQL là khả năng tích hợp mượt mà với các ngôn ngữ lập trình của Microsoft như ASP.NET, VB.NET và C#, hỗ trợ hiệu quả trong việc phát triển ứng dụng Winform.
Các phiên bản của Microsoft SQL Server:
Enterprise: phiên bản đầy đủ chứa tất cả các điểm nổi bật của SQL Server
Phiên bản Standard cung cấp đầy đủ tính năng cơ bản nhưng giới hạn một số chức năng cao cấp, với giá thành rẻ hơn nhiều so với phiên bản Enterprise.
Developer: có đầy đủ các tính năng như bản Enterprise nhưng được chế tạo đặc biệt để giới hạn số lượng người kết nối và Server cùng một lúc
SQL Server Express là một công cụ dễ sử dụng, giúp quản trị cơ sở dữ liệu một cách đơn giản Nó được tích hợp hoàn hảo với Microsoft Visual Studio, cho phép phát triển ứng dụng dữ liệu dễ dàng, đảm bảo an toàn trong việc lưu trữ và triển khai nhanh chóng.
ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
Đặc tả yêu cầu hệ thống
2.1.1 Yêu cầu phi chức năng Để có thể sử dụng và vận hành hệ thống quản lý, phần mềm cần phải được xây dựng và phát triển đúng với mục tiêu đặt ra Phần mềm cần thỏa mã các yêu cầu phi chức năng như sau:
Giao diện phần mềm dễ sử dụng, trực quan, thân thiện với người dùng
Tốc độ xử lý phải nhanh chóng và chính xác
Cấp quyền chi tiết cho người dùng
Tính bảo mật và an toàn
Phần mềm cần thỏa mãn các yêu cầu chức năng như sau:
Có sự phân quyền theo đúng chức năng của người sử dụng
Hỗ trợ Chức năng đăng nhập
Tạo tài khoản người sử dụng
Quản lý thông tin nhân sự
Quản lý thông tin phòng ban
Quản lý thông tin thăng cấp cán bộ
Quản lý thông tin tỉnh
Quản lý thông tin huyện
Cập nhật thay đổi trạng thái nhân sự: đi công tác nước ngoài, du học, nghỉ hưu
Thông kê thông tin nhân sự nội bộ
Báo cáo thông tin cá nhân
Mô hình hóa chức năng
Use Case là một kỹ thuật quan trọng trong kỹ thuật phần mềm và hệ thống, giúp xác định các yêu cầu chức năng của hệ thống Nó mô tả sự tương tác giữa người dùng bên ngoài (actor) và hệ thống, đồng thời nêu rõ các yêu cầu cần thiết cho hệ thống hoạt động hiệu quả.
Mỗi Use Case mô tả cách người dùng tương tác với hệ thống để đạt được mục tiêu cụ thể, với một hoặc nhiều kịch bản được phát triển từ đó Khi viết Use Case, cần tránh thuật ngữ kỹ thuật và sử dụng ngôn ngữ dễ hiểu cho người dùng cuối hoặc chuyên gia trong lĩnh vực Sự hợp tác chặt chẽ giữa người phân tích hệ thống và người dùng cuối là cần thiết để xây dựng Use Case hiệu quả Đặc điểm của Use Case là ngắn gọn, cụ thể và đầy đủ, giúp người dùng đại diện cho các nghiệp vụ trong hệ thống.
Các thành phần của Use Case gồm
Actor : để chỉ người sử dụng hoặc một đối tượng nào đó bên ngoài có tương tác với hệ thống
Use Case : là chức năng mà các actor sẽ sử dụng
Từ đặc tả và yêu cầu của hệ thống, có thể thấy rằng trong phần mềm sẽ bao gồm
2 Actor tham gia vào các hoạt động chính của hệ thống như sau:
Người quản lý hệ thống quản lý người dùng, quản lý phòng học được gọi là quản trị viên (Admin)
Cán bộ công quản lý thông tin nhân sự và cập nhật thông tin thăng cấp đóng vai trò quan trọng trong việc quản lý trạng thái của nhân sự, được gọi là người quản lý (Manager) Hầu hết các chức năng quản lý nhân sự đều tập trung vào vai trò của người quản lý, giúp tối ưu hóa quy trình thăng tiến và phát triển nguồn nhân lực trong tổ chức.
Trong hệ thống quản lý sinh viên của tôi bao gồm các Use Case:
Actor quản trị viên: o Đăng nhập tài khoản o Thêm người dùng mới o Xóa người dùng
Diễn viên quản lý có các chức năng quan trọng như đăng nhập tài khoản, sửa thông tin tài khoản và quản lý thông tin nhân sự Họ cũng thực hiện việc quản lý phòng ban, thông tin thăng cấp cán bộ, và cập nhật trạng thái nhân sự như công tác nước ngoài, du học hay nghỉ hưu Ngoài ra, diễn viên quản lý còn có nhiệm vụ quản lý thông tin tỉnh, huyện, thống kê thông tin nhân sự nội bộ và báo cáo thông tin nhân sự.
2.2.2.1 Use Case quản trị viên hình 0-1: Biểu đồ Use Case quản trị viên (Admin) uc Use Case Model Admin
Check user info ôextendằ ôextendằ ôincludeằ ôextendằ
2.2.2.2 Use Case người quản lý hình 0-2: Biểu đồ Use Case người quản lý (Manager) uc Use Case Model Manager
Efficient attachment management is essential for organizing documents within a district, province, or department Users can easily add or edit employees, documents, and attachments, ensuring that all information is up-to-date and accessible This streamlined process enhances productivity and collaboration across various administrative levels.
Tên Use Case Log in
Use case mô tả quy trình đăng nhập vào hệ thống, cho phép người dùng truy cập các chức năng quản lý thông tin sinh viên, giảng viên, lớp học và nhập điểm số cho sinh viên Các đối tượng tham gia bao gồm Quản trị viên (Admin) và Người quản lý (Manager) Quy trình này được kích hoạt khi người dùng chọn chức năng đăng nhập từ hệ thống.
Tiền điều kiện Người dùng đã có tài khoản
Hậu điều kiện Đăng nhập thành công
Luồng sự kiện Hiển thị form đăng nhập
Người dùng nhập tên tài khoản và mật khẩu
Kiểm tra thông tin đăng nhập
Trả về form các chức năng theo từng Actor Luồng sự kiện phụ Nếu tài khoản và mật khẩu không đúng:
Hiển thị thông báo lỗi
Quay lại Use case đăng nhập bảng 0.1: Bảng đặc tả Use case đăng nhập
2.2.3.2 Use case quản lý tài liệu nhân sự
Tên Use Case Manage employee document
Mô tả Use case cho phép người dùng quản lý thông tin tài liệu của nhân sự
Actor Người quản lý (Manager) Điều kiện kích hoạt Người dùng chọn chức năng quản lý thông tin tài liệu
Tiền điều kiện Người dùng đăng nhập vào hệ thống với vài trò người quản lý Hậu điều kiện Quản lý thông tin tài liệu
Luồng sự kiện Hiển thị form quản lý tài liệu nhân sự
Hiển thị danh sách nhân sự
Người quản lý sẽ lựa chọn một cá nhân để sử dụng chức năng thêm tài liệu cá nhân, bao gồm việc đính kèm các quyết định, giấy phép và bằng khen liên quan đến nhân sự.
Hệ thống trả về kết quả tương ứng
Thành công sẽ trở về form quản lý tài liệu Luồng sự kiện phụ Có lỗi khi thực hiện:
Hệ thống trả về lỗi cho người dùng thực hiện lại các thao tác
Quay lại Use case Quản lý tài liệu bảng 0.2: Bảng đặc tả Use Case quản lý tài liệu nhân sự
2.2.3.3 Use case đăng ký người dùng mới
Tên Use Case Add New User
Mô tả Use case cho phép người dùng đăng ký tài khoản mới
Để kích hoạt chức năng thêm người dùng mới, quản trị viên cần đăng nhập vào hệ thống Sau khi hoàn tất quá trình đăng nhập, quản trị viên có thể thực hiện việc đăng ký tài khoản mới thành công.
Luồng sự kiện Hiển thị form đăng ký
Nhập thông tin tài khoản
Thực hiện đăng ký Luồng sự kiện phụ Nếu tài khoản đã tồn tại:
Hiển thị thông báo đã tồn tại tên tài khoản này
Quay lại use case đăng ký bảng 0.3: Bảng đặc tả Use case đăng ký người dùng mới
2.2.3.4 Use case thêm tài liệu đính kèm của nhân sự
Tên Use Case Manage Attachment
Mô tả Use case cho phép người dùng quản lý tệp ảnh đính kèm các quyết định, hoặc tài liệu cá nhân của nhân sự
Actor Người quản lý (Manager) Điều kiện kích hoạt Người dùng chọn chức năng quản lý tài liệu đính kèm
Tiền điều kiện Người dùng đăng nhập vào hệ thống với vài trò người quản lý Hậu điều kiện Quản lý thông tin tài liệu đính kèm
Luồng sự kiện Hiển thị form quản lý tài liệu đính kèm
Hiển thị danh sách nhân sự
Chọn một cá nhân nào đó để thực hiện thêm thông tin tài liệu đính kèm
Người quản lý có thể thêm tài liệu đính kèm sau khi cập nhật thông tin nhân sự, giúp lưu trữ các quyết định và mẫu yêu cầu một cách hiệu quả.
Hệ thống trả về kết quả tương ứng
Thành công sẽ trở về form quản lý tài liệu Luồng sự kiện phụ Có lỗi khi thực hiện:
Hệ thống trả về lỗi cho người dùng nếu ảnh không đúng định dạng
Quay lại Use case Quản lý tài liệu đính kèm bảng 0.4: Bảng đặc tả Use case thêm tài liệu đính kèm của nhân sự
2.2.3.5 Use case thêm thông tin nhân sự
Tên Use Case Manage employee info
Mô tả Use case cho phép người dùng quản lý thông tin nhân sự
Diễn viên Người quản lý (Manager) có thể kích hoạt chức năng quản lý thông tin nhân sự khi người dùng đăng nhập vào hệ thống với vai trò quản lý Sau khi thực hiện, người quản lý sẽ có khả năng quản lý thông tin của cán bộ một cách hiệu quả.
Luồng sự kiện Hiển thị form quản lý thông tin nhân sự
Hiển thị danh sách nhân sự
Người quản lý chọn nhân sự để sử dụng chức năng sửa, xóa, hoặc chọn chức năng thêm thông nhân sự mới chưa có trong hệ thống
Hệ thống trả về kết quả tương ứng
Thành công sẽ trở về form quản lý thông tin nhân sự Luồng sự kiện phụ Có lỗi khi thực hiện:
Hệ thống trả về lỗi cho người dùng thực hiện lại các thao tác
Quay lại Use case Quản lý thông tin nhân sự bảng 0.5: Bảng đặc tả Use case thêm thông tin nhân sự
2.2.3.6 Use case chỉnh sửa thông tin nhân sự
Tên Use Case Edit employee info
Mô tả Use case cho phép người dùng sửa đổi thông tin nhân sự
Actor Người quản lý (Manager) Điều kiện kích hoạt Người dùng chọn chức năng sửa thông tin nhân sự
Tiền điều kiện Người dùng chọn một nhân sự và chọn chức năng sửa đổi Hậu điều kiện Sửa đổi thông tin thành công
Luồng sự kiện Tìm kiếm và chọn một cá nhân
Chọn chức năng sửa đổi thông tin nhân sự
Hiển thị form thông tin cũ của nhân sự
Người dùng nhập thông tin sửa đổi
Người dùng xác nhận sửa đổi thông tin
Hiển thị thông báo sửa đổi thành công Luồng sự kiện phụ Nếu người dùng nhập thông tin không hợp lệ
Hiển thị thông báo thông tin không hợp lệ
Quay lại form nhập thông tin nhân sự
Người dùng nhập thông tin lại bảng 0.6: Bảng đặc tả Use case chỉnh sửa thông tin nhân sự
2.2.3.7 Use case quản lý phòng ban
Tên Use Case Manage department
Mô tả Use case cho phép người dùng Quản lý thông tin các phòng ban
Actor Người quản lý (Manager) Điều kiện kích hoạt Người dùng chọn chức năng Quản lý phòng ban
Tiền điều kiện Người dùng đăng nhập vào hệ thống
Hậu điều kiện Quản lý thông tin phòng ban
Luồng sự kiện Hiển thị form Quản lý phòng ban
Hiển thị danh sách phòng ban
Người quản lý chọn một phòng ban để sử dụng chức năng sửa, xóa, hoặc chọn chức năng thêm thông tin phòng ban mới chưa có trong hệ thống
Hệ thống trả về kết quả tương ứng
Thành công sẽ trở về form Quản lý phòng ban Luồng sự kiện phụ Có lỗi khi thực hiện:
Hệ thống trả về lỗi cho người dùng thực hiện lại các thao tác
Quay lại Use case Quản lý thông tin phòng ban bảng 0.7: Bảng đặc tả Use case quản lý phòng ban
2.2.3.8 Use case thông tin tỉnh và huyện
Tên Use Case Manage province and district
Mô tả Use case cho phép người dùng Quản lý thông tin tỉnh và huyện
Actor Người quản lý (Manager) Điều kiện kích hoạt Người dùng chọn chức năng Quản lý tỉnh hoặc huyện
Tiền điều kiện Người dùng đăng nhập vào hệ thống
Hậu điều kiện Quản lý thông tin tỉnh hoặc huyện
Luồng sự kiện Hiển thị form Quản lý tỉnh hoặc huyện
Hiển thị danh sách tỉnh hoặc huyện
Người quản lý có thể lựa chọn một tỉnh hoặc huyện cụ thể để thực hiện các chức năng như sửa đổi, xóa thông tin, hoặc thêm mới thông tin cho các tỉnh, huyện chưa có trong hệ thống.
Hệ thống trả về kết quả tương ứng
Thành công sẽ trở về form Quản lý thông tin tỉnh hoặc huyện
Luồng sự kiện phụ Có lỗi khi thực hiện:
Hệ thống trả về lỗi cho người dùng thực hiện lại các thao tác
Quay lại Use case Quản lý thông tin tỉnh hoặc huyện bảng 0.8: Bảng đặc tả Use case thông tin tỉnh và huyện
2.2.4 Cây phân cấp chức năng hệ thống
Theo yêu cầu, tôi đã xây dựng mô hình các chức năng của hệ thống quản lý nhân sự dưới dạng cây phân cấp, như thể hiện trong hình 0-3 Cây phân cấp chức năng này giúp minh họa rõ ràng cấu trúc và các mối quan hệ giữa các chức năng trong hệ thống.
Xây dựng bản vẽ biểu đồ hoạt động (Activity Diagram)
2.3.1 Xác định nghiệp vụ cần phân tích Để có thể xây đựng được hệ thống, ta cần phải phân tích rõ luồng nghiệp vụ của từng công việc Chúng ta có thể thấy các Use case cần làm rõ bao gồm các chức năng như sau:
Đăng nhập: người dùng sử dụng chức năng để đăng nhập vào hệ thống
Đăng ký người dùng: quản trị viên thực hiện đăng ký tài khoản người dùng khác
Xóa người dùng: quản trị viên thực hiện xóa người dùng
Sửa thông tin tài khoản: chủ tài khoản có thể thực hiện sửa đổi thông tin của bản thân sau khi đăng nhập thành công vào hệ thống
Quản lý thông tin nhân sự: người quản lý có thể thêm, sửa, xóa thông tin nhân sự
Quản lý phòng ban: người quản lý có thể thêm thông tin phòng ban, sửa hoặc xóa thông tin phòng ban đã tồn tại trong hệ thống
Quản lý thông tin thăng cấp cán bộ: người quản lý có thể thêm thông tin thăng cấp, sửa đổi thông tin đã nhập sai
Cập nhật thay đổi trạng thái nhân sự: người quản lý có thể thêm thông tin nếu có cá nhân: đi công tác nước ngoài, du học, nghỉ hưu,
Quản lý thông tin tỉnh: người quản lý có thể thêm tỉnh hoặc khu vực mới
Quản lý thông tin huyện: người quản lý có thể thêm huyện mới hoặc sửa đổi thông tin huyện đã tồn tại trong hệ thống
Người quản lý có khả năng theo dõi và thống kê thông tin nhân sự nội bộ, bao gồm số lượng nhân sự hiện có, số nhân sự được thăng cấp, cũng như những nhân sự đang đi công tác hoặc du học.
Hệ thống báo cáo thông tin nhân sự cho phép in ấn các báo cáo cá nhân theo mẫu yêu cầu của cơ quan, giúp cung cấp tài liệu thông tin cần thiết cho các công việc liên quan.
2.3.2 Biểu đồ hoạt động là gì
Biểu đồ hoạt động là một công cụ mô hình hóa logic quan trọng, giúp thể hiện các hoạt động trong quy trình nghiệp vụ Nó minh họa luồng chuyển tiếp giữa các hoạt động trong hệ thống, đóng vai trò thiết yếu trong việc xây dựng mô hình chức năng của hệ thống Đồng thời, biểu đồ cũng nhấn mạnh sự chuyển giao quyền kiểm soát giữa các đối tượng khác nhau.
Các bước xây dựng biểu đồ hoạt động như sau:
1 Xác định các nghiệp vụ cần mô tả : từ biểu đồ Use Case ta sử dụng để xác định nghiệp vụ nào cần mô tả hoạt động
2 Xác định trạng thái đầu tiên và trạng thái kết thúc
3 Xác định các hoạt động tiếp theo : xuất phát từ điểm bắt đầu, phân tích để xác định các hoạt động tiếp theo cho đến khi gặp điểm kết thúc để hoàn thành biểu đồ
2.3.3 Bản vẽ biểu đồ hoạt động (Activity Diagram)
2.3.3.1 Biểu đồ hoạt động chức năng Đăng nhập hình 0-4: Biểu đồ hoạt động chức năng Đăng nhập act Activity Model Login start finish display login form enter account & password verify account login to management system display error message
2.3.3.2 Biểu đồ hoạt động chức năng Đăng ký người dùng hình 0-5: Biểu đồ hoạt động chức năng Đăng ký người dùng act Activity Model Add new user start finish create account form enter account info verify info display successful mesage
2.3.3.3 Biểu đồ hoạt động chức năng Xóa người dùng hình 0-6: Biểu đồ hoạt động chức năng Xóa người dùng act Activity Model Delete user start finish
Search & choose account confirm delete display successful mesage
2.3.3.4 Biểu đồ hoạt động chức năng Quản lý thông tin nhân sự hình 0-7: Biểu đồ hoạt động chức năng Quản lý thông tin nhân sự act Activity Model employee management start finish display successful mesage
Login via manager account employee management form choose function add new employee edit employee info delete employee
2.3.3.5 Biểu đồ hoạt động chức năng Quản lý phòng ban hình 0-8: Biểu đồ hoạt động chức năng Quản lý phòng ban act Activity Model Department management start finish display successful mesage
Login via manager account department management form choose function add new department edit department info delete department
2.3.3.6 Biểu đồ hoạt động chức năng Cập nhật thay đổi trạng thái nhân sự hình 0-9: Biểu đồ hoạt động chức năng Cập nhật thay đổi trạng thái nhân sự act Activity Model update employee status start finish
Search & choose employee display successful mesage
Attachment management enter update info have attachment
2.3.3.7 Biểu đồ hoạt động chức năng Quản lý thông tin tỉnh hình 0-10: Biểu đồ hoạt động chức năng Quản lý thông tin tỉnh act Activity Model province management start finish display successful mesage
Login via manager account province management form choose function add new province edit province info delete province
2.3.3.8 Biểu đồ hoạt động chức năng Quản lý thông tin huyện hình 0-11: Biểu đồ hoạt động chức năng Quản lý thông tin huyện act Activity Model district management start finish display successful mesage
District management form choose function add new District edit District info delete District
2.3.3.9 Biểu đồ hoạt động chức năng Thống kê thông tin nhân sự nội bộ hình 0-12: Biểu đồ hoạt động chức năng Thống kê thông tin nhân sự nội bộ act Activity Model report statistic start finish display successful mesage
Login via manager account reportingt form choose report type report
Personnel statistics report business trips employee report Retirement Statistic
2.3.3.10 Biểu đồ hoạt động chức năng Báo cáo thông tin cá nhân nhân sự hình 0-13: Biểu đồ hoạt động chức năng Báo cáo thông tin cá nhân nhân sự act Activity Model Employee personal info start finish
Search & choose employee display successful mesage choose personal report function
Xây dựng bản vẽ biểu đồ trình tự (Sequence Diagram)
2.4.1 Biểu đồ trình tự Đăng nhập hình 0-14: Biểu đồ trình tự Đăng nhập sd Sequence Model Login
User Login form UserController UserEntity alt
To verify an account, initiate a login request and open the login form If the account or password is incorrect, an error message will be displayed, and the process will return false Users must enter their account information accurately to proceed Once the correct details are submitted, the request will return true, granting access to the management system.
2.4.2 Biểu đồ trình tự Đăng ký người dùng hình 0-15: Biểu đồ trình tự Đăng ký người dùng sd Sequence Model Add new user
[invalid] choose add account function() insert new account() enter account info() verify username () display error message() display successful message
() sending add account request() return false() request enter account info() sending request() return true() return false() return true()
2.4.3 Biểu đồ trình tự Thêm thông tin nhân sự mới hình 0-16: Biểu đồ trình tự Thêm thông tin nhân sự mới sd Sequence Model Add new employee
To add an employee, the system requires the user to enter the employee's information If the information is incomplete, an error message will be displayed, prompting the user to provide the necessary details Once all required information is correctly entered, a successful message is shown, and the request to add the employee is processed The system will return true if the addition is successful; otherwise, it will return false, indicating an issue with the request Make sure to select the add employee function to initiate this process.
2.4.4 Biểu đồ trình tự Thêm phòng ban mới hình 0-17: Biểu đồ trình tự Thêm phòng ban mới sd Sequence Model Add new department
To add a new department, ensure that the department name is not a duplicate by checking for errors If the name is unique, request the user to enter the department information Once the information is submitted, send the request to add the department If the process is successful, return true; otherwise, display an error message and return false.
2.4.5 Biểu đồ trình tự Thay đổi trạng thái nhân sự hình 0-18: Biểu đồ trình tự Thay đổi trạng thái nhân sự sd Sequence Model Update employee status
EmployeeController EmployeeEntity display successful message() display add attachment form() enter update info() request enter update info() choose employee to perform() return true() sending request() return true() sending update request()
2.4.6 Biểu đồ trình tự Thêm tài liệu đính kèm hình 0-19: Biểu đồ trình tự Thêm tài liệu đính kèm sd Sequence Model Add attachment
[until confirm ] add image attachment form() return true() sending insert request() display successful message() choose employee to perform() return true() sending request() choose image()
2.4.7 Biểu đồ trình tự Báo cáo cá nhân hình 0-20: Biểu đồ trình tự Báo cáo cá nhân sd Sequence Model Report employee personal info
The ReportController manages employee information by returning employee details upon request Users can request personal information and choose the type of report they need The system then generates the appropriate report form and provides the requested employee report, allowing users to select the specific employee for whom they wish to generate the report.
Thiết kế cơ sở dữ liệu
2.5.1 Xây dụng biểu đồ lớp (Class Diagram)
2.5.1.1 Xác định các lớp trong chương trình
Nghiên cứu kỹ các yêu cầu Use Case và các hệ thống liên quan giúp xác định lớp thông qua việc nhận diện các đối tượng trong hệ thống Qua việc xem xét Use Case của hệ thống, tôi nhận thấy cần thiết phải có các lớp như sau:
- Lớp tài liệu đính kèm
- Lớp tài liệu cá nhân nhân sự
2.5.1.2 Xác định thuộc tính của từng lớp
Sau khi xác định được các lớp tham gia trong hệ thống, chúng ta sẽ xác định thuộc tính của từng lớp đó như sau:
- Lớp phòng ban: mã phòng ban (khóa chính), tên phòng ban, tên phòng ban bằng tiếng Anh, trạng thái phòng ban
- Lớp huyện: mã huyện (khóa chính), tên huyện, tên huyện bằng tiếng Anh, mã tỉnh (khóa ngoài)
- Lớp tài liệu đính kèm: mã ảnh (khóa chính), mã tài liệu (khóa ngoài), ảnh đính kèm
- Lớp kiểu tài liệu: mã kiểu tài liệu (khóa chính), tên kiểu tài liệu
Lớp tài liệu cá nhân nhân sự bao gồm các thông tin quan trọng như mã tài liệu (khóa chính), mã kiểu tài liệu (khóa ngoài), mã nhân sự (khóa ngoài), ngày nhập thông tin tài liệu và mô tả thông tin tài liệu Những yếu tố này giúp quản lý và truy xuất thông tin nhân sự một cách hiệu quả.
- Lớp người sử dụng: tên tài khoản (khóa chính), mật khẩu, tên người dùng, loại người dùng, trạng thái tài khoản
Lớp nhân sự bao gồm các thông tin quan trọng như mã nhân sự (khóa chính), họ tên, họ tên tiếng Anh, số tài khoản ngân hàng, ngày sinh, ngày nhập công chức, cấp, bậc, trạng thái hôn nhân, mã phòng ban (khóa ngoài), chức vụ, trạng thái nhân sự và huyện (khóa ngoài).
- Lớp tỉnh: mã tỉnh (khóa chính), tên tỉnh, tên tỉnh tiếng Anh
2.5.1.3 Biểu đồ lớp hoàn chỉnh hình 0-21: Biểu đồ lớp hoàn chỉnh class Class Model
+ insert, update, delete(): void + load_district(): void + search_districts_by_prov(): void docAttachment
+ insert, delete(): void + load_pic_by_employeeid(): void docsType
+ insert, update, delete(): void + load_doctype(): void documents
+ add_employee_docs(): void + get_document_info(): void + edit_employee_docs(): void users
+ insert, update, delete(): void + validate_login(): void employee
- prov_name_en: varchar+ insert, update, delete(): void+ load_districts_by_province(): void
2.5.2 Xây dựng mô hình thực thể liên kết
2.5.2.1 Xây dựng các thực thể
Thực thể lớp phòng ban hình 0-22: Thực thể lớp phòng ban
Dep_id Mã số phòng ban
Dep_name Tên phòng ban
Dep_name_en Tên phòng ban bằng tiếng Anh
Dep_status Trạng thái phòng ban bảng 0.9: bảng đặc tả thuộc tính Thực thể lớp phòng ban
Thực thể lớp huyện hình 0-23: Thực thể lớp huyện
Dis_name Tên huyện class Class Model
+ insert, update, delete(): void + load_department(): void class Class Model
+ insert, update, delete(): void + load_district(): void
+ search_districts_by_prov(): void
Dis_name_en Tên huyện bằng tiếng Anh
Dis_prov Mã tỉnh (khóa ngoài) bảng 0.10: bảng đặc tả thuộc tính thực thể lớp huyện
Thực thể lớp tài liệu đính kèm hình 0-24: Thực thể lớp tài liệu đính kèm
Thuộc tính Đặc tả img_id Mã số đính kèm
Img_doc_id Mã tài liệu (khóa ngoài)
Img_pic Dữ liệu ảnh bảng 0.11: bảng đặc tả thuộc tính thực thể lớp tài liệu đính kèm
Thực thể lớp kiểu tài liệu hình 0-25: Thực thể lớp kiểu tài liệu
Dt_id Mã kiểu tài liệu
Dt_name Tên kiểu tài liệu bảng 0.12: bảng đặc tả thuộc tính thực thể lớp kiểu tài liệu class Class Model docAttachment
+ insert, delete(): void + load_pic_by_employeeid(): void class Class Model docsType
- dt_name: nvarchar+ insert, update, delete(): void+ load_doctype(): void
Thực thể lớp tài liệu cá nhân nhân sự hình 0-26: Thực thể lớp tài liệu cá nhân nhân sự
Docs_id Mã tài liệu
Docs_type Mã kiểu tài liệu
Docs_employee Mã nhân sự (chủ tài liệu)
Docs_date Ngày nhập thông tin tài liệu
Docs_description Mô tả tài liệu
Docs_user_adding Người nhập thông tin tài liệu bảng 0.13: bảng đặc tả thuộc tính thực thể lớp tài liệu cá nhân nhân sự
Thực thể lớp người dùng hình 0-27: Thực thể lớp người dùng class Class Model documents
+ add_employee_docs(): void + get_document_info(): void + edit_employee_docs(): void class Class Model users
- account_status: bit+ insert, update, delete(): void+ validate_login(): void
Username Tên tài khoản dùng để đăng nhập
Password Mật khẩu tài khoản
Account_name Họ tên người dùng
Loại người dùng trong hệ thống bao gồm quản trị viên và người quản lý, với trạng thái hoạt động của tài khoản được xác định rõ ràng Bảng 0.14 mô tả các thuộc tính của thực thể lớp người dùng, cung cấp thông tin chi tiết về các loại tài khoản và tình trạng hoạt động của chúng.
Thực thể lớp nhân sự hình 0-28: Thực thể lớp nhân sự
Emp_id Mã nhân sự
Emp_name Tên nhân sự
Emp_name_en Tên nhân sự bằng tiếng Anh
Emp_facc Số tài khoản tiền lương
Emp_wd Ngày bắt đầu làm công chức
Emp_level Cấp nhân sự class Class Model employee
- emp_village: nvarchar+ insert, update, delete(): void+ search_employee(): void
Emp_degree Bậc nhân sự
Emp_married Trạng thái hôn nhân
Emp_dep Mã phòng ban
Emp_pos Chức vụ nhân sự
Emp_status Trạng thái nhân sự
Emp_village Địa chỉ phố cụ thể bảng 0.15: bảng đặc tả thuộc tính thực thể lớp nhân sự
Thực thể lớp tỉnh hình 0-29: Thực thể lớp tỉnh
Prov_name_en Tên tỉnh tiếng Anh bảng 0.16: bảng đặc tả thuộc tính thực thể lớp tỉnh class Class Model provinces
- prov_name_en: varchar+ insert, update, delete(): void+ load_districts_by_province(): void
2.5.2.2 Mối quan hệ giữa các thực thể
Mối quan hệ giữa thực thể tỉnh và huyện hình 0-30: Mối quan hệ giữa thực thể tỉnh và huyện
Mối quan hệ giữa thực thể tài liệu cá nhân và ảnh đính kèm hình 0-31: Mối quan hệ giữa thực thể tài liệu cá nhân và ảnh đính kèm
Mối quan hệ giữa thực thể nhân sự và tài liệu cá nhân hình 0-32: Mối quan hệ giữa thực thể nhân sự và tài liệu cá nhân
Mối quan hệ giữa thực thể nhân sự và phòng ban hình 0-33: Mối quan hệ giữa thực thể nhân sự và phòng ban
Mối quan hệ giữa thực thể nhân sự và huyện hình 0-34: Mối quan hệ giữa thực thể nhân sự và huyện erd Entity Relationship documents attachments have
1 n erd Entity Relationship2 provinces districts have
1 n erd Entity Relationship3 employee documents have
1 n erd Entity Relationship4 employee departments in n 1 erd Entity Relationship5 employee districts in n 1
2.5.2.3 Mô hình thực thể liên kết hình 0-35: Mô hình thực thể liên kế