Bối cảnh và vấn đề nghiên cứu

Trong hoạt động quản trị tổ chức hiện đại, quản lý nhân sự là một khía cạnh mang tính quyết định đối với sự ổn định, hiệu quả vận hành và phát triển bền vững của doanh nghiệp. Trước bối cảnh các doanh nghiệp ngày càng mở rộng về quy mô, cơ cấu phòng ban và tính chất công việc trở nên đa dạng, các phương thức quản lý thủ công truyền thống bộc lộ nhiều điểm hạn chế về tốc độ xử lý, khả năng bảo mật và tính đồng bộ dữ liệu. Xuất phát từ nhu cầu thực tiễn đó, đồ án môn học "Công nghệ thiết kế Web nâng cao" với đề tài "Quản lý nhân viên" được thực hiện bởi nhóm sinh viên lớp 66PM4, Khoa Công nghệ Thông tin, Trường Đại học Xây dựng (gồm các sinh viên: Nguyễn Văn Thường, Nguyễn Khắc Nhật, Nguyễn Khánh Hoàng, Nguyễn Văn Huỳnh Đức, Dương Văn Minh; dưới sự hướng dẫn của ThS. Nguyễn Hải Dương, hoàn thành vào tháng 12/2023).

Mục tiêu và nhiệm vụ nghiên cứu được văn bản xác định cụ thể như sau:

  1. Mục tiêu tổng quát: Xây dựng một hệ thống phần mềm nền tảng web phục vụ công tác quản trị nhân sự toàn diện, cung cấp giải pháp hỗ trợ doanh nghiệp tối ưu hóa quy trình quản trị, theo dõi thông tin nhân sự, vị trí công việc, lịch sử công tác, chấm công và lương thưởng một cách linh hoạt, chuẩn xác.
  2. Nhiệm vụ nghiên cứu cụ thể:
    • Khảo sát và xác định các yêu cầu nghiệp vụ quản trị nhân sự trong doanh nghiệp.
    • Ứng dụng ngôn ngữ mô hình hóa thống nhất (UML) để phân tích, thiết kế hệ thống bao gồm: xác định các tác nhân (Actor), xây dựng biểu đồ ca sử dụng (Use Case Diagram), đặc tả chi tiết các luồng sự kiện (Basic Flow, Exceptions), thiết kế biểu đồ lớp (Class Diagram) và biểu đồ tuần tự (Sequence Diagram).
    • Lựa chọn kiến trúc phần mềm và hệ thống công nghệ phù hợp (ASP.NET, mô hình MVC, cơ sở dữ liệu quan hệ SQL Server).
    • Tiến hành lập trình, cài đặt giao diện (Front-end), xây dựng logic nghiệp vụ máy chủ (Back-end) và thiết lập cơ sở dữ liệu.
    • Thử nghiệm và đánh giá hệ thống về các tiêu chí chức năng, tính ổn định và phân quyền bảo mật.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý thông tin nhân viên, tài khoản hệ thống, chấm công, hợp đồng lao động, bảo hiểm xã hội, khen thưởng kỷ luật, phòng ban, bộ phận, ca làm việc và ngày nghỉ.
  • Phạm vi không gian và công nghệ: Đề tài tập trung xây dựng ứng dụng web trong phạm vi môn học Công nghệ thiết kế Web nâng cao tại Trường Đại học Xây dựng, triển khai trên môi trường máy chủ cục bộ và thử nghiệm trên các trình duyệt web tiêu chuẩn.
  • Phạm vi thời gian: Đồ án được nghiên cứu, phát triển và nghiệm thu vào tháng 12 năm 2023.

Cơ sở lý thuyết và phương pháp

Đề tài áp dụng các nền tảng lý thuyết kỹ thuật phần mềm, công nghệ phát triển web hiện đại và quy trình phân tích thiết kế hướng đối tượng.

