Bối cảnh và vấn đề nghiên cứu
Đề tài "Xây dựng Website quản lý kết quả học tập và văn bằng chứng chỉ của sinh viên" được thực hiện bởi sinh viên Vũ Hoài Nam (ngành Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng) dưới sự hướng dẫn của ThS. Đỗ Văn Tuyên trong thời gian từ ngày 27/03/2023 đến ngày 17/06/2023.
Bối cảnh thực tiễn của đề tài bắt nguồn từ yêu cầu pháp lý tại Điều 26, Thông tư số 21/2019/TT-BGDĐT của Bộ Giáo dục và Đào tạo ban hành Quy chế quản lý văn bằng, chứng chỉ của hệ thống giáo dục quốc dân. Quy chế này quy định các cơ quan có thẩm quyền cấp văn bằng, chứng chỉ phải xây dựng hệ thống cơ sở dữ liệu và công bố công khai thông tin cấp văn bằng, chứng chỉ trên cổng thông tin điện tử (bao gồm: tên văn bằng/chứng chỉ; họ tên, ngày sinh người được cấp; số hiệu, số vào sổ gốc; ngày tháng năm cấp). Thông tin công khai phải đảm bảo chính xác so với sổ gốc, được cập nhật thường xuyên, dễ tra cứu, quản lý và áp dụng đối với cả các văn bằng, chứng chỉ đã cấp trước thời điểm quy chế có hiệu lực.
Về mặt thực tế, nhà trường cần một giải pháp công nghệ giúp sinh viên tra cứu trực tuyến kết quả học tập và văn bằng chứng chỉ mà không cần trực tiếp đến trường xin giấy tờ theo phương thức truyền thống. Đồng thời, hệ thống tạo điều kiện cho các nhà tuyển dụng kiểm tra, xác thực tính hợp pháp của bằng cấp, ngăn chặn tình trạng làm giả giấy tờ học vị.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:
- Tìm hiểu tổng quan về kiến trúc phần mềm phân tán Microservices và phương pháp thiết kế hướng miền (Domain-Driven Design - DDD).
- Khảo sát, phân tích cấu trúc cơ sở dữ liệu quản lý đào tạo hiện hành của Trường Đại học Quản lý và Công nghệ Hải Phòng.
- Xây dựng phần mềm website thử nghiệm phục vụ công tác quản lý, tra cứu kết quả học tập, văn bằng chứng chỉ và tích hợp mã QR Code để xác thực.
Đối tượng nghiên cứu là cấu trúc dữ liệu đào tạo (sinh viên, điểm, văn bằng, chứng chỉ) và các công nghệ phát triển web hiện đại. Phạm vi nghiên cứu áp dụng cho dữ liệu đào tạo tại Trường Đại học Quản lý và Công nghệ Hải Phòng.
Cơ sở lý thuyết và phương pháp
Đồ án xây dựng nền tảng lý thuyết dựa trên các chuẩn mực kỹ thuật phần mềm và hệ thống quy chế đào tạo đại học hiện hành:
- Khung lý thuyết kiến trúc phần mềm: Kiến trúc Microservices (phân tách dịch vụ độc lập, khả năng mở rộng, giao tiếp qua HTTP/RESTful API, gRPC) và phương pháp thiết kế hướng miền Domain-Driven Design (DDD) với các thành phần cốt lõi: Entity, Value Object, Aggregate, Repository, Domain Event, Bounded Context.
- Khung quy định đào tạo: Dựa trên các quy chế quản lý đào tạo được tích hợp trong phần mềm nguồn Edu (EduMng) của Công ty TNHH Phần mềm Hoàng Hà, bao gồm: Quy chế 25 và Quy chế 43 về đào tạo đại học/cao đẳng chính quy theo hệ thống tín chỉ; Quyết định số 58/2007/QĐ-BGD&ĐT về hồ sơ học sinh, sinh viên; Quyết định số 60/2007/QĐ-BGDĐT về đánh giá kết quả rèn luyện; Quyết định số 44/2007/QĐ-BGDĐT về học bổng khuyến khích; cùng các Quy chế 40/2007/QĐ-BGD&ĐT, 42/2007/QĐ-BGD&ĐT, 36/2007/QĐ-BGD&ĐT.
- Công nghệ nền tảng và bảo mật: Cơ sở dữ liệu quan hệ (RDBMS), tiêu chuẩn RESTful API, nền tảng GraphQL Engine Hasura kết nối cơ sở dữ liệu PostgreSQL, dịch vụ quản lý xác thực Clerk, tiêu chuẩn mã hóa mã thông báo JWT (JSON Web Token gồm Header, Payload, Signature) và dịch vụ lưu trữ đa phương tiện đám mây Cloudinary.
Phương pháp nghiên cứu chính bao gồm:
- Phân tích và mô hình hóa dữ liệu quan hệ: Trích xuất, giải mã mối quan hệ khóa chính - khóa ngoại từ 464 bảng dữ liệu của hệ thống Edu sang các bảng nghiệp vụ mục tiêu.
- Thiết kế hệ thống phần mềm: Áp dụng tư duy phân tách dịch vụ của Microservices và tích hợp các dịch vụ đám mây trung gian để tối ưu hóa quy trình truy vấn dữ liệu và phân quyền người dùng.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình tích hợp dịch vụ hiện đại nhằm phục vụ nghiệp vụ của cán bộ phòng Đào tạo và nhu cầu tra cứu của sinh viên, nhà tuyển dụng.
| Thành phần kỹ thuật |
Công nghệ / Nền tảng |
Vai trò và chức năng trong hệ thống |
| Cơ sở dữ liệu nguồn |
Hệ thống CSDL Edu (464 bảng) |
Lưu trữ toàn bộ dữ liệu quản lý đào tạo, điểm, sinh viên và văn bằng của trường. |
| GraphQL Engine |
Hasura |
Tự động tạo API GraphQL linh hoạt từ CSDL, hỗ trợ truy vấn quan hệ lồng nhau và thời gian thực. |
| Xác thực người dùng |
Clerk |
Cung cấp giao diện xác thực, đăng nhập/đăng xuất, khôi phục mật khẩu và tạo JWT tương thích Hasura. |
| Ủy quyền & Bảo mật |
JWT (JSON Web Token) |
Chuyển tải thông tin phiên làm việc, xác minh quyền hạn truy cập của từng vai trò thông qua chữ ký số. |
| Lưu trữ minh chứng |
Cloudinary API |
Lưu trữ, xử lý và tối ưu hóa tệp hình ảnh minh chứng của văn bằng, chứng chỉ trên nền tảng đám mây. |
| Giao thức giao tiếp |
RESTful API / GraphQL |
Kết nối các dịch vụ độc lập, hỗ trợ giao tiếp chuẩn hóa qua các phương thức HTTP. |
Cơ sở dữ liệu của phần mềm quản lý đào tạo Edu gồm 464 bảng. Tác giả đã tiến hành phân tích và trích xuất dữ liệu thông qua các bảng trọng tâm:
| Nhóm nghiệp vụ |
Danh sách các bảng dữ liệu liên quan |
Các trường dữ liệu chính được khai thác |
| Thông tin sinh viên & Văn bằng |
sinhvien, hedaotao, nganh, khoahoc, vb_capbang, sv_diemtrungbinhtoankhoa, xephangtotnghiep_tinchi, sv_datchungchi, chungchi |
masinhvien, hodem, ten, gioitinh, socmnd, ngayvaotruong, mahedaotao, makhoahoc, manganh, sohieubang, sovaoso, hangtotnghiep, diem, xeploai. |
| Bảng điểm toàn khóa |
chuongtrinhdaotaokhung, sinhvien, monhoc, sv_diemtrungbinhmonhoc |
masinhvien, mamonhoc, tenmonhoc, tongso (số tín chỉ), namhoc, hocky, lanthu, diem (thang 10, thang 4, điểm chữ). |
| Chứng chỉ sinh viên |
sv_datchungchi, chungchi |
masinhvien, machungchi, ten, ngayxet, dotxet, sohieu, ngaycap, xeploai. |
Quy trình nghiệp vụ của hệ thống được vận hành như sau:
- Tiếp nhận dữ liệu đầu vào: Hệ thống nhận dữ liệu truy vấn là Mã sinh viên hoặc Số Chứng minh nhân dân / Căn cước công dân.
- Xử lý nghiệp vụ: Cán bộ quản lý thuộc phòng Đào tạo thực hiện tìm kiếm hồ sơ học tập; hệ thống tự động tổng hợp thông tin cá nhân, điểm trung bình toàn khóa và danh sách chứng chỉ; cán bộ tạo mã QR Code xác thực và lưu văn bằng chứng chỉ vào sổ lưu điện tử; bổ sung minh chứng hình ảnh lên Cloudinary.
- Dữ liệu đầu ra: Hệ thống kết xuất giao diện tra cứu trực quan, xuất phụ lục văn bằng của sinh viên dưới dạng tệp tài liệu định dạng PDF và thống kê danh sách sổ lưu phụ lục văn bằng đã cấp theo mốc thời gian.
Nội dung chính theo từng chương
Chương 1: Tổng quan về kiến trúc Microservices
Chương 1 trình bày cơ sở lý thuyết về kiến trúc phần mềm hướng dịch vụ nhỏ (Microservices). Tác giả làm rõ khái niệm Microservices là việc chia nhỏ một hệ thống lớn thành các dịch vụ độc lập, mỗi dịch vụ đảm nhiệm một chức năng chuyên biệt, có thể vận hành trên máy chủ riêng và giao tiếp qua mạng bằng các giao thức như RESTful API hoặc gRPC. Chương này phân tích chi tiết các ưu điểm nổi bật: tính linh hoạt, khả năng mở rộng quy mô độc lập, tính độc lập trong phát triển và triển khai liên tục, khả năng tái sử dụng mã nguồn. Bên cạnh đó, tác giả chỉ ra các nhược điểm và thách thức kỹ thuật: độ phức tạp trong quản lý và triển khai phân tán, khó khăn trong duy trì tính nhất quán dữ liệu giữa các dịch vụ, sự phụ thuộc lan truyền giữa các API và độ trễ phát sinh trong giao tiếp mạng.
Chương 2: Tổng quan về DDD (Domain Driven Design)
Chương 2 giới thiệu phương pháp thiết kế phần mềm hướng miền nghiệp vụ (DDD). Tác giả giải thích DDD là tư duy đặt mô hình nghiệp vụ lõi của khách hàng (domain expert) làm trung tâm của kiến trúc phần mềm, giúp cả lập trình viên và người dùng không chuyên về kỹ thuật cùng hiểu rõ bài toán. Nội dung chương đi sâu vào định nghĩa các thành phần cốt lõi trong mô hình DDD:
- Entity: Đối tượng có định danh duy nhất và tồn tại độc lập xuyên suốt vòng đời hệ thống.
- Value Object: Đối tượng được xác định thuần túy bằng các thuộc tính giá trị, không có định danh riêng.
- Aggregate: Cụm liên kết giữa các Entity và Value Object, được điều khiển và bảo đảm tính toàn vẹn thông qua một Root Entity duy nhất.
- Repository: Thành phần giao tiếp trừu tượng cung cấp các thao tác đọc/ghi dữ liệu cho Aggregate mà không phụ thuộc vào chi tiết lưu trữ vật lý.
- Domain Event: Sự kiện nghiệp vụ phát sinh trong miền để thông báo hoặc kích hoạt các tiến trình liên quan.
- Bounded Context: Ngữ cảnh ranh giới phân chia phạm vi áp dụng các quy tắc kinh doanh và thuật ngữ cụ thể.
Chương 3: Phân tích cơ sở dữ liệu của Trường Đại học Quản lý và Công nghệ Hải Phòng
Chương 3 tập trung vào công tác khảo sát và phân tích kỹ thuật cơ sở dữ liệu quan hệ của hệ thống quản lý đào tạo Edu (EduMng) tại trường. Tác giả giải thích các khái niệm nền tảng về hệ quản trị cơ sở dữ liệu (DBMS), cấu trúc bảng, khóa chính (Primary Key), khóa ngoại (Foreign Key), và ba loại quan hệ dữ liệu (1-1, 1-n, n-n). Trên cơ sở hệ thống CSDL Edu gồm 464 bảng, tác giả xác định và bóc tách các bảng dữ liệu cần thiết phục vụ bài toán:
- Khai thác bảng
sinhvien, hedaotao, nganh, khoahoc, vb_capbang, sv_diemtrungbinhtoankhoa, xephangtotnghiep_tinchi để lấy hồ sơ cá nhân và kết quả xếp loại tốt nghiệp.
- Khai thác bảng
chuongtrinhdaotaokhung, monhoc, sv_diemtrungbinhmonhoc để tính toán và truy vấn bảng điểm toàn khóa.
- Khai thác bảng
sv_datchungchi và chungchi để truy xuất lịch sử cấp chứng chỉ.
Chương này cũng thể hiện cấu trúc các câu lệnh truy vấn SQL liên kết nhiều bảng và hiển thị kết quả truy xuất mẫu từ hệ thống.
Chương 4: Ứng dụng thực tế
Chương 4 mô tả toàn bộ quá trình hiện thực hóa phần mềm và triển khai các công nghệ hỗ trợ. Tác giả trình bày nguyên lý hoạt động của nền tảng Hasura GraphQL Engine, phương thức hoạt động của RESTful API (GET, POST, PUT, DELETE), cơ chế xác thực người dùng bằng dịch vụ Clerk kết hợp mã thông báo JWT, cùng giải pháp lưu trữ tệp tin truyền thông của Cloudinary. Tác giả mô tả chi tiết mô hình tích hợp hệ thống, luồng dữ liệu đầu vào/đầu ra, cùng hình ảnh giao diện thực tế của phần mềm bao gồm: giao diện tìm kiếm hồ sơ, giao diện kết quả tra cứu thông tin học tập, chức năng in phụ lục văn bằng kết xuất file PDF, giao diện nhập sổ lưu và thống kê sổ lưu phụ lục văn bằng, cùng các phân hệ bổ sung ảnh minh chứng văn bằng và chứng chỉ.
Kết quả và đóng góp
Đồ án đã đạt được các kết quả kỹ thuật và đóng góp thực tiễn sau:
- Kết quả thực hiện: Bóc tách thành công các mối liên kết dữ liệu quan trọng trong CSDL phần mềm Edu gồm 464 bảng của Trường Đại học Quản lý và Công nghệ Hải Phòng; xây dựng hoàn chỉnh ứng dụng website thử nghiệm cho phép tìm kiếm, hiển thị chính xác kết quả học tập, điểm toàn khóa, văn bằng và chứng chỉ thông qua mã sinh viên hoặc số CMND/CCCD; xuất phụ lục văn bằng sang định dạng PDF và tích hợp mã QR Code phục vụ tra cứu nhanh.
- Giải pháp công nghệ: Ứng dụng mô hình Hasura GraphQL Engine giúp tăng tốc độ thiết lập API truy vấn CSDL PostgreSQL; kết hợp Clerk và JWT để giải quyết bài toán xác thực, phân quyền tài khoản quản trị mà không làm tăng tải trạng thái lên máy chủ; tích hợp Cloudinary để lưu trữ trực tuyến ảnh minh chứng chứng chỉ và văn bằng gốc.
- Đóng góp thực tiễn: Cung cấp công cụ số hóa quy trình quản lý văn bằng chứng chỉ, đáp ứng đúng các quy định công khai thông tin theo Thông tư 21/2019/TT-BGDĐT, hỗ trợ nhà trường giảm tải thủ tục hành chính bằng giấy tờ và cung cấp kênh xác minh văn bằng tin cậy cho đơn vị tuyển dụng.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Hệ thống được phát triển dưới dạng phần mềm thử nghiệm với phạm vi ứng dụng giới hạn tại Trường Đại học Quản lý và Công nghệ Hải Phòng; kiến trúc backend và phân tách dịch vụ còn phụ thuộc nhiều vào nền tảng dịch vụ bên thứ ba (Hasura, Clerk, Cloudinary) và cấu trúc sẵn có của phần mềm quản lý đào tạo Edu.
- Hướng phát triển: Tiếp tục tối ưu hóa các microservice chuyên biệt, mở rộng khả năng đồng bộ dữ liệu hai chiều với toàn bộ các phân hệ đào tạo khác của nhà trường và tăng cường các cơ chế kiểm thử tải phân tán khi hệ thống có lượng truy cập đồng thời lớn.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và các kỹ sư xây dựng hệ thống thông tin giáo dục:
- Giá trị phương pháp luận: Cung cấp tài liệu tổng quan, rõ ràng về cách tiếp cận kiến trúc Microservices và phương pháp Domain-Driven Design (DDD) trong việc phân tích bài toán thực tế.
- Giá trị kỹ thuật thực hành: Cung cấp phương pháp phân tích, bóc tách cấu trúc cơ sở dữ liệu quan hệ phức tạp từ các hệ thống ERP giáo dục quy mô lớn (như phần mềm Edu), cùng kỹ thuật ứng dụng Hasura GraphQL Engine, Clerk Authentication và JWT trong các ứng dụng web hiện đại.
Câu hỏi thường gặp
1. Căn cứ pháp lý chính định hướng cho việc thực hiện đề tài này là gì?
Đề tài căn cứ trực tiếp vào Điều 26 của Thông tư 21/2019/TT-BGDĐT ban hành Quy chế quản lý văn bằng, chứng chỉ của hệ thống giáo dục quốc dân, quy định các cơ sở giáo dục phải xây dựng cơ sở dữ liệu và công bố công khai thông tin cấp văn bằng, chứng chỉ trên cổng thông tin điện tử.
2. Cơ sở dữ liệu nguồn của Trường Đại học Quản lý và Công nghệ Hải Phòng có quy mô như thế nào?
Dữ liệu đào tạo của trường được quản lý bởi phần mềm Edu (do Công ty TNHH Phần mềm Hoàng Hà phát triển), lưu trữ trong cơ sở dữ liệu có tên edu với quy mô gồm 464 bảng dữ liệu phục vụ nhiều phân hệ quản lý đào tạo khác nhau.
3. Hệ thống website thực hiện lấy thông tin văn bằng của sinh viên từ những bảng dữ liệu nào?
Thông tin văn bằng của sinh viên được truy vấn và kết hợp từ các bảng: sinhvien, hedaotao, nganh, khoahoc, vb_capbang, sv_diemtrungbinhtoankhoa và xephangtotnghiep_tinchi thông qua các khóa liên kết như masinhvien, mahedaotao, manganh, makhoahoc và xeploai.
4. Vai trò của Hasura và Clerk trong kiến trúc hệ thống là gì?
Hasura đóng vai trò nền tảng GraphQL Engine giúp rút ngắn quá trình thiết lập API truy cập dữ liệu PostgreSQL. Clerk là dịch vụ quản lý xác thực người dùng (đăng nhập, đăng xuất, đổi mật khẩu) và tạo mã thông báo JWT theo chuẩn của Hasura nhằm phân quyền tài khoản khi thao tác trên hệ thống.
5. Đầu ra của hệ thống phần mềm bao gồm những chức năng và định dạng dữ liệu nào?
Đầu ra của hệ thống bao gồm: thông tin tra cứu hiển thị trên giao diện web, tệp Phụ lục văn bằng được xuất ra dưới định dạng PDF, danh sách thống kê các phụ lục văn bằng đã cấp theo ngày tháng, và mã QR Code được nhúng để phục vụ tra cứu, xác minh thông tin.
Kết luận
Đồ án tốt nghiệp của sinh viên Vũ Hoài Nam đã phân tích thành công cơ sở dữ liệu quản lý đào tạo của Trường Đại học Quản lý và Công nghệ Hải Phòng và ứng dụng kiến trúc Microservices, DDD cùng các công nghệ web hiện đại (Hasura, GraphQL, Clerk, JWT, Cloudinary) để xây dựng website quản lý kết quả học tập và văn bằng chứng chỉ. Hệ thống đáp ứng đúng quy chuẩn công khai văn bằng theo Thông tư 21/2019/TT-BGDĐT, hỗ trợ hiệu quả cho công tác quản lý của phòng Đào tạo và tạo thuận lợi cho sinh viên, nhà tuyển dụng trong việc tra cứu, xác thực thông tin học vị.