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

Trong bối cảnh công nghệ thông tin và Internet phát triển mạnh mẽ, việc ứng dụng các nền tảng số hóa vào công tác quản trị đại học trở thành nhu cầu cấp thiết. Tại các cơ sở giáo dục đại học, công tác quản lý sinh viên, giảng viên, điểm số và đặc biệt là quản lý khóa luận tốt nghiệp đóng vai trò quan trọng trong việc đánh giá chuẩn đầu ra và năng lực của người học sau bốn năm đào tạo. Tuy nhiên, phương thức quản lý thủ công truyền thống bộc lộ nhiều hạn chế, gây khó khăn cho việc theo dõi tiến độ, phân công hội đồng và dễ phát sinh sai sót trong quá trình tổng hợp điểm số.

Xuất phát từ thực trạng trên, tác giả Nguyễn Đặng Khương Duy đã thực hiện đề tài "Xây dựng website quản lý khóa luận tốt nghiệp" thuộc chuyên ngành Công nghệ phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Mở Thành phố Hồ Chí Minh (năm 2023), dưới sự hướng dẫn của ThS. Nguyễn Thị Phương Trang.

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

  1. Xây dựng hệ thống phần mềm nền tảng web phục vụ quản lý toàn diện quy trình khóa luận tốt nghiệp đại học, bao gồm các giai đoạn: giao khóa luận, nộp bài, thành lập hội đồng bảo vệ, chấm điểm, quản lý và lưu trữ dữ liệu khóa luận.
  2. Tin học hóa các quy trình nghiệp vụ đào tạo, bảo đảm tính chính xác, minh bạch, bảo mật và linh hoạt trong phân quyền người dùng và tính toán điểm số.
  3. Tối ưu hóa việc tương tác và truyền tải thông tin giữa các bên tham gia thông qua giao diện trực quan, hệ thống biểu đồ thống kê và cơ chế gửi email tự động.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý, tổ chức, theo dõi và đánh giá khóa luận tốt nghiệp tại môi trường giáo dục đại học.
  • Phạm vi không gian: Áp dụng cho các khoa chuyên môn tại Trường Đại học Mở Thành phố Hồ Chí Minh (nghiên cứu thực nghiệm tại Khoa Công nghệ Thông tin).
  • Phạm vi tác nhân: Hệ thống phục vụ 4 nhóm người dùng chính bao gồm: Người quản trị (Admin), Giáo vụ khoa, Giảng viên và Sinh viên.

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

Khóa luận áp dụng mô hình phát triển ứng dụng web hiện đại với kiến trúc phân tầng, kết hợp các công nghệ backend, frontend và hệ quản trị cơ sở dữ liệu quan hệ.

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

  • Ngôn ngữ lập trình Java & Nền tảng Spring Boot: Java là ngôn ngữ lập trình hướng đối tượng có tính độc lập nền tảng, cơ chế quản lý bộ nhớ tự động (Garbage Collector) và độ an toàn cao. Khung ứng dụng Spring Boot được sử dụng để phát triển tầng xử lý nghiệp vụ (backend), tận dụng khả năng đóng gói ứng dụng độc lập, tích hợp Spring MVC, Spring Data và cấu hình tự động.
  • Công cụ xây dựng Gradle: Được lựa chọn thay thế cho Maven nhờ ưu thế về tốc độ biên dịch các lớp Java, khả năng quản lý dependency linh hoạt và cú pháp kịch bản xây dựng tối ưu.
  • Máy chủ ứng dụng Apache Tomcat: Web server mã nguồn mở xử lý các giao thức HTTP, bảo đảm tính ổn định và khả năng tương thích cao trên nhiều môi trường hệ điều hành.
  • Hệ quản trị cơ sở dữ liệu MySQL: Cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ truy vấn có cấu trúc SQL, hỗ trợ xử lý khối lượng dữ liệu lớn, tốc độ truy xuất nhanh và bảo đảm an toàn dữ liệu.
  • Thư viện giao diện ReactJS: Thư viện JavaScript mã nguồn mở phục vụ xây dựng giao diện người dùng theo kiến trúc Component. ReactJS ứng dụng mô hình DOM ảo (Virtual DOM) để tối ưu hiệu năng kết xuất giao diện và tích hợp Redux để quản lý trạng thái luồng dữ liệu.
  • Công cụ tích hợp phụ trợ: Google Apps Script (Appscript) được lập trình để xử lý tác vụ tự động gửi email thông báo điểm số cho sinh viên và gửi phân công nhiệm vụ cho giảng viên phản biện; Microsoft Excel được sử dụng làm định dạng dữ liệu đầu vào để import danh sách sinh viên đủ điều kiện.

