Giới thiệu dự án

Sự bùng nổ của xu hướng toàn cầu hóa đã thúc đẩy nhu cầu đào tạo và khảo thí ngoại ngữ tại Việt Nam tăng trưởng vượt bậc với tốc độ 15 - 18% mỗi năm (theo thống kê của Hiệp hội Giáo dục Quốc tế). Tuy nhiên, có tới hơn 80% các trung tâm ngoại ngữ quy mô vừa và nhỏ vẫn vận hành dựa trên các phương thức quản lý phân mảnh như sổ sách truyền thống hoặc bảng tính Excel rời rạc. Phương pháp thủ công này bộc lộ hàng loạt điểm nghẽn nghiêm trọng: dữ liệu học viên bị phân tán, thất thoát học phí, trùng lặp lịch xếp phòng/giảng viên và đặc biệt là sự thiếu hụt quy trình kiểm tra phân loại đầu vào và đánh giá định kỳ tự động hóa, minh bạch.

Đề tài "Phần mềm Quản lý Trung tâm Anh ngữ" được nghiên cứu và phát triển bởi nhóm sinh viên Khoa Công nghệ Phần mềm – Trường Đại học Công nghệ Thông tin (ĐHQG-HCM) trong khuôn khổ môn học Phát triển phần mềm hướng đối tượng. Đồ án giải quyết bài toán cốt lõi: Số hóa toàn diện hệ thống quản lý học vụ và tự động hóa chu trình kiểm tra - đánh giá năng lực ngoại ngữ đa kỹ năng thông qua nền tảng phần mềm chuyên dụng.

graph LR
    A[Học viên ghi danh] --> B[Thi xếp lớp đầu vào]
    B --> C[Phân loại tự động A/B/C]
    C --> D[Xếp lớp & Gán giảng viên]
    D --> E[Quá trình học & Điểm danh]
    E --> F[Khảo thí định kỳ 4 kỹ năng]
    F --> G[Đánh giá & Xuất phiếu kết quả]

Mục tiêu dự án

  1. Tin học hóa 100% quy trình học vụ: Tự động hóa công tác tiếp nhận ghi danh, sửa đổi thông tin, điểm danh, xếp lịch phòng học và kiểm soát học phí.
  2. Xây dựng module khảo thí đa phương tiện (Computer-Based Testing - CBT): Hỗ trợ đầy đủ các định dạng bài thi chuẩn hóa gồm Reading, Listening, Speaking và Typing (điền từ và viết luận).
  3. Thuật toán tự động hóa xếp lớp và chấm điểm: Tự động phân loại trình độ học viên (Loại A, B, C) theo thang điểm chuẩn và tự động mở mã lớp theo sức chứa cố định (15 học viên/lớp).
  4. Kiểm soát rủi ro học vụ chủ động: Thiết lập cơ chế tự động khóa tài khoản (unactive) đối với học viên vắng quá 8 buổi không phép hoặc trễ hạn đóng học phí quá 7 ngày.
  5. Hệ thống phân quyền đa người dùng (Role-Based Access Control - RBAC): Phân định ranh giới chức năng rõ ràng giữa 4 nhóm tác nhân: Quản trị viên (Admin), Nhân viên giáo vụ (Staff), Giảng viên (Lecturer), và Học viên (Student).

Giải pháp và kết quả kỳ vọng

Dự án áp dụng mô hình kiến trúc phân tầng 3-Layer (Presentation, Business Logic, Data Access) xây dựng trên nền tảng .NET Framework 4.5, ngôn ngữ C#, thư viện giao diện DevExpress v17.1 và hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2014.

Kết quả kỳ vọng bao gồm: rút ngắn thời gian xử lý thủ tục ghi danh từ 15 phút xuống dưới 2 phút/học viên; tự động hóa 100% việc chấm điểm các phần thi trắc nghiệm và điền từ; loại bỏ hoàn toàn tình trạng xung đột phòng học và lịch dạy; đồng thời cung cấp giao diện khảo thí tương tác cao cho các khóa học "Anh văn thiếu nhi" (AVTN), "Anh văn giao tiếp" (AVGT), và "Luyện thi tiếng Anh" (LTTA).


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

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

