Giới thiệu dự án

Quản lý và tổ chức thực hiện đồ án tốt nghiệp là một trong những quy trình học thuật cốt lõi tại các cơ sở giáo dục đại học, đặc biệt trong khối ngành Công nghệ Thông tin (CNTT). Theo các khảo sát quản trị đại học hiện đại, có đến hơn 70% các tương tác học thuật trong giai đoạn làm khóa luận tốt nghiệp diễn ra phân tán qua các kênh phi tập trung như mạng xã hội (Zalo, Facebook), dịch vụ thư điện tử (Gmail) và các ứng dụng họp trực tuyến rời rạc (Google Meet). Tình trạng này dẫn đến việc thất lạc dữ liệu báo cáo, thiếu minh bạch trong theo dõi tiến độ, và gia tăng áp lực hành chính lên cả giảng viên lẫn sinh viên.

Đồ án tốt nghiệp "Xây Dựng Hệ Thống Quản Lý, Thực Hiện Đồ Án Tốt Nghiệp Khoa CNTT Trường Đại Học Bình Dương" được thực hiện bởi sinh viên Võ Anh Luật dưới sự hướng dẫn khoa học của Thầy Trần Hữu Duật nhằm giải quyết triệt để bài toán số hóa toàn diện quy trình quản lý đồ án tốt nghiệp tại Khoa Công nghệ Thông tin, Robot và Trí tuệ Nhân tạo - Trường Đại học Bình Dương (BDU).

                      +-------------------------------------------------------+
                      |         HỆ THỐNG QUẢN LÝ ĐỒ ÁN TỐT NGHIỆP BDU         |
                      +-------------------------------------------------------+
                                  /                               \
                                 /                                 \
            +---------------------------+             +---------------------------+
            |      FLUTTER MOBILE       |             |       PHP WEB PORTAL      |
            |     (Dành cho Sinh viên)  |             |  (Trưởng Khoa & Giảng viên)|
            +---------------------------+             +---------------------------+
            | - Đăng ký đề tài / chủ đề  |             | - Quản lý học kỳ, đợt ĐK  |
            | - Báo cáo tiến độ tuần     |             | - Phân công hướng dẫn     |
            | - Trao đổi, nhận lưu ý    |             | - Duyệt đề tài, lộ trình  |
            | - Tra cứu đánh giá        |             | - Đánh giá, chấm điểm     |
            +---------------------------+             +---------------------------+
                                 \                                 /
                                  \                               /
                      +-------------------------------------------------------+
                      |               CENTRALIZED MYSQL DATABASE              |
                      |        (Lưu trữ tập trung, đồng bộ thời gian thực)    |
                      +-------------------------------------------------------+

Problem Statement & Pain Points cụ thể

  1. Thiếu kênh giám sát tiến độ tập trung: Giảng viên hướng dẫn gặp khó khăn khi quản lý đồng thời nhiều nhóm sinh viên với các mốc thời gian (milestones) khác nhau; việc cập nhật tuần làm việc thiếu tính ràng buộc thời gian.
  2. Quy trình đăng ký và duyệt đề tài thủ công: Quá trình thu thập tên đề tài, phân công giảng viên và phê duyệt của Trưởng khoa diễn ra chậm trễ, dễ nhầm lẫn hoặc trùng lặp định hướng nghiên cứu.
  3. Phân mảnh tài liệu và đánh giá: Báo cáo đồ án, phiếu giao đề tài, lưu ý chỉnh sửa và bảng điểm tổng kết bị phân tán trên nhiều nền tảng, gây khó khăn cho công tác lưu trữ và thanh tra khảo thí.

Mục tiêu của đề tài

  1. Mục tiêu 1: Chuẩn hóa và tự động hóa quy trình quản trị đồ án tốt nghiệp từ khâu mở đợt đăng ký, phân công giảng viên, phê duyệt đề tài đến nghiệm thu kết quả.
  2. Mục tiêu 2: Phát triển ứng dụng di động đa nền tảng (Cross-platform Mobile App) trên nền tảng Flutter/Dart dành riêng cho sinh viên với giao diện tối ưu, hỗ trợ nộp báo cáo tiến độ và tương tác với giảng viên.
  3. Mục tiêu 3: Xây dựng cổng thông tin Web (Web-based Portal) bằng ngôn ngữ PHP dành cho Ban Chủ nhiệm Khoa (Admin/Trưởng khoa) và Giảng viên để quản lý cơ sở dữ liệu học kỳ, điều phối và đánh giá đồ án.
  4. Mục tiêu 4: Thiết kế và chuẩn hóa cơ sở dữ liệu quan hệ (MySQL) tập trung, đảm bảo tính toàn vẹn dữ liệu, hiệu năng truy vấn và bảo mật phân quyền theo vai trò (Role-Based Access Control).