Phương pháp nghiên cứu và phát triển

  • Phương pháp phân tích và thiết kế hướng đối tượng: Khảo sát quy trình nghiệp vụ đào tạo, phân rã chức năng và mô hình hóa hệ thống bằng ngôn ngữ UML, bao gồm đặc tả Use Case (Use Case Diagram), thiết kế mô hình thực thể liên kết (ERD) và xây dựng các sơ đồ tuần tự (Sequence Diagram) cho từng luồng nghiệp vụ.
  • Phương pháp thực nghiệm phần mềm: Lập trình hiện thực hóa các chức năng trên môi trường phát triển (IntelliJ IDEA Community, Visual Studio Code), cấu hình cơ sở dữ liệu và kiểm thử giao diện từng phân hệ người dùng.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình Client - Server với kiến trúc phân tách rõ ràng giữa tầng giao diện người dùng (ReactJS) và tầng dịch vụ backend (Spring Boot API), tương tác với CSDL MySQL.

Thiết kế cơ sở dữ liệu

Cơ sở dữ liệu của hệ thống bao gồm 12 bảng quan hệ được thiết kế chuẩn hóa nhằm lưu trữ và ràng buộc thông tin người dùng, khoa, khóa luận, hội đồng và điểm số chi tiết:

Tên bảng Mô tả chức năng Các trường dữ liệu chính
user Lưu trữ thông tin tài khoản người dùng id, username, password, full_name, email, phone, gender, avatar, Faculty_id, active, created_date
roles Danh mục các vai trò quyền hạn id, name
user_roles Bảng trung gian phân quyền người dùng user_id, roles_id
faculty Quản lý danh mục các khoa id, name, active
thesis Lưu trữ thông tin khóa luận tốt nghiệp id, name, topic, file, total_score, check, council_id, faculty_id, active, created_date
thesis_position Chi tiết phân công sinh viên, GVHD vào khóa luận id, name (vai trò), thesis_id, user_id
council Quản lý thông tin hội đồng bảo vệ id, name, faculty_id, active, created_date
position Danh mục vị trí trong hội đồng id, name (Chủ tịch, Thư ký, Phản biện, Thành viên), active
council_position Chi tiết thành viên và chức danh trong hội đồng id, council_id, position_id, user_id
criteria Danh mục tiêu chí chấm điểm khóa luận id, name, active
score Quản lý bảng điểm của thành viên hội đồng cho khóa luận id, council_position_id, thesis_id, active
score_detail Lưu trữ điểm số chi tiết theo từng tiêu chí id, criteria_id, score_id, mark

Quy tắc nghiệp vụ và ràng buộc hệ thống

Hệ thống thiết lập các quy tắc logic chặt chẽ trong mã nguồn và cơ sở dữ liệu:

  • Tạo tài khoản sinh viên: Nhập tự động từ file Excel. Điều kiện sinh viên làm khóa luận: có nguyện vọng, điểm học phần Đồ án ngành > 8.0, được giáo viên hướng dẫn đồng ý, điểm trung bình tích lũy > 2.5 và không nợ quá 1 môn học. Tên đăng nhập và mật khẩu mặc định là mã số sinh viên (MSSV). Người dùng không được tự đăng ký tài khoản tự do.
  • Quản lý khóa luận: Mỗi khóa luận tối đa 2 sinh viên thực hiện (1 sinh viên chỉ tham gia 1 khóa luận) và tối đa 2 giảng viên hướng dẫn (1 giảng viên hướng dẫn tối đa 2 khóa luận). Khóa luận phải được giảng viên hướng dẫn phê duyệt (check = true) mới được đưa vào hội đồng.
  • Thành lập hội đồng: Mỗi hội đồng gồm từ 3 đến 5 giảng viên (bắt buộc gồm 1 Chủ tịch, 1 Thư ký, 1 Giảng viên phản biện và tối đa 2 ủy viên). Một giảng viên tham gia tối đa 2 hội đồng; mỗi hội đồng chấm tối đa 5 khóa luận.
  • Ràng buộc chấm điểm và khóa dữ liệu: Giảng viên chỉ chấm điểm khi sinh viên đã nộp file bài làm. Khi hội đồng bắt đầu chấm điểm, hệ thống khóa chức năng xóa thành viên khỏi hội đồng và khóa chức năng xóa sinh viên/giảng viên khỏi khóa luận. Khi tất cả thành viên chấm xong, giáo vụ tiến hành khóa hội đồng; sau khi khóa, giảng viên không thể sửa điểm, hệ thống kích hoạt tính năng in bảng điểm và gửi email điểm trung bình cho sinh viên.

