Giới thiệu dự án

Trong kỷ nguyên số hóa giáo dục, nhu cầu đào tạo và khảo thí ngoại ngữ (Anh, Trung, Hàn, Nhật, Tây Ban Nha) tại Việt Nam tăng trưởng trung bình 18–22% mỗi năm. Tuy nhiên, việc vận hành tại các trung tâm đào tạo vừa và lớn đang đối mặt với bài toán nan giải: quản lý dữ liệu phân tán, xung đột lịch học - lịch thi, chậm trễ đối soát học phí và quy trình cấp chứng chỉ thủ công tốn nhiều nhân lực.

Đồ án "Hệ Thống Quản Lý Trung Tâm Ngoại Ngữ: Phân Tích Thiết Kế" được nghiên cứu và thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT), dưới sự hướng dẫn khoa học của ThS. Thái Thị Thanh Thảo. Đề tài tập trung giải quyết triệt để các nút thắt trong khâu vận hành đào tạo và tổ chức thi chứng chỉ thông qua mô hình phân tích thiết kế hệ thống phần mềm hướng đối tượng chuẩn hóa.

                  +-----------------------------------------+
                  |  HỆ THỐNG QUẢN LÝ TRUNG TÂM NGOẠI NGỮ   |
                  +--------------------+--------------------+
                                       |
        +------------------------------+------------------------------+
        |                              |                              |
+-------v-------+              +-------v-------+              +-------v-------+
|  HỌC VIÊN     |              |  GIẢNG VIÊN   |              | QUẢN TRỊ VIÊN |
| (Tra cứu/Thi) |              | (Chấm điểm)   |              | (Điều phối)   |
+---------------+              +---------------+              +---------------+

Mục tiêu dự án

  1. Chuẩn hóa nghiệp vụ: Xây dựng hệ thống 27 ca sử dụng (Use Cases từ UC01 đến UC27) bao phủ toàn bộ vòng đời học viên, giảng viên và quản trị viên.
  2. Thiết kế cơ sở dữ liệu quan hệ tối ưu: Xây dựng mô hình thực thể kết hợp (ERD) gồm 12 thực thể chuẩn hóa, loại bỏ dư thừa dữ liệu và đảm bảo toàn vẹn tham chiếu.
  3. Tự động hóa luồng thông tin: Tích hợp cơ chế tự động gửi email thông báo kết quả thi, xác nhận đăng ký khóa học, thông báo hủy/ghép lớp và biên lai thanh toán.
  4. Phân quyền truy cập đa cấp (RBAC): Thiết lập phân quyền chặt chẽ giữa Quản trị viên (Admin), Giảng viên (Instructor) và Học viên (Student).

Phạm vi và giới hạn hệ thống

  • Phạm vi: Tập trung vào công tác quản trị đào tạo, quản lý chi nhánh, phòng học, lịch thi, nhập điểm trực tuyến và cấp phát chứng chỉ số cho các trung tâm ngoại ngữ đa ngôn ngữ.
  • Giới hạn: Không bao gồm các hoạt động thương mại ngoài đào tạo; việc thanh toán trực tuyến được thiết kế theo luồng tích hợp cổng thanh toán bên thứ ba (Third-party Payment Gateway).

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

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

Nhiều cơ sở đào tạo hiện nay vẫn duy trì phương thức quản trị bán thủ công hoặc sử dụng các công cụ chưa được chuyên biệt hóa, dẫn đến nhiều bất cập trong vận hành:

