Giới thiệu dự án

Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0 và xu hướng chuyển đổi số doanh nghiệp, việc tối ưu hóa công tác quản trị nguồn nhân lực (Human Resource Management - HRM) đóng vai trò sống còn đối với năng suất và năng lực cạnh tranh. Theo thống kê quản trị doanh nghiệp, các giải pháp số hóa quy trình có thể giúp doanh nghiệp tăng 32% doanh thu, cải thiện 32% tỷ lệ chốt hợp đồng và nâng cao 40% năng suất làm việc tổng thể. Tuy nhiên, khâu ghi nhận và quản trị thời gian làm việc (chấm công) tại nhiều doanh nghiệp công nghệ vừa và nhỏ (SME) vẫn còn đối mặt với nhiều rào cản nghiêm trọng.

Đề tài "Phân tích thiết kế ứng dụng chấm công cho Công ty Cổ phần Giải pháp và Công nghệ CRMVIET" (thực hiện bởi sinh viên Nguyễn Thị Hồng Trang, Khoa Hệ thống Thông tin Kinh tế và Thương mại Điện tử – Trường Đại học Thương Mại, dưới sự hướng dẫn của ThS. Trần Thị Nhung) tập trung giải quyết bài toán tự động hóa quy trình quản lý thời gian làm việc cho quy mô 20–50 nhân sự và định hướng mở rộng linh hoạt.

+-----------------------------------------------------------------------------------+
|                              VẤN ĐỀ CỐT LÕI (PAIN POINTS)                         |
+-----------------------------------------------------------------------------------+
| 1. Ràng buộc không gian: Máy chấm công cố định (vân tay/thẻ từ) không hỗ trợ WFH  |
|    hoặc nhân sự đi thị trường/gặp đối tác.                                        |
| 2. Quy trình đơn từ rời rạc: Đơn xin nghỉ phép, đi muộn, làm ngoài giờ bị chậm trễ|
| 3. Sai lệch tổng hợp: Tốn từ 2 - 3 ngày làm việc cuối tháng để đối soát dữ liệu.  |
+-----------------------------------------------------------------------------------+

Mục tiêu nghiên cứu cụ thể

  1. Mục tiêu 1: Hệ thống hóa cơ sở lý thuyết về phân tích thiết kế hệ thống thông tin (HTTT) theo phương pháp hướng đối tượng (OOAD) sử dụng chuẩn mô hình hóa UML (Unified Modeling Language).
  2. Mục tiêu 2: Khảo sát, đánh giá hiện trạng hạ tầng công nghệ thông tin (CNTT) và quy trình chấm công thực tế tại CRMVIET.
  3. Mục tiêu 3: Xây dựng mô hình nghiệp vụ chi tiết, thiết kế kiến trúc hệ thống, mô hình dữ liệu quan hệ và giao diện người dùng (UI/UX) cho ứng dụng di động "Employee Check-In".

Phạm vi và giới hạn dự án

  • Đối tượng nghiên cứu: Hoạt động quản lý chấm công, quy trình duyệt đơn từ và tổng hợp công nhật tại Công ty Cổ phần Giải pháp và Công nghệ CRMVIET.
  • Phạm vi triển khai: Ứng dụng chạy trên thiết bị di động (hệ điều hành Android 10+ và iOS 13+), kết nối hệ thống máy chủ ứng dụng và cơ sở dữ liệu (CSDL) nội bộ qua môi trường mạng LAN/Internet.
  • Kết quả đo lường kỳ vọng: Cắt giảm 100% thời gian chờ đợi tại cửa ra vào, giảm thời gian xử lý đơn từ từ 48 giờ xuống dưới 5 phút, độ chính xác đối soát dữ liệu công đạt 99.9%.

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

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

Tại CRMVIET, việc sử dụng máy chấm công sinh trắc học cố định kết hợp bảng tính Excel bộc lộ các bất cập lớn khi áp dụng mô hình làm việc linh hoạt (Hybrid/WFH).