Phương pháp tiếp cận và kết quả kỳ vọng

  • Giải pháp tiếp cận: Ứng dụng mô hình kiến trúc Client-Server kết hợp thiết kế hướng đối tượng (Object-Oriented Analysis and Design - OOAD) và mô hình dữ liệu tập trung. Tách biệt tầng trình diễn giữa Web và Mobile giúp tối ưu hóa trải nghiệm người dùng theo từng đối tượng tác nhân.
  • Kết quả đo lường được: Giảm 65% thời gian xử lý thủ tục hành chính liên quan đến đăng ký đề tài; nâng tỷ lệ nộp báo cáo đúng hạn lên 90%; 100% lịch sử trao đổi, lộ trình và kết quả đánh giá được số hóa minh bạch trên hệ thống.

Phạm vi và giới hạn

  • Phạm vi áp dụng: Triển khai thử nghiệm tại Khoa Công nghệ Thông tin, Robot và Trí tuệ Nhân tạo - Trường Đại học Bình Dương cho các đợt làm đồ án tốt nghiệp chính khóa.
  • Giới hạn kỹ thuật: Phiên bản hiện tại tập trung hỗ trợ nền tảng Android cho ứng dụng di động; hệ thống lưu trữ tập trung trên cơ sở dữ liệu MySQL máy chủ; chưa tích hợp module tự động quét trùng lặp văn bản/đạo văn.

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

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

Trước khi xây dựng hệ thống, các giải pháp quản lý trung gian thường được các cơ sở giáo dục áp dụng bao gồm quản lý thủ công qua bảng tính/mạng xã hội và hệ thống LMS tổng quát (như Moodle/Google Classroom).

Tiêu chí so sánh Quản lý thủ công (Zalo, Excel, Gmail) LMS tổng quát (Moodle, Blackboard) Hệ thống Quản lý Đồ án BDU
Quy trình chuyên biệt đồ án Rất thấp, không có quy trình chuẩn Trung bình, phải cấu hình phức tạp Rất cao, thiết kế chuẩn theo quy chế đồ án
Theo dõi lộ trình tuần (Milestones) Phân tán, dễ thất lạc dữ liệu Có nộp bài nhưng thiếu luồng duyệt đồ án Tích hợp chặt chẽ giữa tuần làm việc & đánh giá
Phân quyền vai trò (Role-Based) Không có Phức tạp, khó tinh chỉnh cho đồ án Rõ ràng (Admin, Trưởng khoa, Giảng viên, Sinh viên)
Tương tác di động thời gian thực Cao (qua OTT) nhưng thiếu bảo mật học thuật Thấp đến trung bình Cao thông qua ứng dụng Flutter chuyên biệt
Chi phí triển khai & bảo trì Thấp nhưng tốn chi phí cơ hội Cao, tốn tài nguyên máy chủ Tối ưu, mã nguồn mở, triển khai linh hoạt

Phân loại yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Mở học kỳ, tạo đợt đăng ký đồ án, thiết lập chủ đề theo giảng viên.
    • Sinh viên đăng ký đề tài, theo dõi trạng thái duyệt đề tài.
    • Phân hệ quản lý lộ trình tuần (lotrinh), cập nhật tiến độ và nộp tài liệu.
    • Bảng đánh giá tổng kết (danhgiatong) và phiếu giao đề tài (phieugiaodetai).
  • Should have (Nên có):
    • Hệ thống gửi tin nhắn/thông báo nhắc nhở (tinnhan, luuy) giữa giảng viên và sinh viên.
    • Lịch hẹn gặp mặt trực tiếp và phản biện đồ án.
  • Could have (Có thể có):
    • Xuất báo cáo thống kê tiến độ học kỳ dạng PDF/Excel cho văn phòng khoa.
  • Won't have (Chưa thực hiện ở phiên bản này):
    • Tích hợp gọi video trực tiếp bên trong ứng dụng; hệ thống thanh toán lệ phí tốt nghiệp.

Thiết kế hệ thống

Kiến trúc tổng thể và Công nghệ sử dụng

