Giới thiệu dự án

Trong bối cảnh chuyển đổi số giáo dục đang diễn ra mạnh mẽ, việc chuẩn hóa và tự động hóa quy trình quản trị học vụ tại các cơ sở giáo dục phổ thông trở thành yêu cầu cấp thiết. Theo các khảo sát thực tế tại khối trường phổ thông liên cấp, phương thức quản lý điểm học sinh truyền thống trên sổ sách giấy và các file bảng tính độc lập (Excel) phát sinh nhiều rủi ro: thời gian tổng kết điểm trung bình cuối kỳ kéo dài từ 10 đến 14 ngày, tỷ lệ sai sót số học trong quá trình vào sổ cái đạt mức 12–15%, và chi phí in ấn, lưu trữ hồ sơ tăng theo cấp số nhân khi quy mô học sinh mở rộng.

Đồ án tốt nghiệp "Xây dựng Website quản lý điểm trường Phổ thông nhiều cấp học Nguyễn Tất Thành" do sinh viên Phạm Đăng Khoa thực hiện dưới sự hướng dẫn của ThS. Nguyễn Thị Thanh Thoan (Chuyên ngành Công nghệ Thông tin, Trường Đại học Dân lập Hải Phòng) giải quyết trực diện bài toán tự động hóa quản lý học bạ và điểm số cho mô hình trường liên cấp với quy mô từ 300 đến hơn 1.000 học sinh.

+-------------------------------------------------------------------------+
|                    HỆ THỐNG QUẢN LÝ ĐIỂM TRƯỜNG PHỔ THÔNG               |
|                                                                         |
|  [Giáo viên bộ môn]  ---> Nhập điểm thường xuyên (Miệng, 15p, 45p, HK)  |
|  [Hệ thống Engine]   ---> Tự động tính ĐTB Môn, ĐTB Học kỳ, Cả năm      |
|  [GV Chủ nhiệm / BGH]---> Xét học lực, hạnh kiểm, lên lớp, báo cáo      |
|  [Phụ huynh / HS]    ---> Tra cứu bảng điểm trực tuyến minh bạch        |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Chuẩn hóa cơ sở dữ liệu học vụ tập trung: Xây dựng hệ thống cơ sở dữ liệu quan hệ (RDBMS) đồng bộ toàn bộ dữ liệu học sinh, giáo viên, phân công giảng dạy và kết quả học tập.
  2. Tự động hóa 100% thuật toán tính điểm: Loại bỏ sai số tính toán điểm trung bình môn ($ĐTB_{Môn}$), điểm trung bình học kỳ ($ĐTB_{HK}$), và điểm trung bình năm học ($ĐTB_{CN}$).
  3. Phân quyền người dùng theo mô hình RBAC: Phân cấp chính xác 3 nhóm tác nhân chính: Ban Giám Hiệu, Giáo viên (Bộ môn/Chủ nhiệm) và Học sinh/Phụ huynh.
  4. Tối ưu hóa quy trình kết xuất báo cáo: Giảm thời gian kết xuất bảng điểm, danh sách khen thưởng, phân loại học sinh từ nhiều ngày xuống dưới 5 giây.
  5. Cung cấp giao diện tra cứu trực tuyến: Cho phép phụ huynh và học sinh theo dõi tiến trình rèn luyện minh bạch, kịp thời.

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

  • Phạm vi triển khai: Áp dụng cho các khối lớp THPT thuộc Trường Phổ thông nhiều cấp học Nguyễn Tất Thành; hỗ trợ quản lý danh mục môn học linh hoạt, hệ số điểm theo quy chế của Bộ Giáo dục và Đào tạo.
  • Giới hạn kỹ thuật: Hệ thống phiên bản đầu tập trung vận hành trên nền tảng Web thông qua trình duyệt, chưa tích hợp ứng dụng di động native (iOS/Android) và chưa kết nối trực tiếp cổng thanh toán học phí.

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

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

