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

Trong bối cảnh cuộc Cách mạng công nghiệp lần thứ tư (CMCN 4.0), công nghệ thông tin đóng vai trò trọng yếu trong công tác điều hành và quản lý hoạt động tại các cơ quan, tổ chức và doanh nghiệp. Sự phát triển của mạng Internet thúc đẩy việc chuyển đổi từ phương thức quản lý truyền thống sang quản lý điện tử, từ đó nâng cao hiệu quả và thay đổi phương thức tương tác giữa các bộ phận liên quan. Trong thực tiễn, nhiều giải pháp phần mềm quản lý nhân sự (HRM) đã được triển khai như: SV-HRIS, PerfectHRM 2012, HR-MANAGER, cùng các hệ thống trực tuyến như Ecount ERP, Misa.

Đối với Trường Đại học Phenikaa – một đơn vị giáo dục đại học định hướng đổi mới sáng tạo, sở hữu đội ngũ chuyên gia về công nghệ thông tin và trí tuệ nhân tạo – nhà trường đã có hệ thống quản lý riêng. Tuy nhiên, nhằm vận dụng kiến thức chuyên ngành đã học vào thực tiễn, nhóm tác giả đã lựa chọn đề tài "Xây dựng ứng dụng quản lý nhân sự trường Đại học Phenikaa" trong khuôn khổ học phần Đồ án cơ sở thuộc Khoa Công nghệ thông tin.

Về mục tiêu nghiên cứu, đề tài hướng tới 5 mục tiêu cụ thể:

  1. Cho phép tìm kiếm thông tin nhân sự nhanh chóng và chính xác.
  2. Mang lại lợi ích nghiệp vụ: tăng khả năng xử lý, đáp ứng yêu cầu công việc, đảm bảo tính tin cậy, chính xác, an toàn và bảo mật.
  3. Mang lại lợi ích kinh tế: giảm thiểu khối lượng thời gian cho việc quản lý các chỉ mục, tăng hiệu suất làm việc.
  4. Mang lại lợi ích sử dụng: tạo sự thuận tiện, nhanh chóng và chính xác cho người dùng.
  5. Nâng cao hiệu quả làm việc tổng thể trong công tác quản lý.

Yêu cầu nghiệp vụ của hệ thống được xác định gồm: lưu trữ, tìm kiếm, thống kê tức thời thông tin nhân sự; in sơ yếu lý lịch chi tiết; thống kê thông tin lương; hỗ trợ các phòng ban chức năng xác nhận thông tin và đưa ra nhận xét; cho phép nhân sự truy cập để tra cứu thông tin cá nhân theo đúng các biểu mẫu hiện hành của nhà trường.

  • Đối tượng nghiên cứu: Thông tin nhân sự của Trường Đại học Phenikaa.
  • Phạm vi nghiên cứu: Dữ liệu nhân sự được lưu trữ trong "kho" thông tin nhân sự và tại các đơn vị phòng ban, khoa chuyên môn trực thuộc Trường Đại học Phenikaa.

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

Đồ án áp dụng quy trình phân tích và thiết kế hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa thống nhất (UML), kết hợp với quy trình phát triển ứng dụng web trên nền tảng cơ sở dữ liệu quan hệ.

Phương pháp nghiên cứu

  • Phương pháp thu thập và chuẩn hóa quy định: Tìm hiểu, cập nhật các quy định về quản lý thông tin nhân sự theo yêu cầu của Phòng Tổ chức - Nhân sự và các tiêu chuẩn ISO đang áp dụng trong trường.
  • Phương pháp khảo sát nghiệp vụ: Trao đổi trực tiếp để nắm bắt quy trình nghiệp vụ quản lý hồ sơ, chấm công, tiền lương thông qua Phòng Tổ chức - Hành chính của Trường Đại học Phenikaa.
  • Phương pháp mô hình hóa hệ thống: Sử dụng hệ thống biểu đồ UML gồm biểu đồ Use Case, biểu đồ Lớp (Class Diagram), biểu đồ Tuần tự (Sequence Diagram), biểu đồ Cộng tác (Collaboration Diagram), biểu đồ Hoạt động (Activity Diagram), biểu đồ Thành phần (Component Diagram) và biểu đồ Triển khai (Deployment Diagram) để mô tả cấu trúc tĩnh và hành vi động của phần mềm.
  • Phương pháp phát triển phần mềm: Xây dựng ứng dụng dựa trên nền tảng mã nguồn mở, hoạt động theo mô hình Web Client - Server.