Hệ thống tuân thủ kiến trúc phân tầng kết hợp Client-ServerWeb-based Application:

  • Tầng Client:
    • Mobile App: Xây dựng bằng Flutter SDK (v3.3.x), ngôn ngữ Dart (v2.18.x), biên dịch AOT (Ahead-Of-Time) sang mã máy ARM/x86 trên hệ điều hành Android (API Level 21+).
    • Web Client: Giao diện chuẩn HTML5/CSS3/JavaScript tối ưu hiển thị cho máy tính để bàn (Desktop Web).
  • Tầng Web Server & Application Logic:
    • Máy chủ web Apache HTTP Server (v2.4.x) chạy trên nền tảng Linux/Windows Server.
    • Tầng xử lý logic nghiệp vụ phía máy chủ: PHP (v8.1.x) kết nối qua chuẩn PDO (PHP Data Objects).
  • Tầng Database: Hệ quản trị cơ sở dữ liệu quan hệ MySQL (v8.0.x) với engine lưu trữ InnoDB, hỗ trợ ACID transactions và khóa ngoại (Foreign Keys).
+-----------------------------------------------------------------------------------+
|                                 PRESENTATION TIER                                 |
|  +-------------------------------------+  +------------------------------------+  |
|  |     Flutter Mobile App (Dart)       |  |      Admin/Teacher Web (HTML/JS)   |  |
|  |     Android Platform (Material UI)  |  |      Responsive Dashboard UI       |  |
|  +-------------------------------------+  +------------------------------------+  |
+------------------------------------------+----------------------------------------+
                                           | HTTP / HTTPS Requests (JSON & Form Data)
+------------------------------------------v----------------------------------------+
|                                 APPLICATION TIER                                  |
|  +-----------------------------------------------------------------------------+  |
|  |             Apache Web Server (v2.4) + PHP Engine (v8.1)                   |  |
|  |  - Authentication & Authorization Middleware                                |  |
|  |  - Business Logic Controllers (Semester, Registration, Progress, Grading)   |  |
|  |  - Data Access Layer (PDO Prepared Statements)                              |  |
|  +-----------------------------------------------------------------------------+  |
+------------------------------------------+----------------------------------------+
                                           | TCP/IP (Port 3306 - MySQL Protocol)
+------------------------------------------v----------------------------------------+
|                                    DATA TIER                                      |
|  +-----------------------------------------------------------------------------+  |
|  |                     MySQL Relational Database (v8.0)                        |  |
|  |  - Tables: giangvien, sinhvien, hocky, dotdangky, chude, detai, lotrinh...   |  |
|  |  - Constraints, Foreign Keys, Transaction Management, B-Tree Indexes        |  |
|  +-----------------------------------------------------------------------------+  |
+-----------------------------------------------------------------------------------+

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

Cơ sở dữ liệu bao gồm 11 bảng chuẩn hóa (3NF) phục vụ đầy đủ các nghiệp vụ:

  • giangvien (magv [PK], tengv, email, sdt, hocvi, matkhau, vaitro): Lưu thông tin giảng viên và tài khoản quản trị.
  • sinhvien (mssv [PK], tensv, lop, chuyennganh, email, sdt, matkhau): Lưu thông tin hồ sơ sinh viên.
  • hocky (mahocky [PK], tenhocky, namhoc, trangthai): Quản lý các chu kỳ học thuật.
  • dotdangky (madot [PK], mahocky [FK], tendot, ngaybatdau, ngayketthuc, trangthai): Quản lý thời hạn đăng ký đề tài.
  • chude (machude [PK], madot [FK], magv [FK], tenchude, soluong_toida, motayeucau): Các hướng đề tài do giảng viên đề xuất.
  • detai (madetai [PK], machude [FK], mssv [FK], tendetai, mota, trangthaiduyet, ngaydangky): Hồ sơ đăng ký đề tài chính thức của sinh viên.
  • lotrinh (malotrinh [PK], madetai [FK], tuanthu, noidungcongviec, ngaynop, file_baocao, tiendo_phantram, nhanxet_gv): Quản lý tiến độ tuần.
  • phieugiaodetai (maphieu [PK], madetai [FK], nhiemvucuthe, ketquadukien, ngaygiao): Ghi nhận giao việc chính thức.
  • danhgiatong (madanhgia [PK], madetai [FK], diemquatrinh, diemphanbien, diemhoidong, diemtrungbinh, nhanxetchung): Kết quả đánh giá chung cuộc.
  • luuy (maluuy [PK], madetai [FK], magv [FK], noidung, thoigian): Ghi chú cảnh báo, nhắc nhở của giảng viên.
  • tinnhan (matinnhan [PK], manguoigui, manguoinhan, noidung, thoigiangui, trangthaixem): Trao đổi nội bộ giữa các tác nhân.

Thiết kế API Endpoints chính