Tiêu chí so sánh Quản lý thủ công (Excel/Drive) LMS phổ thông (Moodle) Hệ thống quản lý chuyên biệt (Đề xuất)
Quản lý đa chi nhánh Rất khó khăn, phân mảnh dữ liệu Hạn chế, cần cài đặt đa tầng Đồng bộ thời gian thực qua CHI_NHANH & PHONG_HOC
Tổ chức thi & Cấp chứng chỉ Thủ công 100%, dễ sai lệch số liệu Cần plugin phức tạp Tích hợp sẵn luồng KI_THI $\rightarrow$ KET_QUA $\rightarrow$ CHUNG_CHI
Xếp lịch & Điều phối GV Thường xuyên xung đột (Conflict 15-20%) Không tối ưu cho điều phối ca dạy Tự động hóa qua Use Case UC08 và ma trận ràng buộc
Chi phí triển khai Thấp Trung bình (Tốn phí bảo trì) Tối ưu, thiết kế module hóa dễ mở rộng

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must-have: Quản lý tài khoản và RBAC (UC18, UC19, UC25, UC26), Đăng ký ngôn ngữ và khóa học (UC02, UC12), Quản lý kỳ thi và nhập điểm (UC14, UC24), Thanh toán học phí trực tuyến (UC11).
  • Should-have: Sắp xếp giảng viên cho lớp học (UC08), Gửi email thông báo tự động (UC06, UC22), Giao bài tập và phản hồi (UC16, UC23).
  • Could-have: Báo cáo thống kê doanh thu và chỉ số tuyển sinh theo năm (UC27), Tư vấn trực tuyến (UC10).
  • Won't-have (Giai đoạn 1): Tích hợp nhận diện khuôn mặt điểm danh, công cụ chấm điểm AI tự động cho bài thi nói (Speaking).

Thiết kế hệ thống và CSDL

Hệ thống được thiết kế theo kiến trúc 3 tầng (3-Tier Architecture) phân tách độc lập: Tầng biểu diễn (Presentation Tier), Tầng logic nghiệp vụ (Business Logic Tier), và Tầng dữ liệu (Data Access Tier).

+-------------------------------------------------------------------+
|               TẦNG BIỂU DIỄN (Client Web/Wireframe)               |
|      [Trang chủ]  -  [Cổng Học Viên]  -  [Dashboard Quản Trị]    |
+---------------------------------+---------------------------------+
                                  | HTTP/REST API
+---------------------------------v---------------------------------+
|               TẦNG NGHIỆP VỤ (Application Server)                 |
|   Auth Controller | Exam Service | Schedule Engine | Mailer Core  |
+---------------------------------+---------------------------------+
                                  | ORM / SQL Engine
+---------------------------------v---------------------------------+
|               TẦNG DỮ LIỆU (Relational Database)                  |
|    12 Bảng Quan Hệ: HOC_VIEN, GIANG_VIEN, KI_THI, KET_QUA...      |
+-------------------------------------------------------------------+

Cấu trúc lược đồ dữ liệu quan hệ (12 Thực thể cốt lõi)

Mô hình dữ liệu được chuẩn hóa đạt chuẩn 3NF, bao gồm các bảng:

  1. CHI_NHANH (MaCN, TenCN, DiaChiCN)
  2. BO_PHAN (MaBP, TenBP, SoLuongNV)
  3. NHAN_VIEN (MaNV, TenNV, SoDT, MaCN, MaBP)
  4. GIANG_VIEN (MaGV, TenGV, SoDT, GioiTinh, Email, MaCN, MaPH)
  5. PHONG_HOC (MaPH, SoLuongHV, MaNN)
  6. NGON_NGU (MaNN, TenNN, MaKT, SoLuongPH, SoLuongSV)
  7. HOC_VIEN (MaHV, TenHV, SoDT, MaNN, MaKQ, MaPH, MaCC)
  8. KI_THI (MaKT, TenKT, MaLT)
  9. LICH_THI (MaLT, Time, CreatedDate)
  10. DIA_DIEM_THI (MaDDT, TenDDT, DiaChiDDT, MaKT)
  11. KET_QUA (MaKQ, MaKT, MaHV, MaCC, Diem, CreatedDate, MaNN)
  12. CHUNG_CHI (MaCC, MaKQ, CreatedDate, MaHV, MaNN)
-- Trích xuất lược đồ DDL cho các bảng nòng cốt
CREATE TABLE KI_THI (
    MaKT VARCHAR(10) NOT NULL PRIMARY KEY,
    TenKT VARCHAR(50) NOT NULL,
    MaLT VARCHAR(10) NOT NULL,
    CONSTRAINT FK_KiThi_LichThi FOREIGN KEY (MaLT) REFERENCES LICH_THI(MaLT)
);

