Giới thiệu dự án

Trong bối cảnh chuyển đổi số giáo dục đại học, công tác quản trị nguồn nhân lực (Human Resource Management - HRM) đóng vai trò then chốt trong việc nâng cao chất lượng đào tạo và nghiên cứu. Theo các khảo sát thực tế tại các cơ sở giáo dục đại học Việt Nam, hơn 65% trường đại học ngoài công lập giai đoạn trước năm 2015 vẫn quản lý hồ sơ nhân sự phân tán qua văn bản giấy và các file bảng tính rời rạc (Microsoft Excel/Word). Điều này dẫn tới tỷ lệ sai lệch dữ liệu hàng năm lên tới 15-20%, làm chậm trễ tiến độ tính lương, xét ngạch bậc và tổng hợp báo cáo gửi Bộ Giáo dục và Đào tạo.

Đề tài "Xây dựng hệ thống Quản lý thông tin nhân sự TLU-OrangeHRM" của tác giả Đinh Hoàng Nghĩa (Khoa Toán - Tin, Trường Đại học Thăng Long) dưới sự hướng dẫn của ThS. Mai Thúy Nga tập trung giải quyết bài toán cốt lõi: Số hóa và chuẩn hóa toàn diện quy trình quản trị nhân sự cho mô hình trường đại học đa ngành, tối ưu hóa từ quản lý cơ cấu tổ chức, hồ sơ cán bộ - giảng viên đến tính toán lương đặc thù theo giờ dạy và nghiên cứu khoa học.

+-----------------------------------------------------------------------------------+
|                           MÔ HÌNH VẤN ĐỀ VÀ GIẢI PHÁP                             |
+-----------------------------------------------------------------------------------+
| HIỆN TRẠNG PHÂN TÁN                 HỆ THỐNG TLU-ORANGEHRM                        |
| - Hồ sơ giấy & Excel rời rạc    --> | Cơ sở dữ liệu MySQL tập trung, chuẩn hóa 3NF |
| - Quản lý giờ dạy thủ công      --> | Module tính lương tự động hóa (Ngạch/Bậc/Giờ)|
| - Thiếu theo dõi nghiên cứu     --> | Phân hệ Lý lịch khoa học (CTNC, DANC)        |
| - Báo cáo chậm trễ, sai sót     --> | Báo cáo động theo thời gian thực (Real-time) |
+-----------------------------------------------------------------------------------+

Vấn đề cụ thể (Problem Statement)

Trường Đại học Thăng Long trải qua các giai đoạn phát triển từ Trung tâm Đại học Dân lập (1988), Trường Đại học Dân lập (1994) đến cơ sở đại học chính quy hiện đại (từ 2009). Sự tăng trưởng vượt bậc về quy mô đội ngũ Cán bộ - Giảng viên - Nhân viên (CB-GV-NV) làm bộc lộ các điểm nghẽn nghiêm trọng:

  • Thông tin nhân sự phân tán và thiếu cập nhật: Dữ liệu cá nhân, trình độ ngoại ngữ, quá trình công tác, quan hệ gia đình không được cập nhật tức thời giữa các Khoa/Bộ môn và Phòng Hành chính - Tổng hợp (HCTH).
  • Quy trình tính lương và quản lý ngạch bậc phức tạp: Việc kết hợp giữa hệ số lương cơ sở Nhà nước, bảng lương ngạch/bậc Công chức - Viên chức (CC-VC) và đơn giá giờ dạy chuẩn, hệ số giảng viên gây mất nhiều ngày công tính toán thủ công và dễ phát sinh khiếu nại.
  • Thiếu phân hệ theo dõi hồ sơ học thuật: Chưa có công cụ quản lý tập trung Lý lịch khoa học, Công trình nghiên cứu (CTNC), Dự án nghiên cứu (DANC) phục vụ đánh giá năng lực giảng viên và kiểm định chất lượng giáo dục.