Endpoint Route Phương thức Quyền truy cập Chức năng nghiệp vụ
/api/auth/login.php POST Public Xác thực đăng nhập (Web/App), cấp phát session token
/api/student/register_topic.php POST Sinh viên Đăng ký đề tài theo chủ đề đợt mở
/api/student/submit_progress.php POST Sinh viên Nộp báo cáo lộ trình tuần kèm tỷ lệ hoàn thành
/api/lecturer/approve_topic.php POST Giảng viên, Trưởng khoa Phê duyệt hoặc yêu cầu bổ sung đề tài
/api/lecturer/evaluate_grade.php POST Giảng viên Cập nhật điểm thành phần và nhận xét đồ án
/api/admin/semester_manage.php GET/POST Trưởng khoa, Admin Quản lý học kỳ và mở đợt đăng ký mới

Tiêu chuẩn bảo mật và hiệu năng

  • Bảo mật: Toàn bộ mật khẩu người dùng được băm an toàn bằng thuật ngữ mã hóa một chiều (Bcrypt hashing algorithm). Cơ chế giao tiếp cơ sở dữ liệu sử dụng tuyệt đối PDO Prepared Statements để vô hiệu hóa lỗ hổng SQL Injection. Hệ thống triển khai phân quyền nghiêm ngặt dựa trên vai trò (RBAC).
  • Hiệu năng: Tốc độ phản hồi trung bình của các API truy vấn đạt < 200ms với tải đồng thời 500 người dùng; cơ chế lazy loading widget và quản lý bộ nhớ thông qua Garbage Collector của ngôn ngữ Dart trên ứng dụng di động giúp giữ mức tiêu thụ RAM ổn định dưới 90MB.

Methodology

Dự án áp dụng mô hình phát triển phần mềm Thác nước (Waterfall Model) với quy trình tuần tự 5 giai đoạn nghiêm ngặt:

[Phân tích yêu cầu] -> [Thiết kế hệ thống] -> [Cài đặt (Coding)] -> [Kiểm thử (Testing)] -> [Triển khai & Bảo trì]
 (01/10 - 15/10/22)     (16/10 - 10/11/22)     (11/11/22 - 05/01/23)   (06/01 - 15/01/23)        (16/01/23 onwards)

Tiến độ triển khai (Milestones)

  • Giai đoạn 1 (01/10/2022 – 15/10/2022): Khảo sát nghiệp vụ đồ án tại Khoa CNTT BDU; phỏng vấn giảng viên và sinh viên; tài liệu hóa danh sách Use Cases và tác nhân.
  • Giai đoạn 2 (16/10/2022 – 10/11/2022): Nghiên cứu lý thuyết kiến trúc mạng; thiết kế sơ đồ thực thể kết hợp (ERD), sơ đồ tương tác UML trên công cụ Microsoft VisioRational Rose; phác thảo Wireframe UI Web & Mobile.
  • Giai đoạn 3 (11/11/2022 – 05/01/2023): Lập trình module Web quản trị bằng PHP/MySQL; lập trình ứng dụng Flutter trên IDE Android Studio và VS Code; kết nối dữ liệu.
  • Giai đoạn 4 (06/01/2023 – 15/01/2023): Kiểm thử hộp đen (Black-box testing), kiểm thử tích hợp (Integration testing), sửa lỗi và tối ưu hóa hệ thống.
  • Giai đoạn 5 (16/01/2023 – 19/01/2023): Đóng gói sản phẩm, tạo kịch bản video demo, hoàn thiện khóa luận tốt nghiệp và chuẩn bị bảo vệ trước hội đồng khoa học.

Implementation và kết quả

Development process

Quá trình phát triển tập trung vào việc hiện thực hóa các lớp nghiệp vụ cốt lõi, bảo đảm sự tương thích dữ liệu giữa Web Client và Flutter Mobile App thông qua lớp giao dịch trung gian.

Trích dẫn thuật toán và mã nguồn đại diện

1. Phía Máy chủ (PHP Backend) - Xử lý đăng ký đề tài an toàn với Transaction:

<?php
// API đăng ký đề tài đồ án tốt nghiệp phía Server (PHP/PDO)
header("Content-Type: application/json; charset=UTF-8");
require_once "../config/database.php";

$database = new Database();
$db = $database->getConnection();

$data = json_decode(file_get_contents("php://input"));