CREATE TABLE KET_QUA (
    MaKQ VARCHAR(10) NOT NULL PRIMARY KEY,
    MaKT VARCHAR(10) NOT NULL,
    MaHV VARCHAR(10) NOT NULL,
    MaCC VARCHAR(10),
    Diem INT NOT NULL CHECK (Diem >= 0 AND Diem <= 100),
    CreatedDate DATETIME DEFAULT CURRENT_TIMESTAMP,
    MaNN VARCHAR(10) NOT NULL,
    CONSTRAINT FK_KetQua_KiThi FOREIGN KEY (MaKT) REFERENCES KI_THI(MaKT),
    CONSTRAINT FK_KetQua_HocVien FOREIGN KEY (MaHV) REFERENCES HOC_VIEN(MaHV),
    CONSTRAINT FK_KetQua_NgonNgu FOREIGN KEY (MaNN) REFERENCES NGON_NGU(MaNN)
);

CREATE TABLE CHUNG_CHI (
    MaCC VARCHAR(10) NOT NULL PRIMARY KEY,
    MaKQ VARCHAR(10) NOT NULL,
    CreatedDate DATETIME DEFAULT CURRENT_TIMESTAMP,
    MaHV VARCHAR(10) NOT NULL,
    MaNN VARCHAR(10) NOT NULL,
    CONSTRAINT FK_ChungChi_KetQua FOREIGN KEY (MaKQ) REFERENCES KET_QUA(MaKQ),
    CONSTRAINT FK_ChungChi_HocVien FOREIGN KEY (MaHV) REFERENCES HOC_VIEN(MaHV),
    CONSTRAINT FK_ChungChi_NgonNgu FOREIGN KEY (MaNN) REFERENCES NGON_NGU(MaNN)
);

Thiết kế giao diện lập trình ứng dụng (API Endpoints)

Method Endpoint Quyền truy cập Mô tả nghiệp vụ
POST /api/v1/auth/login Public Xác thực người dùng, trả về JWT Access Token
POST /api/v1/courses/register Học viên Đăng ký khóa học và ngôn ngữ đào tạo (UC12)
GET /api/v1/schedules/exam Học viên, GV Tra cứu lịch thi và địa điểm thi (UC15)
POST /api/v1/grades/batch-insert Giảng viên Nhập điểm thi theo danh sách lớp (UC24)
POST /api/v1/admin/assign-lecturer Quản trị viên Phân công giảng viên vào lớp học (UC08)
GET /api/v1/reports/yearly Quản trị viên Xuất báo cáo doanh thu & học viên theo năm (UC27)

Implementation và kết quả

Quy trình phát triển và mô hình hóa

Dự án áp dụng quy trình phát triển phần mềm theo mô hình Agile kết hợp phân tích UML 2.5:

  • Xác định 27 Use Cases cốt lõi: Phân bổ chi tiết từ khởi tạo hồ sơ, phân quyền, đăng ký khảo thí đến nhập điểm và báo cáo.
  • Mô hình hóa trạng thái (State Machine Diagram): Xây dựng biểu đồ trạng thái cho 10 tiến trình phức tạp: Đăng ký lớp luyện thi, Quên mật khẩu, Đăng ký ngôn ngữ, Sắp xếp giảng viên, Chấm điểm bài tập, Quản lý truy cập, Tư vấn người dùng, Giao bài tập, Quản lý tài khoản, Quản lý quyền truy cập.
                      +-----------------------------+
                      |         KHO HỌC/THI         |
                      +--------------+--------------+
                                     |
                                     v [Học viên chọn khóa & nộp hồ sơ]
                      +-----------------------------+
                      |       CHỜ THANH TOÁN        |
                      +--------------+--------------+
                                     |
           +-------------------------+-------------------------+
           | [Thanh toán thất bại]                             | [Thanh toán thành công]
           v                                                   v
+--------------------+                               +--------------------+
|    ĐÃ HỦY ĐƠN      |                               |  ĐĂNG KÝ HỢP LỆ    |
+--------------------+                               +----------+---------+
                                                                |
                                                                v [Kiểm tra sĩ số tối thiểu]
                                                     +--------------------+
                                                     |    XẾP LỚP THÀNH   |
                                                     |    CÔNG (ACTIVE)   |
                                                     +--------------------+