1. Khung kiến trúc và cơ sở lý thuyết

  • Mô hình kiến trúc MVC (Model - View - Controller): Hệ thống được cấu trúc theo mô hình phân tách rõ ràng giữa ba thành phần: Model quản lý cấu trúc dữ liệu và logic truy xuất cơ sở dữ liệu; View hiển thị giao diện người dùng và tiếp nhận phản hồi; Controller xử lý các luồng điều khiển, tiếp nhận yêu cầu từ client và điều hướng dữ liệu.
  • Ngôn ngữ mô hình hóa UML: Tác giả sử dụng các ký hiệu phần tử chuẩn để mô hình hóa hệ thống:
    • Biểu đồ Use Case: Thể hiện tác nhân (Actor), ca sử dụng (Use Case), quan hệ phụ thuộc (Include), quan hệ mở rộng (Extend) và quan hệ tổng quát hóa (Inheritance).
    • Biểu đồ Lớp (Class Diagram): Biểu diễn tên lớp, thuộc tính, phương thức cùng các quan hệ kết hợp (Association), hợp thành (Composition/Aggregation) và phụ thuộc (Dependency).
    • Biểu đồ Tuần tự (Sequence Diagram): Biểu diễn tương tác động thông qua các lời gọi phương thức (Procedure Call) và thông điệp phản hồi (Message) theo trục thời gian.

2. Phương pháp nghiên cứu và phát triển

  • Phương pháp phân tích - tổng hợp yêu cầu: Tổng hợp các chức năng cốt lõi cần thiết trong công tác quản lý nhân sự thành các ca sử dụng chuẩn hóa.
  • Phương pháp thiết kế hệ thống hướng đối tượng: Đặc tả tường minh từng use case với định danh mã (Use Case ID), tiền điều kiện (Pre-Condition), luồng thực thi chuẩn (Basic Flow), ngoại lệ (Exceptions) và độ ưu tiên (Priority).
  • Phương pháp thực nghiệm - phát triển phần mềm: Xây dựng sản phẩm theo quy trình từ chuẩn bị môi trường, sinh mã nguồn, tạo cơ sở dữ liệu đến tích hợp các tầng giao tiếp máy khách - máy chủ.

3. Công nghệ và công cụ sử dụng