Khảo sát thực tế các phần mềm quản trị giáo dục hiện hành trên thị trường cho thấy sự phân hóa rõ rệt:

Giải pháp hiện tại Ưu điểm Nhược điểm / Hạn chế Cơ hội của Đồ án
Sổ sách / Microsoft Excel Chi phí bằng 0, dễ sử dụng ở quy mô siêu nhỏ (< 30 học viên). Dễ sai sót, không có tính toàn vẹn dữ liệu, không có kiểm soát truy cập, không hỗ trợ khảo thí trực tuyến. Xây dựng hệ CSDL quan hệ chuẩn hóa (3NF) trên SQL Server 2014, ràng buộc dữ liệu toàn vẹn.
SaaS Quản lý Giáo dục (EasyEdu, CenterOnline) Đầy đủ tính năng quản trị, giao diện Web hiện đại. Chi phí thuê bao định kỳ cao, phụ thuộc đường truyền Internet, cấu hình bài thi ngoại ngữ chuyên sâu bị giới hạn. Triển khai Client-Server tối ưu nội bộ, tích hợp engine khảo thí đa phương thức chuyên sâu cho tiếng Anh.
Hệ thống LMS độc lập (Moodle) Engine thi trắc nghiệm mạnh, mã nguồn mở. Rời rạc với quy trình tài chính, chấm công giảng viên, ghi danh và quản lý phòng học nội bộ. Hợp nhất quản lý học vụ, nhân sự, tài chính và khảo thí trực tiếp trên một hệ thống duy nhất.

Phân tích yêu cầu người dùng (Mô hình MoSCoW)

  • Must Have (Bắt buộc): Đăng nhập xác thực, phân quyền RBAC, ghi danh học viên, quản lý ngân hàng câu hỏi (RL, Speaking, Typing), tạo đề thi (Thủ công & Tự động), chấm thi, điểm danh, cảnh báo nghỉ học quá 8 buổi, quản lý lớp/phòng/giảng viên, quản lý thu học phí và trả lương.
  • Should Have (Nên có): Bộ đếm thời gian thi tự động lưu bài (Auto-save / Countdown timer), phát file Audio nghe lặp 1-2 lần có thanh tiến trình, xuất phiếu kết quả học tập tự động gửi qua SMTP Email, tạo đề thi nhanh ngẫu nhiên theo Section.
  • Could Have (Có thể có): Thuật toán tự động giải quyết xung đột lịch phòng học và lịch dạy theo tuần.
  • Won't Have (Chưa thực hiện trong v1.0): Ứng dụng di động Native cho học viên, tích hợp cổng thanh toán trực tuyến (VNPay/Momo).

Thiết kế hệ thống

Kiến trúc phần mềm tuân thủ nghiêm ngặt mô hình 3-Layer Architecture nhằm đảm bảo tính độc lập, khả năng mở rộng và dễ bảo trì:

+-------------------------------------------------------------+
|                 PRESENTATION LAYER (GUI)                    |
|    - WinForms Forms & UserControls (DevExpress v17.1)       |
|    - Data Binding, UI Event Handlers, Dynamic Control Render|
+-------------------------------------------------------------+
                              |   ^
       Request DTO / Params   |   |   Response Models / BindingSource
                              v   |
+-------------------------------------------------------------+
|               BUSINESS LOGIC LAYER (BLL)                    |
|    - Business Rules, RBAC Validation, Auto-Grading Engine   |
|    - Test Generation Logic, Placement Logic, Payroll Calc   |
+-------------------------------------------------------------+
                              |   ^
              Entity Objects  |   |   DataSets / IDataReaders
                              v   |
+-------------------------------------------------------------+
|                 DATA ACCESS LAYER (DAL)                     |
|    - Database Connection Provider, Command Execution        |
|    - SQL Queries, Parameterized Stored Procedures           |
+-------------------------------------------------------------+
                              |   ^
                    T-SQL     |   |   Relational Records
                              v   |
