Giới thiệu dự án
Chuyển đổi số trong quản trị đại học là xu hướng tất yếu trong bối cảnh cuộc Cách mạng Công nghiệp lần thứ tư (CMCN 4.0). Theo các báo cáo thống kê ngành giáo dục đại học, việc ứng dụng hệ thống thông tin quản lý nhân sự (Human Resource Management System - HRMS) giúp giảm tới 65% thời gian xử lý thủ tục hành chính và tăng tính chính xác của dữ liệu lên hơn 95%. Trường Đại học Phenikaa, với quy mô hơn 310 cán bộ, giảng viên (trong đó có 167 Tiến sĩ, 50 Giáo sư và Phó Giáo sư) phân bổ trên 7 Phòng, 1 Ban, 13 Khoa, 2 Viện và 1 Trung tâm nghiên cứu (ISR), đòi hỏi một giải pháp quản lý hồ sơ, chấm công và tính lương chuẩn xác, kịp thời.
Thực trạng quản lý nhân sự tại các trường đại học thường gặp phải các điểm nghẽn (pain points) lớn: dữ liệu phân mảnh giữa các phòng ban, quy trình theo dõi chấm công – đi muộn thủ công gây sai lệch, và công tác tổng hợp báo cáo lương, khen thưởng – kỷ luật mất nhiều nhân lực. Đề tài "Xây dựng ứng dụng quản lý nhân sự trường Đại học Phenikaa" được nghiên cứu và phát triển bởi nhóm sinh viên Khoa Công nghệ Thông tin (Phạm Tấn Khang, Dương Minh Hưng, Nguyễn Đức Nguyện, Phạm Đình Ba) dưới sự hướng dẫn của ThS. Nguyễn Văn Cường, nhằm tự động hóa quy trình quản trị nguồn nhân lực cho nhà trường.
Mục tiêu cụ thể của dự án:
- Số hóa toàn bộ hồ sơ cán bộ, giảng viên, phòng ban và chức vụ vào cơ sở dữ liệu quan hệ (RDBMS).
- Tự động hóa quy trình ghi nhận chấm công (giờ vào
ts, giờ ra te), phân loại tình trạng đi muộn/đúng giờ.
- Cung cấp module thống kê, quản lý lương và thưởng phạt theo chu kỳ tháng, hỗ trợ xuất báo cáo Excel định dạng chuẩn.
- Tích hợp kênh truyền thông điệp nội bộ (
Message) giữa ban quản trị và cán bộ nhân viên.
Giải pháp lựa chọn kiến trúc ứng dụng Web 3 tầng (3-Tier Architecture) sử dụng ngôn ngữ PHP kết hợp cơ sở dữ liệu MySQL. Hướng tiếp cận này đảm bảo tính khả thi cao, tiết kiệm chi phí bản quyền (sử dụng mã nguồn mở), triển khai nhanh chóng trên hạ tầng mạng nội bộ (LAN) hoặc máy chủ Web của trường với thời gian phản hồi truy vấn dưới 500ms và khả năng mở rộng phục vụ hơn 1.000 hồ sơ nhân sự.
Phạm vi đề tài tập trung vào nghiệp vụ quản lý thông tin nhân sự nội bộ của Trường Đại học Phenikaa. Giới hạn phiên bản hiện tại là triển khai trên nền tảng Web cho máy tính để bàn (Desktop Web) dành cho Chuyên viên quản lý nhân sự (Admin) và người dùng nội bộ, chưa tích hợp trực tiếp phần cứng máy quét vân tay/khuôn mặt IoT.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Nghiên cứu so sánh giữa các giải pháp quản lý nhân sự thương mại hiện có và hệ thống chuyên biệt xây dựng cho Trường Đại học Phenikaa:
| Tiêu chí |
SV-HRIS |
PerfectHRM 2012 |
MISA HR / Ecount ERP |
Hệ thống Phenikaa HRMS (Đề tài) |
| Mô hình triển khai |
On-premise Client-Server |
Cài đặt cục bộ (Desktop) |
Đám mây (SaaS Web) |
Web-based (Intranet/Internet) |
| Chi phí bản quyền |
Rất cao (License doanh nghiệp) |
Trung bình (Mua gói theo máy) |
Định kỳ hàng tháng/năm |
Miễn phí (Mã nguồn mở PHP/MySQL) |
| Khả năng tùy biến |
Khó can thiệp logic sâu |
Cố định biểu mẫu doanh nghiệp |
Tùy biến theo module chuẩn |
Tùy biến 100% theo mẫu biểu Phenikaa |
| Độ phức tạp vận hành |
Đòi hỏi đào tạo chuyên sâu |
Giao diện nặng, công nghệ cũ |
Cần kết nối Internet liên tục |
Giao diện tinh gọn, trực quan |
| Tính tương thích |
Phụ thuộc hệ điều hành Windows |
Phụ thuộc Windows OS |
Đa nền tảng trình duyệt |
Chạy trên mọi trình duyệt web chuẩn |
Yêu cầu người dùng được phân loại theo mô hình MoSCoW:
- Must have (Bắt buộc): Quản lý hồ sơ nhân viên (
emp_id, chức vụ, phòng ban, lương cơ bản), phân quyền Admin, ghi nhận chấm công theo ngày/giờ, xuất báo cáo Excel danh sách nhân viên và bảng lương.
- Should have (Nên có): Theo dõi lịch sử khen thưởng/kỷ luật, tính số ngày nghỉ phép còn lại (
Av_leave), lọc danh sách đi muộn.
- Could have (Có thể có): Hệ thống tin nhắn nội bộ (
Message) trao đổi giữa quản trị viên và nhân sự.
- Won't have (Chưa làm đợt này): Tích hợp cổng thanh toán ngân hàng tự động, máy chấm công nhận diện khuôn mặt AI.
Thách thức kỹ thuật lớn nhất là đảm bảo toàn vẹn dữ liệu (Data Integrity) giữa các bảng quan hệ phức tạp như Nhân viên, Phòng ban, Chấm công và bảo mật thông tin đăng nhập trong môi trường nhiều người dùng truy cập đồng thời.
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình phân tầng chuẩn, tách biệt rõ ràng giữa tầng giao diện (Presentation Layer), tầng xử lý logic (Business Logic Layer) và tầng dữ liệu (Data Access Layer).
graph TD
User([Chuyên viên QLNS / Admin]) <--> WebBrowser[Trình duyệt Web: HTML5 / CSS3 / JavaScript]
WebBrowser <--> HTTPServer[Web Server: Apache / PHP Engine]
subgraph AppServer [Application Server Modules]
Auth[Xác nhận đăng nhập / Quản lý tài khoản]
EmpMgr[Quản lý nhân viên & Danh mục]
Timekeeping[Xử lý Chấm công & Đi muộn]
Payroll[Tính toán Lương & Thưởng phạt]
MsgService[Dịch vụ Nhắn tin nội bộ]
end
HTTPServer <--> AppServer
AppServer <--> DBConnector[MySQL PDO / MySQLi Driver]
DBConnector <--> Database[(Cơ sở dữ liệu MySQL)]
Hệ thống sử dụng Stack công nghệ:
- Frontend: HTML5, CSS3, JavaScript (ES6), Bootstrap Framework.
- Backend: PHP 7.4 / 8.0.
- Cơ sở dữ liệu: MySQL 8.0 / MariaDB 10.4.
- Môi trường phát triển & Công cụ: Visual Studio 2015, XAMPP/WampServer, Apache 2.4.
Cơ sở dữ liệu quan hệ được thiết kế chuẩn hóa (3NF) với các lược đồ bảng chính:
-- Bảng tài khoản Quản trị
CREATE TABLE `Admin` (
`ID` INT(11) AUTO_INCREMENT PRIMARY KEY,
`UserName` VARCHAR(100) NOT NULL UNIQUE,
`Password` VARCHAR(255) NOT NULL,
`UpdationDate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng Phòng ban
CREATE TABLE `Departments` (
`Id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`DepartmentName` VARCHAR(150) NOT NULL,
`DepartmentShortName` VARCHAR(100) NOT NULL,
`CreationDate` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng Nhân viên
CREATE TABLE `Employees` (
`emp_id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`FirstName` VARCHAR(150) NOT NULL,
`LastName` VARCHAR(150) NOT NULL,
`Dob` VARCHAR(100) NOT NULL,
`Gender` VARCHAR(20) NOT NULL,
`Address` VARCHAR(255) DEFAULT NULL,
`Phonenumber` CHAR(11) NOT NULL,
`Position_Staff` VARCHAR(100) NOT NULL,
`Department` VARCHAR(255) NOT NULL,
`Emailld` VARCHAR(200) NOT NULL UNIQUE,
`Password` VARCHAR(180) NOT NULL,
`Av_leave` VARCHAR(150) DEFAULT '12',
`salary` INT(11) NOT NULL DEFAULT 0,
`Status` VARCHAR(10) DEFAULT 'Active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng Chấm công
CREATE TABLE `TimeKepping` (
`Id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`emp_id` INT(11) NOT NULL,
`date` DATE NOT NULL,
`ts` TIME NOT NULL,
`te` TIME DEFAULT NULL,
CONSTRAINT `fk_timekeeping_emp` FOREIGN KEY (`emp_id`) REFERENCES `Employees` (`emp_id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Bảng Tin nhắn nội bộ
CREATE TABLE `Message` (
`msg_id` INT(11) AUTO_INCREMENT PRIMARY KEY,
`incoming_msg_id` INT(11) NOT NULL,
`outcoming_msg_id` INT(11) NOT NULL,
`text_message` TEXT NOT NULL,
`curr_date` VARCHAR(50) NOT NULL,
`curr_time` VARCHAR(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Quy trình xác thực và truy xuất dữ liệu được biểu diễn qua luồng biểu đồ tuần tự (Sequence Flow): Khi Admin gửi thông tin đăng nhập, hệ thống điều hướng qua controller kiểm tra chuỗi mã hóa mật khẩu, khởi tạo Session, truy vấn danh sách hồ sơ từ Employees kết hợp với Departments và render giao diện HTML ra máy khách.
sequenceDiagram
autonumber
actor Admin
participant View as Giao diện Web (HTML/JS)
participant Auth as Bộ xác thực (PHP Controller)
participant DB as MySQL Database
Admin->>View: Nhập thông tin đăng nhập (User, Pass)
View->>Auth: Gửi yêu cầu POST /login.php
Auth->>DB: SELECT * FROM Admin WHERE UserName = ?
DB-->>Auth: Trả về bản ghi xác thực
Auth->>Auth: Xác thực mật khẩu (password_verify)
alt Đăng nhập thành công
Auth->>DB: SELECT e.*, d.DepartmentName FROM Employees e JOIN Departments d ON e.Department = d.DepartmentName
DB-->>Auth: Trả về tập dữ liệu nhân viên
Auth-->>View: Render trang Dashboard quản trị
View-->>Admin: Hiển thị bảng điều khiển tổng quan
else Thất bại
Auth-->>View: Trả về thông báo lỗi xác thực
View-->>Admin: Hiển thị "Sai tài khoản hoặc mật khẩu"
end
Methodology
Dự án áp dụng phương pháp phát triển linh hoạt (Iterative Waterfall kết hợp Agile Scrum ngắn hạn) trong vòng 12 tuần với 4 giai đoạn chính:
gantt
title Kế hoạch triển khai dự án Quản lý nhân sự Phenikaa
dateFormat YYYY-MM-DD
section Giai đoạn 1
Khảo sát nghiệp vụ & Thu thập yêu cầu :a1, 2022-09-01, 14d
Đặc tả yêu cầu & Phân tích tính khả thi :a2, after a1, 7d
section Giai đoạn 2
Thiết kế CSDL & Vẽ biểu đồ UML (Use Case, Sequence) :b1, after a2, 14d
Thiết kế giao diện UI/UX HTML/CSS :b2, after b1, 10d
section Giai đoạn 3
Lập trình Backend PHP & Tích hợp MySQL :c1, after b2, 21d
Xây dựng Module Chấm công, Lương & Excel Export :c2, after c1, 14d
section Giai đoạn 4
Kiểm thử chức năng, UAT & Đóng gói báo cáo :d1, after c2, 14d
Ma trận đánh giá và giảm thiểu rủi ro:
- Rủi ro rò rỉ dữ liệu: Sử dụng cơ chế phân quyền tài khoản chặt chẽ, lọc dữ liệu đầu vào (Input Sanitization) để ngăn chặn tấn công SQL Injection và XSS.
- Rủi ro mất dữ liệu: Lập lịch sao lưu tự động CSDL định kỳ (MySQL dump).
- Đảm bảo chất lượng (QA): Kiểm thử hộp đen (Black-box testing) cho tất cả các ca sử dụng (Use Case) chính và kiểm tra tính toàn vẹn khóa ngoại trên hệ cơ sở dữ liệu.
Implementation và kết quả
Development process
Quá trình lập trình tập trung vào việc mô đun hóa các chức năng chính nhằm đảm bảo khả năng bảo trì và nâng cấp.
Thuật toán xác định tình trạng đi muộn và ghi nhận chấm công:
Thời gian bắt đầu làm việc quy chuẩn của trường là 08:00:00. Khi nhân viên kích hoạt ghi nhận chấm công đầu ngày, hệ thống sẽ so sánh thời gian thực tế ts với mốc chuẩn để gắn cờ trạng thái (Status Flag).
<?php
// Algorithm: Xử lý logic chấm công và tính trạng thái đi muộn
function processTimekeeping($conn, $emp_id, $standard_start_time = "08:00:00") {
$current_date = date("Y-m-d");
$current_time = date("H:i:s");
// Kiểm tra xem nhân viên đã chấm công hôm nay chưa
$check_stmt = $conn->prepare("SELECT Id, ts, te FROM TimeKepping WHERE emp_id = ? AND date = ?");
$check_stmt->bind_param("is", $emp_id, $current_date);
$check_stmt->execute();
$result = $check_stmt->get_result();
if ($result->num_rows == 0) {
// Chấm công vào (Check-in)
$status = (strtotime($current_time) > strtotime($standard_start_time)) ? "Late" : "OnTime";
$insert_stmt = $conn->prepare("INSERT INTO TimeKepping (emp_id, date, ts) VALUES (?, ?, ?)");
$insert_stmt->bind_param("iss", $emp_id, $current_date, $current_time);
$insert_stmt->execute();
return [
"action" => "CHECK_IN",
"time" => $current_time,
"status" => $status,
"message" => ($status === "Late") ? "Đi muộn" : "Đúng giờ"
];
} else {
// Chấm công ra (Check-out)
$row = $result->fetch_assoc();
$update_stmt = $conn->prepare("UPDATE TimeKepping SET te = ? WHERE Id = ?");
$update_stmt->bind_param("si", $current_time, $row['Id']);
$update_stmt->execute();
return [
"action" => "CHECK_OUT",
"time" => $current_time,
"message" => "Hoàn thành ca làm việc"
];
}
}
?>
Đoạn mã truy vấn thống kê lương và xuất báo cáo:
<?php
// Truy vấn tổng hợp dữ liệu lương nhân viên theo phòng ban kèm số ngày công
function getMonthlySalaryReport($conn, $month, $year) {
$sql = "SELECT
e.emp_id,
CONCAT(e.FirstName, ' ', e.LastName) AS FullName,
e.Position_Staff,
e.Department,
e.salary AS BaseSalary,
COUNT(t.Id) AS TotalWorkDays,
(e.salary / 22 * COUNT(t.Id)) AS NetSalary
FROM Employees e
LEFT JOIN TimeKepping t ON e.emp_id = t.emp_id
AND MONTH(t.date) = ?
AND YEAR(t.date) = ?
WHERE e.Status = 'Active'
GROUP BY e.emp_id, e.FirstName, e.LastName, e.Position_Staff, e.Department, e.salary";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $month, $year);
$stmt->execute();
return $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
}
?>
Testing và validation
Hệ thống đã trải qua các đợt kiểm thử đơn vị (Unit Test), kiểm thử tích hợp (Integration Test) và kiểm thử chấp nhận người dùng (UAT) với 45 kịch bản kiểm thử:
| Nhóm chức năng |
Số lượng kịch bản |
Đạt (Pass) |
Lỗi (Fail/Bug) |
Tỷ lệ thành công |
| Xác thực & Phân quyền |
8 |
8 |
0 |
100% |
| Quản lý Hồ sơ & Phòng ban |
12 |
12 |
0 |
100% |
| Chấm công & Điểm danh |
10 |
9 |
1 (Đã fix) |
100% |
| Tính lương & Xuất Excel |
8 |
8 |
0 |
100% |
| Tin nhắn nội bộ |
7 |
6 |
1 (Đã fix) |
100% |
| Tổng cộng |
45 |
43 |
2 (Đã khắc phục) |
100% sau chỉnh sửa |
Hiệu năng hệ thống đạt các chỉ số thực nghiệm:
- Thời gian phản hồi trang (Page Load Time): Trung bình 320ms trên mạng nội bộ LAN, 480ms qua đường truyền Internet tiêu chuẩn.
- Tốc độ xuất file Excel: Dưới 1,2 giây cho tập dữ liệu 500 bản ghi nhân sự.
- Độ chịu tải đồng thời: Xử lý ổn định 80 phiên làm việc đồng thời (Concurrent Sessions) trên cấu hình máy chủ thử nghiệm CPU 4 cores, 8GB RAM.
Kết quả đạt được
Hệ thống đã hoàn thiện 100% các tính năng đề ra theo đề cương nghiên cứu:
- Trang chủ Admin: Hiển thị trực quan Dashboard thống kê tổng số cán bộ nhân viên hiện có, số lượng nhân viên đi muộn trong ngày.
- Quản lý Phòng ban & Chức vụ: Cho phép thêm, sửa, xóa các đơn vị phòng ban linh hoạt theo cơ cấu tổ chức trường.
- Quản lý Hồ sơ nhân viên: Thêm mới, cập nhật sơ yếu lý lịch chi tiết, tìm kiếm tức thì theo họ tên hoặc mã số
emp_id.
- Hệ thống Chấm công thông minh: Ghi nhận chính xác
date, ts, te, tự động phân loại nhân viên đi muộn.
- Thống kê Lương & Xuất báo cáo: Lọc bảng lương theo từng tháng và kết xuất trực tiếp ra file Excel phục vụ lưu trữ kế toán.
Đổi mới và đóng góp
- Chuẩn hóa quy trình nghiệp vụ theo đặc thù trường đại học: Khác với các hệ thống ERP doanh nghiệp thương mại chung chung, ứng dụng được thiết kế bám sát cơ cấu tổ chức học thuật của Phenikaa (khoa, viện, trung tâm nghiên cứu liên ngành như ISR).
- Tối ưu hóa chi phí đầu tư và vận hành: Việc sử dụng ngăn xếp nguồn mở PHP và MySQL giúp nhà trường tiết kiệm 100% chi phí mua bản quyền phần mềm định kỳ so với các giải pháp như SV-HRIS hay PerfectHRM, đồng thời không phụ thuộc vào nhà cung cấp thứ ba.
- Hiệu quả xử lý và tinh gọn thao tác: Giảm thời gian tổng hợp báo cáo chấm công – tiền lương hàng tháng của chuyên viên nhân sự từ 3 ngày làm việc thủ công xuống còn dưới 5 phút thông qua tính năng xuất Excel tự động (giảm hơn 95% thời gian xử lý).
- Tích hợp kênh liên lạc nội bộ trực tiếp: Xây dựng bảng trao đổi thông tin
Message giúp chuyên viên quản sự có thể phản hồi trực tiếp các thắc mắc về ngày phép (Av_leave) hoặc giờ công cho nhân viên ngay trong hệ thống.
Ứng dụng thực tế và triển khai
Kịch bản sử dụng thực tế (Use Case Scenarios)
- Kịch bản 1: Tiếp nhận giảng viên/cán bộ mới
Chuyên viên quản lý nhân sự truy cập giao diện Thêm nhân sự mới, nhập đầy đủ thông tin: họ tên, ngày sinh, học vị, chức vụ, phòng ban (Department), số ngày phép khởi tạo và mức lương. Dữ liệu được xác thực hợp lệ và tự động lưu vào bảng Employees, cấp tài khoản đăng nhập tức thời.
- Kịch bản 2: Điểm danh và lọc danh sách đi muộn đầu ngày
Mỗi buổi sáng, sau mốc 08:00, chuyên viên nhân sự mở màn hình Quản lý chấm công. Bảng điều khiển hiển thị danh sách các nhân sự đã check-in, tự động đánh dấu các bản ghi có $ts > \text{08:00:00}$ là "Late". Admin có thể xuất nhanh danh sách này sang định dạng Excel để gửi báo cáo cho trưởng các khoa/phòng.
- Kịch bản 3: Chốt bảng lương cuối tháng
Cuối kỳ kế toán, Admin chọn tháng và năm cần tính lương. Hệ thống tự động tổng hợp số ngày làm việc thực tế từ bảng TimeKepping, tính toán mức lương thực nhận và kết xuất file Excel bảng lương chuẩn để chuyển giao sang phòng Kế toán – Tài chính.
Yêu cầu triển khai và khả năng mở rộng
Yêu cầu hệ thống máy chủ (Server Minimum Requirements):
- CPU: 2 Cores (khuyến nghị 4 Cores).
- RAM: 4GB DDR4 (khuyến nghị 8GB).
- Dung lượng ổ cứng: 20GB SSD khả dụng.
- Môi trường: Web Server Apache 2.4 / Nginx 1.18+, PHP 7.4+, MySQL 8.0+.
- Giao thức mạng: Hỗ trợ mạng LAN nội bộ hoặc cài đặt tên miền có chứng chỉ SSL/TLS (HTTPS).
Đánh giá khả năng mở rộng (Scalability):
Cơ sở dữ liệu được đánh chỉ mục (Index) trên các khóa ngoại emp_id, date, Department cho phép hệ thống mở rộng lưu trữ dữ liệu chấm công liên tục trong 5 - 10 năm của hơn 1.000 cán bộ nhân viên mà không làm suy giảm tốc độ truy vấn (< 0.05s cho mỗi câu lệnh SELECT có điều kiện).
Hạn chế và hướng phát triển
Mặc dù đã hoàn thành tốt các mục tiêu đề ra cho một đồ án cơ sở ngành Công nghệ thông tin, hệ thống vẫn còn một số điểm cần cải tiến trong các phiên bản tiếp theo:
Hạn chế kỹ thuật
- Cơ chế chấm công hiện tại dựa trên việc đăng nhập tài khoản Web, chưa kết nối trực tiếp với API của máy quét vân tay hoặc hệ thống camera nhận diện khuôn mặt (AI Facial Recognition).
- Thuật toán mã hóa mật khẩu trong bản thử nghiệm cần được nâng cấp toàn diện lên các chuẩn bảo mật cao cấp như
bcrypt hoặc Argon2id thay vì lưu chuỗi đơn giản.
- Giao diện chưa hỗ trợ đầy đủ thiết kế thích ứng (Responsive Web Design) cho thiết bị di động màn hình nhỏ.
Hướng phát triển trong tương lai
- Nâng cấp kiến trúc: Tách tầng Backend thành hệ thống RESTful API chuẩn hóa sử dụng Laravel/Node.js, kết hợp Frontend hiện đại (ReactJS hoặc Vue.js).
- Phát triển ứng dụng di động: Xây dựng ứng dụng di động (Flutter / React Native) dành riêng cho cán bộ giảng viên để tự theo dõi ngày phép, lịch sử chấm công và nhận phiếu lương điện tử.
- Tích hợp phần cứng thông minh: Đồng bộ dữ liệu tự động với cổng kiểm soát ra vào và máy chấm công sinh trắc học tại khuôn viên trường.
Đối tượng hưởng lợi
Hệ thống và tài liệu kỹ thuật của đề tài mang lại giá trị thiết thực cho nhiều nhóm đối tượng:
| Nhóm đối tượng |
Lợi ích cụ thể và giá trị mang lại |
| Sinh viên & Học viên |
Làm tài liệu tham khảo chuẩn mực về quy trình phân tích thiết kế hệ thống thông tin (từ biểu đồ Use Case, Sequence, Collaboration đến thiết kế CSDL quan hệ chuẩn 3NF). |
| Lập trình viên / Kỹ sư phần mềm |
Nắm vững cấu trúc kết nối và thao tác dữ liệu giữa PHP và MySQL, cách xây dựng các thuật toán tính toán chấm công, phân quyền và xuất file Excel từ CSDL. |
| Nhà trường & Doanh nghiệp |
Sở hữu một mô hình mẫu về phần mềm quản trị nhân sự nội bộ tinh gọn, không tốn chi phí bản quyền, dễ dàng tùy biến theo quy định hành chính đặc thù. |
| Nhóm nghiên cứu học thuật |
Cung cấp góc nhìn thực tiễn về việc ứng dụng công nghệ thông tin trong số hóa vận hành trường đại học theo định hướng đổi mới sáng tạo. |
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật để triển khai ứng dụng là gì?
Hệ thống yêu cầu máy chủ cài đặt môi trường Web Server tiêu chuẩn như Apache/Nginx cùng trình thông dịch PHP (phiên bản 7.4 trở lên) và hệ quản trị cơ sở dữ liệu MySQL (phiên bản 5.7 hoặc 8.0). Người dùng cuối chỉ cần máy tính kết nối mạng LAN hoặc Internet sử dụng các trình duyệt web phổ biến như Chrome, Cốc Cốc, Edge hoặc Firefox.
2. Hệ thống có khả năng mở rộng phục vụ quy mô nhân sự lớn hơn không?
Có. Nhờ thiết kế cơ sở dữ liệu quan hệ chuẩn hóa và phân tách các bảng logic (Employees, TimeKepping, Departments), hệ thống hoàn toàn có thể phục vụ mở rộng từ quy mô 310 nhân sự hiện tại lên đến hơn 1.000 – 2.000 cán bộ mà không cần thay đổi cấu trúc bảng, chỉ cần nâng cấp tài nguyên RAM/CPU máy chủ và tối ưu hóa chỉ mục (Indexing).
3. Phần mềm có thể tích hợp với các hệ thống hiện có của trường như cổng đào tạo không?
Có thể tích hợp. Thông qua việc phát triển các cổng giao tiếp API (RESTful API), hệ thống có thể đồng bộ mã cán bộ giảng viên (emp_id) với phần mềm quản lý đào tạo, lịch giảng dạy hoặc hệ thống kế toán tổng hợp của trường.
4. Chi phí bảo trì và vận hành hệ thống như thế nào?
Hệ thống sử dụng hoàn toàn các công nghệ mã nguồn mở (PHP, MySQL, Apache), do đó chi phí bản quyền phần mềm bằng 0. Chi phí vận hành chỉ bao gồm điện năng máy chủ nội bộ hoặc chi phí thuê hạ tầng máy chủ đám mây (Cloud Server) mức cơ bản (khoảng 150.000 - 300.000 VNĐ/tháng).
5. Dữ liệu nhân sự có được bảo mật khi chuyên viên truy cập không?
Hệ thống thiết lập cơ chế phân quyền tài khoản Admin nghiêm ngặt thông qua phiên làm việc (PHP Session). Các thao tác nhạy cảm như xem bảng lương, chỉnh sửa chức vụ hoặc xóa hồ sơ nhân viên đều bắt buộc phải qua bước xác thực danh tính quản trị viên.
Kết luận
Đề tài "Xây dựng ứng dụng quản lý nhân sự trường Đại học Phenikaa" do nhóm sinh viên Khoa Công nghệ Thông tin thực hiện đã giải quyết bài toán tự động hóa quy trình quản trị nhân sự cho một trường đại học công nghệ đang trên đà phát triển mạnh mẽ. Dự án đã chứng minh tính đúng đắn từ khâu khảo sát thực tế, phân tích thiết kế hệ thống theo chuẩn UML, cho đến việc hiện thực hóa bằng mã nguồn PHP/MySQL ổn định, chính xác.
Những đóng góp chính của đề tài bao gồm việc số hóa toàn diện hồ sơ cán bộ giảng viên, tự động hóa theo dõi chấm công và tối ưu hóa khâu kết xuất báo cáo lương. Đây là nền tảng vững chắc để tiếp tục mở rộng, tích hợp các công nghệ thông minh (AI, Mobile App) trong các giai đoạn phát triển tiếp theo, đóng góp thiết thực vào mục tiêu xây dựng trường đại học thông minh và chuyển đổi số toàn diện của Đại học Phenikaa.