Hình thức chấm công Cơ chế vận hành Ưu điểm Nhược điểm & Rủi ro
Thẻ từ RFID Quét dải từ/chip sóng radio Chi phí thiết bị rẻ, dễ tích hợp Dễ chấm công hộ, quên/mất thẻ, phát sinh chi phí in ấn
Vân tay sinh trắc So khớp mẫu vân tay quang học Độ chính xác cao, bảo mật tốt Ùn tắc giờ cao điểm (3.79s/người), mòn vân tay, không hỗ trợ WFH
Nhận diện khuôn mặt Camera AI Face Matching Tránh tiếp xúc, độ chính xác cao Chi phí đầu tư phần cứng đắt đỏ, độ trễ xử lý tăng theo lượng user
App Check-In (Đề xuất) GPS Định vị + Wi-Fi SSID Validation Linh hoạt WFH, phê duyệt đơn tức thì, chi phí triển khai thấp Yêu cầu kết nối Internet, phụ thuộc pin và GPS của thiết bị

Phân loại yêu cầu người dùng theo ma trận MoSCoW

  • Must Have (Bắt buộc): Đăng nhập an toàn; Check-in/Check-out kèm tọa độ GPS; Quản lý bảng công cá nhân; Tạo và duyệt đơn (nghỉ phép, đi muộn/về sớm, WFH, bổ sung công).
  • Should Have (Nên có): Thống kê trực quan số công trong tháng; Lọc dữ liệu chấm công theo thời gian/phòng ban; Xuất báo cáo định dạng Excel/PDF.
  • Could Have (Có thể có): Chấm công qua quét mã QR động; Thông báo đẩy (Push Notification) khi đơn được duyệt.
  • Won't Have (Chưa ưu tiên): Tự động tính lương chi tiết theo bậc thuế; Tích hợp cổng thanh toán ngân hàng.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình kiến trúc phân tầng Client-Server (3-Tier Architecture) đảm bảo tính mở rộng và bảo mật.

+-------------------------------------------------------------------+
|                        PRESENTATION LAYER                         |
|   +--------------------------------+   +----------------------+   |
|   |  Employee Check-In Mobile App  |   | Hardware Timekeeper  |   |
|   |       (iOS / Android)          |   |  (Fingerprint/RFID)  |   |
|   +--------------------------------+   +----------------------+   |
+----------------------------------|--------------------------------+
                                   | REST API / TCP/IP
+----------------------------------v--------------------------------+
|                        APPLICATION SERVER                         |
|   +-----------------------------------------------------------+   |
|   |  Business Logic Layer (Node.js/Express hoặc ASP.NET Core)  |   |
|   |  - Authentication Controller (JWT Token Engine)           |   |
|   |  - Attendance Processor (Geofencing Validation)           |   |
|   |  - Request Workflow Engine (Leave/Overtime Processing)    |   |
|   +-----------------------------------------------------------+   |
+----------------------------------|--------------------------------+
                                   | TCP/IP (Port 1433/3306)
+----------------------------------v--------------------------------+
|                          DATABASE SERVER                          |
|   +-----------------------------------------------------------+   |
|   |  Relational Database Management System (SQL Server / MySQL)|   |
|   |  [NHANVIEN] <1:N> [BANGCONG] <1:N> [CHITIETBANGCONG]      |   |
|   |  [NHANVIEN] <1:N> [DON]      <1:N> [CHITIETDON]           |   |
|   +-----------------------------------------------------------+   |
+-------------------------------------------------------------------+

Thiết kế cơ sở dữ liệu quan hệ (Relational Database Schema)

Hệ thống quản lý 5 thực thể chính với các ràng buộc khóa ngoại (Foreign Key) chặt chẽ:

-- 1. Bảng Nhân viên (User Entity)
CREATE TABLE NHANVIEN (
    IDNV VARCHAR(20) PRIMARY KEY,
    HoTen NVARCHAR(100) NOT NULL,
    GioiTinh NVARCHAR(10),
    NgaySinh DATE,
    Diachi NVARCHAR(255),
    Sodienthoai VARCHAR(15),
    Email VARCHAR(100) UNIQUE,
    Anh_DD VARCHAR(255),
    ChucVu NVARCHAR(50),
    Matkhau VARCHAR(255) NOT NULL,
    MaST VARCHAR(20)
);

-- 2. Bảng Bảng công (Monthly Timesheet)
CREATE TABLE BANGCONG (
    IDBangcong VARCHAR(20) PRIMARY KEY,
    IDNV VARCHAR(20) FOREIGN KEY REFERENCES NHANVIEN(IDNV),
    Tenbangcong NVARCHAR(100),
    XNCong NVARCHAR(50),
    ThoiGianXN DATETIME
);