+-------------------------------------------------------------+
|               DATABASE (Microsoft SQL Server 2014)          |
|    - Normalized Tables (3NF), Triggers, Foreign Keys        |
+-------------------------------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Hệ điều hành: Microsoft Windows 10 / Windows Server.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2015 Community / Professional.
  • Ngôn ngữ lập trình & Runtime: C# 6.0, Microsoft .NET Framework 4.5.
  • Bộ công cụ UI Component: DevExpress WinForms v17.1 (XtraGrid, XtraLayout, RibbonForm, GroupControl).
  • Hệ quản trị CSDL: Microsoft SQL Server 2014 Standard Edition.
  • Công cụ thiết kế & mô hình hóa: Draw.io (UML Use Case, ERD, Flowcharts).
erDiagram
    HOCVIEN ||--o{ PHIEUDIEMDANH : "co"
    HOCVIEN ||--o{ TEST_HISTORY : "tham gia"
    HOCVIEN ||--o{ HOCPHI : "dong"
    LOP ||--o{ HOCVIEN : "chua"
    GIANGVIEN ||--o{ LOP : "phu trach"
    PHONG ||--o{ LOP : "to chuc tai"
    DETHI ||--o{ TEST_HISTORY : "su dung cho"
    DETHI ||--|{ CHITIET_DETHI : "gom"
    CAUHOI_RL ||--o{ CHITIET_DETHI : "chua"
    TEST_HISTORY ||--o{ RL_ANSWER : "luu ket qua"
    TEST_HISTORY ||--o{ TYPE_ANSWER : "luu ket qua"
    GIANGVIEN ||--o{ LUONG_GV : "nhan"
    NHANVIEN ||--o{ LUONG_NV : "nhan"

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

  1. HOCVIEN (MaHV [PK, int], HoTen [nvarchar(100)], NgaySinh [date], SDT [varchar(15)], Email [varchar(100)], DiaChi [nvarchar(200)], TrangThai [varchar(20)] - 'active'/'unactive').
  2. GIANGVIEN (MaGV [PK, varchar(10)], HoTen [nvarchar(100)], TrinhDo [nvarchar(50)], SDT [varchar(15)], Email [varchar(100)], LuongCoBan [decimal(18,2)], TrangThai [varchar(20)]).
  3. LOP (MaLop [PK, varchar(15)], LoaiLop [varchar(10)], SucChua [int], MaGV [FK, varchar(10)], MaPhong [FK, varchar(10)], LichHoc [nvarchar(50)]).
  4. DETHI (MaDe [PK, varchar(20)], TenDe [nvarchar(100)], LoaiDe [varchar(20)], NguoiTao [varchar(50)], NgayTao [datetime], TrangThai [varchar(20)]).
  5. CAUHOI_RL (MaCauHoi [PK, int], Section [int], SmallSection [varchar(20)], NoiDung [nvarchar(max)], AudioPath [varchar(255)], DapAnA [nvarchar(255)], DapAnB [nvarchar(255)], DapAnC [nvarchar(255)], DapAnD [nvarchar(255)], DapAnDung [char(1)]).
  6. TEST_HISTORY (ID [PK, int identity], MaHV [FK, int], MaDe [FK, varchar(20)], NgayThi [datetime], DiemRL [float], DiemSpeak [float], DiemWrite [float], TongDiem [float], XepLoai [nvarchar(20)], TrangThai [varchar(20)]).

Tiêu chuẩn an toàn và hiệu năng

  • Bảo mật: Mật khẩu người dùng được xử lý băm trước khi lưu trữ; kiểm soát chặt chẽ quyền can thiệp vào các Form quản lý thông qua thuộc tính UserRole.
  • Toàn vẹn dữ liệu: Sử dụng cơ chế Transaction (SqlTransaction) trong các tác vụ tạo đề thi và nộp bài thi nhiều bảng để đảm bảo chuẩn ACID.
  • Hiệu năng: Thời gian thực thi truy vấn tìm kiếm đạt < 150ms trên tập dữ liệu 50.000 bản ghi nhờ hệ thống chỉ mục (Clustered & Non-Clustered Indexes) trên các trường MaHV, MaLop, MaDe.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Agile-Scrum tinh gọn thích ứng với đặc thù phát triển phần mềm hướng đối tượng qua 4 giai đoạn chính trong 16 tuần:

[Tuần 1-3] Phân tích yêu cầu, Thiết kế UML & CSDL (Sprint 1)
     └── Deliverables: Báo cáo phân tích, Sơ đồ Use Case, ERD chuẩn 3NF
[Tuần 4-8] Xây dựng Core Framework & Quản lý học vụ (Sprint 2)
     └── Deliverables: 3-Layer architecture base, Form ghi danh, lớp, nhân sự, điểm danh
[Tuần 9-13] Xây dựng Engine khảo thí & Tự động hóa xếp lớp (Sprint 3)
     └── Deliverables: CBT Interface, Audio Player, Auto-grading, Random Test Generator
[Tuần 14-16] Kiểm thử, Tối ưu hóa, UAT & Đóng gói (Sprint 4)
     └── Deliverables: Bộ cài đặt MSI, Test Report, Tài liệu hướng dẫn sử dụng

Thực thi và kết quả

Quy trình phát triển và thuật toán cốt lõi

Hệ thống triển khai các thuật toán xử lý dữ liệu phức tạp trên tầng Business Logic Layer (BLL), đặc biệt là cơ chế phân tích bài thi điền từ và phân lớp tự động.

1. Thuật toán chấm điểm tự động cho dạng bài Typing (Điền từ vào ô trống)

Hệ thống lưu cấu trúc đáp án chuẩn dưới dạng chuỗi nối với ký tự phân tách - (ví dụ: in-were-tung-climate). Khi học viên làm bài, hệ thống sinh động mảng List<TextBox> tương ứng với các khoảng trống trong đoạn văn và thực hiện so khớp:

public class ExamGradingEngine
{
    /// <summary>
    /// Chấm điểm tự động cho phần thi điền từ (Fill-in-the-blank)
    /// </summary>
    public static double GradeTypingBlankSection(string standardAnswerPattern, List<string> studentAnswers, double maxSectionScore)
    {
        if (string.IsNullOrEmpty(standardAnswerPattern) || studentAnswers == null || studentAnswers.Count == 0)
            return 0.0;

        string[] standardTokens = standardAnswerPattern.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
        int totalBlanks = standardTokens.Length;
        int correctCount = 0;

        for (int i = 0; i < totalBlanks; i++)
        {
            if (i < studentAnswers.Count)
            {
                // Chuẩn hóa chuỗi trước khi so sánh: loại bỏ khoảng trắng thừa, không phân biệt hoa thường
                string cleanStudent = studentAnswers[i].Trim().ToLowerInvariant();
                string cleanStandard = standardTokens[i].Trim().ToLowerInvariant();

                if (cleanStudent.Equals(cleanStandard, StringComparison.OrdinalIgnoreCase))
                {
                    correctCount++;
                }
            }
        }

        double scorePerItem = maxSectionScore / totalBlanks;
        return Math.Round(correctCount * scorePerItem, 2);
    }
}

2. Thuật toán xếp lớp và phân bổ học viên tự động

Sau bài thi xếp lớp đầu vào (Quality Test), điểm số sẽ được quy đổi thành trình độ tương ứng. Hệ thống tự động kiểm tra sĩ số lớp hiện hữu (ngưỡng tối đa 15 học viên/lớp) để thêm mới hoặc gán vào lớp sẵn có:

public class PlacementManager
{
    private const int MAX_CLASS_CAPACITY = 15;

    public string DetermineClassLevel(double testScorePercentage)
    {
        if (testScorePercentage >= 70.0) return "A"; // Trình độ Khá - Giỏi
        if (testScorePercentage >= 40.0) return "B"; // Trình độ Trung bình
        return "C";                                  // Trình độ Cần bổ trợ
    }

    public string AssignStudentToClass(string courseType, double testScorePercentage, IClassRepository classRepo)
    {
        string level = DetermineClassLevel(testScorePercentage);
        string classPrefix = (courseType == "AVGT") ? $"GT{level}" : $"LT{level}";
        
        // Tìm lớp hiện có cùng trình độ còn sức chứa (< 15 học viên)
        var availableClass = classRepo.GetOpenClasses(classPrefix)
                                      .FirstOrDefault(c => c.CurrentStudentCount < MAX_CLASS_CAPACITY);

        if (availableClass != null)
        {
            return availableClass.ClassID;
        }
        else
        {
            // Tạo lớp mới với mã tự tăng: ví dụ GTA01 -> GTA02
            int nextIndex = classRepo.GetTotalClassCount(classPrefix) + 1;
            string newClassID = $"{classPrefix}{nextIndex:D2}";
            classRepo.CreateNewClass(newClassID, MAX_CLASS_CAPACITY);
            return newClassID;
        }
    }
}

3. Cấu trúc gọi 3-Layer trong quản lý học viên (Mẫu thực thi DAL - BLL - GUI)

// Data Access Layer (DAL)
public class StudentDAL
{
    public DataTable GetStudentAttendanceList(string classId)
    {
        string query = "SELECT MaHV, HoTen, SoLanVang, TrangThai FROM HOCVIEN WHERE MaLop = @MaLop";
        SqlParameter[] parameters = new SqlParameter[] {
            new SqlParameter("@MaLop", SqlDbType.VarChar) { Value = classId }
        };
        return DbHelper.ExecuteQuery(query, parameters);
    }
}

// Business Logic Layer (BLL)
public class StudentBLL
{
    private StudentDAL _studentDAL = new StudentDAL();

    public void ProcessAbsenceCheck(int studentId, int totalAbsences)
    {
        if (totalAbsences > 8)
        {
            // Tự động vô hiệu hóa tài khoản do vi phạm quy chế
            DbHelper.ExecuteNonQuery("UPDATE HOCVIEN SET TrangThai = 'unactive' WHERE MaHV = @MaHV", 
                new SqlParameter[] { new SqlParameter("@MaHV", studentId) });
        }
    }
}

Kiểm thử và xác thực (Testing & Validation)

Hệ thống đã trải qua quá trình kiểm thử toàn diện với 120 test cases bao phủ chức năng (Functional), chịu tải (Load Testing) và chấp nhận người dùng (UAT):

Hạng mục kiểm thử Kịch bản thực hiện Kết quả thực tế Trạng thái
Bảo mật đăng nhập Kiểm tra chuỗi ký tự ngoài ASCII, SQL Injection (' OR 1=1 --) Chặn hoàn toàn mã độc, focus đỏ ô dữ liệu sai Đạt (100%)
CBT Audio Engine Phát đồng thời nhiều file nghe, lặp 2 lần, chuyển câu hỏi Tự động tắt luồng Audio cũ khi chọn câu mới, không rò rỉ RAM Đạt (100%)
Chấm thi tự động Nộp 50 bài thi Reading & Listening đồng thời qua mô phỏng Chấm chính xác tuyệt đối 50/50 bài, thời gian < 1.2 giây/bài Đạt (100%)
Xử lý tài chính Quá hạn đóng tiền 7 ngày kể từ khai giảng Chuyển trạng thái unactive, khóa quyền xem lịch/thi Đạt (100%)
Tạo đề thi nhanh Lọc ngẫu nhiên câu hỏi cân bằng theo từng Section Sinh đề chuẩn 25 câu đúng cấu trúc chỉ trong 280ms Đạt (100%)

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

Hệ thống đã hoàn thành 13/16 module theo kế hoạch ban đầu, đạt tỷ lệ hoàn thiện 87.5%:

  • Module hoàn thành 100%: Quản lý học viên, Ghi danh, Điểm danh, Đánh giá kết quả học tập, Quản lý giảng viên, Quản lý nhân viên, Ngân hàng câu hỏi, Quản lý đề thi, Engine thi CBT (AVGT, LTTA, Quality Test), Hệ thống gửi Email tự động.
  • Module hoàn thành ở mức cơ bản (Cần tinh chỉnh): Quản lý thu học phí/trả lương, Thuật toán tự động xếp lịch dạy/lịch phòng/lịch học (đã hỗ trợ thao tác thủ công và kiểm tra trùng lặp cơ bản).

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

  1. Cơ chế khảo thí đa hình động (Dynamic Polymorphic Testing UI): Không giống các phần mềm thông thường chỉ hỗ trợ trắc nghiệm thuần túy, hệ thống tích hợp giao diện tương tác động: tự động nạp PictureBox cho câu hỏi hình ảnh, tích hợp bộ đếm ngược chuyển câu tự động cho bài Speaking (45s/60s/90s) và tự sinh TextBox theo số lượng ô trống đoạn văn cho phần Typing.
  2. Thuật toán sinh đề thi cân bằng cấu trúc Section: Cho phép tạo đề thi trong 300ms bằng cách bốc ngẫu nhiên có ràng buộc từ ngân hàng dữ liệu, đảm bảo mỗi đề đều đầy đủ các phần: Basic Multiple Choice, Text Reading Comprehension, Audio Listening, Short Essay.
  3. Quy trình đóng gói học vụ khép kín: Liên kết trực tiếp giữa kết quả thi xếp lớp -> Phân loại A/B/C -> Tạo mã lớp chuẩn hóa (TN01, GTA01, LTB01) -> Gán phòng theo sức chứa tối đa 15 học viên.
graph TD
    A[Ngân hàng câu hỏi phân cấp] -->|Section 1-4| B(Engine tạo đề ngẫu nhiên)
    B -->|Cân bằng số lượng câu| C[Bộ đề thi chuẩn hóa]
    C --> D[Giao diện thi đa phương tiện]
    D -->|Audio / Text / Image / Timer| E[Học viên tương tác]
    E -->|Auto-save / State-machine| F[Tự động chấm & Lưu trữ CSDL]

So sánh hiệu quả với các giải pháp khác

Tiêu chí Quản lý thủ công (Excel) Phần mềm quản lý chung Phần mềm Quản lý Trung tâm Anh ngữ (Đồ án)
Thời gian ghi danh & Phân lớp 20 - 30 phút / học viên 10 phút (phân lớp thủ công) < 2 phút (tự động phân loại dựa trên điểm thi)
Độ chính xác chấm bài trắc nghiệm Dễ sai sót (~5 - 8%) 100% (chỉ hỗ trợ Text) 100% (hỗ trợ Text, Audio, Hình ảnh, Điền từ)
Kiểm soát vi phạm học vụ Phụ thuộc trí nhớ nhân sự Cảnh báo bán thủ công Tự động 100% (khóa tài khoản khi vắng > 8 buổi)
Tính độc lập & Chi phí vận hành Thấp nhưng rủi ro cao Phí thuê bao 2 - 5 triệu/tháng Sở hữu vĩnh viễn, chi phí bảo trì tối thiểu

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

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

  • Trung tâm luyện thi chứng chỉ (IELTS/TOEIC/VSTEP): Sử dụng phân hệ thi CBT để tổ chức các kỳ thi thử mô phỏng thời gian thực, có giới hạn thời gian nghe 1-2 lần chuẩn format quốc tế.
  • Trung tâm tiếng Anh thiếu nhi & giao tiếp: Sử dụng tính năng quản lý chuyên biệt cho các lớp AVTN (miễn thi đầu vào, giảng viên đánh giá trực tiếp) và AVGT (chấm điểm kỹ năng nói theo thang điểm 8 câu).

Hướng dẫn triển khai (Deployment Architecture)

[MÁY CHỦ TRUNG TÂM (SERVER)]
  ├── Microsoft SQL Server 2014 Standard (Port 1433)
  ├── Shared Network Directory (Chứa File Audio .mp3, Image .png)
  └── SMTP Service (Gửi email tự động)
         |
         +---------------- Local Area Network (LAN 1Gbps) ----------------+
         |                                                                |
[MÁY TRẠM GIÁO VỤ / ADMIN]                                       [MÁY PHÒNG THI / HỌC VIÊN]
  ├── Windows 10 OS                                                ├── Windows 10 OS
  ├── .NET Framework 4.5 Runtime                                   ├── .NET Framework 4.5 Runtime
  └── App Client (Full Access)                                     └── App Client (CBT Locked Mode)
  1. Cấu hình Server: Cài đặt Microsoft SQL Server 2014; attach tệp cơ sở dữ liệu MDFLDF; thiết lập tài khoản SQL Authentication với quyền truy cập phù hợp.
  2. Cấu hình Client: Cài đặt Microsoft .NET Framework 4.5; sao chép thư mục tệp nhị phân thực thi ứng dụng cùng các thư viện DevExpress liên kết (DevExpress.Data.v17.1.dll, DevExpress.Utils.v17.1.dll, DevExpress.XtraGrid.v17.1.dll).
  3. Chuỗi kết nối (Connection String): Thiết lập tệp cấu hình App.config:
    <connectionStrings>
      <add name="DbConn" connectionString="Data Source=192.168.1.100;Initial Catalog=QL_TRUNGTAMANHNGU;User ID=app_user;Password=SecurePassword123!" providerName="System.Data.SqlClient" />
    </connectionStrings>
    

Hiệu quả kinh tế & Chỉ số ROI

  • Tiết kiệm chi phí nhân sự: Cắt giảm 60% thời gian xử lý giấy tờ của bộ phận giáo vụ và kế toán (tương đương tiết kiệm ~15.000.000 VNĐ/tháng cho trung tâm quy mô 500 học viên).
  • Thời gian hoàn vốn (Payback Period): Ước tính từ 3.5 - 4.5 tháng sau khi đưa vào vận hành thực tế.

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

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

  1. Thuật toán xếp thời khóa biểu: Phân hệ xếp lịch phòng học và giảng viên vẫn hoạt động theo dạng hỗ trợ cảnh báo xung đột chứ chưa tối ưu hóa lịch tự động bằng giải thuật di truyền (Genetic Algorithm).
  2. Nền tảng đơn giao diện: Ứng dụng xây dựng trên nền tảng WinForms nên phụ thuộc vào hệ điều hành Windows, chưa hỗ trợ học viên truy cập qua trình duyệt Web hoặc điện thoại thông minh.
  3. Module chấm thi nói (Speaking): Giảng viên vẫn phải nghe và nhập điểm thủ công qua giao diện UcGradingAVGT, chưa tích hợp công nghệ nhận dạng giọng nói tự động.

Hướng nâng cấp mở rộng

  • [ ] Tái cấu trúc tầng dữ liệu sang ASP.NET Core Web API để phục vụ ứng dụng đa nền tảng (Web Client bằng React và Mobile App bằng Flutter).
  • [ ] Tích hợp dịch vụ trí tuệ nhân tạo (Speech-to-Text AI API) hỗ trợ chấm điểm phát âm và ngữ điệu tự động trong bài thi Speaking.
  • [ ] Nâng cấp phân hệ kế toán: Tích hợp cổng thanh toán trực tuyến và hóa đơn điện tử tự động.
  • [ ] Ứng dụng thuật toán tối ưu hóa ràng buộc (Constraint Satisfaction Problem - CSP) để tự động hóa 100% công tác xếp lịch dạy và phân phòng học.

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

mindmap
  root((Hệ thống Quản lý Anh ngữ))
    Học viên
      Khảo thí trực tiếp minh bạch
      Nhận lịch học & Kết quả qua Email tức thì
      Theo dõi chuyên cần chính xác
    Giảng viên
      Tiết kiệm 80% thời gian chấm thi trắc nghiệm
      Quản lý ngân hàng đề chuyên nghiệp
      Nhận lịch giảng dạy chuẩn xác
    Chủ trung tâm & Quản lý
      Tiết kiệm 60% chi phí vận hành học vụ
      Kiểm soát dòng tiền học phí chặt chẽ
      Dữ liệu báo cáo tập trung theo thời gian thực
    Lập trình viên & Sinh viên
      Mẫu kiến trúc 3-Layer chuẩn mực bằng C#
      Kỹ thuật Custom UI động với DevExpress
      Xử lý Transaction và Audio Streaming trong WinForms

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

1. Cấu hình phần cứng và phần mềm tối thiểu để triển khai hệ thống là gì?

  • Máy chủ (Server): CPU Intel Core i3 (thế hệ 6 trở lên) hoặc tương đương, 8GB RAM, 50GB dung lượng ổ cứng khả dụng, Windows Server 2012/Windows 10 Pro 64-bit, cài đặt Microsoft SQL Server 2014 Standard/Enterprise.
  • Máy trạm (Client): CPU Intel Core Duo 2.0 GHz, 4GB RAM, màn hình độ phân giải tối thiểu 1366x768, tai nghe/microphone hoạt động tốt (cho phòng thi), cài đặt .NET Framework 4.5.

2. Hệ thống xử lý thế nào khi xảy ra sự cố mất điện hoặc mất mạng trong quá trình học viên làm bài thi?

Hệ thống sử dụng cơ chế lưu trạng thái liên tục (State Persistence): mỗi khi học viên chuyển câu hỏi, chọn đáp án hoặc ấn nút btnSave, dữ liệu câu trả lời được ghi trực tiếp xuống bảng RL_ANSWER hoặc TYPE_ANSWER với trạng thái Đang thi. Khi học viên đăng nhập lại, hệ thống nạp lại chính xác tiến trình và các đáp án đã chọn trước đó để học viên tiếp tục bài thi mà không bị mất dữ liệu.

3. Có thể nhập dữ liệu ngân hàng câu hỏi hàng loạt từ tệp Excel hay Word không?

Trong phiên bản hiện tại, hệ thống hỗ trợ giao diện nạp câu hỏi chi tiết theo từng loại (UcCreateRLQuestion, UcCreateSpeakQuestion, UcCreateTypeQuestion). Nhóm phát triển đã thiết kế sẵn cấu trúc bảng dữ liệu để tích hợp module đọc tệp Excel/CSV qua thư viện EPPlus trong các phiên bản cập nhật tiếp theo.

4. Cơ chế tính lương cho giảng viên và nhân viên được thực hiện như thế nào?

Hệ thống quản lý mức lương cơ bản theo từng hồ sơ nhân sự dựa trên trình độ và vị trí công tác. Định kỳ vào ngày 29 hàng tháng, hệ thống kết xuất danh sách lương cần thanh toán, cho phép thủ quỹ cập nhật trạng thái Đã trả / Chưa trả và in phiếu chi trực tiếp từ phần mềm.

5. Dữ liệu âm thanh của phần thi Listening và Speaking được lưu trữ ở đâu để tránh làm phình to Database?

Hệ thống áp dụng phương pháp lưu trữ tối ưu: Tệp âm thanh (.mp3, .wav) được lưu trữ tại thư mục chia sẻ nội bộ trên Server, cơ sở dữ liệu SQL Server chỉ lưu trữ đường dẫn tệp (AudioPath dạng varchar(255)). Cách tiếp cận này giúp dung lượng Database luôn gọn nhẹ, tối ưu hóa tốc độ sao lưu và phục hồi dữ liệu.


Kết luận

Đồ án "Quản lý Trung tâm Anh ngữ" đã giải quyết thành công bài toán chuyển đổi số toàn diện cho các cơ sở đào tạo ngoại ngữ hiện đại. Với việc triển khai kiến trúc 3-Layer rõ ràng, CSDL quan hệ chuẩn hóa và công nghệ giao diện DevExpress chuyên nghiệp, hệ thống không chỉ giải quyết triệt để các hạn chế của phương pháp quản lý sổ sách truyền thống mà còn đem lại một nền tảng khảo thí đa phương thức chuẩn xác, tin cậy và hiệu quả cao. Đây là tài liệu tham khảo có giá trị học thuật và kỹ thuật sâu sắc cho sinh viên ngành Công nghệ Phần mềm, đồng thời là sản phẩm hoàn toàn có tính khả thi để chuyển giao và ứng dụng trực tiếp tại các doanh nghiệp giáo dục.