Nguồn dữ liệu

Dữ liệu đầu vào của đề tài bao gồm cơ cấu tổ chức, quy định quản lý cán bộ, biểu mẫu thống kê lương, lịch sử chấm công và các số liệu khảo sát thực tế về tổ chức bộ máy, nhân lực của Trường Đại học Phenikaa tính đến các mốc thời gian được công bố (tháng 10/2019 và thời điểm thực hiện đề tài tháng 12/2022).


Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc hướng đối tượng và phân tầng logic, triển khai trên môi trường mạng nội bộ (LAN) với các công nghệ mã nguồn mở.

Công nghệ phát triển

  • Client-side (Phía máy khách): Sử dụng HTML5 để định hình cấu trúc trang; CSS để định dạng giao diện hiển thị tách biệt với mã nguồn; JavaScript thực thi tại trình duyệt nhằm tiết kiệm băng thông máy chủ, xử lý tương tác động và kiểm tra tính hợp lệ của dữ liệu.
  • Server-side (Phía máy chủ): Sử dụng ngôn ngữ lập trình PHP (Hypertext Preprocessor) để tiếp nhận yêu cầu từ máy khách, thực thi các logic nghiệp vụ và xử lý kết nối dữ liệu.
  • Hệ quản trị cơ sở dữ liệu: MySQL (Relational Database Management System - RDBMS) hoạt động theo mô hình Client - Server, đảm nhiệm việc lưu trữ, truy vấn và bảo mật dữ liệu.
  • Môi trường phát triển: Microsoft Visual Studio 2015.

Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của hệ thống được chuẩn hóa thành 5 bảng dữ liệu chính phục vụ toàn bộ các chức năng nghiệp vụ:

Tên bảng Tên thuộc tính Kiểu dữ liệu Diễn giải Khóa / Ràng buộc
Admin ID Int(11) Mã định danh quản trị viên Khóa chính
UserName Varchar(100) Tên đăng nhập
Password Varchar(100) Mật khẩu tài khoản
UpdationDate Timestamp Ngày cập nhật tài khoản
NhanVien (Employees) emp_id Int Mã nhân sự Khóa chính
FirstName, LastName Varchar(150) Họ và tên nhân sự
Dob Varchar(100) Ngày tháng năm sinh
Gender Varchar(100) Giới tính
Address Varchar(255) Địa chỉ thường trú
Phonenumber Char(11) Số điện thoại liên hệ
Position_Staff Varchar(100) Vị trí công tác/chức vụ
Department Varchar(255) Phòng ban làm việc
Emailld Varchar(200) Địa chỉ thư điện tử
Password Varchar(180) Mật khẩu truy cập
Av_leave Varchar(150) Số ngày nghỉ phép
salary Int(11) Mức lương
Status Varchar(10) Tình trạng làm việc
TimeKepping Id Int(11) Mã bản ghi chấm công Khóa chính
emp_id Int(11) Mã nhân sự Khóa ngoại
date Date Ngày chấm công
ts Time Thời gian bắt đầu làm việc
te Time Thời gian kết thúc làm việc
Message msg_id Int(11) Mã tin nhắn Khóa chính
incoming_msg_id Text Mã người gửi Khóa ngoại
outcoming_msg_id Text Mã người nhận Khóa ngoại
text_message Text Nội dung văn bản gửi
curr_date Text Ngày gửi tin nhắn
curr_time Text Thời gian gửi tin nhắn
Departments Id Int(11) Mã phòng ban Khóa chính
DepartmentName Varchar(150) Tên đầy đủ của phòng ban
DepartmentShortName Varchar(100) Tên viết tắt của phòng ban
CreationDate Timestamp Ngày thành lập/khởi tạo

