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

Đồ án tốt nghiệp ngành Công nghệ Thông tin của sinh viên Nguyễn Trần Anh Tuấn (Khoa Công nghệ số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng, năm 2022) tập trung giải quyết bài toán ứng dụng công nghệ thông tin vào hoạt động ngoại khóa giáo dục thông qua đề tài "Xây dựng phần mềm tổ chức cuộc thi 'Đường lên đỉnh Olympia' cho trường Trung học Phổ thông Chu Văn An".

  • Lý do chọn đề tài và bối cảnh thực tiễn: Tác giả căn cứ vào tinh thần Nghị quyết Hội nghị Trung ương 8 khóa XI về đổi mới căn bản, toàn diện giáo dục và đào tạo. Nghị quyết nhấn mạnh yêu cầu chuyển từ truyền thụ một chiều sang phát triển năng lực, đa dạng hóa các hình thức học tập, chú trọng hoạt động ngoại khóa và đẩy mạnh ứng dụng công nghệ thông tin – truyền thông. Trong thực tế tại các trường trung học phổ thông, hoạt động ngoại khóa trí tuệ còn chưa được quan tâm đúng mức; nhiều nơi không tổ chức hoặc tổ chức còn mang tính hình thức, hời hợt, chưa tạo được sức hút đối với học sinh, hoặc có bộ câu hỏi thực tế nhưng chưa được số hóa và phổ biến rộng rãi.
  • Mục tiêu nghiên cứu:
    1. Xây dựng một phần mềm hoàn chỉnh nhằm hỗ trợ nhà trường tổ chức sân chơi ngoại khóa tri thức, kết hợp giữa học tập và giải trí, thúc đẩy tư duy cho học sinh.
    2. Số hóa và tự động hóa quy trình tổ chức đủ 4 phần thi mô phỏng theo chương trình truyền hình: Khởi động, Vượt chướng ngại vật, Tăng tốc và Về đích.
  • Đối tượng và phạm vi nghiên cứu:
    • Đối tượng nghiên cứu: Quy trình tác nghiệp và sự tương tác giữa 4 tác nhân chính trong hệ thống gồm: Người điều khiển chương trình (Máy chủ), Thí sinh, Người dẫn chương trình (MC) và Máy chiếu.
    • Phạm vi nghiên cứu: Ứng dụng phục vụ công tác dạy học, sinh hoạt ngoại khóa cho học sinh tại Trường Trung học Phổ thông Chu Văn An.

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

Đồ án xây dựng nền tảng lý thuyết và kỹ thuật dựa trên các công nghệ lập trình ứng dụng máy tính và truyền thông mạng:

  • Khung lý thuyết và công nghệ:
    • Ngôn ngữ C# và .NET Framework: Áp dụng mô hình lập trình hướng đối tượng với 4 đặc tính cơ bản (kế thừa, đóng gói, trừu tượng, đa hình) trên nền tảng Common Language Infrastructure (CLI), tận dụng tính đơn giản và hệ thống từ khóa tối ưu của C#.
    • Giao thức truyền thông Socket TCP/IP: Sử dụng lớp System.Net.Sockets.TcpListener và phương thức AcceptSocket() để thiết lập kết nối hai chiều (two-way communication) giữa Máy chủ (Server) và các Máy trạm (Client). Cơ chế đa luồng (Thread) được sử dụng để xử lý đồng thời nhiều kết nối Client qua địa chỉ IP và Port xác định.
    • Lập trình tự động hóa VBA (Visual Basic for Applications): Viết các hàm điều khiển macro bằng Visual Basic tích hợp trong Microsoft PowerPoint nhằm tự động kích hoạt các hiệu ứng hoạt cảnh (animation) và chuyển slide trình chiếu từ xa thông qua tín hiệu điều khiển từ Server.
  • Phương pháp nghiên cứu:
    • Phương pháp khảo sát hiện trạng: Phân tích các thiếu sót, hạn chế của những công cụ, phần mềm tổ chức thi hiện có.
    • Phương pháp phân tích mô hình hóa: Khảo sát cấu trúc luật chơi, thời gian và cách thức chấm điểm của cuộc thi "Đường lên đỉnh Olympia" thực tế để chuyển đổi thành các yêu cầu nghiệp vụ và sơ đồ Use Case.
    • Phương pháp thiết kế và lập trình thực nghiệm: Xây dựng kiến trúc hệ thống, lập trình giao diện, kiểm thử chức năng truyền nhận gói tin qua mạng nội bộ.
  • Nguồn dữ liệu:
    • Ngân hàng câu hỏi thuộc 10 lĩnh vực kiến thức: Toán, Lý, Hóa, Sinh, Văn, Sử, Địa, Tiếng Anh, Thể thao, Nghệ thuật.
    • Dữ liệu câu hỏi, đáp án, gợi ý và từ khóa được định dạng và lưu trữ trên các tệp bảng tính Microsoft Excel (.xlsx) để nạp tự động vào hệ thống.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình mạng phân tán Client-Server hoạt động qua giao thức Socket TCP/IP trên nền mạng cục bộ (LAN), kết hợp đồng bộ hóa với các ứng dụng văn phòng.

