Bối cảnh và vấn đề nghiên cứu

Trong hoạt động đào tạo tại các cơ sở giáo dục, công tác kiểm tra và đánh giá kết quả học tập của người học là khâu nghiệp vụ diễn ra thường xuyên. Phương thức tổ chức thi cử truyền thống thường tạo ra áp lực công việc lớn cho cán bộ quản lý, tiêu tốn nhiều thời gian, nhân lực và chi phí in ấn đề thi, đồng thời tiềm ẩn nguy cơ thiếu tính khách quan hoặc chịu ảnh hưởng bởi yếu tố chủ quan của người ra đề và người chấm thi. Trước thực trạng đó, việc ứng dụng công nghệ thông tin nhằm tự động hóa quy trình tạo đề, xáo trộn đề và tổ chức thi trắc nghiệm trở thành một định hướng cấp thiết nhằm nâng cao chất lượng đánh giá và tách bạch hoạt động kiểm tra đánh giá với hoạt động giảng dạy.

Đồ án tốt nghiệp chuyên ngành Công nghệ Thông tin với đề tài "Xây dựng phần mềm trộn đề thi trắc nghiệm tự động" được thực hiện nhằm giải quyết các yêu cầu thực tiễn trong công tác khảo thí.

Mục tiêu và nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Nghiên cứu hiện trạng quy trình tổ chức thi và khảo sát các phần mềm thi trắc nghiệm hiện có trên thị trường.
  2. Thiết kế và xây dựng phần mềm cho phép giáo viên nhập, chỉnh sửa, hoàn thiện và quản lý ngân hàng câu hỏi theo từng môn học, mức độ khó dễ và tín chỉ.
  3. Hiện thực hóa thuật toán tự động chọn ngẫu nhiên các câu hỏi từ cơ sở dữ liệu theo đúng cấu trúc đề thi, đồng thời xáo trộn thứ tự xuất hiện của câu hỏi và thứ tự các phương án trả lời để tạo ra các mã đề tương đương với tỷ lệ trùng lặp tối thiểu.
  4. Xây dựng phân hệ thi trắc nghiệm trực tiếp trên máy vi tính, tự động chấm điểm theo quy tắc định sẵn (1 điểm cho câu đúng, 0 điểm cho câu sai) và lưu kết quả khi hết giờ hoặc khi thí sinh nộp bài sớm.
  5. Cung cấp chức năng quản lý, kết xuất báo cáo, in ấn phiếu điểm (có hình ảnh) và danh sách điểm phục vụ công tác quản lý của Ban Giám hiệu và giáo viên.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các phần mềm thi trắc nghiệm đang lưu hành trên thị trường; công nghệ phát triển ứng dụng trên nền tảng .NET và hệ quản trị cơ sở dữ liệu.
  • Phạm vi nghiên cứu: Khảo sát thực tế nhu cầu và quy trình nghiệp vụ khảo thí tại Trường Đại học Mở Hà Nội.

Cơ sở lý thuyết và phương pháp

Đồ án tổng hợp các cơ sở lý thuyết về phát triển phần mềm máy tính, mô hình hóa dữ liệu và công nghệ phần mềm ứng dụng:

Khung lý thuyết và công nghệ nền tảng

  • Mô hình lập trình hướng đối tượng (OOP): Ứng dụng ngôn ngữ lập trình C# với các đặc trưng định kiểu mạnh, hướng thành phần, hướng khai báo và quản lý cấu trúc lớp hoàn chỉnh.
  • Kiến trúc .NET Framework: Nền tảng thực thi ứng dụng thông qua môi trường Common Language Runtime (CLR), chuyển đổi mã nguồn thành mã trung gian Common Intermediate Language (CIL/MSIL) và biên dịch Just-In-Time (JIT) trong khuôn khổ Common Language Intermediate (CLI).
  • Giao diện người dùng Windows Forms (WinForms): Framework xây dựng ứng dụng máy tính đồ họa (Desktop GUI) trực quan trên hệ điều hành Windows.
  • Hệ quản trị cơ sở dữ liệu quan hệ Microsoft Access: Sử dụng cấu trúc lưu trữ dạng bảng (Tables), liên kết quan hệ (Relationships), các câu truy vấn (Queries/SQL), biểu mẫu nhập liệu (Forms), báo cáo (Reports), tập lệnh tự động (Macros) và các khối mã lệnh VBA (Modules).