Kiến trúc triển khai phần cứng

Biểu đồ triển khai (Deployment Diagram) của hệ thống mô tả mô hình kết nối vật lý qua mạng cục bộ LAN thông qua giao thức truyền thông TCP/IP:

  • Application Server: Máy chủ ứng dụng xử lý mã nguồn PHP và phục vụ các yêu cầu HTTP/HTTPS.
  • Database Server: Máy chủ cơ sở dữ liệu MySQL đảm bảo lưu trữ và quản lý tập trung toàn bộ dữ liệu.
  • Work Station: Các máy trạm làm việc của cán bộ quản lý nhân sự kết nối tới hệ thống qua trình duyệt web.
  • Printer: Thiết bị máy in được kết nối trong mạng LAN để phục vụ việc in ấn sơ yếu lý lịch và các biểu mẫu báo cáo.

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

Chương 1: Khảo sát hiện trạng và xác lập dự án

Chương này tập trung trình bày tổng quan về lịch sử phát triển, cơ cấu tổ chức của Trường Đại học Phenikaa, đồng thời làm rõ lý do hình thành dự án và các yêu cầu nghiệp vụ đặt ra.

  • Lịch sử và cơ sở vật chất nhà trường: Tiền thân là Trường Đại học Thành Tây (thành lập ngày 10/10/2007 theo Quyết định số 1368/QĐ-TTg). Đến tháng 10/2017, trường trở thành thành viên của Tập đoàn Phenikaa và chính thức đổi tên thành Trường Đại học Phenikaa vào ngày 21/11/2018 theo Quyết định số 1607/QĐ-TTg. Trường hoạt động theo mô hình không vì lợi nhuận, dựa trên triết lý giáo dục: Tôn trọng – Phản biện – Sáng tạo. Khuôn viên trường có diện tích 140.000 m² được vận hành bởi Savills, trang bị hệ thống phòng học đa phương tiện, phòng thí nghiệm, nhà thi đấu đa năng và sân thể thao.
  • Số liệu cơ cấu tổ chức (tính đến tháng 10/2019):
    • Đơn vị trực thuộc: 7 Phòng, 1 Ban, 13 Khoa, 2 Viện và 1 Trung tâm nghiên cứu.
    • Quy mô nhân lực: 310 nhân sự; trong đó có 167 nhân sự có trình độ Tiến sĩ, 50 nhân sự có học hàm Giáo sư, Phó Giáo sư.
    • Quy mô đào tạo: 4 chương trình thạc sĩ, 21 chương trình đại học chính quy thuộc 4 khối ngành (Khoa học, Kỹ thuật và Công nghệ; Sức khỏe; Kinh tế; Khoa học Xã hội và Nhân văn).
    • Vị thế nghiên cứu: Theo bảng xếp hạng RePEc Việt Nam (công bố 3/2019), trường đứng thứ 5 toàn quốc về nghiên cứu kinh tế - xã hội nhờ những đóng góp của Trung tâm Nghiên cứu xã hội liên ngành (ISR) với gần 40 công bố quốc tế.
    • Chính sách học bổng: Duy trì 4 loại học bổng (Tài năng, Xuất sắc, Chắp cánh tương lai, Đồng hành).
  • Yêu cầu hệ thống và phương pháp tiếp cận: Phân tích nhu cầu tin học hóa quy trình quản lý thông tin cán bộ, chấm công, tiền lương, hỗ trợ xuất báo cáo theo mẫu chuẩn của nhà trường.

Chương 2: Phân tích thiết kế hệ thống

Chương 2 trình bày toàn bộ quá trình phân tích chức năng và thiết kế kỹ thuật của hệ thống thông qua các mô hình UML.

  • Phân tích tác nhân và ca sử dụng: Tác nhân chính của hệ thống là Chuyên viên quản lý nhân sự (Admin). Quyền hạn cụ thể của tác nhân đối với từng ca sử dụng được phân định như sau:
Ca sử dụng (Use Case) Quyền hạn của Chuyên viên quản lý nhân sự
Quản lý nhân sự Xem thông tin nhân sự, thêm nhân sự mới, sửa thông tin nhân sự, xóa nhân sự
Quản lý chấm công Xem danh sách chấm công, xuất dữ liệu chấm công ra tệp Excel
Quản lý thưởng phạt Xem danh sách thưởng phạt, xuất dữ liệu thưởng phạt ra tệp Excel
Quản lý chức vụ, phòng ban Xem thông tin chức vụ/phòng ban, thêm mới, sửa và xóa chức vụ/phòng ban
Quản lý lương Xem bảng danh sách lương, xuất dữ liệu bảng lương ra tệp Excel
  • Thiết kế biểu đồ tương tác: Xây dựng biểu đồ tuần tự (Sequence Diagram) và biểu đồ cộng tác (Collaboration Diagram) chi tiết cho 3 ca sử dụng trung tâm:
    • Use Case Quản lý nhân sự: Mô tả các thông điệp truyền qua lại giữa các đối tượng giao diện, điều khiển và thực thể dữ liệu trong quá trình hiển thị danh sách, thêm, sửa và xóa hồ sơ nhân viên.
    • Use Case Quản lý tài khoản: Mô tả luồng xử lý xác nhận đăng nhập (XacNhan(), KiemTraMK()), hiển thị danh sách tài khoản (XemDSTaiKhoan(), LayDSTaiKhoan()), xem chi tiết (XemChiTietTaiKhoan()), cùng các thao tác CRUD tài khoản trên bảng tbl_Account.
    • Use Case Tìm kiếm: Mô tả chu trình xác thực người quản trị, kích hoạt form tìm kiếm, tiếp nhận thông tin đầu vào, gọi hàm kiểm tra và tải dữ liệu (Load(), Kiemtra, Return()), sau đó xuất kết quả tìm kiếm ra giao diện.
  • Biểu đồ thành phần và triển khai: Biểu diễn các khối module chức năng (Quản lý nhân viên, Quản lý hệ thống, Quản lý tài khoản, Quản lý danh mục, Quản lý báo cáo thống kê) liên kết với giao diện người dùng và cơ sở dữ liệu, cùng mô hình triển khai thực tế trên mạng LAN.

Chương 3: Cài đặt và thử nghiệm

Chương 3 trình bày các kết quả xây dựng giao diện và kiểm thử các tính năng thực tế của ứng dụng.

  • Cơ chế hoạt động: Trình bày chu trình phối hợp giữa máy khách, PHP và MySQL. Khi nhận yêu cầu từ client, Web Server xử lý thông qua PHP, PHP gửi tín hiệu truy vấn tới MySQL, nhận dữ liệu phản hồi từ cơ sở dữ liệu rồi trả kết quả hiển thị cho client.
  • Kết quả demo giao diện thực nghiệm:
    • Giao diện trang chủ quản trị: Hiển thị thống kê tổng quan bao gồm tổng số nhân viên hiện có và số lượng nhân viên đi muộn trong ngày.
    • Giao diện quản lý phòng ban: Cho phép người quản trị xem danh sách, thêm mới, chỉnh sửa thông tin hoặc xóa một phòng ban.
    • Giao diện quản lý nhân sự: Cho phép nhập biểu mẫu thêm nhân viên mới với đầy đủ các trường thông tin cá nhân và hiển thị danh sách chi tiết hồ sơ từng nhân sự khi được chọn.
    • Giao diện thống kê lương: Hiển thị danh sách lương cán bộ theo từng tháng, có chức năng lọc theo tháng và xuất dữ liệu ra file Excel.
    • Giao diện quản lý chấm công: Hiển thị thông tin ID, họ tên, giờ bắt đầu (ts), giờ kết thúc (te), tự động xác định trạng thái (đến muộn hoặc đúng giờ), đồng thời hỗ trợ tra cứu lịch sử chấm công và xuất file Excel.

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