Tác nhân (Actor) Vai trò hệ thống Chức năng và nhiệm vụ chính
Người điều khiển Máy chủ (Server) Tạo máy chủ (thiết lập IP, Port); nạp câu hỏi từ file Excel cho 4 vòng thi; gửi và đồng bộ dữ liệu tới Client; điều khiển trình chiếu PowerPoint qua VBA; chấm điểm đúng/sai, cộng/trừ điểm; chấp nhận chuông giành quyền; quản lý gói câu hỏi và Ngôi sao hy vọng.
Thí sinh Máy trạm (Client) Kết nối tới IP/Port của Máy chủ; nhận câu hỏi và thông tin vòng thi; gửi đáp án các phần thi (Vượt chướng ngại vật, Tăng tốc); bấm chuông giành quyền trả lời; lựa chọn Ngôi sao hy vọng.
Người dẫn chương trình (MC) Máy trạm (Client) Kết nối tới Máy chủ; theo dõi thông tin thí sinh, câu hỏi, đáp án câu hỏi trước đó và giải thích chi tiết để dẫn dắt chương trình theo thời gian thực.
Máy chiếu Máy trạm (Client) Kết nối tới Máy chủ; tự động đồng bộ và thực thi trình chiếu slide PowerPoint (chạy video intro, hiển thị luật chơi, mở mảnh ghép hình ảnh, mở hàng ngang, hiển thị kết quả) theo lệnh điều khiển từ Server.

Công cụ và môi trường triển khai thực tế bao gồm:

  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2022 (sử dụng công cụ Windows Forms Designer để xây dựng giao diện tương tác theo mô hình hướng sự kiện).
  • Công cụ thiết kế giao diện: Adobe XD hỗ trợ dựng khung mẫu (wireframe/mockup).
  • Phần mềm quản lý dữ liệu: Microsoft Excel 2016.
  • Phần mềm trình chiếu đồ họa: Microsoft PowerPoint 2016 tích hợp mã VBA.

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

MỞ ĐẦU

Trình bày tổng quan về tính cấp thiết của việc đưa công nghệ vào đổi mới giáo dục ngoại khóa tại trường phổ thông; chỉ rõ thực trạng tổ chức các cuộc thi trí tuệ hiện nay; xác định mục tiêu xây dựng phần mềm tổ chức 4 vòng thi Olympia cho học sinh trường THPT Chu Văn An; xác định đối tượng phục vụ, phạm vi nghiên cứu, phương pháp tiếp cận và cấu trúc tổng thể của đồ án tốt nghiệp.

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