Môi trường cài đặt và cấu hình kỹ thuật

  • Nền tảng thực thi: Java Development Kit (JDK 11).
  • Môi trường phát triển: IntelliJ IDEA Community (yêu cầu phần cứng tối thiểu RAM 2 GB, ổ cứng khả dụng), Visual Studio Code (CPU tối thiểu 1.6 GHz, RAM tối thiểu 1 GB).
  • Phần cứng kiểm thử backend/runtime: Hỗ trợ CPU Intel Core / AMD, cấu hình kiểm thử ghi nhận yêu cầu bộ nhớ RAM và dung lượng trống từ 126 MB - 128 MB.

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

Chương 1. Tổng quan về hệ thống

Chương này trình bày bối cảnh thực tiễn, phân tích sự cần thiết của việc chuyển đổi phương pháp quản lý khóa luận từ thủ công sang tự động hóa trên nền tảng web. Tác giả định nghĩa tổng quan các chức năng hệ thống theo 4 nhóm người dùng (Quản trị viên, Giáo vụ, Giảng viên, Sinh viên) và xác lập cấu trúc 5 chương của quyển báo cáo khóa luận.

Chương 2. Cơ sở lý thuyết

Chương 2 tập trung khảo sát các nền tảng kỹ thuật và công nghệ được sử dụng trong dự án. Nội dung bao gồm việc phân tích nguyên lý hoạt động, đặc tính kỹ thuật và ưu điểm nổi bật của ngôn ngữ Java, hệ sinh thái Spring Boot, máy chủ web Apache Tomcat, công cụ quản lý dự án Gradle (so sánh với Maven), hệ quản trị CSDL quan hệ MySQL và thư viện ReactJS với cơ chế Virtual DOM.

Chương 3. Phân tích thiết kế hệ thống

Nội dung chương 3 là trọng tâm thiết kế của đề tài, bao gồm:

  • Mô tả chi tiết bài toán: Xác định các luồng quy trình nghiệp vụ và phân quyền truy cập.
  • Đặc tả 8 Use Case chính:
    1. uc1: Đăng nhập (áp dụng cho cả 4 tác nhân).
    2. uc2: Quản lý người dùng (người quản trị thêm, sửa, khóa tài khoản, import từ Excel).
    3. uc3: Xem thống kê (người quản trị và giáo vụ xem điểm số, tỷ lệ phần trăm và tần suất tham gia khóa luận theo khoa).
    4. uc4: Tạo khóa luận (giáo vụ tạo đề tài, gán sinh viên và GVHD theo ràng buộc số lượng).
    5. uc5: Thành lập Hội Đồng (giáo vụ lập hội đồng 3-5 thành viên, phân công chức danh, gán tối đa 5 khóa luận).
    6. uc6: Tạo tiêu chí chấm điểm khóa luận (giáo vụ thiết lập danh mục tiêu chí đánh giá).
    7. uc7: Chấm điểm (giảng viên chấm theo từng tiêu chí, cập nhật điểm khi hội đồng chưa khóa).
    8. uc8: Nộp bài (sinh viên tải lên file báo cáo trước thời hạn, đồng bộ trạng thái nhóm).
  • Thiết kế CSDL và Sơ đồ tuần tự: Cung cấp sơ đồ mô hình quan hệ ERD (12 thực thể) và chi tiết các sơ đồ tuần tự cho quy trình đăng nhập, quản lý tài khoản, thống kê, tạo khóa luận, tạo hội đồng, tạo tiêu chí và quy trình chấm điểm.

Chương 4. Thực nghiệm

Chương 4 mô tả cấu hình cài đặt môi trường và trình bày kết quả xây dựng giao diện thực tế của hệ thống qua 55 hình ảnh minh họa giao diện:

  • Phân hệ Quản trị viên: Giao diện đăng nhập, xử lý lỗi đăng nhập, danh sách người dùng, form thêm/sửa tài khoản, thông báo trùng lặp thông tin (tên tài khoản, số điện thoại), quản lý khoa và quản lý khóa luận.
  • Phân hệ Giáo vụ: Giao diện tạo khóa luận, thêm thành viên, lập hội đồng, ẩn nút xóa khi đã chấm điểm, tạo/xóa tiêu chí chấm điểm, thống kê biểu đồ.
  • Phân hệ Giảng viên & Sinh viên: Giao diện giảng viên duyệt đề tài, chấm điểm từng tiêu chí, khóa hội đồng, in bảng điểm; giao diện sinh viên nộp bài, xem trạng thái nộp bài, thông báo quá hạn nộp bài và nhận kết quả điểm qua email.

