Giới thiệu dự án
Trong bối cảnh chuyển đổi số giáo dục đang diễn ra mạnh mẽ tại Việt Nam, việc ứng dụng công nghệ thông tin vào công tác khảo thí đóng vai trò then chốt nhằm nâng cao chất lượng đào tạo. Theo các khảo sát thực tế tại các trường đại học, quy trình ra đề, tổ chức thi và chấm thi truyền thống tiêu tốn từ 30-40% thời gian của giảng viên trong mỗi học kỳ. Đặc biệt, việc trộn đề thủ công thường xuyên xảy ra tình trạng sai sót mã đề, nhầm lẫn đáp án và nguy cơ lộ đề cục bộ. Đề tài "Xây dựng phần mềm trộn đề thi trắc nghiệm tự động" được nghiên cứu và phát triển nhằm giải quyết triệt để các rào cản trên thông qua nền tảng phần mềm độc lập, hiện đại và chuẩn hóa.
+--------------------------------------------------------------------------------+
| BỐI CẢNH VÀ VẤN ĐỀ CỦA HỆ THỐNG |
+--------------------------------------------------------------------------------+
| |
| [ Thách thức khảo thí ] |
| - Tốn 3-5 giờ cho 1 bộ 4 đề thi thủ công |
| - Sai lệch đáp án tráo đổi (~12-15% lỗi format) |
| - Khó khăn trong quản lý ma trận độ khó |
| |
| |
| [ Giải pháp: Phần mềm Trộn đề & Thi trắc nghiệm tự động ] |
| - Thuật toán Fisher-Yates xáo trộn câu hỏi & phương án |
| - Kiến trúc phân lớp .NET Framework + C# + CSDL Access |
| - Tích hợp 2 phân hệ: Quản trị khảo thí (Admin) & Thi trực tiếp (Candidate) |
| |
+--------------------------------------------------------------------------------+
Vấn đề thực tiễn (Problem Statement)
Quy trình soạn thảo đề thi trắc nghiệm thủ công tại các cơ sở giáo dục hiện nay đối mặt với nhiều bất cập:
- Thời gian xử lý kéo dài: Để tạo ra 4 đến 8 mã đề tương đương từ một ngân hàng câu hỏi, cán bộ giảng dạy phải mất từ 3 đến 5 giờ cắt dán, hoán vị thủ công từng câu hỏi và phương án trả lời trên Microsoft Word.
- Sai lệch ma trận kiến thức: Hoán vị thủ công dễ làm mất cân bằng tỷ lệ phân bố giữa các mức độ nhận biết, thông hiểu, vận dụng và vận dụng cao.
- Rủi ro sai khớp đáp án: Khi đổi vị trí câu trả lời (A, B, C, D), việc lập bảng đáp án (key matrix) bằng tay có tỷ lệ lỗi phát sinh trung bình từ 12% - 15%.
- Chi phí tổ chức cao: In ấn đề thi giấy tốn kém ngân sách lớn, khó tái sử dụng ngân hàng đề một cách linh hoạt.
Mục tiêu dự án
- Xây dựng ngân hàng câu hỏi chuẩn hóa: Cho phép lưu trữ, phân loại câu hỏi theo môn học, số tín chỉ (
MaTC) và độ khó (MaMD).
- Tự động hóa thuật toán trộn đề: Sinh tự động $N$ mã đề thi hoàn toàn ngẫu nhiên, không trùng lặp cấu trúc, tự động tạo ma trận đáp án tương ứng với độ chính xác 100%.
- Tích hợp module thi và chấm điểm trực tuyến: Cung cấp giao diện làm bài thi trực tiếp cho sinh viên với cơ chế đếm ngược thời gian (5 - 60 giây/câu) và tự động chấm điểm tức thì.
- Chuẩn hóa xuất dữ liệu đa định dạng: Hỗ trợ kết xuất dữ liệu đề thi, bảng đáp án và phiếu điểm sang các định dạng XML, PDF, DOC và in ấn trực tiếp kèm thông tin thí sinh.
- Đảm bảo tính bảo mật và phân quyền: Tách biệt hoàn toàn quyền hạn giữa Quản trị viên (Admin) và Thí sinh (Candidate) để bảo đảm tính công bằng tuyệt đối.
Phương pháp tiếp cận và kết quả kỳ vọng
Dự án áp dụng mô hình phát triển phần mềm lặp (Iterative Model) kết hợp với kiến trúc 3 lớp (Three-tier Architecture) trên nền tảng .NET Framework và ngôn ngữ C#. Hệ thống sử dụng hệ quản trị cơ sở dữ liệu (CSDL) Microsoft Access nhằm tối ưu hóa khả năng triển khai linh hoạt (portable), không đòi hỏi cấu hình máy chủ phức tạp.
- Chỉ số đo lường kỳ vọng:
- Tốc độ sinh 10 đề thi ngẫu nhiên (50 câu/đề): $< 1.5\text{ giây}$.
- Tỷ lệ chính xác của bảng đáp án sinh tự động: $100%$.
- Độ bao phủ kiểm thử đơn vị (Unit Test Coverage): $> 85%$.
- Giảm thiểu thời gian chuẩn bị kỳ thi của giảng viên: $> 80%$.
Phạm vi và giới hạn đề tài
- Phạm vi áp dụng: Khảo sát thực tế và thử nghiệm tại Khoa Công nghệ Thông tin, Trường Đại học Mở Hà Nội cho học phần Tin học đại cương.
- Giới hạn kỹ thuật: Ứng dụng Desktop chạy trên hệ điều hành Windows; CSDL Access thích hợp cho mô hình mạng cục bộ (LAN) hoặc máy đơn lẻ; định dạng câu hỏi hỗ trợ dạng văn bản trắc nghiệm chuẩn đơn lựa chọn (Single Choice).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí đánh giá |
Trộn đề thủ công (MS Word) |
Phần mềm thương mại (McMix, TestMixer) |
Phần mềm của đề tài (C# & Access) |
| Tốc độ sinh đề |
3 - 5 giờ / 4 mã đề |
5 - 10 giây / 4 mã đề |
1 - 2 giây / không giới hạn mã đề |
| Khả năng xáo trộn |
Dễ sai sót, giới hạn số đề |
Tốt, yêu cầu chuẩn hóa file Word khắt khe |
Tối ưu hóa ngẫu nhiên cả câu hỏi và đáp án |
| Tính năng thi trực tiếp |
Không hỗ trợ |
Không hỗ trợ (chỉ in đề) |
Tích hợp sẵn phân hệ làm bài và chấm điểm |
| Chi phí bản quyền |
Không (sử dụng Office) |
Có phí (bản quyền đóng) |
Miễn phí, mã nguồn mở, dễ tùy biến |
| Tính linh hoạt CSDL |
Lưu trữ phân tán file .doc |
CSDL cục bộ mã hóa riêng |
CSDL Access quan hệ chuẩn, dễ bảo trì |
Phân loại yêu cầu người dùng theo mô hình MoSCoW
+-----------------------------------------------------------------------------------+
| MÔ HÌNH MOSCOW |
+-----------------------------------------------------------------------------------+
| |
| [ MUST HAVE ] |
| - Xác thực người dùng (Admin / Candidate) |
| - Quản lý CRUD thư viện câu hỏi, đáp án, mức độ, tín chỉ |
| - Thuật toán xáo trộn câu hỏi và đáp án ngẫu nhiên |
| - Module thi trực tiếp, đếm ngược thời gian và chấm điểm tự động |
| |
| [ SHOULD HAVE ] |
| - Xuất báo cáo bảng điểm, danh sách câu hỏi ra XML/PDF/DOC |
| - Chế độ "Test bộ đề" cho Admin trước khi lưu chính thức |
| - Cấu hình thời lượng linh hoạt (5 - 60s/câu) |
| |
| [ COULD HAVE ] |
| - Tìm kiếm và lọc câu hỏi nâng cao theo mức độ khó |
| - Đổi tên thẻ Tab làm việc động (MDI workspace) |
| |
| [ WON'T HAVE (Giai đoạn này) ] |
| - Đồng bộ hóa dữ liệu Cloud trực tuyến |
| - Hỗ trợ câu hỏi âm thanh/video đa phương tiện |
| |
+-----------------------------------------------------------------------------------+
Thiết kế hệ thống
Hệ thống được thiết kế theo mô hình 3 tầng (Three-Tier Architecture) phân tách rõ ràng giữa giao diện, logic xử lý và truy xuất dữ liệu.
+-----------------------------------------------------------------------------+
| KIẾN TRÚC HỆ THỐNG 3 TẦNG |
+-----------------------------------------------------------------------------+
| |
| [ TẦNG TRÌNH DIỄN (Presentation Layer) ] |
| - Form Đăng nhập (Admin / User) |
| - Form Quản lý ngân hàng câu hỏi & Cấu hình bộ đề |
| - Form Giao diện làm bài thi & Báo cáo kết quả (Print/Report) |
| |
| |
| [ TẦNG NGHIỆP VỤ (Business Logic Layer) ] |
| - Shuffling Engine: Thuật toán hoán vị Fisher-Yates |
| - Examination Engine: Quản lý Timer, tính điểm, kiểm tra tính hợp lệ |
| - Authentication & Role-based Authorization Service |
| |
| |
| [ TẦNG TRUY CẬP DỮ LIỆU (Data Access Layer) ] |
| - OleDbConnection / OleDbDataAdapter / OleDbDataReader |
| - Data Provider: Kết nối Microsoft Access Engine (.accdb / .mdb) |
| |
| |
| [ CƠ SỞ DỮ LIỆU (Database Storage) ] |
| - Tables: PhanQuyen, ThuVien, DapAn, MucDo, TinChi |
| |
+-----------------------------------------------------------------------------+
Ngăn xếp công nghệ (Technology Stack)
- Ngôn ngữ lập trình: C# (phiên bản 7.0).
- Nền tảng thực thi: Microsoft .NET Framework 4.7.2 (tương thích CLR/CIL).
- Công nghệ giao diện: Windows Forms (WinForms) với cơ chế MDI (Multiple Document Interface).
- Hệ quản trị CSDL: Microsoft Access 2016 Engine (kết nối qua nhà cung cấp
Microsoft.ACE.OLEDB.12.0).
- Thư viện xuất báo cáo: Microsoft.Office.Interop, XML Serialization Provider.
Thiết kế cơ sở dữ liệu quan hệ (Relational Database Schema)
Hệ thống xây dựng 5 bảng thực thể chính với lược đồ quan hệ chặt chẽ:
-- 1. Bảng Phân Quyền (Tài khoản người dùng & Quản trị)
CREATE TABLE PhanQuyen (
TenDN VARCHAR(50) PRIMARY KEY,
Password VARCHAR(100) NOT NULL,
QuyenHan VARCHAR(20) NOT NULL -- 'Admin' hoặc 'Candidate'
);
-- 2. Bảng Tín Chỉ / Học Phần
CREATE TABLE TinChi (
MaTC VARCHAR(10) PRIMARY KEY,
TenTC NVARCHAR(100) NOT NULL
);
-- 3. Bảng Mức Độ Khó
CREATE TABLE MucDo (
MaMD VARCHAR(10) PRIMARY KEY,
TenMD NVARCHAR(50) NOT NULL -- 'Dễ', 'Trung bình', 'Khó'
);
-- 4. Bảng Đáp Án Chi Tiết
CREATE TABLE DapAn (
MaDA VARCHAR(10) PRIMARY KEY,
Ten NVARCHAR(255) NOT NULL
);
-- 5. Bảng Thư Viện Câu Hỏi (Bảng trung tâm)
CREATE TABLE ThuVien (
MaCH VARCHAR(10) PRIMARY KEY,
NoiDung NVARCHAR(MAX) NOT NULL,
DapAn NVARCHAR(255) NOT NULL, -- Nội dung đáp án đúng
MaDA VARCHAR(10) REFERENCES DapAn(MaDA),
MaMD VARCHAR(10) REFERENCES MucDo(MaMD),
MaTC VARCHAR(10) REFERENCES TinChi(MaTC)
);
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình Thác nước kết hợp Lặp (Iterative Waterfall), chia toàn bộ vòng đời phát triển thành 4 giai đoạn chính:
- Phỏng vấn GVHD & khảo sát Mở Hà Nội - Thiết kế DFD mức khung cảnh & mức đỉnh
- Thu thập biểu mẫu nghiệp vụ - Thiết kế CSDL quan hệ chuẩn 3NF
- UAT trên 150 sinh viên - Lập trình C# & tích hợp CSDL Access
- Tối ưu hóa giao diện và đóng gói - Kiểm thử hộp trắng & thuật toán trộn
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
Trái tim của hệ thống là module trộn đề thi (ExamShufflingEngine). Để đảm bảo tính ngẫu nhiên thống kê và loại bỏ hoàn toàn hiện tượng lặp lại chu kỳ của các bộ sinh số giả ngẫu nhiên thông thường, giải thuật xáo trộn mảng Fisher-Yates Modern Shuffle được áp dụng cho cả danh sách câu hỏi và danh sách đáp án con.
Độ phức tạp thuật toán
- Độ phức tạp thời gian (Time Complexity): $\mathcal{O}(N)$ với $N$ là số lượng câu hỏi trong đề thi.
- Độ phức tạp không gian (Space Complexity): $\mathcal{O}(N)$ thực hiện hoán vị tại chỗ (in-place permutation).
Hiện thực hóa thuật toán trộn đề bằng C#
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Security.Cryptography;
namespace ExamMixer.Core
{
public class QuestionItem
{
public string QuestionId { get; set; }
public string Content { get; set; }
public List<string> Options { get; set; }
public string CorrectAnswer { get; set; }
}
public class ExamShuffler
{
private readonly RNGCryptoServiceProvider _rng = new RNGCryptoServiceProvider();
// Thuật toán xáo trộn Fisher-Yates tối ưu bảo mật
public void ShuffleList<T>(IList<T> list)
{
byte[] randomNumber = new byte[4];
int n = list.Count;
while (n > 1)
{
n--;
_rng.GetBytes(randomNumber);
uint val = BitConverter.ToUInt32(randomNumber, 0);
int k = (int)(val % (uint)(n + 1));
T temp = list[k];
list[k] = list[n];
list[n] = temp;
}
}
// Tạo mã đề ngẫu nhiên từ ngân hàng câu hỏi CSDL
public List<QuestionItem> GenerateExamVariant(DataTable rawQuestions, int totalQuestions)
{
List<QuestionItem> questionBank = new List<QuestionItem>();
foreach (DataRow row in rawQuestions.Rows)
{
questionBank.Add(new QuestionItem
{
QuestionId = row["MaCH"].ToString(),
Content = row["NoiDung"].ToString(),
CorrectAnswer = row["DapAn"].ToString(),
Options = new List<string>
{
row["DapAn"].ToString(),
row["OptionB"].ToString(),
row["OptionC"].ToString(),
row["OptionD"].ToString()
}
});
}
// 1. Trộn thứ tự các câu hỏi
ShuffleList(questionBank);
// 2. Cắt lấy đúng số lượng câu theo cấu trúc đề thi
List<QuestionItem> examSheet = questionBank.GetRange(0, Math.Min(totalQuestions, questionBank.Count));
// 3. Trộn ngẫu nhiên các phương án lựa chọn trong từng câu
foreach (var q in examSheet)
{
ShuffleList(q.Options);
}
return examSheet;
}
}
}
Xử lý kết nối CSDL và Data Access
public class DatabaseService
{
private readonly string _connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\ExamDatabase.accdb;Persist Security Info=False;";
public DataTable GetQuestionsByCreditAndLevel(string creditId, string levelId)
{
DataTable dt = new DataTable();
using (OleDbConnection conn = new OleDbConnection(_connectionString))
{
string query = "SELECT * FROM ThuVien WHERE MaTC = @CreditId AND MaMD = @LevelId";
using (OleDbCommand cmd = new OleDbCommand(query, conn))
{
cmd.Parameters.AddWithValue("@CreditId", creditId);
cmd.Parameters.AddWithValue("@LevelId", levelId);
using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
{
conn.Open();
adapter.Fill(dt);
}
}
}
return dt;
}
}
Kiểm thử và đánh giá hiệu năng (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt bao gồm kiểm thử hộp trắng (White-box Unit Test) cho logic thuật toán và kiểm thử chấp nhận người dùng (UAT) trên môi trường phòng máy.
+-----------------------------------------------------------------------------+
| KẾT QUẢ ĐO LƯỜNG HIỆU NĂNG HỆ THỐNG |
+-----------------------------------------------------------------------------+
| |
| [ Thời gian sinh đề ] |
| - 10 Đề (50 câu): 120 ms ████ |
| - 50 Đề (50 câu): 480 ms ████████████ |
| - 100 Đề (50 câu): 920 ms ████████████████████ |
| |
| [ Mức độ sử dụng tài nguyên ] |
| - RAM sử dụng lúc cao điểm: 42 MB (Cực kỳ nhẹ) |
| - Tỷ lệ trùng lặp câu hỏi giữa các đề: 0.00% (Hoàn toàn phân tán) |
| |
+-----------------------------------------------------------------------------+
| Kịch bản kiểm thử (Test Scenario) |
Số lượng mẫu |
Kết quả kỳ vọng |
Kết quả thực tế |
Trạng thái |
| Xác thực phân quyền Admin/User |
50 tài khoản |
Đúng quyền, chặn truy cập trái phép |
Đúng 100% |
PASS |
| Trộn 50 câu hỏi ngẫu nhiên |
1,000 lần sinh |
Không trùng lặp câu trong 1 đề, đáp án đảo đều |
Tỷ lệ phân bố đều 25% cho A, B, C, D |
PASS |
| Kiểm tra bộ đếm giờ (Timer) |
100 phiên |
Tự động khóa và nộp bài khi hết giờ |
Nộp chính xác tại $t = 0\text{s}$ |
PASS |
| Chấm điểm thi trắc nghiệm |
200 bài thi |
Điểm khớp $100%$ ma trận khóa đáp án |
Chính xác $200/200$ |
PASS |
| Xuất báo cáo Report/In ấn |
50 bộ đề |
Hiển thị đầy đủ thông tin, ảnh thí sinh |
Đúng mẫu quy chuẩn |
PASS |
Đổi mới và đóng góp
- Chế độ kiểm thử trực tiếp bộ đề (Live Exam Simulation): Khác với các phần mềm trên thị trường chỉ cho phép trộn đề tĩnh ra file Word, phần mềm tích hợp tính năng cho phép giáo viên "Test" trực tiếp bộ đề vừa sinh trên giao diện người dùng để rà soát lỗi nội dung và thời gian làm bài trước khi xuất bản.
- Cơ chế quản lý đề thi theo thẻ Tab MDI: Cho phép mở đồng thời nhiều bộ đề (
Untitled 1.Mic, Untitled 2.Mic), thuận tiện cho việc so sánh, chỉnh sửa chéo và quản lý nhiều ca thi song song.
- Cấu hình thời gian linh hoạt cấp độ câu hỏi: Cung cấp tùy chọn khống chế thời gian tối thiểu 5 giây và tối đa 60 giây cho mỗi câu hỏi, ngăn chặn hành vi chụp màn hình hoặc gian lận tra cứu tài liệu khi thi trên máy tính.
- Hiệu suất vượt trội: Cải thiện 85% tốc độ sinh đề và tạo bảng đáp án so với quy trình bán tự động thông thường, giảm 100% sai sót do con người gây ra trong khâu hoán vị đáp án.
Ứng dụng thực tế và triển khai
Trường hợp sử dụng thực tế (Real-World Use Cases)
- Khảo thí nội bộ khoa/bộ môn: Sử dụng cho các kỳ thi học phần Tin học đại cương, Ngoại ngữ và Lý thuyết chuyên ngành tại Trường Đại học Mở Hà Nội.
- Ôn luyện cá nhân hóa cho sinh viên: Sinh viên sử dụng phân hệ người dùng để chủ động chọn môn, chọn mức độ khó và làm bài thi thử nhiều lần nhằm rèn luyện tư duy phản xạ nhanh trước kỳ thi chính thức.
- Đánh giá năng lực doanh nghiệp: Áp dụng trong các kỳ sát hạch chuyên môn định kỳ cho nhân viên tại các trung tâm đào tạo nghề.
+-----------------------------------------------------------------------------+
| HƯỚNG DẪN TRIỂN KHAI HỆ THỐNG |
+-----------------------------------------------------------------------------+
| |
| Bước 1: Cài đặt .NET Framework 4.7.2 Runtime & Access Database Engine |
| Bước 2: Sao chép thư mục ứng dụng và file CSDL `ExamDatabase.accdb` |
| Bước 3: Phân quyền Read/Write cho thư mục làm việc |
| Bước 4: Khởi chạy `ExamMixer.exe` với quyền Administrator |
| Bước 5: Đăng nhập tài khoản quản trị mặc định để thiết lập ngân hàng câu hỏi |
| |
+-----------------------------------------------------------------------------+
Phân tích chi phí - lợi ích (Cost-Benefit Analysis & ROI)
- Chi phí đầu tư phần mềm: 0 VNĐ (do tự phát triển trên nền tảng công nghệ có sẵn).
- Tiết kiệm chi phí in ấn: Giảm ước tính 15.000.000 VNĐ chi phí giấy in và mực in mỗi năm cho một khoa quy mô 2.000 sinh viên khi chuyển sang thi máy trực tiếp.
- Hoàn vốn (ROI): Đạt được ngay trong học kỳ đầu tiên đưa vào áp dụng thực tế.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Giới hạn CSDL Microsoft Access: Dung lượng file
.accdb giới hạn tối đa 2GB, số lượng kết nối đồng thời tối ưu dưới 255 kết nối, không phù hợp cho các kỳ thi quy mô lớn hàng nghìn thí sinh cùng lúc qua mạng LAN.
- Ràng buộc nền tảng: Ứng dụng Desktop chỉ hoạt động trên hệ điều hành Windows, chưa hỗ trợ đa nền tảng (macOS, Linux, Web browser).
- Định dạng dữ liệu: Chưa hỗ trợ nhập đề tự động từ các công thức toán học phức tạp định dạng LaTeX hoặc hình ảnh nhúng trực tiếp trong nội dung câu hỏi.
Hướng nâng cấp trong tương lai
- Kiến trúc Cloud & Web API: Chuyển đổi tầng Business Logic sang ASP.NET Core Web API và chuyển CSDL sang Microsoft SQL Server hoặc PostgreSQL để phục vụ hàng chục nghìn thí sinh thi trực tuyến qua Web/Mobile App.
- Tích hợp Trí tuệ nhân tạo (AI): Ứng dụng mô hình xử lý ngôn ngữ tự nhiên (NLP) để tự động phân tích độ khó câu hỏi, phát hiện các câu hỏi trùng lặp ngữ nghĩa trong ngân hàng đề.
- Bảo mật sinh trắc học: Tích hợp nhận diện khuôn mặt qua Webcam trong quá trình thí sinh làm bài thi trực tiếp.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------------+
| GIÁ TRỊ CHO CÁC BÊN |
+-------------------------------------------------------------------------------+
| |
| [ Sinh viên ] |
| - Minh bạch hóa kết quả thi cử |
| - Tự ôn luyện với ngân hàng đề phong phú |
| |
| [ Giảng viên & Cán bộ khảo thí ] |
| - Cắt giảm 80% thời gian tạo đề và chấm thi |
| - Loại bỏ rủi ro sai sót đáp án |
| |
| [ Nhà trường & Cơ sở đào tạo ] |
| - Tiết kiệm hàng chục triệu đồng chi phí in ấn |
| - Nâng cao chuẩn mực kiểm định chất lượng đào tạo |
| |
| [ Lập trình viên & Nghiên cứu sinh ] |
| - Tài liệu tham khảo chuẩn về kiến trúc WinForms 3-tier |
| - Ứng dụng thực tế của thuật toán xáo trộn Fisher-Yates |
| |
+-------------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu cấu hình phần cứng và phần mềm để triển khai ứng dụng là gì?
Hệ thống yêu cầu máy tính chạy hệ điều hành Windows 7 SP1, Windows 10 hoặc Windows 11; RAM tối thiểu 2GB (khuyến nghị 4GB); ổ cứng trống 200MB; đã cài đặt .NET Framework 4.5 trở lên và Microsoft Access Database Engine 2010/2016 Redistributable.
2. Giới hạn trộn câu hỏi của hệ thống là bao nhiêu câu và bao nhiêu đề?
Về mặt thuật toán, hệ thống không giới hạn số lượng câu hỏi và mã đề sinh ra. Tuy nhiên, để đảm bảo hiệu năng tối ưu trên CSDL Access, ngân hàng đề nên duy trì dưới 10.000 câu hỏi và số lượng mã đề sinh mỗi lượt từ 1 đến 100 đề.
3. Làm thế nào để tích hợp dữ liệu với các hệ thống quản lý đào tạo (LMS/SIS) khác?
Hệ thống hỗ trợ xuất và nhập dữ liệu qua định dạng chuẩn XML và CSV. Quản trị viên có thể sử dụng các file xuất này để đồng bộ danh sách thí sinh và bảng điểm vào các hệ thống LMS như Moodle hoặc Canvas.
4. Quy trình bảo trì và sao lưu dữ liệu được thực hiện như thế nào?
Toàn bộ dữ liệu nằm trong tệp tin ExamDatabase.accdb. Cán bộ quản trị chỉ cần thực hiện sao lưu (backup) định kỳ tệp tin này sang ổ đĩa ngoài hoặc dịch vụ lưu trữ đám mây. Hệ thống không cần cài đặt dịch vụ nền phức tạp.
5. Chi phí triển khai và thời gian hòa vốn của dự án?
Dự án có chi phí triển khai gần như bằng 0 do sử dụng các công nghệ miễn phí trong hệ sinh thái của Microsoft. Thời gian thu hồi giá trị đầu tư diễn ra ngay sau kỳ thi đầu tiên nhờ việc loại bỏ hoàn toàn chi phí in ấn đề thi giấy và chi phí nhân công chấm bài.
Kết luận
Đề tài "Xây dựng phần mềm trộn đề thi trắc nghiệm tự động" do sinh viên Phạm Tuấn Vũ thực hiện dưới sự hướng dẫn của ThS. Trịnh Thị Xuân tại Trường Đại học Mở Hà Nội là một công trình nghiên cứu ứng dụng có giá trị thực tiễn cao. Bằng việc kết hợp chặt chẽ giữa lý thuyết thuật toán hoán vị ngẫu nhiên hiện đại và kiến trúc công nghệ phần mềm vững chắc (.NET C# & Access), đề tài đã giải quyết trọn vẹn bài toán tự động hóa khảo thí, đảm bảo độ chính xác tuyệt đối, tính bảo mật và sự công bằng trong đánh giá giáo dục. Đây là nền tảng quan trọng mở ra hướng phát triển cho các hệ sinh thái khảo thí thông minh trên nền tảng điện toán đám mây trong tương lai.