Tập trung hệ thống hóa các nền tảng kỹ thuật và công nghệ được sử dụng trong đề tài:

  • Trình bày lịch sử phát triển, đặc điểm cấu trúc, tính chất hướng đối tượng và cơ chế thực thi mã CLI của ngôn ngữ C#.
  • Trình bày nguyên lý hoạt động của Socket TCP, quy trình khởi tạo TcpListener, lắng nghe cổng và thiết lập kênh truyền thông 2 chiều giữa Server và Client.
  • Phân tích ưu điểm của mô hình Server-Client (khả năng chống nghẽn tải, bảo đảm tính toàn vẹn dữ liệu, dễ mở rộng, giao tiếp độc lập nền tảng) và các hạn chế cần lưu ý.
  • Giới thiệu ngôn ngữ lập trình VBA, phương thức xây dựng các hàm điều khiển hiệu ứng animation trong PowerPoint từ Server.
  • Khái quát vai trò của Visual Studio 2022, Microsoft Excel 2016 trong quản lý dữ liệu bảng tính và Microsoft PowerPoint 2016 trong trình chiếu.

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Phân tích chi tiết quy trình nghiệp vụ và xây dựng mô hình ca sử dụng cho hệ thống:

  • Đặc tả yêu cầu nghiệp vụ chi tiết cho 4 tác nhân: Người điều khiển chương trình, Thí sinh, Người dẫn chương trình và Máy chiếu qua từng vòng thi.
  • Xây dựng sơ đồ Use Case tổng quát toàn hệ thống.
  • Đặc tả và mô hình hóa 5 Use Case trọng tâm:
    1. Usecase Tạo máy chủ: Khởi tạo dịch vụ Socket và mở cổng lắng nghe trên máy điều khiển.
    2. Usecase Cập nhật câu hỏi: Đọc dữ liệu từ file Excel và nạp vào bộ nhớ máy chủ cho 4 vòng thi.
    3. Usecase Chấp nhận chuông giành quyền: Xử lý thứ tự tín hiệu bấm chuông từ thí sinh và khóa quyền của các thí sinh bấm sau.
    4. Usecase Cộng điểm tăng tốc: Tính toán và phân bổ điểm số theo thứ tự thời gian gửi đáp án đúng của các thí sinh.
    5. Usecase Thí sinh gửi câu trả lời: Đóng gói và truyền chuỗi dữ liệu đáp án từ giao diện thí sinh về máy chủ.

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH

Trình bày kết quả hiện thực hóa phần mềm thông qua hệ thống giao diện và logic điều khiển:

  • Trình bày các công cụ xây dựng chương trình thực tế (Visual Studio 2022, Excel 2016, PowerPoint 2016).
  • Thiết kế hệ thống giao diện phân quyền từ màn hình chính:
    • Giao diện chọn vai trò: Cho phép người dùng lựa chọn truy cập dưới tư cách Máy chủ, Thí sinh, MC hoặc Máy chiếu.
    • Giao diện Máy chủ: Các màn hình tạo kết nối IP/Port; nạp câu hỏi 4 phần thi từ Excel; kiểm tra trạng thái đầy đủ của dữ liệu trước khi phát động thi; phát dữ liệu đồng bộ; điều khiển chi tiết từng phần thi (chạy video intro, giới thiệu thí sinh, hướng dẫn luật, bắt đầu tính giờ, xác nhận Yes/No, mở mảnh ghép/toàn bộ ảnh VCNV, tính điểm tự động/thủ công, xử lý chuông và Ngôi sao hy vọng).
    • Giao diện Thí sinh: Màn hình nhập địa chỉ máy chủ, màn hình thi Khởi động, khung gửi đáp án VCNV/Tăng tốc, nút bấm chuông giành quyền, nút đăng ký Ngôi sao hy vọng.
    • Giao diện MC: Màn hình kết nối và các màn hình nhận dữ liệu trực tiếp hiển thị câu hỏi, đáp án câu hỏi trước, hỗ trợ dẫn dắt và giải thích cho từng vòng thi.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Tổng hợp toàn bộ các kết quả đạt được về mặt nghiên cứu lý thuyết lập trình mạng, lập trình hướng đối tượng và kết quả ứng dụng phần mềm thực tế; chỉ ra các điểm còn tồn tại trong quá trình thực hiện và xác định hướng nâng cấp trong tương lai.

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