Chương 5. Kết luận

Tổng kết toàn bộ các kết quả đạt được về mặt phần mềm, đối chiếu với các mục tiêu ban đầu, chỉ ra các hạn chế kỹ thuật hiện tại và vạch ra định hướng phát triển thêm các tính năng nâng cao trong tương lai.


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

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

  • Xây dựng hoàn chỉnh website quản lý khóa luận tốt nghiệp hoạt động ổn định trên nền tảng web, tích hợp đầy đủ các giai đoạn trong quy trình đào tạo.
  • Hoàn thiện hệ thống phân quyền 4 cấp độ với các ràng buộc nghiệp vụ chặt chẽ:
    • Quản trị viên: Quản lý người dùng, quản lý khoa, import danh sách từ Excel, xem thống kê toàn trường.
    • Giáo vụ khoa: Quản lý khóa luận, lập hội đồng (3-5 thành viên), phân bổ tối đa 5 khóa luận/hội đồng, quản lý tiêu chí chấm điểm, đóng hội đồng và kích hoạt in điểm.
    • Giảng viên: Thêm đề tài, duyệt khóa luận, chấm điểm chi tiết theo tiêu chí và in bảng điểm.
    • Sinh viên: Nộp file khóa luận trực tuyến, theo dõi tiến độ và nhận kết quả điểm qua hệ thống email.
  • Tự động hóa tính toán điểm trung bình của khóa luận từ điểm chi tiết của từng thành viên trong hội đồng và tích hợp Google Apps Script gửi mail tự động cho giảng viên phản biện và sinh viên.
  • Xây dựng cơ sở dữ liệu quan hệ hoàn chỉnh gồm 12 bảng, đáp ứng đầy đủ các ràng buộc toàn vẹn dữ liệu.

Đóng góp thực tiễn của đề tài

Theo nhận xét và đánh giá của Giảng viên hướng dẫn (ThS. Nguyễn Thị Phương Trang), đề tài đã đạt được các đóng góp cụ thể:

  • Mô tả rõ ràng và chuẩn hóa các quy trình nghiệp vụ quản lý khóa luận đại học.
  • Thiết kế hệ thống dữ liệu hợp lý, chặt chẽ, kiểm soát tốt các lỗi phát sinh trong quá trình vận hành (chống trùng lặp dữ liệu, kiểm soát số lượng thành viên, khóa dữ liệu khi bắt đầu chấm điểm).
  • Cung cấp một giải pháp phần mềm có tính ứng dụng thực tế cao cho Khoa Công nghệ Thông tin, hỗ trợ giảm thiểu áp lực quản lý thủ công cho cán bộ giáo vụ và giảng viên.
  • Kết quả thực nghiệm được giảng viên hướng dẫn đánh giá đạt mức Khá - Giỏi.

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

Hạn chế

  • Hệ thống tập trung triển khai và kiểm thử trong phạm vi quy trình nghiệp vụ chuẩn của Khoa Công nghệ Thông tin - Trường Đại học Mở TP.HCM.
  • Việc tích hợp gửi mail tự động hiện phụ thuộc vào dịch vụ Google Apps Script bên ngoài.
  • Dữ liệu đầu vào của sinh viên đủ điều kiện phụ thuộc vào cấu trúc cố định của file Excel biểu mẫu.

Hướng phát triển tiếp theo

  • Hoàn thiện và nâng cấp thêm các tính năng mở rộng trong phân hệ thống kê, báo cáo xuất dữ liệu linh hoạt theo nhiều định dạng.
  • Nâng cao tính năng tương tác trực tuyến giữa sinh viên và giảng viên hướng dẫn trực tiếp trên hệ thống (trao đổi, phản hồi tiến độ theo mốc thời gian).
  • Triển khai hệ thống lên môi trường máy chủ đám mây (Cloud Server) và mở rộng phạm vi áp dụng cho toàn bộ các khoa khác trong trường đại học.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này có giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo hoàn chỉnh về cấu trúc một quyển báo cáo khóa luận tốt nghiệp đúng quy chuẩn học thuật; cung cấp mã nguồn mô hình CSDL và luồng xử lý cho bài toán xây dựng ứng dụng web với Spring Boot và ReactJS.
  • Người nghiên cứu xây dựng hệ thống quản lý đào tạo: Cung cấp tài liệu phân tích nghiệp vụ, mô hình use case, các ràng buộc dữ liệu logic (ràng buộc số lượng sinh viên, giảng viên, cơ cấu hội đồng bảo vệ) và quy trình chấm điểm khóa luận tại các trường đại học.
  • Phần đáng tham khảo nhất: Chương 3 (Phân tích thiết kế hệ thống với 12 bảng CSDL quan hệ và các ràng buộc toàn vẹn dữ liệu) và Chương 4 (Tài liệu hóa chi tiết các luồng giao diện và xử lý kiểm soát lỗi người dùng).

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

