Giới thiệu dự án

Trong bối cảnh chuyển đổi số giáo dục đại học (EdTech), việc tự động hóa và chuẩn hóa quy trình quản lý học thuật là yêu cầu sống còn nhằm nâng cao năng lực quản trị. Theo thống kê từ các tổ chức nghiên cứu giáo dục, các phương pháp quản lý hồ sơ và điểm thi phân tán truyền thống (sổ sách, bảng tính Excel ngoại tuyến) làm tiêu tốn từ 65% đến 75% thời gian hành chính của giảng viên mỗi kỳ thi, đồng thời tiềm ẩn tỷ lệ sai sót dữ liệu từ 12% đến 18% do xung đột phiên bản và thao tác thủ công. Nhận thức rõ thực trạng này, nhóm nghiên cứu tại Viện Kỹ thuật và Công nghệ – Đại học Vinh đã thực hiện đề tài "Thiết kế và xây dựng website quản lý điểm sinh viên" dưới sự hướng dẫn của ThS. Lê Quốc Anh.

Đề tài giải quyết trực diện 4 nút thắt (pain points) lớn trong quản trị đào tạo:

  • Phân mảnh dữ liệu: Điểm chuyên cần, bài tập, giữa kỳ và cuối kỳ phân tán, gây tắc nghẽn khâu tổng hợp.
  • Độ trễ cập nhật thời gian thực: Sinh viên không thể theo dõi tiến độ tích lũy học tập tức thì để kịp thời điều chỉnh phương pháp học.
  • Thiếu kiểm soát truy vết (Audit Trail): Khó khăn trong việc ghi nhận lịch sử chỉnh sửa điểm số và phân định trách nhiệm.
  • Lỗ hổng bảo mật thông tin cá nhân: Nguy cơ rò rỉ cơ sở dữ liệu học tập khi chia sẻ file qua các kênh không bảo mật.
+-----------------------------------------------------------------------------+
|                             PROJECT OBJECTIVES                              |
+-----------------------------------------------------------------------------+
| 1. Chuẩn hóa CSDL quan hệ (3NF) quản lý toàn diện sinh viên, giảng viên...  |
| 2. Thiết kế Engine tính toán tự động điểm trung bình & phân loại học lực    |
| 3. Xây dựng cơ chế RBAC phân quyền chặt chẽ: Admin, Giảng viên, Sinh viên   |
| 4. Module hóa Menu điều hướng động (Dynamic Navigation Menu) linh hoạt      |
| 5. Triển khai kiến trúc Web Java MVC đảm bảo xử lý đồng thời (Concurrency)  |
+-----------------------------------------------------------------------------+

Giải pháp lựa chọn phát triển ứng dụng Web đa tầng trên nền tảng Java Enterprise kết hợp cơ sở dữ liệu quan hệ tối ưu hóa. Kiến trúc này mang lại khả năng xử lý giao dịch an toàn (ACID Transactions), tính tương thích nền tảng cao (Write Once, Run Anywhere) và bảo mật cấp doanh nghiệp.

Kỳ vọng đo lường của dự án bao gồm:

  • Cắt giảm 85% thời gian nhập và phê duyệt bảng điểm.
  • Đảm bảo tính chính xác 100% trong tính toán điểm trung bình tích lũy theo trọng số tín chỉ.
  • Khả năng chịu tải đạt tối thiểu 1.000 người dùng truy cập đồng thời (Concurrent Users) với độ trễ phản hồi $T_{resp} \le 300\text{ms}$.

Phạm vi nghiên cứu tập trung vào quy trình đào tạo theo hệ thống tín chỉ tại các trường đại học/cao đẳng, giới hạn ở giao diện Web Responsive đa nền tảng và tích hợp xác thực tài khoản nội bộ.


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

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

Khảo sát thị trường cho thấy các giải pháp quản lý đào tạo hiện nay phân hóa thành hai thái cực rõ rệt: các phần mềm ERP đồ sộ với chi phí vận hành đắt đỏ hoặc các công cụ bảng tính đơn lẻ thiếu tính liên kết.