Phân tầng / Hạng mục Công nghệ & Công cụ Mục đích sử dụng
Phía máy chủ (Back-end) ASP.NET (C#) Xây dựng logic nghiệp vụ, điều khiển luồng dữ liệu theo mô hình MVC
Phía máy khách (Front-end) HTML, CSS, JavaScript, jQuery, Bootstrap Thiết kế giao diện tương tác, tạo bố cục responsive và xử lý tương tác client
Cơ sở dữ liệu (Database) Microsoft SQL Server Lưu trữ, quản lý và bảo đảm toàn vẹn dữ liệu quan hệ của hệ thống
Môi trường phát triển (IDE/Tools) Microsoft Visual Studio, SQL Server Management Studio (SSMS) Soạn thảo mã nguồn, gỡ lỗi và quản trị cơ sở dữ liệu
Môi trường kiểm thử Google Chrome và các trình duyệt web thông dụng Kiểm thử giao diện và luồng hoạt động của hệ thống

Thiết kế và triển khai

Hệ thống được thiết kế xoay quanh ba tác nhân chính với phân quyền truy cập nghiêm ngặt:

  1. Nhân sự (Nhân viên): Người dùng thông thường trong hệ thống, có quyền truy cập thông tin cá nhân, thực hiện đăng nhập, đăng xuất, đổi mật khẩu và gửi yêu cầu cấp lại mật khẩu qua email.
  2. Quản lý: Là nhân sự được cấp quyền quản trị bộ phận/hệ thống, có khả năng thực hiện các chức năng xem, tìm kiếm, thêm, sửa dữ liệu thuộc các phân hệ chuyên môn như hồ sơ nhân sự, chấm công, bảo hiểm, khen thưởng kỷ luật, lịch sử làm việc.
  3. Admin (Quản trị viên cấp cao): Người nắm toàn quyền trên hệ thống; có thể thực hiện mọi thao tác thêm/sửa/xóa trên tất cả các danh mục, quản lý tài khoản người dùng, cấp quyền hoặc hủy quyền quản lý, và khóa tài khoản khi có vi phạm.

Bảng tổng hợp các phân hệ ca sử dụng (Use Case) chính

Nhóm chức năng Mã Use Case Tên ca sử dụng Tác nhân chính Mô tả luồng xử lý chính
Xác thực & Tài khoản UC01.UC01
UC01.UC02
UC01.UC03
UC01.UC04
Đăng nhập
Đổi mật khẩu
Quên mật khẩu
Đăng xuất
Mọi người dùng Kiểm tra thông tin định danh, gửi mã xác nhận qua email khi quên mật khẩu, cập nhật mật khẩu mới vào cơ sở dữ liệu.
Quản trị tài khoản UC02.UC01 - UC02.UC05 Xem, Tìm kiếm, Khóa tài khoản, Cấp/Hủy quyền Admin, Quản lý Cho phép xem danh sách, lọc tài khoản, thiết lập thời gian khóa tài khoản, phân quyền vai trò Quản lý cho nhân sự.
Quản lý thông tin chấm công UC03.UC01
UC03.UC02
Xem thông tin chấm công
Tìm kiếm thông tin
Admin, Quản lý Tra cứu và lọc bảng chấm công của nhân sự theo nhiều tiêu chí dữ liệu.
Quản lý hồ sơ nhân sự UC04.UC01 - UC04.UC06 Xem, Xem chi tiết, Tìm kiếm, Thêm, Sửa, Xóa nhân sự Admin, Quản lý Quản lý toàn diện hồ sơ cá nhân; kiểm tra tính duy nhất của dữ liệu, ràng buộc quyền hạn khi thao tác xóa.
Quản lý bảo hiểm UC05.UC01 - UC05.UC05 Xem, Tìm kiếm, Thêm, Sửa, Xóa thông tin bảo hiểm Admin, Quản lý Cập nhật thông tin chế độ bảo hiểm liên kết với mã nhân viên tương ứng.
Quản lý hợp đồng lao động UC06.UC01 - UC06.UC04 Xem, Tìm kiếm, Thêm, Xóa hợp đồng Admin, Quản lý Lưu trữ và kiểm tra tình trạng hiệu lực của hợp đồng làm việc.
Quản lý khen thưởng - kỷ luật UC07.UC01 - UC07.UC05 Xem, Tìm kiếm, Thêm, Sửa, Xóa khen thưởng kỷ luật Admin, Quản lý Ghi nhận các quyết định khen thưởng hoặc hình thức kỷ luật đối với từng nhân sự.
Quản lý lịch sử làm việc UC08.UC01 - UC08.UC05 Xem, Tìm kiếm, Thêm, Sửa, Xóa lịch sử công tác Admin, Quản lý Theo dõi quá trình công tác, điều chuyển vị trí và nhiệm vụ của nhân viên từ lúc vào làm.
Quản trị cơ cấu tổ chức UC09, UC10, UC11 Quản lý Phòng ban, Bộ phận, Ca làm, Ngày nghỉ Admin, Quản lý Thiết lập danh mục phòng ban, phân chia bộ phận, chia ca làm việc và quản lý chế độ ngày nghỉ.

Quá trình triển khai kỹ thuật được nhóm tác giả tiến hành qua các giai đoạn:

  1. Chuẩn bị môi trường: Cài đặt Visual Studio, cấu hình môi trường .NET Framework và SQL Server Management Studio.
  2. Tạo lập cơ sở dữ liệu: Xây dựng các bảng dữ liệu quan hệ, định nghĩa khóa chính, khóa ngoại và các ràng buộc toàn vẹn dữ liệu cho nhân sự, phòng ban, hợp đồng, bảo hiểm, chấm công.
  3. Triển khai ứng dụng ASP.NET: Xây dựng các lớp Model, Controller tương ứng cho từng ca sử dụng; thiết lập các View bằng HTML, CSS, JavaScript kết hợp Bootstrap để bảo đảm bố cục hiển thị đồng bộ.
  4. Cài đặt và thử nghiệm: Tích hợp Front-end và Back-end, kiểm thử từng chức năng thông qua giao diện người dùng trên trình duyệt Chrome.

Nội dung chính theo từng chương

Chương 1: Đặt vấn đề và định hướng giải quyết

Chương mở đầu tập trung trình bày tính cấp thiết của việc hiện đại hóa quy trình quản lý nhân sự trong doanh nghiệp. Tác giả nêu rõ mục tiêu tổng thể là xây dựng hệ thống website toàn diện giúp theo dõi hồ sơ nhân sự, lịch sử làm việc, vị trí công việc, bảo hiểm, hợp đồng và chấm công. Chương này cũng phác thảo định hướng giải quyết kỹ thuật: sử dụng ASP.NET cho máy chủ, SQL Server cho cơ sở dữ liệu, kết hợp HTML/CSS/JavaScript/jQuery/Bootstrap để tối ưu hóa giao diện người dùng, đồng thời xác lập nguyên tắc thiết kế theo mẫu kiến trúc MVC nhằm đảm bảo tính mở rộng và khả năng bảo trì hệ thống.

Chương 2: Các kết quả đạt được

Đây là nội dung trọng tâm của đồ án, thể hiện kết quả phân tích, thiết kế và hiện thực hóa hệ thống:

  • Phân tích yêu cầu và mô hình hóa: Xác định ba tác nhân (Nhân sự, Quản lý, Admin). Xây dựng biểu đồ use case tổng quan và hệ thống đặc tả chi tiết cho 11 nhóm ca sử dụng lớn (từ đăng nhập, đổi mật khẩu, quên mật khẩu, quản lý tài khoản đến các phân hệ quản lý nhân sự, bảo hiểm, hợp đồng, khen thưởng kỷ luật, lịch sử làm việc, phòng ban, bộ phận, ca làm và ngày nghỉ). Mỗi ca sử dụng đều được quy định mã số, tác nhân thực hiện, điều kiện kích hoạt, tiền điều kiện, luồng xử lý chuẩn và các nhánh ngoại lệ.
  • Thiết kế chi tiết: Đồ án thiết lập biểu đồ lớp (Class Diagram) mô tả thuộc tính, phương thức và mối quan hệ giữa các đối tượng; xây dựng các biểu đồ tuần tự (Sequence Diagram) minh họa quá trình truyền nhận thông điệp giữa giao diện, controller và database.
  • Thực hiện, cài đặt và kiểm thử: Mô tả quy trình chuẩn bị môi trường, thiết lập cơ sở dữ liệu trên SQL Server, lập trình các thành phần ASP.NET, tích hợp giao diện người dùng và tiến hành kiểm tra hoạt động của từng tính năng.

Chương 3: Kết luận

Chương cuối cùng tổng kết các kết quả đạt được sau quá trình nghiên cứu và thực nghiệm. Nhóm tác giả thực hiện đánh giá khách quan về điểm mạnh, hạn chế còn tồn tại của hệ thống, đồng thời vạch ra định hướng phát triển nhằm tiếp tục nâng cấp phần mềm trong tương lai.


Kết quả và đóng góp

Đồ án đã hoàn thành các mục tiêu đề ra về mặt thiết kế kỹ thuật và xây dựng sản phẩm phần mềm:

  1. Xây dựng hoàn chỉnh mô hình phân tích thiết kế hệ thống: Đồ án cung cấp hệ thống tài liệu kỹ thuật chi tiết với 11 nhóm ca sử dụng, đầy đủ các biểu đồ Use Case, biểu đồ Lớp và biểu đồ Tuần tự cho từng luồng nghiệp vụ.
  2. Hiện thực hóa đầy đủ các phân hệ chức năng:
    • Phân hệ xác thực và bảo mật: Thực hiện thành công các tính năng đăng nhập, đăng xuất, đổi mật khẩu và cấp lại mật khẩu thông qua mã xác thực gửi về email.
    • Phân hệ quản trị tài khoản và phân quyền: Cho phép Admin thực hiện khóa tài khoản với thời gian cụ thể, cấp quyền hoặc hủy quyền quản lý đối với từng nhân sự.
    • Phân hệ quản lý nghiệp vụ nhân sự: Triển khai các chức năng xem, tìm kiếm, thêm, sửa, xóa đối với thông tin cá nhân, hồ sơ bảo hiểm, hợp đồng lao động, quyết định khen thưởng - kỷ luật, lịch sử làm việc, phòng ban, bộ phận và ca làm việc.
  3. Đảm bảo tính toàn vẹn dữ liệu và kiểm soát nghiệp vụ: Trong các luồng xử lý, hệ thống đã cài đặt các bước kiểm tra ngoại lệ: kiểm tra tính duy nhất của dữ liệu, thông báo khi nhập thiếu thông tin, ngăn chặn việc tự xóa tài khoản đang đăng nhập hoặc xóa tài khoản có quyền Admin.

Hạn chế và hướng nghiên cứu tiếp

Theo đánh giá tự nhận của nhóm tác giả trong báo cáo:

  • Hạn chế: Do giới hạn về thời gian thực hiện đồ án môn học và kinh nghiệm thực tế của nhóm sinh viên còn hạn chế, hệ thống và bản báo cáo không tránh khỏi một số thiếu sót nhất định trong việc tối ưu hóa hiệu năng, độ sâu của các quy trình nghiệp vụ phức tạp cũng như độ bao phủ của các kịch bản kiểm thử nâng cao.
  • Hướng phát triển: Tiếp tục hoàn thiện các chức năng nâng cao về tự động hóa tính lương, tích hợp các công cụ báo cáo thống kê trực quan, tối ưu hóa hơn nữa về hiệu suất xử lý truy vấn và tăng cường các lớp bảo mật cho ứng dụng web.

Giá trị tham khảo

Báo cáo đồ án mang lại giá trị tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu mẫu trực quan về cách thực hiện một đồ án môn học công nghệ web nâng cao, từ bước lập tài liệu đặc tả use case, vẽ biểu đồ UML (Use case, Class, Sequence) đến triển khai mã nguồn với ASP.NET và SQL Server.
  • Người học phát triển ứng dụng web theo mô hình MVC: Tham khảo cách tổ chức luồng xử lý từ Front-end (HTML/CSS/Bootstrap/jQuery) qua Controller tới cơ sở dữ liệu quan hệ.
  • Người xây dựng các đề tài quản lý thông tin: Tham khảo cấu trúc phân quyền ba cấp độ (Nhân sự - Quản lý - Admin) cùng các biểu mẫu đặc tả xử lý ngoại lệ trong phần mềm nghiệp vụ.

Câu hỏi thường gặp

1. Đồ án "Quản lý nhân viên" được xây dựng bằng những công nghệ chính nào?
Hệ thống sử dụng công nghệ ASP.NET (C#) theo kiến trúc MVC ở phía máy chủ, Microsoft SQL Server làm hệ quản trị cơ sở dữ liệu, kết hợp với HTML, CSS, JavaScript, jQuery và Bootstrap ở phía giao diện người dùng. Công cụ phát triển chính gồm Visual Studio và SQL Server Management Studio (SSMS).

2. Hệ thống quản lý nhân viên phân chia bao nhiêu nhóm tác nhân và quyền hạn ra sao?
Hệ thống phân chia 3 nhóm tác nhân:

  • Nhân sự: Người dùng cơ bản, xem thông tin cá nhân, đổi/quên mật khẩu.
  • Quản lý: Được cấp quyền xem, tìm kiếm, thêm, sửa dữ liệu nhân sự, bảo hiểm, hợp đồng, chấm công, khen thưởng kỷ luật, lịch sử làm việc.
  • Admin: Nắm quyền tối cao, có đầy đủ các quyền thêm/sửa/xóa trên toàn hệ thống và độc quyền quản lý tài khoản (khóa tài khoản, cấp/hủy quyền quản lý).

3. Cơ chế khôi phục mật khẩu khi người dùng quên mật khẩu được thiết kế như thế nào?
Theo đặc tả Use case UC01.UC03 (Quên mật khẩu), khi người dùng nhập email đã đăng ký, hệ thống sẽ gửi một mã xác nhận về email. Người dùng truy cập email lấy mã, nhập mã xác thực kèm mật khẩu mới trên form xác thực để hoàn tất quá trình đổi mật khẩu.

4. Chức năng khóa tài khoản trong hệ thống có quy định cụ thể nào?
Theo đặc tả Use case UC02.UC03, chỉ có tác nhân Admin mới có quyền khóa tài khoản. Khi thực hiện, màn hình sẽ hiển thị cảnh báo và cho phép Admin nhập thời gian khóa tài khoản. Hệ thống kiểm tra ngoại lệ: không cho phép khóa tài khoản Admin và thông báo nếu tài khoản đã ở trạng thái bị khóa.

5. Đồ án xử lý ngoại lệ như thế nào khi thực hiện thao tác xóa nhân sự?
Theo đặc tả Use case UC04.UC06, hệ thống ngăn chặn việc xóa nếu nhân sự không tồn tại, nhân sự cần xóa chính là người đang đăng nhập hệ thống, nhân sự có quyền Admin, hoặc nhân sự có quyền Quản lý mà người thực hiện thao tác xóa không phải là Admin.


Kết luận

Đồ án "Quản lý nhân viên" của nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Xây dựng đã giải quyết thành công bài toán xây dựng ứng dụng web quản trị nhân sự trên nền tảng ASP.NET và SQL Server. Báo cáo thể hiện sự chỉn chu trong phương pháp phân tích thiết kế hướng đối tượng với hệ thống biểu đồ UML và tài liệu đặc tả ca sử dụng chi tiết. Mặc dù còn một số hạn chế do phạm vi môn học, sản phẩm đã đáp ứng đầy đủ các yêu cầu nghiệp vụ quản lý cơ bản và là tài liệu tham khảo thực hành có giá trị cho sinh viên ngành công nghệ phần mềm.