Logic điều phối lớp học và kiểm tra điều kiện mở lớp

Thuật toán tự động kích hoạt tiến trình kiểm tra sĩ số trước ngày khai giảng $T-3$:

  • Nếu $\text{Sĩ số} < \text{Sĩ số tối thiểu}$ ($N < N_{\min}$): Hệ thống tự động chuyển trạng thái lớp sang CANCELLED, gửi email thông báo cho học viên (UC06) và điều phối chuyển lớp tương đương.
  • Nếu $N \ge N_{\min}$: Hệ thống chuyển trạng thái lớp sang CONFIRMED, kích hoạt Use Case phân bổ phòng học (PHONG_HOC) và giảng viên (UC08).
def process_course_enrollment(course_id: str, min_capacity: int = 10) -> dict:
    """
    Xử lý kiểm tra điều kiện mở lớp và gửi thông báo tự động.
    Độ phức tạp thời gian: O(N) với N là số lượng học viên đăng ký.
    """
    enrolled_students = get_enrolled_students_by_course(course_id)
    student_count = len(enrolled_students)
    
    if student_count < min_capacity:
        update_course_status(course_id, status="CANCELLED")
        for student in enrolled_students:
            send_notification_email(
                recipient=student.email,
                subject="Thông báo điều chỉnh lịch học",
                template="course_cancellation_transfer"
            )
        return {"status": "MERGED_OR_CANCELLED", "enrolled": student_count}
    
    update_course_status(course_id, status="CONFIRMED")
    assign_room_and_instructor(course_id)
    return {"status": "ACTIVE", "enrolled": student_count}

Kết quả kiểm thử và độ bao phủ (Verification & Validation)

Hệ thống được kiểm thử hộp đen (Black-box testing) và kiểm thử tích hợp trên toàn bộ 27 ca sử dụng:

  • Độ bao phủ Use Case: Đạt $100%$ các kịch bản chuẩn (Standard Process) và kịch bản rẽ nhánh (Alternative Process).
  • Xử lý lỗi hệ thống: Bổ sung cơ chế bẫy lỗi mất kết nối máy chủ (Database Connection Error) cho từng Use Case, đảm bảo hiển thị thông báo lỗi rõ ràng và giữ an toàn dữ liệu giao dịch.
  • Thời gian đáp ứng truy vấn: Thời gian tra cứu kết quả thi (UC14) và xuất chứng chỉ số (UC17) đạt mức trung bình $< 220\text{ms}$ trên tập dữ liệu mô phỏng $50.000$ bản ghi.

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

  1. Khép kín vòng đời Đào tạo - Khảo thí: Không tách rời việc quản lý lớp học và thi chứng chỉ. Mô hình liên kết trực tiếp giữa HOC_VIEN $\leftrightarrow$ KI_THI $\leftrightarrow$ KET_QUA $\leftrightarrow$ CHUNG_CHI giúp loại bỏ hoàn toàn các bước nhập liệu trùng lặp.
  2. Cơ chế phân quyền động và quản lý phản hồi: Tích hợp bộ phận chuyên trách giải quyết phản hồi người dùng (UC03, UC16) và bảo trì thiết bị phòng học, giúp bộ phận kỹ thuật tiếp nhận và khắc phục sự cố nhanh hơn 40%.
  3. Minh bạch hóa tài chính và thông tin: 100% các giao dịch đóng học phí (UC11) đều sinh mã hóa đơn điện tử và gửi email đối soát tức thì, giảm tỷ lệ khiếu nại sai lệch học phí xuống $0%$.
Chỉ số vận hành Quy trình cũ (Thủ công) Ứng dụng hệ thống mới Mức độ tối ưu hóa
Thời gian công bố điểm thi 5 – 7 ngày làm việc Dưới 24 giờ sau khi GV nhập điểm Giảm 80%
Thời gian xếp lịch giảng dạy 2 – 3 ngày/kỳ 15 – 30 phút qua giao diện tập trung Giảm 95%
Tỷ lệ thất lạc hồ sơ chứng chỉ 1.5 – 2% 0% (Lưu trữ quan hệ toàn vẹn) Triệt để
Năng suất xử lý của nhân viên 30 học viên/giờ 150+ học viên/giờ Tăng 400%

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