-- 3. Bảng Chi tiết bảng công (Daily Attendance Log)
CREATE TABLE CHITIETBANGCONG (
    IDBangcong VARCHAR(20) FOREIGN KEY REFERENCES BANGCONG(IDBangcong),
    IDNV VARCHAR(20) FOREIGN KEY REFERENCES NHANVIEN(IDNV),
    Ngay INT, Thang INT, Nam INT,
    TGianVao TIME,
    TGianRa TIME,
    NguoiSuaCong VARCHAR(20),
    ThoiGianSua DATETIME,
    PRIMARY KEY (IDBangcong, IDNV, Ngay, Thang, Nam)
);

-- 4. Bảng Đơn từ (Application Requests)
CREATE TABLE DON (
    IDDon VARCHAR(20) PRIMARY KEY,
    Loai NVARCHAR(50) NOT NULL,
    NguoiTaoDon VARCHAR(20) FOREIGN KEY REFERENCES NHANVIEN(IDNV),
    TGTao DATETIME DEFAULT GETDATE(),
    TGSua DATETIME,
    TGHuy DATETIME
);

-- 5. Bảng Chi tiết đơn (Application Details & Approval Workflow)
CREATE TABLE CHITIETDON (
    IDDon VARCHAR(20) PRIMARY KEY FOREIGN KEY REFERENCES DON(IDDon),
    IDNV VARCHAR(20) FOREIGN KEY REFERENCES NHANVIEN(IDNV),
    NgayBD DATE, GioBD TIME,
    NgayKT DATE, GioKT TIME,
    LyDo NVARCHAR(MAX),
    TrangThai NVARCHAR(30) DEFAULT N'Chờ duyệt', -- Chờ duyệt / Đã duyệt / Từ chối
    NguoiDuyet VARCHAR(20) FOREIGN KEY REFERENCES NHANVIEN(IDNV),
    ThoiGianDuyet DATETIME
);

Thiết kế RESTful API tiêu chuẩn

### API Check-in Tọa độ Định vị GPS
POST /api/v1/attendance/check-in
Authorization: Bearer <jwt_token>
Content-Type: application/json

{
  "employee_id": "NV2023001",
  "timestamp": "2023-11-20T08:15:30Z",
  "latitude": 21.036237,
  "longitude": 105.790583,
  "wifi_bssid": "00:25:9c:cf:1e:4d",
  "device_id": "iPhone14,2-UUID"
}

### Response xác thực thành công
HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": "success",
  "code": 200,
  "message": "Check-in thành công đúng vị trí văn phòng",
  "data": {
    "log_id": "LOG_994821",
    "work_date": "2023-11-20",
    "check_in_time": "08:15:30",
    "is_valid_location": true,
    "distance_meters": 12.4
  }
}

Methodology

Dự án áp dụng phương pháp luận Phân tích thiết kế hướng đối tượng (OOAD) kết hợp mô hình phát triển phần mềm Agile/Scrum:

  • Quản lý rủi ro: Bảo mật thông tin vị trí cá nhân hóa bằng mã hóa truyền thông SSL/TLS 1.3; xác thực đa yếu tố chống giả mạo tọa độ (Fake GPS Detection).
  • Đảm bảo chất lượng (QA): Thực hiện kiểm thử hộp đen (Black-box Testing) theo kịch bản Use Case, kiểm thử API Endpoint và kiểm thử chấp nhận người dùng (UAT).
+----------------------------------------------------------------------------+
|                       LỘ TRÌNH TRIỂN KHAI (TIMELINE)                       |
+----------------------------------------------------------------------------+
| Giai đoạn 1: Khảo sát hiện trạng & Thu thập yêu cầu (27/09 - 15/10/2023)  |
| Giai đoạn 2: Phân tích nghiệp vụ & Thiết kế UML (16/10 - 05/11/2023)       |
| Giai đoạn 3: Thiết kế CSDL & Prototype giao diện UI/UX (06/11 - 18/11/2023)|
| Giai đoạn 4: Đánh giá thực nghiệm & Hoàn thiện báo cáo (19/11 - 24/11/2023)|
+----------------------------------------------------------------------------+

Implementation và kết quả

Development Process & Thuật toán cốt lõi

Quy trình xác thực vị trí check-in áp dụng công thức Haversine nhằm tính khoảng cách hình cầu giữa tọa độ thiết bị $(lat_1, lon_1)$ và tọa độ trụ sở công ty $(lat_2, lon_2)$ với bán kính cho phép $R_{allow} = 50\text{ m}$.

$$\Delta lat = lat_2 - lat_1, \quad \Delta lon = lon_2 - lon_1$$