Mục tiêu dự án

  1. Chuẩn hóa toàn bộ cơ cấu tổ chức (Hội đồng Quản trị, Ban Giám hiệu, Phòng ban, Khoa, Bộ môn) trên hệ thống phần mềm tập trung.
  2. Tự động hóa quản lý vòng đời nhân sự: Tuyển dụng, Hợp đồng lao động (HĐLĐ), Hồ sơ cá nhân (HSCN), đào tạo, bồi dưỡng đến khen thưởng, kỷ luật, nghỉ hưu.
  3. Xây dựng phân hệ tính lương linh hoạt, tự động tích hợp hệ số lương ngạch/bậc, thành phần phụ cấp/khấu trừ và lương giờ dạy thực tế của giảng viên.
  4. Thiết kế phân hệ quản lý Lý lịch khoa học (quá trình đào tạo, chứng chỉ/giấy phép, đề tài, dự án nghiên cứu).
  5. Xây dựng công cụ báo cáo, thống kê đa chiều theo thời gian thực phục vụ công tác điều hành của Ban Giám hiệu và Phòng HCTH.

Phương pháp tiếp cận (Solution Approach)

Dự án lựa chọn phương pháp Customization & Extension trên nền tảng mã nguồn mở OrangeHRM thay vì phát triển mới từ đầu. Phương pháp này tận dụng nền tảng kiến trúc doanh nghiệp đã được kiểm chứng của OrangeHRM, kết hợp viết thêm các phân hệ (modules) và bảng dữ liệu tùy biến nhằm đáp ứng chính xác đặc thù nghiệp vụ giáo dục đại học tại Việt Nam.

Kết quả kỳ vọng và chỉ số đo lường (Measurable Metrics)

  • Thời gian xử lý dữ liệu lương: Giảm 80% thời gian tổng hợp và tính lương hàng tháng (từ 5 ngày xuống dưới 1 ngày làm việc).
  • Độ chính xác dữ liệu: Loại bỏ 100% lỗi tính toán sai lệch hệ số và công thức lương.
  • Thời gian tra cứu thông tin: Tra cứu hồ sơ giảng viên/nhân viên giảm từ 15-30 phút xuống dưới 3 giây.
  • Mức độ sẵn sàng của hệ thống (Availability): Đạt 99.5% trên hạ tầng mạng nội bộ Web Server.

Phạm vi và giới hạn (Scope & Limitations)

  • Phạm vi: Triển khai tập trung tại Phòng Hành chính - Tổng hợp, Ban Giám hiệu, Lãnh đạo Khoa/Bộ môn và toàn thể CB-GV-NV Trường Đại học Thăng Long.
  • Giới hạn: Hệ thống tập trung vào nghiệp vụ quản lý thông tin nhân sự và tính toán bảng lương; chưa tích hợp trực tiếp cổng thanh toán ngân hàng tự động (Banking API) và máy chấm công sinh trắc học vân tay theo thời gian thực.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng hệ thống, các giải pháp quản lý tại đơn vị được so sánh và đánh giá chi tiết:

Tiêu chí so sánh Quản lý thủ công (Excel/Word) OrangeHRM Nguyên bản (Vanilla) TLU-OrangeHRM (Đề tài đề xuất)
Tính tập trung dữ liệu Kém (Rời rạc từng file cá nhân) Rất cao (Tập trung trên RDBMS) Rất cao (Tập trung trên RDBMS)
Bảo mật và Phân quyền Thấp (Mật khẩu file đơn giản) Cao (RBAC theo chuẩn doanh nghiệp) Cao (Phân quyền sâu: Admin, Giảng viên, BGH)
Tính lương theo giờ dạy Thủ công (Dễ sai lệch công thức) Không hỗ trợ (Chỉ có lương giờ DN) Tự động hóa hoàn toàn (Chuẩn hóa ĐH Thăng Long)
Quản lý Lý lịch khoa học Thủ công qua file Word Không hỗ trợ Tích hợp sâu: CTNC, DANC, Bằng cấp, Giấy phép
Khả năng mở rộng (Scale) Rất thấp Cao Rất cao (Module hóa theo chuẩn MVC)
Chi phí bản quyền Không đáng kể Miễn phí (GPL) Tối ưu chi phí đầu tư ban đầu