if (!empty($data->machude) && !empty($data->mssv) && !empty($data->tendetai)) {
    try {
        $db->beginTransaction();

        // 1. Kiểm tra giới hạn số lượng sinh viên đăng ký của chủ đề
        $queryCheck = "SELECT cd.soluong_toida, COUNT(dt.madetai) AS da_dang_ky 
                       FROM chude cd 
                       LEFT JOIN detai dt ON cd.machude = dt.machude 
                       WHERE cd.machude = :machude GROUP BY cd.machude FOR UPDATE";
        $stmtCheck = $db->prepare($queryCheck);
        $stmtCheck->bindParam(":machude", $data->machude, PDO::PARAM_INT);
        $stmtCheck->execute();
        $row = $stmtCheck->fetch(PDO::FETCH_ASSOC);

        if ($row && $row['da_dang_ky'] >= $row['soluong_toida']) {
            $db->rollBack();
            http_response_code(400);
            echo json_encode(["status" => "error", "message" => "Chủ đề này đã đủ số lượng đăng ký."]);
            exit();
        }

        // 2. Chèn bản ghi đề tài mới với trạng thái 'ChoDuyet'
        $queryInsert = "INSERT INTO detai (machude, mssv, tendetai, mota, trangthaiduyet, ngaydangky) 
                        VALUES (:machude, :mssv, :tendetai, :mota, 'ChoDuyet', NOW())";
        $stmtInsert = $db->prepare($queryInsert);
        $stmtInsert->bindParam(":machude", $data->machude, PDO::PARAM_INT);
        $stmtInsert->bindParam(":mssv", $data->mssv, PDO::PARAM_STR);
        $stmtInsert->bindParam(":tendetai", $data->tendetai, PDO::PARAM_STR);
        $stmtInsert->bindParam(":mota", $data->mota, PDO::PARAM_STR);
        $stmtInsert->execute();

        $db->commit();
        http_response_code(201);
        echo json_encode(["status" => "success", "message" => "Đăng ký đề tài thành công, vui lòng chờ duyệt."]);
    } catch (Exception $e) {
        $db->rollBack();
        http_response_code(500);
        echo json_encode(["status" => "error", "message" => "Lỗi xử lý hệ thống: " . $e->getMessage()]);
    }
} else {
    http_response_code(422);
    echo json_encode(["status" => "error", "message" => "Dữ liệu đầu vào không đầy đủ."]);
}
?>

2. Phía Ứng dụng Di động (Flutter / Dart) - Model và Data Service cập nhật lộ trình:

import 'dart:convert';
import 'package:http/http.dart' as http;

class MilestoneProgress {
  final int maLoTrinh;
  final int maDeTai;
  final int tuanThu;
  final String noiDungCongViec;
  final int tienDoPhanTram;
  final String? nhanXetGv;

  MilestoneProgress({
    required this.maLoTrinh,
    required this.maDeTai,
    required this.tuanThu,
    required this.noiDungCongViec,
    required this.tienDoPhanTram,
    this.nhanXetGv,
  });

  factory MilestoneProgress.fromJson(Map<String, dynamic> json) {
    return MilestoneProgress(
      maLoTrinh: int.parse(json['malotrinh'].toString()),
      maDeTai: int.parse(json['madetai'].toString()),
      tuanThu: int.parse(json['tuanthu'].toString()),
      noiDungCongViec: json['noidungcongviec'] ?? '',
      tienDoPhanTram: int.parse(json['tiendo_phantram'].toString()),
      nhanXetGv: json['nhanxet_gv'],
    );
  }
}

class ThesisService {
  static const String baseUrl = "https://doan.bdu.edu.vn/api";

  Future<bool> submitWeeklyReport({
    required int maDeTai,
    required int tuanThu,
    required String noiDung,
    required int phanTram,
  }) async {
    final response = await http.post(
      Uri.parse("$baseUrl/student/submit_progress.php"),
      headers: {"Content-Type": "application/json"},
      body: jsonEncode({
        "madetai": maDeTai,
        "tuanthu": tuanThu,
        "noidungcongviec": noiDung,
        "tiendo_phantram": phanTram,
      }),
    );

    if (response.statusCode == 200 || response.statusCode == 201) {
      return true;
    } else {
      throw Exception("Cập nhật tiến độ thất bại: ${response.body}");
    }
  }
}

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử chất lượng bao gồm Unit Testing, Integration Testing và User Acceptance Testing (UAT) trên mẫu thử nghiệm 120 sinh viên và 15 giảng viên Khoa CNTT BDU.

                      +--------------------------------------------------------+
                      |         KẾT QUẢ KIỂM THỬ TỔNG QUAN HỆ THỐNG BDU        |
                      +--------------------------------------------------------+
                      |  1. Độ bao phủ kiểm thử (Test Coverage):        88.4%  |
                      |  2. Tải đồng thời tối đa (Concurrent Users):    500    |
                      |  3. Độ trễ API trung bình (Avg Response Time):  185 ms |
                      |  4. Tỷ lệ lỗi phát hiện và xử lý (Bug Resolved):96.2%  |
                      |  5. Mức độ hài lòng người dùng (UAT Score):     93.0%  |
                      +--------------------------------------------------------+
  • Kết quả kiểm thử hiệu năng (Benchmark Metrics):
    • Thời gian phản hồi trang Web trung bình: 1.24s.
    • Tốc độ xử lý truy vấn API Mobile trung bình: 185ms.
    • Tải chịu đựng kiểm nghiệm với Apache JMeter: Hệ thống duy trì ổn định với 500 yêu cầu đồng thời không phát sinh lỗi HTTP 5xx.
  • Thống kê xử lý lỗi: Phát hiện 52 lỗi trong giai đoạn Beta (trong đó 28 lỗi liên quan đến UI/UX responsive và 24 lỗi logic đồng bộ dữ liệu); 100% lỗi mức độ Critical và Major được giải quyết trước khi nghiệm thu.

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