$$a = \sin^2\left(\frac{\Delta lat}{2}\right) + \cos(lat_1) \cdot \cos(lat_2) \cdot \sin^2\left(\frac{\Delta lon}{2}\right)$$

$$d = 2 \cdot R_{earth} \cdot \arcsin\left(\sqrt{a}\right) \quad (\text{với } R_{earth} \approx 6,371,000\text{ m})$$

import math

def validate_geofence(user_lat, user_lon, office_lat=21.036237, office_lon=105.790583, max_radius=50.0):
    """
    Xác thực nhân viên có nằm trong bán kính geofence văn phòng hay không
    Độ phức tạp thuật toán: O(1)
    """
    R = 6371000.0  # Bán kính Trái Đất theo mét
    phi1 = math.radians(user_lat)
    phi2 = math.radians(office_lat)
    delta_phi = math.radians(office_lat - user_lat)
    delta_lambda = math.radians(office_lon - user_lon)
    
    a = (math.sin(delta_phi / 2.0) ** 2 + 
         math.cos(phi1) * math.cos(phi2) * math.sin(delta_lambda / 2.0) ** 2)
    c = 2.0 * math.atan2(math.sqrt(a), math.sqrt(1.0 - a))
    distance = R * c
    
    return {
        "is_valid": distance <= max_radius,
        "calculated_distance_m": round(distance, 2)
    }

Testing và validation

Quá trình kiểm thử được tiến hành trên tập dữ liệu mô phỏng hoạt động của 30 nhân sự tại CRMVIET.

+-------------------------------------------------------------------+
|                     KẾT QUẢ KIỂM THỬ TÍNH NĂNG                    |
+-------------------------------------------------------------------+
| Chức năng               | Kịch bản Test | Tỷ lệ Đạt | Kết quả     |
|-------------------------+---------------+-----------+-------------|
| Đăng nhập hệ thống      | 15 Test cases | 100%      | Thành công  |
| Check-in GPS Geofencing | 25 Test cases | 96%       | Lỗi lệch GPS|
| Quy trình Tạo - Duyệt đơn| 20 Test cases | 100%      | Khớp luồng  |
| Cập nhật & Lọc bảng công| 15 Test cases | 100%      | Chính xác   |
+-------------------------------------------------------------------+
  • Benchmark hiệu năng: Thời gian phản hồi trung bình của API đạt 180ms, tải đồng thời tối đa 500 requests/giây không gây nghẽn kết nối CSDL.
  • Tỷ lệ hài lòng người dùng (UAT): 93.3% nhân viên đánh giá giao diện trực quan, dễ thao tác; 100% phòng Hành chính - Nhân sự đồng thuận về tính minh bạch của bảng công.

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

  1. Số hóa toàn diện quy trình xử lý đơn từ: Loại bỏ hoàn toàn giấy tờ vật lý và tin nhắn chat rời rạc. Các loại đơn (Nghỉ phép, Đi muộn/Về sớm, WFH, Nghỉ giữa giờ, OT, Bổ sung công) được chuẩn hóa luồng phê duyệt 1 chạm.
  2. Loại bỏ điểm nghẽn vật lý: So với nghiên cứu của Abdoulrahmaine & Hassan (2016)Biometrics Attendance System (2018) vốn phụ thuộc vào phần cứng cố định (mất trung bình 3.79s/người quét vân tay), ứng dụng di động cho phép 100% nhân sự check-in song song cùng lúc, giảm thời gian chờ đợi về 0 giây.
  3. Minh bạch hóa dữ liệu chấm công: Nhân viên chủ động theo dõi thời gian vào/ra, số công thực tế và lịch sử duyệt đơn theo thời gian thực (Real-time tracking), loại bỏ hoàn toàn các khiếu nại sai lệch công cuối 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 - Nhân viên làm việc tại văn phòng: Mở app Employee Check-In, kết nối Wi-Fi công ty, bấm Check-in. Hệ thống tự động quét tọa độ và ghi nhận giờ vào ca chính xác đến từng giây.
  • Kịch bản 2 - Nhân sự đi công tác / WFH: Nhân viên tạo "Đơn làm việc ngoài công ty" kèm lý do. Trưởng bộ phận nhận thông báo, kiểm tra và phê duyệt trực tiếp trên thiết bị di động.
  • Kịch bản 3 - Đối soát công cuối tháng: Chuyên viên HR lọc dữ liệu bảng công toàn công ty, hệ thống tự động tổng hợp số lần đi muộn/về sớm và xuất báo cáo Excel chỉ trong 30 giây.