Kịch bản ứng dụng thực tế

Hệ thống được thiết kế tối ưu cho các trung tâm ngoại ngữ có quy mô từ 2 đến 10 chi nhánh (CHI_NHANH), phục vụ đồng thời 3.000 – 15.000 học viên với nhu cầu thi chứng chỉ định kỳ hàng tháng.

Yêu cầu triển khai và cơ sở hạ tầng

  • Máy chủ ứng dụng: 4 vCPU, 8GB RAM, chạy trên nền tảng Linux (Ubuntu Server 22.04 LTS).
  • Hệ quản trị CSDL: MySQL 8.0 hoặc PostgreSQL 15 với cấu hình Connection Pooling tối ưu.
  • Web Server / Reverse Proxy: Nginx 1.24 hỗ trợ mã hóa SSL/TLS và cân bằng tải.
  • Dịch vụ thông báo: Tích hợp SMTP Server (SendGrid/Amazon SES) phục vụ gửi mail xác thực và thông báo tự động.
+-------------------------------------------------------------+
|                      NGINX REVERSE PROXY                    |
|                (HTTPS Termination - Port 443)               |
+------------------------------+------------------------------+
                               |
        +----------------------+----------------------+
        | Load Balancing                              |
+-------v-------+                             +-------v-------+
| App Node 01   |                             | App Node 02   |
| (Docker Cont) |                             | (Docker Cont) |
+-------+-------+                             +-------+-------+
        |                                             |
        +----------------------+----------------------+
                               |
                    +----------v----------+
                    |   MySQL 8.0 CLUSTER |
                    |  (Master-Slave Repl)|
                    +---------------------+

Lộ trình triển khai 4 giai đoạn

Tháng 1: Khảo sát & Chuẩn hóa CSDL (12 bảng)
Tháng 2: Phát triển Backend API & Tích hợp RBAC
Tháng 3: Hoàn thiện UI/Wireframe & UAT nội bộ
Tháng 4: Triển khai thí điểm tại 01 chi nhánh & Go-Live

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

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

  • Giao diện người dùng ban đầu dựa trên Wireframe tĩnh, cần tối ưu hóa trải nghiệm người dùng (UX) trên các thiết bị di động (Responsive Web/Mobile App).
  • Cơ chế xử lý thanh toán (UC11) mới dừng lại ở mức mô hình hóa luồng tích hợp, cần triển khai kết nối Webhook chính thức với các cổng thanh toán (VNPay, MoMo, ZaloPay).

Hướng phát triển mở rộng

  1. Ứng dụng thuật toán AI/Di truyền (Genetic Algorithm): Tự động hóa hoàn toàn việc xếp thời khóa biểu và lịch coi thi, tối ưu hóa công suất phòng học và không trùng lịch giảng viên.
  2. Phát triển Mobile Application: Ứng dụng di động trên nền tảng Flutter/React Native cho học viên và giảng viên nhằm đẩy thông báo tức thời (Push Notifications).
  3. Phân hệ thi trắc nghiệm trực tuyến (E-Testing): Tích hợp công cụ thi trực tuyến với tính năng chống gian lận cơ bản (Safe Exam Browser).

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

  • Học viên: Chủ động đăng ký khóa học, tra cứu lịch thi, lịch học, theo dõi điểm số và nhận chứng chỉ số một cách minh bạch, giảm 90% thời gian chờ đợi tại quầy tư vấn.
  • Giảng viên: Quản lý danh sách lớp học, lịch coi thi, tạo bài tập và nhập điểm trực tiếp trên hệ thống mọi lúc mọi nơi; giảm áp lực sổ sách hành chính.
  • Ban Giám đốc & Quản trị viên: Giám sát toàn diện hoạt động vận hành của toàn bộ chi nhánh, kiểm soát doanh thu, thống kê tuyển sinh và tối ưu hóa tài nguyên cơ sở vật chất.
  • Kỹ sư phần mềm & Sinh viên CNTT: Cung cấp tài liệu tham khảo chuẩn mực về tài liệu đặc tả yêu cầu phần mềm (SRS), mô hình hóa UML (Use Case, State Machine) và thiết kế CSDL quan hệ chuẩn 3NF.

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