Phương pháp nghiên cứu

Tác giả đã kết hợp các phương pháp nghiên cứu định tính và kỹ thuật công nghệ thông tin:

  • Phương pháp khảo sát thực tế: Thực hiện phỏng vấn cán bộ quản lý và giáo viên; thu thập tài liệu nghiệp vụ; phát và thu thập biểu mẫu, checklist phản hồi nhằm xác định yêu cầu hệ thống.
  • Phương pháp phân tích và tổng hợp: Đánh giá luồng nghiệp vụ hiện tại, mô hình hóa chức năng (FDD) và luồng dữ liệu (DFD) để chuẩn hóa kiến trúc phần mềm.
  • Phương pháp thiết kế hệ thống phần mềm: Xây dựng lược đồ quan hệ thực thể, biểu đồ ca sử dụng (Use Case), biểu đồ lớp (Class), biểu đồ trạng thái, biểu đồ tuần tự và biểu đồ triển khai mạng LAN dựa trên giao thức truyền thông TCP/IP.

Nguồn dữ liệu

  • Dữ liệu khảo sát nghiệp vụ khảo thí từ Trường Đại học Mở Hà Nội.
  • Cơ sở dữ liệu ngân hàng câu hỏi, danh mục tín chỉ, mức độ khó dễ, danh sách thí sinh và bảng tài khoản phân quyền người dùng.

Thiết kế và triển khai

Hệ thống được thiết kế dạng ứng dụng Desktop phục vụ hai nhóm đối tượng người dùng chính với phân quyền chặt chẽ: Quản trị viên (Admin/Giáo viên) và Người dùng (Thí sinh).

Cấu trúc cơ sở dữ liệu

Cơ sở dữ liệu được xây dựng trên Microsoft Access với 5 thực thể chính:

Tên thực thể / Bảng Thuộc tính chính Diễn giải chức năng
Phân Quyền TenDN, Password Quản lý tài khoản đăng nhập và phân quyền hệ thống
Thư Viện MaCH, NoiDung, DapAn, MaDA, MaMD, MaTC Lưu trữ ngân hàng câu hỏi, nội dung và các khóa ngoại liên kết
Đáp Án MaDA, Ten Lưu trữ danh mục các phương án lựa chọn
Mức Độ MaMD, TenMD Phân loại độ khó của câu hỏi (dễ, khó...)
Tính Chỉ MaTC, TenTC Quản lý môn học / học phần theo số tín chỉ
[Phân Quyền] (TenDN, Password)

[Thư Viện] (MaCH, NoiDung, DapAn, MaDA, MaMD, MaTC)

Quy trình phân tích chức năng và luồng dữ liệu

  1. Sơ đồ phân rã chức năng (FDD): Chia tách hệ thống thành các khối xử lý: Quản lý người dùng, Quản lý câu hỏi, Sinh đề thi tự động, Tổ chức thi trắc nghiệm, Chấm điểm và Báo cáo thống kê.
  2. Sơ đồ dòng dữ liệu (DFD):
    • DFD mức đỉnh: Mô tả tương tác giữa Tác nhân ngoài (Admin, Thí sinh) với Hệ thống thi trắc nghiệm thông qua các luồng thông tin yêu cầu và kết quả trả về.
    • DFD phân hệ Thí sinh: Thể hiện quy trình đăng nhập/đăng ký -> Chọn môn và mã đề thi -> Nhận câu hỏi -> Gửi câu trả lời -> Hệ thống chấm điểm đối chiếu đáp án -> Trả về kết quả và lưu điểm.
    • DFD phân hệ Quản trị: Thể hiện việc tiếp nhận thông tin từ Admin -> Cập nhật kho dữ liệu (Thư viện câu hỏi, Môn học, Đề thi) -> Xuất tập tin đề thi và báo cáo.