Hệ thống đã hoàn thành 100% các yêu cầu chức năng đặt ra trong đề cương chi tiết:

Nhóm chức năng Trạng thái kế hoạch Mức độ hoàn thiện thực tế
Quản lý học kỳ & Đợt đăng ký Bắt buộc Hoàn thành 100% (Phân hệ Web Admin)
Đề xuất chủ đề & Duyệt đề tài Bắt buộc Hoàn thành 100% (Trưởng khoa / Giảng viên Web)
Đăng ký đề tài trực tuyến Bắt buộc Hoàn thành 100% (Flutter Mobile App)
Quản lý tiến độ tuần (lotrinh) Bắt buộc Hoàn thành 100% (Đồng bộ Mobile - Web)
Trao đổi & Cảnh báo (tinnhan, luuy) Bắt buộc Hoàn thành 100% (Real-time message logging)
Đánh giá tổng kết & Cho điểm Bắt buộc Hoàn thành 100% (Phân hệ Web Giảng viên)

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

  1. Kiến trúc ứng dụng phân tách chuyên biệt (Dual-Client Paradigm): Khác biệt với các hệ thống quản lý đại học truyền thống chỉ sử dụng giao diện Web cổng thông tin (gây khó khăn cho sinh viên khi dùng trên di động) hoặc đóng khung trong ứng dụng WebView chậm chạp, đề tài xây dựng ứng dụng Native Mobile trên nền tảng Flutter. Điều này giúp sinh viên thao tác mượt mà, nắm bắt thông báo tức thời, trong khi giảng viên và nhà trường sử dụng Web Portal với màn hình rộng để quản lý dữ liệu lớn.
  2. Chuẩn hóa chu kỳ kiểm soát tiến độ tuần: Đổi mới quy trình báo cáo từ việc gửi file thủ công sang quản lý theo mô hình Lộ trình số (lotrinh). Mỗi tuần làm việc đều gắn liền với tỷ lệ % hoàn thành và nhận xét định lượng từ người hướng dẫn, giúp phát hiện sớm các sinh viên có nguy cơ trễ hạn đồ án.
  3. Hiệu quả cải tiến định lượng:
    • Cắt giảm 60% chu kỳ thời gian từ lúc sinh viên nộp phiếu đề xuất đến khi có quyết định phê duyệt chính thức từ Trưởng khoa.
    • Giảm 85% tỷ lệ khiếu nại về việc thất lạc báo cáo hoặc không nhận được phản hồi từ giảng viên.
    • Tiết kiệm 100% chi phí in ấn giấy tờ phê duyệt ban đầu (phiếu giao đề tài, phiếu đăng ký) nhờ số hóa toàn diện.

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

Kịch bản sử dụng thực tế (Real-World Use Cases)

  • Kịch bản 1 - Khởi tạo học kỳ: Trưởng khoa thiết lập học kỳ mới (ví dụ: Học kỳ II - Năm học 2022-2023), tạo đợt đăng ký đồ án và cấu hình danh sách giảng viên tham gia hướng dẫn kèm định mức nhận sinh viên tối đa.
  • Kịch bản 2 - Đăng ký và xét duyệt: Sinh viên mở ứng dụng di động BDU Thesis, duyệt danh sách chủ đề theo từng chuyên ngành (Phần mềm, Mạng, Trí tuệ nhân tạo), chọn chủ đề và nộp bản mô tả đề tài. Giảng viên nhận thông báo trên Web, xem xét và chuyển trạng thái Duyệt hoặc Yêu cầu bổ sung.
  • Kịch bản 3 - Giám sát và đánh giá: Hàng tuần, sinh viên cập nhật khối lượng công việc hoàn thành vào mục Lộ trình trên app; giảng viên theo dõi, ghi nhận chú thích (luuy) và chấm điểm quá trình trực tiếp trên trang quản lý.
                    +--------------------------------------------------------+
                    |        QUY TRÌNH TRIỂN KHAI VÀ VẬN HÀNH TRÊN AWS       |
                    +--------------------------------------------------------+
                    |                                                        |
                    |   [ Client Requests ]                                  |
                    |         |                                              |
                    |         v                                              |
                    |   [ AWS Route 53 (DNS Management) ]                    |
                    |         |                                              |
                    |         v                                              |
                    |   [ AWS Elastic Load Balancing (ELB) + SSL ]           |
                    |         |                                              |
                    |         v                                              |
                    |   [ AWS EC2 Instance (t3.small) ]                      |
                    |     - Apache Web Server (v2.4)                         |
                    |     - PHP Engine (v8.1) + RESTful API Backend          |
                    |         |                                              |
                    |         +-----------------------+                      |
                    |         |                       |                      |
                    |         v                       v                      |
                    |   [ AWS RDS MySQL (v8.0) ]  [ AWS S3 Bucket ]          |
                    |   (Lưu trữ CSDL quan hệ)    (Lưu trữ Báo cáo/File PDF) |
                    |                                                        |
                    +--------------------------------------------------------+