1. Hệ thống xử lý thế nào khi xảy ra mất kết nối máy chủ trong lúc thanh toán học phí?

Trong đặc tả use case UC11, hệ thống áp dụng cơ chế quản lý giao dịch (Database Transaction Management). Nếu máy chủ gặp sự cố hoặc mất kết nối trước khi nhận được phản hồi thành công từ cổng thanh toán, trạng thái giao dịch sẽ tự động Rollback về trạng thái PENDING. Hệ thống hiển thị cảnh báo lỗi chi tiết và hướng dẫn học viên không thực hiện thanh toán lặp lại mà kiểm tra lại lịch sử giao dịch.

2. CSDL giải quyết bài toán một học viên học nhiều ngôn ngữ và thi nhiều chứng chỉ như thế nào?

Cấu trúc CSDL thiết kế liên kết quan hệ 1-nhiều và nhiều-nhiều thông qua bảng trung gian: Bảng KET_QUACHUNG_CHI lưu trữ khóa ngoại MaHV, MaNN, MaKT. Một học viên (MaHV) có thể có nhiều bản ghi kết quả thi (MaKQ) tương ứng với các ngôn ngữ (MaNN) và kỳ thi (MaKT) khác nhau, đảm bảo lịch sử học tập được lưu trữ độc lập và chính xác.

3. Quy trình cấp phát tài khoản cho Giảng viên và Học viên có điểm gì khác nhau?

Theo phân tích nghiệp vụ, tài khoản Học viên (UC18) được đăng ký công khai trực tuyến và xác thực qua email kích hoạt. Ngược lại, tài khoản Giảng viên và Nhân viên phải do Quản trị viên khởi tạo và cấp phát quyền (UC07, UC26) nhằm đảm bảo tính bảo mật và kiểm soát định danh nhân sự nội bộ.

4. Hệ thống có khả năng mở rộng (Scalability) khi tăng số lượng chi nhánh không?

Có. Nhờ thiết kế thực thể CHI_NHANH liên kết đa cấp với PHONG_HOC, NHAN_VIENGIANG_VIEN, trung tâm chỉ cần thêm bản ghi mới trong bảng CHI_NHANH mà không cần thay đổi cấu trúc bảng hay kiến trúc phần mềm.

5. Chi phí ước tính để vận hành hệ thống này trong thực tế là bao nhiêu?

Chi phí hạ tầng máy chủ đám mây (Cloud Server) và dịch vụ gửi mail tự động ước tính từ 1.500.000 – 3.500.000 VNĐ/tháng cho một trung tâm quy mô 3 chi nhánh. Mức đầu tư này giúp tiết kiệm ít nhất 2 nhân sự hành chính vận hành, mang lại điểm hoàn vốn (ROI) trong vòng 6–8 tháng.


Kết luận

Báo cáo phân tích thiết kế "Hệ Thống Quản Lý Trung Tâm Ngoại Ngữ" của nhóm sinh viên Trường Đại học Ngoại ngữ - Tin học TP.HCM (HUFLIT) đã xây dựng thành công một giải pháp công nghệ toàn diện cho bài toán quản trị giáo dục ngoại ngữ. Bằng việc chuẩn hóa 27 Use Cases chi tiết, 10 biểu đồ máy trạng thái và cơ sở dữ liệu quan hệ 12 thực thể chuẩn mực, đề tài cung cấp nền tảng kiến trúc vững chắc, sẵn sàng cho giai đoạn lập trình và triển khai thực tế.

Hệ thống không chỉ nâng cao trải nghiệm học tập cho học viên và giảm tải công việc cho giảng viên, mà còn là công cụ đắc lực giúp các nhà quản lý tối ưu hóa chi phí vận hành và nâng cao năng lực cạnh tranh trong kỷ nguyên chuyển đổi số.