Kết quả chính

  • Hoàn thiện mô hình phân tích thiết kế hệ thống quản lý nhân sự bằng ngôn ngữ UML, bao gồm đầy đủ các biểu đồ tĩnh (Use Case, Class, Component, Deployment) và biểu đồ động (Sequence, Collaboration).
  • Xây dựng thành công cơ sở dữ liệu quan hệ gồm 5 bảng chuẩn (Admin, NhanVien, TimeKepping, Message, Departments) phục vụ lưu trữ dữ liệu nhân sự, lịch sử chấm công, phòng ban và bảng tin nội bộ.
  • Xây dựng thành công ứng dụng web với đầy đủ các phân hệ chức năng: quản lý thông tin nhân viên, quản lý phòng ban, quản lý chấm công (ghi nhận giờ vào, giờ ra, tình trạng đi muộn), quản lý và thống kê tiền lương theo tháng, cùng chức năng xuất dữ liệu ra tệp Excel.

Giải pháp và kiến nghị của nhóm tác giả

  • Ứng dụng công nghệ web mã nguồn mở (PHP, MySQL, JavaScript) nhằm giảm thiểu chi phí triển khai, tăng tốc độ xử lý và đáp ứng linh hoạt các nghiệp vụ của nhà trường.
  • Tự động hóa khâu tổng hợp dữ liệu chấm công và tính lương, hỗ trợ trích xuất báo cáo nhanh phục vụ công tác điều hành tại Phòng Tổ chức - Hành chính.

Đóng góp của đề tài

Đề tài cung cấp một thiết kế hệ thống HRM hoàn chỉnh ở mức độ đồ án cơ sở, mô hình hóa chính xác các quy trình quản lý nhân sự tại Trường Đại học Phenikaa, làm rõ cơ chế phối hợp giữa các công nghệ web cơ bản và cấu trúc cơ sở dữ liệu quan hệ tương ứng.


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

  • Hạn chế: Theo tự nhận định của nhóm tác giả trong văn bản, do thời gian thực hiện và trình độ còn hạn chế, đồng thời chưa có nhiều kinh nghiệm thực tế nên báo cáo và sản phẩm vẫn còn những thiếu sót nhất định. Hệ thống mới chủ yếu tập trung vào giao diện của tác nhân chuyên viên quản trị nhân sự, chưa triển khai sâu các chức năng độc lập cho phía nhân viên thông thường.
  • Hướng phát triển: Tiếp thu ý kiến góp ý của giảng viên hướng dẫn để hoàn thiện hệ thống; mở rộng các tính năng phân quyền trực tiếp cho nhân sự đăng nhập tự quản lý thông tin cá nhân; phát triển hoàn chỉnh phân hệ trao đổi tin nhắn nội bộ dựa trên cấu trúc bảng Message đã được thiết kế; nâng cao độ an toàn và bảo mật cho ứng dụng.

Giá trị tham khảo

Tài liệu này là nguồn tham khảo hữu ích cho sinh viên các ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin khi thực hiện bài tập lớn, đồ án cơ sở hoặc đồ án chuyên ngành về đề tài quản lý nhân sự.

Các nội dung có giá trị tham khảo chuyên môn cao gồm:

  • Toàn bộ hồ sơ phân tích thiết kế hệ thống bằng UML (hệ thống biểu đồ Use Case chi tiết từng tác nhân, biểu đồ tuần tự và biểu đồ cộng tác cho các ca sử dụng quản lý nhân sự, quản lý tài khoản, tìm kiếm).
  • Cấu trúc thiết kế 5 bảng cơ sở dữ liệu quan hệ trong MySQL phục vụ bài toán quản lý nhân sự, chấm công và phòng ban.
  • Luồng phối hợp xử lý giữa PHP, JavaScript và MySQL trong việc xây dựng các chức năng CRUD và xuất dữ liệu thống kê ra file Excel.

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

1. Hệ thống quản lý nhân sự trong đồ án phục vụ cho tác nhân nào và có những quyền hạn gì?