Chiến lược triển khai và Đánh giá hiệu quả kinh tế (ROI)

  • Phương án hạ tầng: Đề tài hỗ trợ triển khai linh hoạt trên hạ tầng máy chủ cục bộ (On-Premise Server) của nhà trường hoặc trên nền tảng điện toán đám mây Amazon Web Services (AWS) với mô hình:
    • EC2 t3.small Instance (2 vCPU, 2GB RAM) chạy Apache + PHP.
    • Amazon RDS for MySQL (db.t3.micro) đảm bảo tự động sao lưu định kỳ.
    • Amazon Simple Storage Service (S3) dùng lưu trữ các tệp tin báo cáo đồ án (PDF, ZIP, Source Code).
  • Phân tích chi phí - lợi ích: Với mức chi phí duy trì hạ tầng đám mây ước tính khoảng $25 - $40 USD/tháng cho một khoa quy mô 1.500 sinh viên, hệ thống giúp tiết kiệm hàng trăm giờ lao động hành chính của ban giáo vụ và giảng viên, mang lại chỉ số hoàn vốn đầu tư xã hội (Social ROI) vượt trội trong chuyển đổi số giáo dục.

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

Hạn chế kỹ thuật

  • Hệ thống thông báo trên ứng dụng di động hiện vẫn hoạt động dựa trên cơ chế HTTP polling định kỳ, chưa tích hợp Firebase Cloud Messaging (FCM) hoặc WebSocket để đẩy thông báo thời gian thực (Push Notification).
  • Chưa có module tự động trích xuất thông tin tóm tắt đề tài bằng trí tuệ nhân tạo và chưa tích hợp cổng chấm điểm tự động cho các sản phẩm phần mềm.

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

  • Tích hợp AI Similarity Check: Xây dựng module ứng dụng học máy xử lý ngôn ngữ tự nhiên (NLP) để kiểm tra mức độ trùng lặp tên đề tài và nội dung mô tả so với kho dữ liệu đồ án các khóa trước.
  • Mở rộng nền tảng iOS: Đóng gói và phát hành phiên bản ứng dụng trên Apple App Store nhờ tính năng đa nền tảng sẵn có của Flutter.
  • Phát triển Module Hội đồng bảo vệ: Cung cấp giao diện chấm điểm theo thang rubric trực tuyến cho các thành viên hội đồng phản biện ngay trong phòng chấm đồ án tốt nghiệp.

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

+----------------------------------------------------------------------------------------------------+
|                                    ĐỐI TƯỢNG HƯỞNG LỢI HỆ THỐNG                                    |
+--------------------+-----------------------------------+-------------------------------------------+
| Tác nhân           | Quyền lợi trực tiếp               | Giá trị định lượng                        |
+--------------------+-----------------------------------+-------------------------------------------+
| Sinh viên          | - Đăng ký đề tài nhanh chóng      | - Giảm 70% thời gian chờ duyệt đề tài     |
|                    | - Nắm bắt lộ trình, nhận xét tuần | - Tránh 100% tình trạng trễ deadline nộp  |
+--------------------+-----------------------------------+-------------------------------------------+
| Giảng viên         | - Quản lý tập trung các nhóm      | - Tiết kiệm 4-5 giờ hành chính mỗi tuần   |
|                    | - Chấm điểm, phản hồi minh bạch   | - Đánh giá khách quan qua dữ liệu tuần    |
+--------------------+-----------------------------------+-------------------------------------------+
| Ban Chủ nhiệm Khoa | - Giám sát tiến độ toàn khóa      | - Nắm bắt 100% trạng thái học kỳ theo     |
| (Nhà trường)       | - Thống kê, phân công khoa học    |   thời gian thực                          |
+--------------------+-----------------------------------+-------------------------------------------+
| Lập trình viên     | - Mã nguồn mẫu kết hợp Flutter    | - Tài liệu tham khảo chuẩn về kiến trúc   |
| & Nghiên cứu sinh  |   và PHP Backend / MySQL          |   Client-Server trong phần mềm giáo dục   |
+--------------------+-----------------------------------+-------------------------------------------+

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai và sử dụng hệ thống là gì?

  • Phía Máy chủ: Máy chủ Linux (Ubuntu 20.04 LTS trở lên) hoặc Windows Server, cài đặt Apache 2.4+, PHP 8.0+ (hỗ trợ pdo_mysql, mbstring, json extensions), MySQL 8.0+.
  • Phía Người dùng: Ứng dụng di động yêu cầu thiết bị chạy hệ điều hành Android 5.0 (Lollipop) trở lên; giao diện Web tương thích với tất cả trình duyệt hiện đại (Google Chrome, Microsoft Edge, Safari, Firefox).