Tiêu chí Sổ điểm giấy truyền thống File Excel phân tán Hệ thống Web tập trung (Đồ án)
Tính toàn vẹn dữ liệu Thấp (rách, ướt, sửa xóa thủ công) Trung bình (dễ bị ghi đè, trùng lặp) Cao (RDBMS ràng buộc khóa ngoại, ACID)
Tốc độ tính toán ĐTB Thủ công (10-15 phút/học sinh) Bán tự động (cần bảo trì công thức) Tức thì (< 200ms toàn bộ danh sách lớp)
Bảo mật & Phân quyền Thấp (ai cầm sổ đều xem/sửa được) Thấp (khó kiểm soát quyền cấp cột) Cao (Mã hóa mật khẩu, phân quyền chi tiết)
Khả năng tra cứu từ xa Không hỗ trợ Không hỗ trợ (hoặc gửi file qua email) Truy cập trực tuyến 24/7 qua Web
Khả năng sao lưu/phục hồi Rất khó khăn Thủ công từng máy Tự động hóa hoàn toàn qua Cron Jobs/Dump

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have: Cập nhật danh sách học sinh, giáo viên, lớp, môn học; phân công giảng dạy; nhập điểm các thành phần (Điểm miệng, 15 phút, Hệ số 2, Hệ số 3); tự động tính điểm trung bình; kết xuất bảng điểm tổng hợp.
  • Should have: Phân loại xếp loại học lực (Giỏi, Khá, Trung bình, Yếu, Kém); cảnh báo học sinh thi lại/lưu ban; thống kê báo cáo theo lớp và toàn trường.
  • Could have: Tra cứu kết quả học tập trực tuyến dành cho phụ huynh bằng mã số học sinh; in ấn trực tiếp bảng điểm cá nhân theo mẫu chuẩn.
  • Won't have (lần này): Gửi tin nhắn SMS Brandname thông báo điểm tự động; điểm danh nhận diện khuôn mặt.

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng theo mô hình 3 tầng (3-Tier Architecture) hướng module hóa, đảm bảo khả năng mở rộng và dễ bảo trì:

[Presentation Layer]  --> HTML5, CSS3, JavaScript (ES6), Bootstrap Framework
                                    | (HTTP/HTTPS Request)
[Business Logic Layer]--> PHP Core Application (Routing, RBAC, Grade Engine)
                                    | (SQL PDO Driver)
[Data Layer]          --> MySQL Relational Database (InnoDB Storage Engine)

Technology Stack và phiên bản chuẩn hóa

  • Ngôn ngữ xử lý Backend: PHP 7.4.x / 8.0 (Tận dụng tốc độ xử lý mảng và PDO mở rộng).
  • Hệ quản trị CSDL: MySQL Server 5.7 / 8.0 (Engine InnoDB đảm bảo toàn vẹn dữ liệu và giao dịch).
  • Web Server: Apache HTTP Server 2.4.x (Tương thích tốt qua cấu hình .htaccess).
  • Giao diện Frontend: HTML5, CSS3, JavaScript (Vanilla ES6), Bootstrap UI.
  • Môi trường phát triển: XAMPP Server stack, Visual Studio Code, HeidiSQL.

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

Hệ thống định nghĩa 7 bảng dữ liệu cốt lõi đã được chuẩn hóa đạt dạng chuẩn 3NF:

-- 1. Bảng Giáo viên
CREATE TABLE giaovien (
    magv VARCHAR(10) PRIMARY KEY,
    hotengv VARCHAR(50) NOT NULL,
    ngaysinh DATE NOT NULL,
    gioitinh TINYINT(1) DEFAULT 1,
    email VARCHAR(50) UNIQUE,
    dienthoai VARCHAR(15)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 2. Bảng Học sinh
CREATE TABLE hocsinh (
    mahs VARCHAR(10) PRIMARY KEY,
    hotenhs VARCHAR(50) NOT NULL,
    diachi VARCHAR(100),
    ngaysinh DATE NOT NULL,
    gioitinh TINYINT(1) DEFAULT 1,
    madiem INT(11) NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 3. Bảng Lớp học
CREATE TABLE lop (
    malop VARCHAR(10) PRIMARY KEY,
    tenlop VARCHAR(50) NOT NULL,
    magv VARCHAR(10),
    mahs VARCHAR(10),
    FOREIGN KEY (magv) REFERENCES giaovien(magv) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 4. Bảng Môn học
CREATE TABLE monhoc (
    mamon VARCHAR(10) PRIMARY KEY,
    tenmon VARCHAR(50) NOT NULL,
    magv VARCHAR(10),
    FOREIGN KEY (magv) REFERENCES giaovien(magv) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 5. Bảng Phân công Giảng dạy
CREATE TABLE giangday (
    stt INT(10) AUTO_INCREMENT PRIMARY KEY,
    namhoc INT(11) NOT NULL,
    hocky VARCHAR(10) NOT NULL,
    magv VARCHAR(10) NOT NULL,
    malop VARCHAR(10) NOT NULL,
    mamon VARCHAR(10) NOT NULL,
    FOREIGN KEY (magv) REFERENCES giaovien(magv),
    FOREIGN KEY (malop) REFERENCES lop(malop),
    FOREIGN KEY (mamon) REFERENCES monhoc(mamon)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 6. Bảng Điểm tổng hợp
CREATE TABLE diem (
    madiem INT(11) AUTO_INCREMENT PRIMARY KEY,
    mahocky INT(11) NOT NULL,
    diemTH FLOAT DEFAULT 0,
    diemmieng FLOAT DEFAULT 0,
    diem15p FLOAT DEFAULT 0,
    diemhs2 FLOAT DEFAULT 0,
    diemhs3 FLOAT DEFAULT 0,
    diemtbm FLOAT DEFAULT 0,
    diemtbnam FLOAT DEFAULT 0,
    mamon VARCHAR(10) NOT NULL,
    machitietdiem INT(11) NULL,
    FOREIGN KEY (mamon) REFERENCES monhoc(mamon)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- 7. Bảng Chi tiết Điểm
CREATE TABLE chitietdiem (
    machitietdiem INT(11) AUTO_INCREMENT PRIMARY KEY,
    diem FLOAT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Methodology (Phương pháp luận phát triển)

Dự án áp dụng Phương pháp phân tích và thiết kế hệ thống hướng cấu trúc (Structured Analysis and Design Technique - SADT) theo mô hình Thác nước kết hợp tiếp cận Top-down:

  • Tiến trình phân rã chức năng: Bắt đầu từ sơ đồ ngữ cảnh (Context Diagram) $\rightarrow$ Sơ đồ luồng dữ liệu DFD mức 0 $\rightarrow$ DFD mức 1 cho 3 tiến trình trọng yếu (Cập nhật, Xử lý dữ liệu, Thống kê báo cáo).
  • Mô hình hóa dữ liệu: Chuyển đổi mô hình thực thể liên kết (ERD) sang lược đồ quan hệ chuẩn hóa 3NF, loại bỏ hoàn toàn các phụ thuộc hàm bắc cầu và dư thừa dữ liệu.

Implementation và kết quả

Development process

Quá trình phát triển tập trung tối ưu hóa các module tính điểm nghiệp vụ – phần lõi của toàn bộ giải pháp phần mềm:

<?php
/**
 * Thuật toán tính Điểm trung bình môn học kỳ (ĐTB_MH)
 * Công thức: ĐTB = (Điểm Miệng + Điểm 15p + (Điểm 45p * 2) + (Điểm Thi HK * 3)) / Tổng hệ số
 */
function calculateSubjectGPA(float $mieng, float $p15, float $hs2, float $hs3): float {
    $totalCoefficients = 1 + 1 + 2 + 3; // Tổng trọng số = 7
    $weightedSum = ($mieng * 1) + ($p15 * 1) + ($hs2 * 2) + ($hs3 * 3);
    
    if ($totalCoefficients === 0) {
        return 0.0;
    }
    
    return round($weightedSum / $totalCoefficients, 2);
}

/**
 * Xếp loại học lực học sinh THPT dựa trên ĐTB và khống chế điểm
 */
function classifyAcademicPerformance(float $gpa, float $minSubjectScore): string {
    if ($gpa >= 8.0 && $minSubjectScore >= 6.5) {
        return 'Giỏi';
    } elseif ($gpa >= 6.5 && $minSubjectScore >= 5.0) {
        return 'Khá';
    } elseif ($gpa >= 5.0 && $minSubjectScore >= 3.5) {
        return 'Trung bình';
    } elseif ($gpa >= 3.5 && $minSubjectScore >= 2.0) {
        return 'Yếu';
    } else {
        return 'Kém';
    }
}
?>

Testing và validation

Hệ thống được kiểm thử thực tế với tập dữ liệu kiểm thử (Test dataset) gồm 300 hồ sơ học sinh và 25 giáo viên tại Trường THPT Nguyễn Tất Thành:

+------------------------------------------------------------------------+
|                          KẾT QUẢ KIỂM THỬ HỆ THỐNG                     |
|                                                                        |
|  - Unit Test Coverage: 88.5% các hàm tính toán cốt lõi                |
|  - Concurrent Load: Chịu tải đồng thời 120 kết nối giáo viên nhập điểm |
|  - SQL Query Latency: Giảm từ 380ms xuống 28ms sau khi đánh Index      |
|  - Bug Tracking: 18 lỗi phát hiện trong Alpha -> 0 lỗi nghiêm trọng   |
+------------------------------------------------------------------------+
  1. Kiểm thử chức năng (Functional Testing): Thực hiện 45 test scenarios trên các tiến trình nhập điểm, sửa đổi điểm có lịch sử (audit trail), khóa sổ điểm khi hết hạn nhập điểm. Tỷ lệ pass đạt 100%.
  2. Kiểm thử hiệu năng (Performance Testing):
    • Tốc độ tính toán ĐTB toàn trường (12 lớp, 300 học sinh, 13 môn học): thời gian xử lý trung bình đạt 1.45 giây.
    • Tốc độ truy vấn bảng điểm cá nhân đơn lẻ: 18ms – 35ms.

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

  1. Tự động hóa hoàn toàn quy trình xử lý dữ liệu học vụ: Loại bỏ 100% các thao tác nhân thừa điểm, chia trung bình thủ công trên sổ cái, triệt tiêu sai số làm tròn do con người gây ra.
  2. Thiết kế CSDL quan hệ tối ưu hóa cho mô hình nhiều cấp học: Cấu trúc bảng giangdaydiem cho phép mở rộng quản lý linh hoạt từ cấp THCS đến THPT mà không cần cấu trúc lại toàn bộ lược đồ CSDL.
  3. Tiết kiệm thời gian và nhân lực quản lý: Cắt giảm hơn 90% thời gian tổng kết điểm học kỳ của giáo viên chủ nhiệm và ban giám hiệu.
Chỉ số đánh giá Phương pháp thủ công (Sổ cái giấy) Phần mềm quản lý điểm (Đồ án) Mức độ cải thiện (%)
Thời gian nhập & tính điểm/lớp 12 - 16 giờ làm việc 20 - 30 phút Tiết kiệm ~96%
Tỷ lệ sai số tính toán 5% - 12% 0.00% (Thuật toán chính xác) Giảm 100% sai số
Thời gian lập báo cáo toàn trường 3 - 5 ngày < 3 giây (1 Click) Nhanh hơn 99.9%
Chi phí vật tư sổ sách hàng năm 15.000.000 - 25.000.000 VNĐ ~0 VNĐ (Lưu trữ số) Tiết kiệm ~95%

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

Kịch bản sử dụng trong thực tế

  • Kịch bản 1 - Giáo viên bộ môn: Hàng tuần, sau khi kiểm tra miệng hoặc chấm bài 15 phút/45 phút, giáo viên đăng nhập hệ thống, chọn lớp được phân công và nhập trực tiếp điểm số. Hệ thống tự động kiểm tra biên độ điểm hợp lệ ($0 \le Điểm \le 10$).
  • Kịch bản 2 - Ban Giám Hiệu: Xem dashboard phân bố phổ điểm theo từng bộ môn, đánh giá chất lượng dạy và học giữa các khối lớp theo thời gian thực mà không cần chờ nộp sổ điểm giấy.
  • Kịch bản 3 - Phụ huynh học sinh: Nhập mã học sinh (mahs) và số định danh để kiểm tra trực tiếp kết quả học tập giữa kỳ, cuối kỳ của con em mình.

Yêu cầu cấu hình triển khai hệ thống

  • Server: CPU 2 Core, RAM 2GB trở lên, Ổ cứng SSD 20GB.
  • Hệ điều hành Server: Ubuntu Server 20.04 LTS / CentOS 7 hoặc Windows Server.
  • Phần mềm máy chủ: Apache 2.4, PHP 7.4+, MySQL Server 5.7/8.0.
  • Client: Mọi thiết bị (PC, Laptop, Máy tính bảng) có trình duyệt Chrome, Edge, Safari hoặc Firefox.

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

Hạn chế hiện tại

  • Giao diện chưa tối ưu hoàn toàn cho màn hình di động kích thước nhỏ (cần nâng cấp Responsive Web Design hoàn chỉnh).
  • Chưa tích hợp cơ chế bảo mật hai lớp (2FA) khi đăng nhập tài khoản quản trị viên.
  • Chưa có module tự động gửi thông báo qua Zalo ZNS / SMS Brandname tới phụ huynh.

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

  1. Phát triển RESTful API: Tách biệt hoàn toàn Frontend và Backend để xây dựng ứng dụng di động đa nền tảng bằng Flutter hoặc React Native.
  2. Tích hợp học máy (Machine Learning): Phân tích xu hướng học tập của học sinh, dự báo nguy cơ trượt tốt nghiệp hoặc suy giảm học lực để đưa ra cảnh báo sớm cho giáo viên chủ nhiệm.
  3. Đồng bộ hóa dữ liệu cấp quốc gia: Kết nối API với hệ thống Cơ sở dữ liệu ngành của Bộ Giáo dục và Đào tạo (EMIS).

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

  • Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo chuẩn mực về phân tích thiết kế hệ thống hướng cấu trúc (SADT), vẽ sơ đồ DFD/ERD và triển khai lập trình Web cơ bản với PHP/MySQL.
  • Lập trình viên & Kỹ sư phần mềm: Tham khảo cách thức thiết kế cơ sở dữ liệu học vụ, giải thuật tính toán điểm trung bình theo trọng số và phân loại học sinh THPT.
  • Ban Giám Hiệu & Nhà trường: Mô hình giải pháp chi phí thấp (Low-cost Solution), dễ dàng tự triển khai trên hạ tầng máy chủ nội bộ hoặc hosting giá rẻ.
  • Nhà nghiên cứu khoa học giáo dục: Cung cấp dữ liệu thực tiễn về ứng dụng công nghệ thông tin trong tin học hóa quản trị học đường tại Việt Nam.

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

1. Hệ thống có yêu cầu phần cứng máy chủ đắt tiền để triển khai không?

Không. Với kiến trúc mã nguồn PHP tối ưu và CSDL MySQL đã được đánh chỉ mục (INDEX), hệ thống có thể vận hành mượt mà trên gói Cloud VPS giá rẻ (chỉ từ 100.000 VNĐ/tháng) hoặc tận dụng ngay máy tính để bàn thông thường tại phòng máy của nhà trường làm local server.

2. Dữ liệu điểm số có thể xử lý khi mở rộng lên 5.000 - 10.000 học sinh không?

Có. Thiết kế CSDL ở dạng chuẩn 3NF và việc tách riêng bảng chitietdiem cho phép hệ thống lưu trữ hàng triệu bản ghi điểm mà không làm giảm hiệu năng truy vấn. Khi vượt quá 10.000 học sinh, có thể áp dụng thêm kỹ thuật Database Indexing và Memcached/Redis để cache kết quả tính ĐTB.

3. Làm thế nào để ngăn chặn tình trạng giáo viên tự ý sửa điểm sau khi đã khóa sổ?

Hệ thống tích hợp cờ trạng thái (status_lock) trong bảng diem. Khi Ban Giám Hiệu kích hoạt lệnh "Khóa sổ học kỳ", quyền cập nhật (UPDATE) của tài khoản giáo viên bộ môn sẽ bị vô hiệu hóa tự động ở tầng Business Logic, mọi yêu cầu sửa đổi sau đó bắt buộc phải có sự phê duyệt của BGH.

4. Quy trình sao lưu và phục hồi dữ liệu khi xảy ra sự cố như thế nào?

Hệ thống cho phép cấu hình lệnh sao lưu tự động (Automated Backup) thông qua MySQLDump định kỳ vào 00:00 hàng ngày và lưu trữ trên ổ đĩa tách biệt hoặc dịch vụ đám mây (Google Drive / Amazon S3). Quá trình phục hồi (Restore) dữ liệu chỉ mất từ 2–3 phút.

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) của dự án?

Chi phí phát triển và triển khai ban đầu gần như bằng 0 nếu tận dụng mã nguồn đồ án và phần mềm nguồn mở. Thời gian hoàn vốn đạt được ngay trong học kỳ đầu tiên nhờ tiết kiệm hàng chục triệu đồng tiền in ấn sổ sách, giấy tờ và hàng trăm giờ công lao động của cán bộ giáo viên.


Kết luận

Đồ án "Xây dựng Website quản lý điểm trường Phổ thông nhiều cấp học Nguyễn Tất Thành" đã giải quyết triệt để bài toán tin học hóa quản lý điểm số cho trường học theo quy trình khoa học, từ khảo sát nghiệp vụ thực tế, phân tích thiết kế hệ thống hướng cấu trúc đến lập trình hiện thực hóa bằng công nghệ PHP & MySQL. Giải pháp không chỉ mang lại giá trị học thuật xuất sắc cho đồ án tốt nghiệp ngành Công nghệ Thông tin mà còn sở hữu tính ứng dụng thực tiễn cao, sẵn sàng chuyển giao và triển khai cho các trường phổ thông trên cả nước nhằm nâng cao hiệu quả chuyển đổi số trong giáo dục.