Đồ án đã hiện thực hóa đầy đủ quy trình tổ chức cuộc thi với các thông số luật chơi được lập trình hóa chính xác:

Phần thi Thời gian quy định Cấu trúc câu hỏi & Lĩnh vực Quy tắc chấm điểm
Khởi động 60 giây / thí sinh Không giới hạn số lượng câu hỏi; thuộc 10 lĩnh vực: Toán, Lý, Hóa, Sinh, Văn, Sử, Địa, Tiếng Anh, Thể thao, Nghệ thuật. Trả lời đúng: +10 điểm;
Trả lời sai: không bị trừ điểm.
Vượt chướng ngại vật Theo lượt mở hàng ngang 4 từ hàng ngang (4 gợi ý) + 1 ô trung tâm; 1 bức tranh bị che bởi 5 mảnh ghép (4 góc và trung tâm). - Đúng CNV sau hàng ngang 1: 80 điểm;
- Đúng CNV sau hàng ngang 2: 60 điểm;
- Đúng CNV sau hàng ngang 3: 40 điểm;
- Đúng CNV sau hàng ngang 4: 20 điểm.
Tăng tốc Tính theo tốc độ trả lời trên máy 4 câu hỏi trả lời đồng thời qua máy tính cho 4 thí sinh. - Trả lời đúng và nhanh nhất: 40 điểm;
- Trả lời đúng và nhanh thứ hai: 30 điểm;
- Trả lời đúng và nhanh thứ ba: 20 điểm;
- Trả lời đúng và nhanh thứ tư: 10 điểm.
Về đích - Câu 10 điểm: 15 giây
- Câu 20 điểm: 25 giây
- Câu 30 điểm: 30 giây
Lựa chọn các gói câu hỏi (10, 20, 30 điểm); quyền chọn Ngôi sao hy vọng 1 lần. - Đúng câu hỏi thường: nhận đủ điểm câu hỏi;
- Đúng có Ngôi sao hy vọng: nhân đôi số điểm (x2);
- Sai có Ngôi sao hy vọng: bị trừ số điểm câu hỏi;
- Có cơ chế bấm chuông giành quyền trả lời cho thí sinh khác.
  • Giải pháp kỹ thuật đề xuất: Tự động hóa việc nạp ngân hàng đề thi qua định dạng Excel, giải quyết bài toán đồng bộ dữ liệu thời gian thực giữa 4 máy trạm bằng Socket TCP/IP, đồng thời điều khiển tự động slide trình chiếu PowerPoint từ xa qua macro VBA mà không cần thao tác thủ công trên máy chiếu.
  • Đóng góp của tác giả: Tạo ra một sản phẩm phần mềm chuyên dụng, khép kín quy trình tổ chức thi đấu tri thức bám sát format chương trình thực tế, áp dụng trực tiếp cho công tác ngoại khóa tại Trường THPT Chu Văn An.

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

  • Hạn chế:
    • Phần mềm được thiết kế tối ưu trong phạm vi cục bộ phục vụ học sinh Trường THPT Chu Văn An, dựa trên nền tảng mạng nội bộ (LAN) yêu cầu thiết lập chung địa chỉ IP và Port.
    • Hoạt động của hệ thống phụ thuộc vào việc cài đặt đồng bộ các phần mềm hỗ trợ trong hệ sinh thái Microsoft (Visual Studio, Excel 2016, PowerPoint 2016).
    • Tác giả tự nhận định quá trình triển khai vẫn còn những thiếu sót kỹ thuật cần tiếp tục hoàn thiện.
  • Hướng phát triển:
    • Tiếp tục khắc phục các lỗi phát sinh trong quá trình vận hành thực tế.
    • Nghiên cứu tối ưu hóa hiệu năng truyền nhận dữ liệu qua mạng và mở rộng khả năng tùy biến cấu hình cuộc thi cho nhiều đơn vị trường học khác.