1. Sinh viên cần đáp ứng những tiêu chí cụ thể nào để được hệ thống cấp quyền thực hiện khóa luận tốt nghiệp?
Dữ liệu sinh viên được người quản trị import từ file Excel vào hệ thống phải thỏa mãn đồng thời các điều kiện: có nguyện vọng làm khóa luận tốt nghiệp, điểm học phần Đồ án ngành đạt từ 8.0 trở lên, được sự đồng ý của giảng viên hướng dẫn, điểm trung bình tích lũy đạt từ 2.5 trở lên và không nợ quá 1 môn học.

2. Cơ cấu nhân sự của một hội đồng bảo vệ khóa luận được quy định như thế nào trong hệ thống?
Hội đồng bảo vệ do giáo vụ thiết lập có số lượng thành viên từ 3 đến 5 giảng viên. Cơ cấu bắt buộc phải có 1 Chủ tịch, 1 Thư ký, 1 Giảng viên phản biện và tối đa 2 thành viên bổ sung. Mỗi giảng viên chỉ được tham gia tối đa 2 hội đồng và mỗi hội đồng chỉ được phân công chấm tối đa 5 khóa luận.

3. Cơ chế kiểm soát và khóa dữ liệu trong quá trình chấm điểm diễn ra như thế nào?
Giảng viên không thể chấm điểm nếu sinh viên chưa nộp bài. Khi một thành viên trong hội đồng bắt đầu chấm điểm, hệ thống tự động khóa tính năng xóa thành viên khỏi hội đồng và khóa tính năng xóa người thực hiện khỏi khóa luận. Khi tất cả thành viên chấm xong, giáo vụ thực hiện thao tác khóa hội đồng. Khi hội đồng đã khóa, giảng viên không được phép chỉnh sửa điểm số nữa; lúc này hệ thống mới mở quyền in bảng điểm và gửi kết quả về email sinh viên.

4. Hệ thống thực hiện việc gửi email thông báo tự động trong những trường hợp nào và bằng công nghệ gì?
Hệ thống sử dụng Google Apps Script (Appscript) để thực hiện gửi email tự động trong 2 trường hợp: (1) Gửi email thông báo nhiệm vụ cho giảng viên khi được giáo vụ phân công vai trò phản biện trong hội đồng; (2) Tự động gửi email thông báo điểm trung bình khóa luận cho sinh viên sau khi hội đồng đã hoàn tất chấm điểm và được giáo vụ khóa lại.

5. Điểm số của khóa luận được lưu trữ và tính toán trên những bảng dữ liệu nào?
Điểm số được quản lý qua 3 bảng liên kết: Bảng criteria (lưu các tiêu chí đánh giá), Bảng score (lưu liên kết giữa vị trí thành viên hội đồng council_position_id và khóa luận thesis_id), và Bảng score_detail (lưu số điểm mark cụ thể của từng tiêu chí criteria_id theo từng score_id). Điểm trung bình tổng kết được hệ thống tự động tính toán từ các điểm chi tiết và cập nhật vào trường total_score của bảng thesis.


Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Đặng Khương Duy đã nghiên cứu và xây dựng thành công website quản lý khóa luận tốt nghiệp phục vụ công tác đào tạo tại Trường Đại học Mở TP.HCM. Bằng việc kết hợp kiến trúc backend Spring Boot, frontend ReactJS và cơ sở dữ liệu MySQL, hệ thống đã số hóa toàn diện quy trình từ giao đề tài, nộp bài, phân công hội đồng đến chấm điểm và gửi thông báo tự động. Đề tài được hội đồng chuyên môn đánh giá cao nhờ thiết kế cơ sở dữ liệu chặt chẽ, đáp ứng đầy đủ các ràng buộc nghiệp vụ thực tế và có giá trị ứng dụng cao trong công tác quản lý giáo dục đại học.