Các chức năng và quy trình hoạt động

  • Xác thực và phân quyền: Hỗ trợ đăng nhập với quyền Admin hoặc Thí sinh; cho phép thí sinh đăng ký tài khoản mới trực tiếp trên giao diện.
  • Tạo và trộn bộ đề:
    • Lựa chọn câu hỏi thủ công thông qua bộ lọc tìm kiếm theo mức độ khó/dễ và học phần tín chỉ.
    • Tự động thêm ngẫu nhiên câu hỏi từ cơ sở dữ liệu với ràng buộc không trùng lặp câu hỏi, tự động xáo trộn vị trí đáp án.
    • Chức năng kiểm thử (Test) bộ đề trực tiếp trước khi lưu nhằm phát hiện sai sót về nội dung hoặc đáp án.
  • Lưu trữ và định dạng đề thi: Tạo thẻ quản lý đề mới (mặc định tên Untitled 2.Mic), hỗ trợ lưu tập tin đề thi ra màn hình Desktop hoặc đường dẫn tùy chọn dưới định dạng XML hoặc tệp chuyên dụng .Mic.
  • Thiết lập thời gian làm bài: Cho phép cấu hình thời gian hiển thị/trả lời cho từng câu hỏi trong khoảng từ 5 giây đến 60 giây.
  • Chấm điểm và kết xuất báo cáo: Tự động tính điểm (1 điểm/câu đúng, 0 điểm/câu sai); cho phép xem điểm chi tiết; kết xuất và in phiếu điểm, ngân hàng câu hỏi dưới các định dạng tài liệu như PDF, DOC, XML.

Nội dung chính theo từng chương

CHƯƠNG 1: Khảo sát hiện trạng và xác định tính cần thiết của hệ thống

Chương này tập trung phân tích bối cảnh áp dụng công nghệ thông tin trong khảo thí giáo dục và chỉ ra những hạn chế của phương thức thi truyền thống. Tác giả xác định rõ mục đích nghiên cứu là xây dựng công cụ hỗ trợ giáo viên soạn đề, trộn đề khách quan và giảm tải chi phí in ấn. Chương 1 liệt kê chi tiết các yêu cầu chức năng nghiệp vụ, bao gồm: chức năng xử lý thông tin người dùng, cập nhật ngân hàng câu hỏi, quản lý thông tin thí sinh, cơ chế tạo đề ngẫu nhiên độc lập với ý muốn chủ quan, quy định thang điểm bài thi và yêu cầu kết xuất báo cáo cho Ban Giám hiệu.

CHƯƠNG 2: Phân tích thiết kế hệ thống

Chương 2 trình bày toàn bộ quy trình mô hình hóa hệ thống bằng các công cụ chuẩn. Tác giả định nghĩa chi tiết các thành phần ký hiệu của biểu đồ DFD (chức năng, luồng dữ liệu, kho dữ liệu, tác nhân ngoài) cùng danh mục ký hiệu phần tử mô hình hóa (Use Case, Class, State, Sequence, Deployment). Trọng tâm của chương là việc xây dựng biểu đồ DFD mức đỉnh, biểu đồ luồng dữ liệu hoạt động của thí sinh, biểu đồ luồng dữ liệu của quản trị viên và thiết kế mô hình quan hệ dữ liệu cho 5 bảng thực thể trong Microsoft Access (Phân Quyền, Thư Viện, Đáp Án, Mức Độ, Tính Chỉ).

CHƯƠNG 3: Công nghệ sử dụng và giao diện hệ thống