Hệ thống được thiết kế phục vụ tác nhân chính là Chuyên viên quản lý nhân sự (Admin). Tác nhân này có toàn quyền thực hiện các nghiệp vụ: tạo tài khoản; cập nhật, xem, thêm, sửa, xóa thông tin nhân viên; quản lý danh mục phòng ban và chức vụ; quản lý tài khoản hệ thống; xem và xuất file Excel danh sách chấm công, danh sách lương và danh sách thưởng phạt.

2. Dữ liệu khảo sát hiện trạng của Trường Đại học Phenikaa tại thời điểm nghiên cứu được ghi nhận như thế nào?

Tính đến tháng 10/2019, Trường Đại học Phenikaa có khuôn viên rộng 140.000 m² do Savills vận hành. Cơ cấu tổ chức gồm 7 Phòng, 1 Ban, 13 Khoa, 2 Viện và 1 Trung tâm nghiên cứu. Đội ngũ nhân sự gồm 310 người (trong đó có 167 Tiến sĩ, 50 Giáo sư và Phó Giáo sư). Trường đào tạo 4 chương trình thạc sĩ và 21 chương trình đại học chính quy thuộc 4 khối ngành; xếp thứ 5 toàn quốc về nghiên cứu kinh tế - xã hội theo bảng xếp hạng RePEc (tháng 3/2019).

3. Cơ sở dữ liệu của ứng dụng được tổ chức thành những bảng nào?

Cơ sở dữ liệu của hệ thống gồm 5 bảng chính:

  1. Admin (quản lý thông tin tài khoản quản trị).
  2. NhanVien / Employees (quản lý chi tiết lý lịch, thông tin liên lạc, chức vụ, phòng ban, lương, ngày nghỉ phép của cán bộ nhân viên).
  3. TimeKepping (quản lý dữ liệu chấm công theo ngày, giờ bắt đầu và kết thúc).
  4. Message (quản lý thông tin tin nhắn trao đổi nội bộ).
  5. Departments (quản lý danh mục các phòng ban trong trường).

4. Phân hệ quản lý chấm công và thống kê lương của hệ thống hoạt động ra sao?

Phân hệ chấm công tự động ghi nhận mã nhân sự, ngày làm việc, giờ bắt đầu (ts), giờ kết thúc (te) và hiển thị trực tiếp trạng thái nhân viên đến đúng giờ hay đi muộn; đồng thời cung cấp bảng theo dõi lịch sử chấm công. Phân hệ lương cho phép thống kê mức lương của toàn bộ nhân viên theo từng tháng được chọn. Cả hai phân hệ đều tích hợp chức năng trích xuất dữ liệu trực tiếp ra tệp Excel.

5. Kiến trúc phần cứng và mô hình triển khai của hệ thống được thiết kế như thế nào?

Hệ thống được thiết kế triển khai trên mô hình mạng cục bộ (LAN) sử dụng giao thức truyền thông TCP/IP. Kiến trúc gồm có: máy chủ cơ sở dữ liệu (Database Server) lưu trữ MySQL, máy chủ ứng dụng (Application Server) chạy mã nguồn PHP, các máy trạm làm việc (Work Station) của người dùng kết nối qua mạng để thao tác trên trình duyệt web, và thiết bị máy in (Printer) kết nối mạng phục vụ in ấn sơ yếu lý lịch và báo cáo.


Kết luận

Báo cáo bài tập lớn học phần Đồ án cơ sở của nhóm sinh viên Trường Đại học Phenikaa đã thực hiện đầy đủ quy trình khảo sát hiện trạng, phân tích thiết kế và cài đặt thử nghiệm ứng dụng web quản lý nhân sự. Thông qua việc sử dụng các công nghệ PHP, MySQL, JavaScript, HTML5 và CSS, hệ thống đã giải quyết được các bài toán nghiệp vụ cốt lõi về quản lý hồ sơ cán bộ, chấm công, phòng ban và thống kê tiền lương. Kết quả nghiên cứu là tài liệu tham khảo có giá trị về mặt thực hành phân tích thiết kế hệ thống thông tin hướng đối tượng và lập trình ứng dụng web cơ bản.