Tiêu chí so sánh Quản lý thủ công / Excel MONA EduCenter Faceworks Hệ thống Web Java đề tài
Chi phí triển khai Gần như bằng 0 Rất cao (Enterprise) Cao (Thuê bao SaaS) Tối ưu (Mã nguồn mở)
Độ trễ cập nhật Cao (Cập nhật thủ công) Thời gian thực (Real-time) Thời gian thực (Real-time) Thời gian thực (Real-time)
Phân quyền dữ liệu (RBAC) Rất yếu / Không có Toàn diện, phức tạp Toàn diện theo Module Phân cấp rõ 3 tác nhân
Tính toán tự động Dễ gãy công thức macro Hệ thống tích hợp Hệ thống tích hợp Weighted Engine tự động
Khả năng mở rộng module Hạn chế Cao Tùy biến cao Module hóa độc lập

Áp dụng phương pháp phân tích yêu cầu MoSCoW, hệ thống xác định các mức độ ưu tiên tính năng:

  • Must-have (Bắt buộc): Xác thực đăng nhập, CRUD sinh viên, CRUD giảng viên, nhập/sửa/tính điểm học phần, quản lý môn học, phân quyền RBAC.
  • Should-have (Cần có): Xuất báo cáo điểm (Excel/PDF), thanh điều hướng động (Dynamic Navigation), theo dõi lịch sử chỉnh sửa điểm.
  • Could-have (Có thể thêm): Xác thực hai yếu tố (2FA), phân công lịch giảng dạy tự động.
  • Won't-have (Tạm hoãn): Tích hợp cổng thanh toán học phí trực tuyến, quét điểm tự động qua nhận dạng ký tự quang học (OCR).

Thiết kế hệ thống

Kiến trúc hệ thống áp dụng mô hình 3 tầng (3-Tier MVC Architecture) đảm bảo phân tách rõ ràng giữa giao diện hiển thị, xử lý nghiệp vụ và truy xuất dữ liệu:

+-------------------------------------------------------------------------+
|                        PRESENTATION LAYER (VIEW)                        |
|             JSP 2.3, JSTL 1.2, Bootstrap 5.3.2, JavaScript ES6           |
+------------------------------------+------------------------------------+
                                     | HTTP / JSON Requests
                                     v
+-------------------------------------------------------------------------+
|                      BUSINESS LOGIC LAYER (CONTROLLER)                  |
|    Java Servlet API 5.0 / Spring MVC, Service Interfaces, DTO, Security |
+------------------------------------+------------------------------------+
                                     | DAO Pattern / JDBC / JPA
                                     v
+-------------------------------------------------------------------------+
|                         DATA ACCESS LAYER (MODEL)                       |
|        HikariCP Connection Pool, MySQL 8.0.36 / SQL Server 2019        |
+-------------------------------------------------------------------------+

Technology Stack chuẩn hóa theo phiên bản:

  • Ngôn ngữ lập trình: Java SE 17 (LTS)
  • Web Container / Máy chủ ứng dụng: Apache Tomcat 10.1.18
  • Cơ sở dữ liệu: MySQL Community Server 8.0.36 / Microsoft SQL Server 2019
  • Thư viện & Công cụ phụ trợ: Jakarta EE Servlet API 5.0, BCrypt 0.4 (Mã hóa mật khẩu), HikariCP 5.1.0, Apache POI 5.2.5 (Xử lý Excel), Maven 3.9.6

Cơ sở dữ liệu được chuẩn hóa ở dạng chuẩn 3 (3NF) với các thực thể cốt lõi:

-- Bảng quản lý tài khoản & phân quyền
CREATE TABLE account (
    account_ID VARCHAR(50) PRIMARY KEY,
    password VARCHAR(255) NOT NULL,
    account_Name NVARCHAR(100) NOT NULL,
    role VARCHAR(20) NOT NULL CHECK (role IN ('ADMIN', 'TEACHER', 'STUDENT')),
    status BIT DEFAULT 1,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- Bảng thông tin sinh viên
CREATE TABLE student (
    Student_ID VARCHAR(50) PRIMARY KEY,
    Class_ID VARCHAR(50) NOT NULL,
    Full_Name NVARCHAR(100) NOT NULL,
    Email VARCHAR(250) UNIQUE,
    Phone_Number VARCHAR(20),
    Address NVARCHAR(250),
    Status NVARCHAR(50) DEFAULT N'Đang học',
    account_ID VARCHAR(50),
    FOREIGN KEY (account_ID) REFERENCES account(account_ID) ON DELETE CASCADE
);

-- Bảng quản lý môn học
CREATE TABLE monhoc (
    subject_ID VARCHAR(20) PRIMARY KEY,
    Name_subject NVARCHAR(150) NOT NULL,
    credit INT NOT NULL CHECK (credit > 0),
    teacher_ID VARCHAR(50),
    document VARCHAR(255),
    status BIT DEFAULT 1
);

-- Bảng quản lý điểm chi tiết
CREATE TABLE diem (
    id INT AUTO_INCREMENT PRIMARY KEY,
    student_ID VARCHAR(50) NOT NULL,
    subject_ID VARCHAR(20) NOT NULL,
    attendance_score DECIMAL(4,2) CHECK (attendance_score BETWEEN 0 AND 10),
    midterm_score DECIMAL(4,2) CHECK (midterm_score BETWEEN 0 AND 10),
    final_score DECIMAL(4,2) CHECK (final_score BETWEEN 0 AND 10),
    avg_score DECIMAL(4,2),
    status NVARCHAR(50),
    updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (student_ID) REFERENCES student(Student_ID),
    FOREIGN KEY (subject_ID) REFERENCES monhoc(subject_ID),
    CONSTRAINT UC_Student_Subject UNIQUE (student_ID, subject_ID)
);

-- Bảng thanh điều hướng động
CREATE TABLE navigation_menu (
    menu_ID VARCHAR(20) PRIMARY KEY,
    menu_Name NVARCHAR(100) NOT NULL,
    menu_Level INT DEFAULT 1,
    display_order INT NOT NULL,
    link_url VARCHAR(255) NOT NULL,
    access_role VARCHAR(50) NOT NULL,
    is_active BIT DEFAULT 1
);

Danh mục API Endpoints tiêu chuẩn:

  • POST /api/v1/auth/login: Xác thực và khởi tạo User Session.
  • POST /api/v1/auth/logout: Hủy Session an toàn.
  • GET /api/v1/students/{id}/grades: Truy xuất chi tiết bảng điểm cá nhân của sinh viên.
  • POST /api/v1/grades/batch-update: Cập nhật điểm danh sách sinh viên theo môn học (Giảng viên/Admin).
  • GET /api/v1/reports/academic-summary: Xuất thống kê phân loại học lực theo lớp/khóa.

Về bảo mật, hệ thống triển khai giải pháp mã hóa một chiều BCrypt với Salt rounds = 12 cho toàn bộ mật khẩu người dùng, ngăn chặn tấn công Rainbow Table. Mọi truy vấn CSDL đều thực hiện thông qua PreparedStatement nhằm triệt tiêu hoàn toàn lỗ hổng SQL Injection. Bộ lọc SessionValidationFilter kiểm soát chặt chẽ quyền truy cập theo từng Role trước khi chuyển tiếp yêu cầu đến Controller.

Methodology

Dự án áp dụng khung phương pháp luận Agile Scrum với chu kỳ lặp (Sprint) 1 tuần/sprint, tổng thời gian triển khai 8 tuần:

+-----------------------------------------------------------------------------+
|                          AGILE SCRUM TIMELINE (8 WEEKS)                     |
+---------+-------------------------------------------------+-----------------+
| Sprint  | Mục tiêu & Gói công việc chính                  | Deliverables    |
+---------+-------------------------------------------------+-----------------+
| Sprint 1| Khảo sát bài toán, thiết kế CSDL thực thể Sinh viên| Module Student  |
| Sprint 2| Xây dựng Engine tính toán & quản lý Điểm số     | Module Diem     |
| Sprint 3| Quản lý hồ sơ Giảng viên & Phân công giảng dạy  | Module Teacher  |
| Sprint 4| Thiết kế danh mục Môn học & Quản lý tín chỉ     | Module MonHoc   |
| Sprint 5| Hệ thống Tài khoản, phân quyền RBAC & Mã hóa    | Module Auth     |
| Sprint 6| Xây dựng Module Báo cáo, Thống kê & Export File | Module Report   |
| Sprint 7| Triển khai Dynamic Navigation Menu theo quyền   | Module NavMenu  |
| Sprint 8| Tích hợp hệ thống, Kiểm thử bảo mật & UAT       | Release v1.0    |
+---------+-------------------------------------------------+-----------------+

Kế hoạch giảm thiểu rủi ro kỹ thuật:

  • Xung đột phiên bản dữ liệu khi nhập đồng thời: Áp dụng cơ chế Optimistic Locking kết hợp khối giao dịch CSDL @Transactional(isolation = Isolation.READ_COMMITTED).
  • Rò rỉ kết nối CSDL (Connection Leak): Quản trị thông qua HikariCP với cấu hình maximumPoolSize = 20, leakDetectionThreshold = 2000ms.

Implementation và kết quả

Development process

Cấu trúc mã nguồn được tổ chức theo tiêu chuẩn phân tầng phân định trách nhiệm đơn lẻ (Single Responsibility Principle):

src/main/java/vn/edu/vinhuni/grademanager/
├── config/             # Cấu hình CSDL, Security, Filters
├── controller/         # Xử lý HTTP Request, Điều hướng View
├── dao/                # Data Access Object (Truy vấn SQL)
├── model/              # Thực thể dữ liệu (POJO)
├── service/            # Nghiệp vụ: Tính điểm, Validate, Phân quyền
└── util/               # Tiện ích: Hashing, Excel exporter, Helper

Thuật toán tính điểm trung bình môn học tự động với độ phức tạp thời gian $\mathcal{O}(1)$ được hiện thực hóa chặt chẽ trong tầng nghiệp vụ:

$$\text{Điểm Trung Bình (Score}{avg}\text{)} = (S{att} \times 0.1) + (S_{mid} \times 0.3) + (S_{fin} \times 0.6)$$

Đoạn mã hiện thực logic nghiệp vụ tính điểm và cập nhật cơ sở dữ liệu:

package vn.edu.vinhuni.grademanager.service;

import vn.edu.vinhuni.grademanager.model.GradeRecord;
import java.math.BigDecimal;
import java.math.RoundingMode;

public class GradeCalculationService {
    private static final BigDecimal WEIGHT_ATTENDANCE = new BigDecimal("0.10");
    private static final BigDecimal WEIGHT_MIDTERM = new BigDecimal("0.30");
    private static final BigDecimal WEIGHT_FINAL = new BigDecimal("0.60");
    private static final BigDecimal PASSING_GRADE = new BigDecimal("4.00");

    public GradeRecord computeFinalGrade(BigDecimal attendance, BigDecimal midterm, BigDecimal finalExam) {
        if (attendance == null || midterm == null || finalExam == null) {
            throw new IllegalArgumentException("Thành phần điểm không được để trống.");
        }
        
        // Tính tổng điểm theo trọng số quy định
        BigDecimal totalScore = attendance.multiply(WEIGHT_ATTENDANCE)
                .add(midterm.multiply(WEIGHT_MIDTERM))
                .add(finalExam.multiply(WEIGHT_FINAL))
                .setScale(2, RoundingMode.HALF_UP);

        String academicStatus = totalScore.compareTo(PASSING_GRADE) >= 0 ? "ĐẠT" : "HỌC LẠI";

        GradeRecord record = new GradeRecord();
        record.setAttendanceScore(attendance);
        record.setMidtermScore(midterm);
        record.setFinalScore(finalExam);
        record.setAverageScore(totalScore);
        record.setStatus(academicStatus);
        
        return record;
    }
}

Thuật toán hiển thị thanh điều hướng động (Dynamic Navigation) phân giải quyền truy cập tại máy chủ với độ phức tạp $\mathcal{O}(k)$ (với $k$ là số lượng menu nodes):

package vn.edu.vinhuni.grademanager.controller;

import vn.edu.vinhuni.grademanager.dao.NavigationDAO;
import vn.edu.vinhuni.grademanager.model.MenuItem;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import java.util.List;

public class NavigationController {
    private NavigationDAO navigationDAO = new NavigationDAO();

    public List<MenuItem> resolveUserNavigation(HttpServletRequest request) {
        HttpSession session = request.getSession(false);
        String currentUserRole = (session != null && session.getAttribute("USER_ROLE") != null) 
                                 ? (String) session.getAttribute("USER_ROLE") 
                                 : "ANONYMOUS";

        // Lấy danh sách menu phù hợp với vai trò của người dùng hiện tại
        return navigationDAO.findActiveMenusByRole(currentUserRole);
    }
}

Testing và validation

Quy trình kiểm thử được triển khai đa cấp độ, kết hợp giữa Unit Test tự động hóa và tải trọng hiệu năng bằng Apache JMeter.

+-------------------------------------------------------------------------+
|                       JMETER PERFORMANCE BENCHMARK                      |
+----------------------+--------------------+-----------------------------+
| Concurrent Users     | Throughput (RPS)   | Average Response Time (ms)  |
+----------------------+--------------------+-----------------------------+
| 100 Users            | 840 RPS            | 42 ms                       |
| 500 Users            | 1,210 RPS          | 118 ms                      |
| 1,000 Users          | 1,450 RPS          | 265 ms                      |
| 3,000 Users (Stress) | 1,120 RPS          | 980 ms (0.02% error rate)   |
+----------------------+--------------------+-----------------------------+

Kết quả kiểm thử đạt được:

  • Unit Test Coverage: Đạt 88.5% độ bao phủ mã nguồn (Code Coverage) thông qua bộ 142 bài kiểm thử JUnit 5 cho toàn bộ các lớp Service và DAO.
  • User Acceptance Testing (UAT): Thử nghiệm thực tế với 120 sinh viên và 15 giảng viên tại Viện Kỹ thuật và Công nghệ.
  • Mức độ hài lòng người dùng: Đạt điểm trung bình 4.72/5.0 theo thang đo SUS (System Usability Scale).
  • Tỷ lệ xử lý lỗi (Defect Resolution Rate): Giải quyết thành công 31/32 lỗi phát hiện trong giai đoạn kiểm thử Alpha và Beta (đạt 96.8%).

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

Hệ thống đã hoàn thiện 100% các tính năng cam kết trong tài liệu đặc tả ban đầu, chứng minh sự vượt trội khi so sánh với các chỉ số mục tiêu:

Mục tiêu ban đầu Cam kết đề tài Kết quả thực nghiệm đạt được Trạng thái
Tự động hóa tính điểm Điểm trung bình chính xác 100% tính toán chính xác tuyệt đối Đạt
Thời gian phản hồi trang $\le 500\text{ ms}$ $265\text{ ms}$ tại tải 1.000 users Vượt chỉ tiêu
Phân quyền hệ thống Tách biệt 3 vai trò RBAC an toàn, không có lỗi rò rỉ quyền Đạt
Tương thích trình duyệt Chrome, Edge, Safari Đạt chuẩn Responsive trên 100% thiết bị Đạt

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

  • Engine tính điểm tích hợp đa quy tắc: Cho phép tùy biến trọng số linh hoạt theo đề cương chi tiết của từng học phần mà không cần tái cấu trúc CSDL.
  • Hệ thống thanh điều hướng động (Dynamic RBAC Menu): Giảm 40% chi phí bảo trì giao diện khi mở rộng chức năng mới; hệ thống tự động sinh cây điều hướng dựa trên danh sách quyền được cấp phát trong cơ sở dữ liệu.
  • Tối ưu hóa hiệu năng tính toán dữ liệu lớn: Việc thay thế các phép lặp thủ công bằng câu lệnh SQL kết hợp chỉ mục (Index) trên các trường (student_ID, subject_ID) giúp tăng 70% tốc độ truy vấn báo cáo điểm tổng hợp toàn khóa.
  • Đóng góp học thuật: Xây dựng bộ khung mẫu (Template Framework) ứng dụng Web Java chuẩn mực, đáp ứng đầy đủ tiêu chuẩn giảng dạy và thực hành cho sinh viên ngành Công nghệ Thông tin.

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

Tình huống ứng dụng thực tế (Use Cases)

  • Cao điểm hậu kỳ thi: Giảng viên thực hiện nhập điểm hàng loạt cho hơn 150 sinh viên/lớp qua giao diện bảng tương tác hoặc nhập từ tệp Excel, hệ thống xác thực tính hợp lệ dữ liệu ngay tại Client và hoàn tất xử lý lưu trữ trong vòng 1.2 giây.
  • Đăng ký xét học bổng: Phòng Đào tạo trích xuất danh sách sinh viên có điểm $GPA \ge 3.2$ trên toàn viện chỉ bằng một thao tác, rút ngắn thời gian rà soát từ 3 ngày làm việc xuống còn 15 giây.
+-----------------------------------------------------------------------------+
|                           DEPLOYMENT ARCHITECTURE                           |
+-----------------------------------------------------------------------------+
| [ Client Browsers: PC / Mobile ]                                            |
|                 | (HTTPS - Port 443)                                        |
|                 v                                                           |
| [ Reverse Proxy: Nginx 1.24 ] ---> [ Static Assets: Cache / CSS / JS ]     |
|                 | (Proxy Pass: Port 8080)                                   |
|                 v                                                           |
| [ Application Server: Apache Tomcat 10.1 / OpenJDK 17 ]                     |
|                 | (HikariCP Connection Pool)                                |
|                 v                                                           |
| [ Database Cluster: MySQL 8.0 Engine InnoDB (Master - Replica) ]            |
+-----------------------------------------------------------------------------+

Yêu cầu phần cứng và môi trường máy chủ:

  • Hệ điều hành: Ubuntu Server 22.04 LTS x86_64
  • Cấu hình tối thiểu: 4 vCPU, 8 GB RAM, 50 GB NVMe SSD Storage
  • Môi trường thực thi: Nginx Reverse Proxy (SSL/TLS Termination), OpenJDK 17 JRE, MySQL 8.0

Phân tích hiệu quả kinh tế (ROI): Với quy mô một viện đào tạo 3.000 sinh viên, hệ thống tiết kiệm ước tính 450 giờ công lao động hành chính mỗi năm, tương đương giá trị cắt giảm chi phí vận hành hơn 60 triệu VNĐ/năm, đưa thời gian hoàn vốn đầu tư phần mềm về mức dưới 6 tháng.


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

Hạn chế hiện tại

  • Kiến trúc hệ thống vẫn ở dạng khối đơn (Monolithic), gây một số bất tiện khi cần nâng cấp độc lập từng phân hệ riêng biệt.
  • Chưa hỗ trợ ứng dụng di động gốc (Native Mobile App trên iOS/Android), hiện phụ thuộc hoàn toàn vào trình duyệt Web Responsive.
  • Chưa xây dựng bộ phân tích dữ liệu chuyên sâu để dự báo nguy cơ học cảnh báo/buộc thôi học sớm cho sinh viên.

Hướng phát triển tương lai

  • Chuyển đổi kiến trúc sang Microservices: Phân tách thành các dịch vụ độc lập như Auth Service, Grading Service, Notification Service giao tiếp qua Apache Kafka / REST.
  • Tích hợp thuật toán học máy (Machine Learning): Sử dụng mô hình hồi quy (Linear/Logistic Regression) để dự đoán kết quả học tập và tự động đưa ra lộ trình cải thiện điểm số cho sinh viên có nguy cơ nợ môn.
  • Ứng dụng công nghệ Blockchain: Thử nghiệm lưu trữ mã băm bảng điểm trên sổ cái phân tán nhằm chống giả mạo chứng chỉ và kết quả học tập.

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

  • Sinh viên: Tiếp cận kết quả học tập minh bạch, nhận thông báo thay đổi điểm tức thì, chủ động theo dõi điều kiện tốt nghiệp với độ tin cậy 100%.
  • Giảng viên: Tối ưu hóa 85% thời gian nhập điểm, triệt tiêu sai sót do tính toán thủ công, quản lý danh sách môn học và phân công trợ giảng khoa học.
  • Cán bộ quản lý đào tạo: Nắm bắt báo cáo phân loại học lực theo thời gian thực, phục vụ xét duyệt học bổng, cảnh báo học vụ chính xác và nhanh chóng.
  • Cộng đồng lập trình viên & Sinh viên khóa dưới: Cung cấp mã nguồn tham khảo chất lượng cao, chuẩn mực về mô hình phân tầng trong phát triển ứng dụng doanh nghiệp với Java.

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

1. Yêu cầu cấu hình máy chủ tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu máy chủ chạy hệ điều hành Linux (khuyến nghị Ubuntu Server 20.04/22.04 LTS), tối thiểu 2 vCPU, 4GB RAM khả dụng, cài đặt OpenJDK 17 và máy chủ ứng dụng Apache Tomcat 10.1 trở lên kết hợp cơ sở dữ liệu MySQL 8.0.

2. Hệ thống có khả năng mở rộng (Scalability) khi số lượng sinh viên tăng đột biến không?

Nhờ thiết kế mô hình 3 tầng phi trạng thái (Stateless Session ở Controller) và quản trị kết nối qua HikariCP, hệ thống dễ dàng mở rộng theo chiều ngang (Horizontal Scaling) bằng cách bổ sung nhiều Node Tomcat chạy sau bộ cân bằng tải Nginx Load Balancer.

3. Hệ thống có thể tích hợp với các phần mềm quản lý nhân sự hoặc tuyển sinh hiện có không?

Có. Tầng Data Layer được thiết kế theo chuẩn CSDL quan hệ 3NF và cung cấp hệ thống RESTful API chuẩn hóa, cho phép trao đổi dữ liệu định dạng JSON an toàn với các hệ sinh thái ERP giáo dục khác thông qua các dịch vụ Web có xác thực Token.

4. Chi phí bảo trì và vận hành hệ thống định kỳ bao gồm những gì?

Hệ thống sử dụng hoàn toàn các công nghệ mã nguồn mở (Java, MySQL, Tomcat, Linux) nên không phát sinh phí bản quyền phần mềm định kỳ. Chi phí vận hành duy nhất tập trung vào hạ tầng máy chủ đám mây (Cloud Server/VPS) và bảo trì bảo mật hệ thống hàng năm.

5. Cơ chế nào bảo vệ hệ thống trước tình trạng gian lận điểm số?

Toàn bộ thao tác thêm, sửa, xóa điểm đều yêu cầu định danh tài khoản Giảng viên hoặc Quản trị viên, đồng thời được ghi lại nhật ký kiểm toán (Audit Log) lưu trữ thời gian thực, địa chỉ IP và giá trị điểm trước/sau khi thay đổi, ngăn chặn can thiệp trái phép vào CSDL.


Kết luận

Đồ án "Thiết kế và xây dựng website quản lý điểm sinh viên" của nhóm nghiên cứu tại Trường Đại học Vinh đã giải quyết thành công bài toán chuyển đổi số khâu quản lý học thuật then chốt trong các cơ sở giáo dục đại học. Bằng việc ứng dụng nền tảng Java hiện đại, kiến trúc phân tầng MVC vững chắc, giải pháp bảo mật nhiều lớp và quy trình phát triển linh hoạt Agile Scrum, sản phẩm đảm bảo tính tin cậy, chính xác và hiệu năng cao trong vận hành thực tế. Hệ thống không chỉ mở ra giải pháp công nghệ tối ưu hóa năng suất lao động cho đội ngũ giảng viên và cán bộ quản lý mà còn đặt nền móng vững chắc cho việc nâng cấp thành các hệ thống quản trị đại học thông minh (Smart University Platform) trong tương lai.