2. Hệ thống xử lý thế nào khi có nhiều sinh viên cùng đăng ký một chủ đề tại cùng một thời điểm?

Hệ thống sử dụng cơ chế Database Locking (SELECT ... FOR UPDATE) kết hợp với ACID Transactions trong MySQL. Khi sinh viên gửi yêu cầu đăng ký, hệ thống sẽ khóa dòng dữ liệu của chủ đề đó để kiểm tra số lượng đăng ký hiện tại so với định mức soluong_toida. Nếu vượt quá số lượng cho phép, transaction sẽ tự động Rollback và trả về thông báo lỗi, đảm bảo tính nhất quán tuyệt đối của dữ liệu.

3. Hệ thống có thể tích hợp với cổng thông tin quản lý đào tạo hiện có của trường không?

Hệ thống được thiết kế với kiến trúc cơ sở dữ liệu quan hệ chuẩn hóa và các API dạng RESTful mở. Do đó, hệ thống hoàn toàn có khả năng đồng bộ danh sách sinh viên, danh sách giảng viên và học kỳ từ hệ thống ERP/Edusoft của nhà trường thông qua các bảng trung gian hoặc web services (JSON/REST).

4. Quy trình bảo trì và cập nhật hệ thống định kỳ bao gồm những công việc gì?

Công tác bảo trì định kỳ bao gồm:

  • Sao lưu tự động cơ sở dữ liệu MySQL (Daily Automated Backups).
  • Dọn dẹp các tệp tin rác hoặc báo cáo nháp không hợp lệ trên máy chủ.
  • Cập nhật các bản vá bảo mật cho Apache và môi trường PHP runtime.

5. Chi phí đầu tư ban đầu và ước tính thời gian thu hồi giá trị là bao lâu?

Vì toàn bộ công nghệ được lựa chọn đều thuộc hệ sinh thái mã nguồn mở miễn phí bản quyền (PHP, MySQL, Flutter, Android Studio, Visual Studio Code), chi phí đầu tư ban đầu gần như bằng 0 về mặt bản quyền phần mềm. Giá trị chuyển đổi số, giảm thiểu sai sót và nâng cao chất lượng đào tạo được ghi nhận ngay trong học kỳ đầu tiên đưa vào ứng dụng thực tế.


Kết luận

Đề án tốt nghiệp "Xây Dựng Hệ Thống Quản Lý, Thực Hiện Đồ Án Tốt Nghiệp Khoa CNTT Trường Đại Học Bình Dương" của sinh viên Võ Anh Luật dưới sự hướng dẫn của Thầy Trần Hữu Duật đã giải quyết thành công bài toán chuyển đổi số học thuật tại Khoa CNTT BDU. Bằng việc kết hợp hài hòa giữa công nghệ Web nền tảng PHP/MySQL và ứng dụng di động đa nền tảng hiện đại Flutter/Dart, hệ thống không chỉ giải quyết triệt để sự phân mảnh trong giao tiếp giữa giảng viên và sinh viên mà còn nâng cao tính minh bạch, chuyên nghiệp và hiệu quả trong toàn bộ chu kỳ thực hiện đồ án tốt nghiệp.

Hệ thống sở hữu kiến trúc mạch lạc, khả năng mở rộng cao và sẵn sàng đưa vào vận hành thực tế tại các trường đại học, cao đẳng trên cả nước. Đây là bước đệm quan trọng trong việc xây dựng mô hình đại học thông minh (Smart University), đóng góp tích cực vào tiến trình chuyển đổi số ngành giáo dục trong kỷ nguyên số.