+---------------------------------------------------------------------+
|                  ƯỚC TÍNH CHI PHÍ VÀ HIỆU QUẢ ĐẦU TƯ (ROI)          |
+---------------------------------------------------------------------+
| - Chi phí phần cứng máy chấm công truyền thống:    15.000.000 VNĐ   |
| - Chi phí bảo trì, in ấn thẻ từ hàng năm:          5.000.000 VNĐ    |
| - Thời gian nhân sự tổng hợp bảng công mỗi tháng:  16 giờ công      |
|                                                                     |
| ==> Tiết kiệm sau khi số hóa bằng App Mobile:     ~25.000.000 VNĐ/năm|
| ==> Thời gian hoàn vốn đầu tư (ROI Payback):       < 3 tháng        |
+---------------------------------------------------------------------+

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

  • Hạn chế kỹ thuật hiện tại: Dữ liệu vị trí GPS đôi khi có sai số (từ 5–15m) tại các khu vực nhà cao tầng hoặc thời tiết xấu; ứng dụng mới tập trung vào tầng phân tích thiết kế, chưa tích hợp module tính lương động tự động (Payroll Engine).
  • Hướng nâng cấp tương lai:
    1. Tích hợp AI Face Recognition nhận diện khuôn mặt trực tiếp qua camera trước để tăng cường tính xác thực chống gian lận.
    2. Triển khai chấm công qua dynamic QR-Code hiển thị trên màn hình nội bộ văn phòng.
    3. Mở rộng API kết nối trực tiếp vào phân hệ quản trị khách hàng và ERP sẵn có của CRMVIET.

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

  • Sinh viên & Học viên chuyên ngành: Tham khảo tài liệu hoàn chỉnh về quy trình phân tích thiết kế hệ thống theo chuẩn UML, phương pháp xây dựng biểu đồ Use Case, Sequence và Activity.
  • Lập trình viên & Kiến trúc sư phần mềm: Ứng dụng mô hình CSDL quan hệ 3-lớp, thuật toán Geofencing Haversine và kiến trúc hệ thống Client-Server linh hoạt.
  • Doanh nghiệp & Nhà quản lý: Sở hữu giải pháp quản trị chấm công hiện đại, loại bỏ chi phí phần cứng, tối ưu hóa năng suất vận hành nhân sự.

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ì?

Máy chủ cài đặt SQL Server 2016+ (hoặc MySQL 8.0+), Node.js v16+ runtime; thiết bị di động của nhân viên chạy hệ điều hành iOS 12.0+ hoặc Android 8.0+ có kết nối Internet và GPS.

2. Hệ thống xử lý thế nào khi nhân viên gặp sự cố mất mạng hoặc thiết bị hết pin?

Nhân viên có thể sử dụng chức năng "Tạo đơn cập nhật công" sau khi có lại kết nối. Quản lý sẽ xác minh và phê duyệt bù trên hệ thống.

3. Làm thế nào để ngăn chặn tình trạng giả lập vị trí (Fake GPS)?

Ứng dụng kết hợp cơ chế kiểm tra chéo 3 lớp: Tọa độ GPS từ vệ tinh, địa chỉ BSSID của trạm phát Wi-Fi văn phòng và cờ trạng thái isMockLocation do hệ điều hành di động cung cấp.

4. Chi phí bảo trì hệ thống hàng tháng là bao nhiêu?

Hệ thống sử dụng hạ tầng máy chủ nội bộ hoặc Cloud mức cơ bản (chi phí ước tính từ 300.000 – 500.000 VNĐ/tháng), không mất phí bản quyền phần mềm định kỳ trên mỗi đầu nhân sự.


Kết luận

Đề tài "Phân tích thiết kế ứng dụng chấm công cho Công ty Cổ phần Giải pháp và Công nghệ CRMVIET" đã giải quyết triệt để bài toán quản trị nhân sự thực tế tại doanh nghiệp thông qua việc áp dụng chuẩn mực phương pháp luận OOAD và mô hình hóa UML. Kết quả nghiên cứu không chỉ mang lại giá trị học thuật xuất sắc cho chương trình đào tạo Hệ thống Thông tin Kinh tế mà còn chứng minh tính khả thi cao trong ứng dụng thực tiễn, tạo bước đệm vững chắc cho quá trình chuyển đổi số toàn diện tại các doanh nghiệp công nghệ tại Việt Nam.