Giá trị tham khảo

  • Đối tượng tham khảo: Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Sư phạm Tin học hoặc các nhà phát triển ứng dụng cần xây dựng phần mềm tổ chức hội thi, gameshow giáo dục tương tác thời gian thực.
  • Nội dung giá trị nhất:
    • Mô hình phân tích Use Case và thiết kế tương tác mạng đa tác nhân (Server, Thí sinh, MC, Máy chiếu) qua Socket TCP trong C# WinForms.
    • Kỹ thuật tích hợp mã VBA để điều khiển tự động bài trình chiếu PowerPoint 2016 từ ứng dụng C# bên ngoài.
    • Phương pháp tổ chức, nạp và kiểm tra tính toàn vẹn của ngân hàng câu hỏi từ bảng tính Excel 2016.

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

  • Phần mềm sử dụng cơ chế nào để kết nối các máy tính của thí sinh, MC và máy chiếu với máy chủ?
    Hệ thống sử dụng cơ chế truyền thông Socket TCP/IP thông qua lớp System.Net.Sockets.TcpListener và phương thức AcceptSocket() trong C#. Tất cả các máy Client (Thí sinh, MC, Máy chiếu) đều kết nối tới chung một địa chỉ IP và số hiệu Port do Máy chủ khởi tạo trên mạng LAN.

  • Dữ liệu ngân hàng câu hỏi cho 4 vòng thi được đưa vào phần mềm bằng cách nào?
    Người điều khiển chuẩn bị sẵn bộ câu hỏi trong các tệp Microsoft Excel 2016. Khi tạo phòng thi trên giao diện Máy chủ, người điều khiển sẽ thao tác chọn bộ câu hỏi để phần mềm tự động nạp dữ liệu câu hỏi, đáp án của từng phần thi (Khởi động, Vượt chướng ngại vật, Tăng tốc, Về đích) vào hệ thống.

  • Quy tắc tính điểm của phần thi Tăng tốc được hệ thống xử lý như thế nào?
    Phần thi Tăng tốc gồm 4 câu hỏi để 4 thí sinh cùng trả lời trên máy tính. Hệ thống ghi nhận thời gian gửi đáp án và chấm điểm tự động hoặc thủ công theo thứ tự: thí sinh trả lời đúng và nhanh nhất được 40 điểm, nhanh thứ hai được 30 điểm, nhanh thứ ba được 20 điểm và nhanh thứ tư được 10 điểm.

  • Làm thế nào để phần mềm điều khiển được các hiệu ứng trình chiếu trên PowerPoint?
    Tác giả xây dựng các hàm điều khiển hiệu ứng hoạt cảnh (animation) và chuyển slide bằng ngôn ngữ VBA (Visual Basic for Applications) bên trong tệp PowerPoint 2016. Khi người điều khiển thao tác trên Máy chủ, phần mềm C# sẽ kích hoạt các hàm macro này để máy chiếu tự động thực hiện các hiệu ứng tương ứng.

  • Thời gian quy định cho các mức câu hỏi trong phần thi Về đích là bao nhiêu?
    Trong phần thi Về đích, thời gian suy nghĩ và trả lời được quy định theo giá trị điểm của câu hỏi: câu hỏi 10 điểm có 15 giây, câu hỏi 20 điểm có 25 giây và câu hỏi 30 điểm có 30 giây.

Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Trần Anh Tuấn đã xây dựng thành công phần mềm tổ chức cuộc thi "Đường lên đỉnh Olympia" cho Trường THPT Chu Văn An bằng ngôn ngữ C# trên nền tảng .NET Framework và Socket TCP/IP. Hệ thống tích hợp hoàn chỉnh 4 vai trò tác nghiệp gồm Máy chủ, Thí sinh, MC và Máy chiếu, mô phỏng đầy đủ luật chơi của 4 vòng thi truyền thống. Đồ án thể hiện giải pháp kết hợp hiệu quả giữa lập trình mạng Socket, quản lý dữ liệu Excel và điều khiển trình chiếu PowerPoint qua VBA, mang lại giá trị ứng dụng thiết thực cho công tác đổi mới hoạt động ngoại khóa giáo dục.