Chương 3 trình bày cơ sở lý thuyết về nền tảng công nghệ được lựa chọn, bao gồm: kiến trúc .NET Framework (CLR, CIL, JIT), đặc tính ngôn ngữ lập trình C# (hướng đối tượng hoàn chỉnh, các trình biên dịch Visual C#, Mono, DotGNU), so sánh các công nghệ giao diện Windows (Windows Forms, WPF, UWP) và cấu trúc quản trị dữ liệu của Microsoft Access (Table, Query, Form, Report, Macro, VBA Module). Tiếp đó, chương minh họa chi tiết hệ thống giao diện thực thi qua các màn hình:

  • Màn hình đăng nhập và đăng ký tài khoản người dùng;
  • Giao diện chính phân hệ Quản trị (Admin);
  • Giao diện quản lý ngân hàng câu hỏi và quản lý đề thi;
  • Giao diện khởi tạo bộ đề, thiết lập thời gian làm bài (5–60 giây/câu), kiểm thử bộ đề và in ấn báo cáo dưới các định dạng PDF, DOC, XML.

Kết quả và đóng góp

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

  • Xây dựng thành công phần mềm desktop hoàn chỉnh đáp ứng hai phân quyền riêng biệt: Quản trị viên và Thí sinh.
  • Triển khai thuật toán lấy câu hỏi ngẫu nhiên từ ngân hàng dữ liệu kết hợp xáo trộn đáp án, giúp giảm thiểu tối đa tỷ lệ trùng lặp giữa các đề thi và loại bỏ định kiến chủ quan của người ra đề.
  • Thiết lập cơ chế thi trắc nghiệm trực quan với khả năng cấu hình thời gian linh hoạt từ 5 đến 60 giây cho mỗi câu hỏi.
  • Hiện thực hóa tính năng tự động chấm điểm và lưu trữ tức thời kết quả bài thi vào cơ sở dữ liệu Access khi nộp bài hoặc hết giờ.
  • Hỗ trợ xem, in ấn phiếu điểm và trích xuất dữ liệu câu hỏi, đề thi thành nhiều định dạng phổ thông (PDF, DOC, XML).

Đóng góp của đề tài

  • Đổi mới phương pháp khảo thí: Góp phần tách rời khâu ra đề, chấm thi khỏi hoạt động giảng dạy trực tiếp, nâng cao tính khách quan và minh bạch trong đánh giá kết quả học tập.
  • Tiết kiệm nguồn lực: Giảm thiểu đáng kể thời gian, công sức của cán bộ quản lý, giáo viên và cắt giảm chi phí in ấn đề thi giấy.
  • Khả năng tái sử dụng: Cho phép các đơn vị đào tạo dễ dàng lưu trữ, chỉnh sửa và mở rộng ngân hàng câu hỏi trắc nghiệm qua từng kỳ học.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế đã ghi nhận: Công tác nghiên cứu thống kê đánh giá độ khó và độ phù hợp của từng câu hỏi nhằm tự động loại bỏ các câu quá dễ hoặc quá khó chưa được tích hợp hoàn chỉnh do đòi hỏi nhiều thời gian và công sức nghiên cứu.
  • Hướng mở rộng: Tác giả định hướng sẽ tiếp tục nghiên cứu sâu hơn về các thuật toán phân tích thống kê câu hỏi thi và hoàn thiện cơ chế ứng dụng máy tính nâng cao trong quy trình chấm thi tự động ở các giai đoạn phát triển tiếp theo khi có điều kiện thích hợp.

Giá trị tham khảo