Phân loại yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc): Quản trị Cơ cấu tổ chức cây phân cấp; Quản lý hồ sơ nhân viên và HĐLĐ; Bảng hệ số lương Ngạch - Bậc; Phân hệ Giờ dạy chuẩn & Hệ số giáo viên; Báo cáo lương chi tiết.
  • Should have (Nên có): Quản lý quy trình Tuyển dụng & Ứng viên; Quản lý Lý lịch khoa học (CTNC, DANC); Quản lý quá trình đào tạo và kỹ năng.
  • Could have (Có thể có): Export báo cáo định dạng PDF/Excel chuẩn mẫu quy định của Bộ Giáo dục và Đào tạo.
  • Won't have (Chưa làm trong giai đoạn này): Tích hợp máy chấm công nhận diện khuôn mặt; Ứng dụng di động Native iOS/Android.

Thiết kế hệ thống

Kiến trúc tổng thể (Architecture Design)

Hệ thống TLU-OrangeHRM được xây dựng theo mô hình 3 tầng (3-Tier MVC Pattern), đảm bảo tính module hóa và dễ bảo trì:

  • Presentation Layer (Giao diện): Sử dụng HTML5, CSS3, JavaScript, jQuery và hệ thống Smarty Template / Symfony View helpers để hiển thị giao diện tương tác người dùng.
  • Business Logic Layer (Tầng xử lý nghiệp vụ): Các Controller, Service classes và Form classes của PHP chịu trách nhiệm kiểm tra ràng buộc (Validation), xử lý logic tính toán ngạch bậc, tính lương và phân quyền người dùng.
  • Data Access Layer (Tầng dữ liệu): Sử dụng PDO / Doctrine ORM để tương tác với Cơ sở dữ liệu quan hệ MySQL, đảm bảo toàn vẹn dữ liệu thông qua Transaction và Foreign Key constraints.
       +-----------------------------------------------------------------+
       |                  CLIENT / BROWSER (UI / UX)                     |
       |         HTML5 / CSS3 / JavaScript (jQuery) / Web Forms          |
       +-----------------------------------------------------------------+
                                      |  (HTTP/HTTPS Requests)
                                      v
       +-----------------------------------------------------------------+
       |                 WEB SERVER (Apache 2.2 / PHP 5.3)               |
       |  +-----------------------------------------------------------+  |
       |  |                   CONTROLLER LAYER                        |  |
       |  |  AdminController | EmpController | PayrollController      |  |
       |  +-----------------------------------------------------------+  |
       |                              |                                  |
       |  +-----------------------------------------------------------+  |
       |  |                    SERVICE / BUSINESS LAYER               |  |
       |  |  SalaryCalculatorService | ScientificCVService            |  |
       |  |  OrgStructureService     | RecruitmentService             |  |
       |  +-----------------------------------------------------------+  |
       +-----------------------------------------------------------------+
                                      |  (PDO / SQL Queries)
                                      v
       +-----------------------------------------------------------------+
       |                   DATABASE LAYER (MySQL 5.5)                    |
       |  hs_hr_employee | hs_hr_emp_salary | tlu_salary_coefficient  |
       |  tlu_teaching_load | tlu_scientific_cv | hs_hr_job_title     |
       +-----------------------------------------------------------------+

Bảng công nghệ và phiên bản (Technology Stack)

Thành phần Công nghệ / Thư viện Phiên bản Mục đích sử dụng
Hệ điều hành Server Linux (Ubuntu Server / CentOS) 12.04 LTS / 6.5 Môi trường lưu trữ và thực thi máy chủ
Web Server Apache HTTP Server 2.2.x Điều hướng và xử lý request HTTP
Ngôn ngữ lập trình PHP 5.3.x+ Xử lý logic backend và MVC framework
Cơ sở dữ liệu MySQL Server 5.5.x Lưu trữ dữ liệu quan hệ (InnoDB engine)
Nền tảng Core OrangeHRM Core Engine 3.0.1 Khung quản trị nhân sự cơ sở
Frontend Framework jQuery, jQuery UI 1.7.x / 1.8.x Thao tác DOM, AJAX và hiệu ứng giao diện

Thiết kế cơ sở dữ liệu (Database Design)

Cơ sở dữ liệu của TLU-OrangeHRM bao gồm hệ thống bảng chuẩn của OrangeHRM kết hợp các bảng mở rộng mang tiền tố nghiệp vụ giáo dục:

-- Bảng lưu trữ cấu hình Bảng hệ số lương theo Ngạch và Bậc
CREATE TABLE `tlu_salary_coefficient` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `salary_grade_id` INT(11) NOT NULL COMMENT 'Mã ngạch lương',
  `salary_step_id` INT(11) NOT NULL COMMENT 'Mã bậc lương',
  `coefficient` DECIMAL(4,2) NOT NULL COMMENT 'Hệ số lương',
  `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_grade_step` (`salary_grade_id`, `salary_step_id`),
  CONSTRAINT `fk_sal_grade` FOREIGN KEY (`salary_grade_id`) REFERENCES `hs_hr_salary_grade` (`sal_grd_code`) ON DELETE CASCADE,
  CONSTRAINT `fk_sal_step` FOREIGN KEY (`salary_step_id`) REFERENCES `tlu_salary_step` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- Bảng quản lý giờ dạy chuẩn và tính lương giảng viên
CREATE TABLE `tlu_teaching_load` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `emp_number` INT(11) NOT NULL COMMENT 'Mã số nhân viên/giảng viên',
  `academic_year` VARCHAR(20) NOT NULL COMMENT 'Năm học',
  `standard_hours` DECIMAL(6,2) NOT NULL COMMENT 'Giờ dạy chuẩn',
  `actual_hours` DECIMAL(6,2) NOT NULL COMMENT 'Giờ dạy thực tế',
  `teacher_coefficient` DECIMAL(4,2) NOT NULL COMMENT 'Hệ số giáo viên',
  `hourly_rate` DECIMAL(12,2) NOT NULL COMMENT 'Đơn giá giờ dạy',
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_teach_emp` FOREIGN KEY (`emp_number`) REFERENCES `hs_hr_employee` (`emp_number`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- Bảng lưu trữ công trình và dự án nghiên cứu khoa học
CREATE TABLE `tlu_scientific_cv` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `emp_number` INT(11) NOT NULL,
  `project_name` VARCHAR(255) NOT NULL COMMENT 'Tên công trình/Dự án nghiên cứu',
  `project_type` ENUM('CTNC', 'DANC') NOT NULL COMMENT 'CTNC: Công trình NC, DANC: Dự án NC',
  `role` VARCHAR(100) NOT NULL COMMENT 'Chủ nhiệm/Thành viên',
  `published_year` INT(4) NOT NULL,
  `result_rating` VARCHAR(50) DEFAULT NULL COMMENT 'Kết quả nghiệm thu',
  PRIMARY KEY (`id`),
  CONSTRAINT `fk_sci_emp` FOREIGN KEY (`emp_number`) REFERENCES `hs_hr_employee` (`emp_number`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Methodology

  • Quy trình phát triển: Áp dụng mô hình phát triển phần mềm lặp (Iterative Software Development Lifecycle). Quy trình phân chia thành 4 giai đoạn cụ thể:

    1. Khảo sát hiện trạng & Thu thập yêu cầu: Phân tích nghiệp vụ tại Phòng HCTH và các Khoa.
    2. Mô hình hóa và Thiết kế: Xây dựng Use Case Diagrams, Class Diagrams, Sequence Diagrams và thiết kế CSDL (EER).
    3. Tùy biến & Lập trình phân hệ: Viết mã nguồn mở rộng trên OrangeHRM.
    4. Kiểm thử, Tích hợp & Đóng gói: Thực hiện Unit Test, Integration Test và User Acceptance Test (UAT).
  • Đánh giá rủi ro và biện pháp giảm thiểu:

    • Rủi ro tương thích mã nguồn: Việc can thiệp trực tiếp vào mã nguồn OrangeHRM có thể gây xung đột khi nâng cấp core. Giải pháp: Sử dụng kiến trúc module độc lập, tách biệt các table tùy biến bằng prefix tlu_ và mở rộng các class Service thay vì sửa đổi file core.
    • Rủi ro toàn vẹn dữ liệu khi nhập liệu: Cán bộ nhập sai định dạng hệ số. Giải pháp: Ràng buộc chặt chẽ từ tầng Client (JavaScript validation) đến tầng Controller (PHP form validators) và tầng Database (Constraints & Data types).

Implementation và kết quả

Development process

Quá trình phát triển tập trung vào việc hiện thực hóa 19 Use Cases chính, trong đó nổi bật là cơ chế tính toán lương và quản trị hồ sơ khoa học. Dưới đây là thuật toán tính lương chi tiết cho giảng viên, tích hợp giữa lương ngạch bậc và thù lao vượt giờ dạy chuẩn:

$$\text{Tổng Lương} = (\text{Lương Cơ Sở} \times \text{Hệ Số Lương}) + \text{Phụ Cấp} + [(\text{Giờ Thực Dạy} - \text{Giờ Chuẩn}) \times \text{Hệ Số GV} \times \text{Đơn Giá Giờ}] - \text{Khấu Trừ}$$

<?php
/**
 * Class TluSalaryCalculatorService
 * Xử lý logic tính toán bảng lương chi tiết cho Cán bộ - Giảng viên TLU
 */
class TluSalaryCalculatorService {
    
    /**
     * Tính toán tổng thu nhập thực lĩnh cho nhân sự
     * @param int $empNumber Mã định danh nhân sự
     * @param float $baseSalary Mức lương cơ sở
     * @return array Kết quả chi tiết các thành phần lương
     */
    public function calculateMonthlySalary($empNumber, $baseSalary) {
        $db = Doctrine_Manager::connection();
        
        // 1. Lấy thông tin hệ số lương ngạch/bậc hiện tại
        $sqlGrade = "SELECT sc.coefficient, g.name AS grade_name, s.step_name 
                     FROM hs_hr_emp_salary es
                     JOIN tlu_salary_coefficient sc ON es.sal_grd_code = sc.salary_grade_id AND es.step_id = sc.salary_step_id
                     JOIN hs_hr_salary_grade g ON g.sal_grd_code = sc.salary_grade_id
                     JOIN tlu_salary_step s ON s.id = sc.salary_step_id
                     WHERE es.emp_number = :emp_id LIMIT 1";
        $stmtGrade = $db->prepare($sqlGrade);
        $stmtGrade->execute(array(':emp_id' => $empNumber));
        $gradeInfo = $stmtGrade->fetch(PDO::FETCH_ASSOC);
        
        $coefficient = $gradeInfo ? (float)$gradeInfo['coefficient'] : 1.0;
        $basicCalculatedSalary = $baseSalary * $coefficient;
        
        // 2. Lấy dữ liệu giờ dạy và hệ số giáo viên
        $sqlTeaching = "SELECT standard_hours, actual_hours, teacher_coefficient, hourly_rate 
                        FROM tlu_teaching_load 
                        WHERE emp_number = :emp_id ORDER BY id DESC LIMIT 1";
        $stmtTeaching = $db->prepare($sqlTeaching);
        $stmtTeaching->execute(array(':emp_id' => $empNumber));
        $teachInfo = $stmtTeaching->fetch(PDO::FETCH_ASSOC);
        
        $teachingIncome = 0.0;
        if ($teachInfo) {
            $overtimeHours = max(0, $teachInfo['actual_hours'] - $teachInfo['standard_hours']);
            $teachingIncome = $overtimeHours * $teachInfo['teacher_coefficient'] * $teachInfo['hourly_rate'];
        }
        
        // 3. Tổng hợp thành phần thu nhập & khấu trừ
        $sqlComponents = "SELECT component_type, value_type, amount 
                          FROM tlu_emp_salary_component 
                          WHERE emp_number = :emp_id";
        $stmtComp = $db->prepare($sqlComponents);
        $stmtComp->execute(array(':emp_id' => $empNumber));
        $components = $stmtComp->fetchAll(PDO::FETCH_ASSOC);
        
        $allowance = 0.0;
        $deduction = 0.0;
        foreach ($components as $comp) {
            $val = (float)$comp['amount'];
            if ($comp['value_type'] === 'PERCENTAGE') {
                $val = ($basicCalculatedSalary * $val) / 100.0;
            }
            
            if ($comp['component_type'] === 'EARNING') {
                $allowance += $val;
            } else {
                $deduction += $val;
            }
        }
        
        $netSalary = $basicCalculatedSalary + $teachingIncome + $allowance - $deduction;
        
        return array(
            'emp_number'            => $empNumber,
            'base_salary'           => $baseSalary,
            'coefficient'           => $coefficient,
            'basic_salary'          => $basicCalculatedSalary,
            'teaching_income'       => $teachingIncome,
            'allowances'            => $allowance,
            'deductions'            => $deduction,
            'net_salary'            => $netSalary
        );
    }
}

Testing và validation

Quá trình kiểm thử được tiến hành trên môi trường mô phỏng dữ liệu 500 nhân sự thực tế tại trường:

Loại kiểm thử Kịch bản / Module kiểm thử Số test case Đạt (Passed) Tỷ lệ thành công
Unit Testing Kiểm tra ràng buộc Form & Validation Logic 65 65 100%
Unit Testing Thuật toán tính lương và hệ số ngạch bậc 40 40 100%
Integration Test Liên kết Module Nhân sự - HĐLĐ - Lương 25 25 100%
UAT (User Acceptance) Kiểm tra trải nghiệm người dùng Phòng HCTH 12 12 100%
Tổng cộng Toàn hệ thống 142 142 100%

Benchmarks hiệu năng hệ thống

  • Thời gian phản hồi trang danh sách nhân sự (500 records): $280 \text{ ms}$.
  • Thời gian xuất báo cáo lương tổng hợp toàn trường (PDF/Excel): $1.85 \text{ giây}$.
  • Tải đồng thời (Concurrency Test): Đạt 150 kết nối đồng thời với CPU Server tiêu thụ $< 45%$, RAM tiêu thụ $< 512 \text{ MB}$.

Kết quả đạt được

Hệ thống đã triển khai đầy đủ 100% các tính năng theo mục tiêu thiết kế ban đầu:

[100%] Hoàn thành Phân hệ Cơ cấu tổ chức (Org Tree Navigation)
[100%] Hoàn thành Phân hệ Quản lý Chức vụ & Hợp đồng lao động (HĐLĐ)
[100%] Hoàn thành Phân hệ Ngạch - Bậc - Bảng hệ số lương chuẩn
[100%] Hoàn thành Phân hệ Tính thù lao Giờ dạy chuẩn & Hệ số giáo viên
[100%] Hoàn thành Phân hệ Quản lý Hồ sơ Khoa học (CTNC & DANC)
[100%] Hoàn thành Phân hệ Báo cáo, Thống kê Lương & Nhân sự động

Đổi mới và đóng góp

  1. Học thuật hóa phần mềm HRM doanh nghiệp: Đây là một trong những công trình tiên phong tại Việt Nam tùy biến thành công mã nguồn mở OrangeHRM để phục vụ trực tiếp cho mô hình quản trị trường đại học, xóa bỏ khoảng cách giữa phần mềm HRM doanh nghiệp thuần túy và hệ thống quản trị nhân sự giáo dục.
  2. Cơ chế tính lương kép (Dual-Engine Salary Calculation): Tích hợp song song quy tắc tính lương hành chính công vụ (Ngạch/Bậc/Hệ số lương cơ sở theo chuẩn CC-VC) với quy tắc tính thù lao giảng dạy theo tín chỉ/giờ dạy chuẩn của mô hình đại học ngoài công lập.
  3. Module hóa quản lý năng lực học thuật: Bổ sung cấu trúc dữ liệu theo dõi toàn diện Lý lịch khoa học, các công trình nghiên cứu (CTNC), dự án nghiên cứu (DANC) và bằng cấp/chứng chỉ/ngoại ngữ, giúp Nhà trường dễ dàng trích xuất hồ sơ phục vụ kiểm định chất lượng và bổ nhiệm chức danh học thuật.
  4. Nâng cao hiệu suất vận hành: Cải thiện 75% tốc độ xử lý hồ sơ nhân sự và giảm 90% thời gian tạo lập báo cáo thống kê định kỳ cho Ban Giám hiệu.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-World Scenarios)

  • Kịch bản 1 - Quyết toán lương cuối kỳ: Khi kết thúc học kỳ, Phòng Đào tạo chuyển dữ liệu giờ giảng sang Phòng HCTH. Cán bộ HCTH chỉ cần cấu hình giờ dạy chuẩn và hệ số giảng viên vào TLU-OrangeHRM, hệ thống tự động sinh bảng tổng hợp lương chi tiết và báo cáo thuế/bảo hiểm cho toàn bộ hơn 300 giảng viên chỉ sau 1 cú nhấp chuột.
  • Kịch bản 2 - Khai báo hồ sơ kiểm định chất lượng: Khi thực hiện kiểm định giáo dục, cán bộ quản trị trích xuất toàn bộ danh mục CTNC, DANC và trình độ học vị của cán bộ toàn trường thành file báo cáo chuẩn hóa chỉ trong 30 giây thay vì phải yêu cầu từng khoa nộp lại bản cứng.

Yêu cầu cấu hình triển khai hệ thống (System Requirements)

+-------------------------------------------------------------------------------+
|                       YÊU CẦU CẤU HÌNH PHẦN CỨNG & PHẦN MỀM                   |
+-------------------------------------------------------------------------------+
| Thành phần       | Cấu hình tối thiểu (Min)       | Cấu hình khuyến nghị (Rec)|
+------------------+--------------------------------+---------------------------+
| CPU              | Dual-Core 2.0 GHz              | Quad-Core Intel Xeon      |
| RAM              | 2 GB RAM                       | 8 GB RAM                  |
| Ổ cứng (Disk)    | 40 GB HDD                      | 120 GB SSD (Enterprise)   |
| Mạng (Network)   | 100 Mbps Ethernet              | 1 Gbps High-speed LAN     |
| Môi trường OS    | Ubuntu Server 12.04 / CentOS 6 | Ubuntu Server LTS         |
| Web Server / PHP | Apache 2.2 / PHP 5.3+          | Apache 2.4 / PHP 5.6+     |
| Database         | MySQL 5.5 (InnoDB)             | MySQL 5.6+ / MariaDB 10+  |
+-------------------------------------------------------------------------------+

Phân tích chi phí - lợi ích (ROI Breakdown)

  • Chi phí đầu tư: 0 VNĐ tiền bản quyền phần mềm (sử dụng mã nguồn mở). Chi phí tập trung vào nhân công phát triển, máy chủ nội bộ và công tác đào tạo người dùng.
  • Tiết kiệm chi phí vận hành: Tiết kiệm ước tính hơn 120 triệu VNĐ/năm chi phí in ấn giấy tờ, biểu mẫu và 300+ giờ làm việc hành chính của cán bộ quản lý nhân sự.
  • Thời gian hoàn vốn (ROI): Đạt điểm hòa vốn và sinh lợi hiệu quả chỉ sau 4-6 tháng vận hành chính thức.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Môi trường công nghệ: Hệ thống được xây dựng trên nền tảng PHP 5.3 và OrangeHRM thế hệ cũ, cần nâng cấp lên các phiên bản PHP 7.x/8.x và Laravel Framework hiện đại để nâng cao bảo mật và hiệu năng.
  • Thiếu API RESTful chuẩn hóa: Việc trao đổi dữ liệu với Hệ thống Quản lý Đào tạo (TLU-SIS) và Cổng thông tin sinh viên hiện tại vẫn phải thực hiện qua import/export file trung gian hoặc truy vấn SQL trực tiếp.
  • Giao diện di động (Mobile UI): Giao diện web chưa hỗ trợ Responsive toàn diện trên các thiết bị màn hình nhỏ (Smartphone/Tablet).

Hướng phát triển trong tương lai

  1. Xây dựng RESTful API Gateway để kết nối trực tiếp hai chiều với Cổng thông tin đào tạo tín chỉ và hệ thống máy chấm công sinh trắc học vân tay.
  2. Xây dựng Mobile App (iOS/Android) cho giảng viên: Tra cứu phiếu lương điện tử (Payslip), đăng ký nghỉ phép trực tuyến và cập nhật đề tài nghiên cứu khoa học ngay trên điện thoại.
  3. Ứng dụng phân tích dữ liệu (HR Analytics): Dự báo biến động nhân sự, đánh giá KPI giảng dạy và nghiên cứu tự động.

Đối tượng hưởng lợi

  • Sinh viên & Học viên ngành CNTT: Tài liệu tham khảo mẫu mực về quy trình phân tích thiết kế hệ thống (OOAD), biểu đồ Use Case, Class, Sequence và phương pháp tùy biến hệ thống mã nguồn mở quy mô doanh nghiệp.
  • Lập trình viên / Kỹ sư phần mềm: Cung cấp giải pháp kiến trúc thực tế về cách tổ chức cơ sở dữ liệu quan hệ (RDBMS), xử lý bài toán ngạch bậc lương phức tạp và kỹ thuật kế thừa trong PHP MVC.
  • Trường Đại học / Doanh nghiệp giáo dục: Sở hữu một mô hình giải pháp phần mềm quản trị nhân sự tối ưu, sẵn sàng áp dụng vào thực tế mà không tốn chi phí mua bản quyền thương mại đắt đỏ từ nước ngoài.
  • Nhà nghiên cứu / Giảng viên: Cung cấp phương pháp số hóa dữ liệu học thuật, chuẩn hóa quản lý công trình nghiên cứu khoa học và minh bạch hóa cơ chế tính thù lao giảng dạy.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu máy chủ chạy hệ điều hành Linux (CentOS/Ubuntu) hoặc Windows Server, cài đặt gói ứng dụng LAMP/WAMP Stack gồm Apache 2.2+, PHP 5.3+ (bật các extension pdo_mysql, curl, gd, mbstring) và MySQL Server 5.5+ với engine InnoDB.

2. Hệ thống có khả năng đáp ứng quy mô mở rộng (Scalability) như thế nào?

Hệ thống lưu trữ dữ liệu tập trung trên MySQL chuẩn hóa 3NF có đánh index tối ưu. Với quy mô của một trường đại học từ 500 đến 3.000 cán bộ - giảng viên và hàng chục nghìn lượt tính toán giờ dạy mỗi năm, hệ thống hoàn toàn đảm bảo tốc độ phản hồi $< 1 \text{ giây}$ mà không cần nâng cấp hạ tầng phức tạp.

3. TLU-OrangeHRM có thể tích hợp với các phần mềm quản lý đào tạo khác không?

Có. Cơ sở dữ liệu MySQL sử dụng cấu trúc khóa ngoại rõ ràng. Hệ thống có thể tích hợp thông qua việc viết thêm các RESTful API endpoints hoặc tạo các Trigger/View đồng bộ dữ liệu với phần mềm quản lý đào tạo, cổng thông tin giảng viên.

4. Chi phí bảo trì và vận hành hệ thống định kỳ gồm những gì?

Do phát triển trên mã nguồn mở, hệ thống không tốn phí duy trì bản quyền hàng năm. Chi phí duy nhất là duy trì máy chủ nội bộ (hoặc thuê Cloud VPS) và nhân sự quản trị hệ thống thực hiện sao lưu (Backup) cơ sở dữ liệu định kỳ qua mysqldump.

5. Khả năng bảo mật thông tin lương và dữ liệu cá nhân được đảm bảo ra sao?

TLU-OrangeHRM áp dụng cơ chế phân quyền RBAC (Role-Based Access Control) nghiêm ngặt. Chỉ tài khoản thuộc nhóm Quản trị Phòng HCTH mới có quyền truy cập module lương và hồ sơ gốc; giảng viên chỉ có thể xem thông tin cá nhân và phiếu lương của chính mình. Toàn bộ mật khẩu được băm (hash) một chiều an toàn và hệ thống có cơ chế phòng chống tấn công SQL Injection thông qua Prepared Statements.


Kết luận

Đồ án tốt nghiệp "Xây dựng hệ thống Quản lý thông tin nhân sự TLU-OrangeHRM" của sinh viên Đinh Hoàng Nghĩa đã giải quyết triệt để bài toán tin học hóa quản trị nhân sự tại Trường Đại học Thăng Long. Bằng cách kết hợp linh hoạt giữa nền tảng mã nguồn mở quốc tế vững chắc và nghiệp vụ giáo dục đại học đặc thù tại Việt Nam, đề tài không chỉ đạt được tính hoàn thiện cao về mặt kỹ thuật công nghệ thông tin mà còn mang lại giá trị ứng dụng thực tiễn to lớn, nâng cao năng suất quản lý và chuẩn hóa dữ liệu học thuật cho nhà trường.