Tài liệu đồ án này mang lại giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ Thông tin và Kỹ thuật Phần mềm: Là tài liệu tham khảo trực quan về quy trình hoàn thiện một đồ án tốt nghiệp ứng dụng Desktop, từ khảo sát hiện trạng, vẽ sơ đồ DFD/FDD, thiết kế cơ sở dữ liệu quan hệ trên Access đến lập trình giao diện WinForms bằng ngôn ngữ C# trên nền tảng .NET.
  • Giáo viên và cán bộ quản lý giáo dục: Cung cấp mô hình tham khảo về quy trình số hóa ngân hàng đề thi trắc nghiệm và phương pháp kiểm soát đề thi ngẫu nhiên tại các cơ sở đào tạo.
  • Các nhà phát triển phần mềm giáo dục: Cung cấp thiết kế luồng dữ liệu và cấu trúc thực thể bảng để xây dựng các mô-đun trộn đề, kiểm thử đề thi và kết xuất báo cáo khảo thí đa định dạng.

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

1. Phần mềm quy định thang điểm và cách thức tính điểm bài thi trắc nghiệm như thế nào?

Hệ thống áp dụng quy tắc chấm tự động: mỗi câu trả lời đúng được tính 1 điểm, câu trả lời sai nhận 0 điểm. Kết quả làm bài được hệ thống tự động ghi nhận và lưu vào cơ sở dữ liệu ngay khi thí sinh hoàn thành nộp bài sớm hoặc khi đồng hồ đếm ngược hết thời gian.

2. Giáo viên có thể thiết lập thời gian trả lời cho từng câu hỏi trong khoảng bao lâu?

Phần mềm cung cấp chức năng cấu hình thời gian làm bài theo từng câu hỏi với giới hạn tối thiểu là 5 giây và tối đa là 60 giây cho một câu.

3. Cơ sở dữ liệu của hệ thống gồm những bảng nào và các thuộc tính chính là gì?

Cơ sở dữ liệu được thiết kế trên Microsoft Access gồm 5 bảng:

  • Phân Quyền (thuộc tính: TenDN, Password)
  • Thư Viện (thuộc tính: MaCH, NoiDung, DapAn, MaDA, MaMD, MaTC)
  • Đáp Án (thuộc tính: MaDA, Ten)
  • Mức Độ (thuộc tính: MaMD, TenMD)
  • Tính Chỉ (thuộc tính: MaTC, TenTC)

4. Phần mềm hỗ trợ lưu và kết xuất dữ liệu dưới những định dạng tệp nào?

Khi khởi tạo và lưu trữ bộ đề, chương trình tạo thẻ mới (ví dụ Untitled 2.Mic) và lưu dưới dạng tệp XML hoặc định dạng chuyên dụng .Mic. Đối với chức năng in ấn báo cáo và ngân hàng câu hỏi, hệ thống cho phép xuất ra các định dạng phổ biến như PDF, DOC, XML.

5. Thuật toán tạo đề thi tự động của phần mềm hoạt động theo cơ chế nào?

Phần mềm trích xuất ngẫu nhiên các câu hỏi từ cơ sở dữ liệu theo tỷ lệ và cấu trúc đã định, tự động xáo trộn thứ tự xuất hiện của câu hỏi và các phương án trả lời với ràng buộc không trùng lặp câu hỏi, đồng thời cho phép giáo viên kiểm thử (Test) trực tiếp trước khi lưu đề hoàn chỉnh.


Kết luận

Đồ án tốt nghiệp "Xây dựng phần mềm trộn đề thi trắc nghiệm tự động" của tác giả Phạm Tuấn Vũ đã giải quyết trọn vẹn bài toán ứng dụng công nghệ thông tin vào công tác khảo thí tại Trường Đại học Mở Hà Nội. Bằng việc kết hợp ngôn ngữ lập trình C#, nền tảng .NET Framework và hệ quản trị cơ sở dữ liệu Microsoft Access, hệ thống đã chuẩn hóa quy trình quản lý ngân hàng câu hỏi, xáo trộn đề ngẫu nhiên và tự động chấm điểm khách quan. Công trình cung cấp giải pháp thực tiễn giúp nâng cao tính minh bạch trong kiểm tra đánh giá và là tài liệu tham khảo hữu ích cho sinh viên ngành công nghệ phần mềm.