Bối cảnh và vấn đề nghiên cứu
Trong môi trường giáo dục đại học, công tác quản lý ký túc xá đóng vai trò thiết yếu nhằm đảm bảo điều kiện lưu trú, sinh hoạt và học tập cho sinh viên. Tại Học viện Công nghệ Bưu chính Viễn thông (Cơ sở 2 - TP. Hồ Chí Minh), quy trình quản lý ký túc xá truyền thống thường đối mặt với nhiều thách thức về mặt xử lý dữ liệu thủ công, sai lệch thông tin phòng ở, quá trình thu nộp lệ phí kéo dài và thiếu tính đồng bộ giữa các bộ phận quản lý. Xuất phát từ yêu cầu thực tiễn đó, nhóm sinh viên lớp D20CQCNPM01-N thuộc Khoa Công nghệ Thông tin 2 đã thực hiện đề tài đồ án môn học Phân tích & Thiết kế Hệ thống Thông tin mang tên "Hệ Thống Quản Lý và Đăng Ký Ký Túc Xá Sinh Viên" (báo cáo ngày 20/01/2024).
Đề tài tập trung giải quyết bài toán tự động hóa và tin học hóa toàn diện quy trình vận hành ký túc xá thông qua các nhiệm vụ nghiên cứu cụ thể:
- Khảo sát hiện trạng, nhận diện tác nhân và thu thập, phân loại các yêu cầu chức năng cũng như phi chức năng của hệ thống ký túc xá.
- Thiết lập quy trình phân rã và xếp thứ tự ưu tiên cho các ca sử dụng (Use case) nghiệp vụ.
- Mô hình hóa hướng đối tượng toàn bộ hệ thống bằng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language), bao gồm các biểu đồ ca sử dụng, tuần tự, hoạt động, lớp, giao tiếp và trạng thái.
- Thiết kế kiến trúc kỹ thuật 3 tầng (Three-tier Architecture), lựa chọn công nghệ phù hợp và xây dựng mô hình cơ sở dữ liệu quan hệ đạt chuẩn 3NF.
- Xây dựng thiết kế giao diện người dùng mẫu cho các phân hệ chức năng trọng yếu.
Đối tượng nghiên cứu của đồ án là toàn bộ quy trình tiếp nhận đăng ký, xét duyệt phòng, quản lý sinh viên nội trú, quản lý cơ sở vật chất phòng ở, quản lý nhân sự vận hành và tính toán lập hóa đơn thu phí ký túc xá. Phạm vi nghiên cứu được giới hạn trong khuôn khổ mô hình quản lý ký túc xá sinh viên tại trường đại học, với dữ liệu và quy trình mô phỏng hoàn thành vào tháng 01/2024.
Cơ sở lý thuyết và phương pháp
Đồ án vận dụng hệ thống lý thuyết chuẩn mực trong công nghệ phần mềm và hệ thống thông tin để giải quyết bài toán:
- Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language): Sử dụng làm công cụ tiêu chuẩn để trực quan hóa, đặc tả, xây dựng và lập tài liệu cho các thành phần của hệ thống phần mềm hướng đối tượng. Các loại biểu đồ được áp dụng bao gồm: biểu đồ Use case, biểu đồ tuần tự (Sequence Diagram), biểu đồ hoạt động (Activity Diagram), biểu đồ lớp (Class Diagram), biểu đồ giao tiếp (Communication Diagram), biểu đồ trạng thái (State Machine Diagram) và biểu đồ triển khai mạng (Deployment Diagram).
- Mô hình kiến trúc 3 tầng (Three-tier Architecture): Phân rã cấu trúc phần mềm thành ba lớp độc lập: Tầng giao diện người dùng (User Interface/Presentation Tier), Tầng logic ứng dụng/nghiệp vụ (Application Server/Business Rule Tier) và Tầng dữ liệu (Database Server/Data Storage Tier).
- Lý thuyết chuẩn hóa dữ liệu quan hệ: Áp dụng phương pháp phân tích thực thể - quan hệ (ERD) và chuẩn hóa lược đồ dữ liệu đạt dạng chuẩn 3 (3NF - Third Normal Form) nhằm loại bỏ dư thừa dữ liệu và triệt tiêu các dị thường khi thêm, xóa, sửa.
Phương pháp nghiên cứu thực nghiệm được triển khai thông qua:
- Phương pháp phân tích và thiết kế hướng đối tượng (OOAD).
- Kỹ thuật phân loại mức độ ưu tiên theo mô hình đèn giao thông (Màu xanh: bắt buộc cài đặt trong giai đoạn hiện tại; Màu vàng: phát triển sau khi hoàn thành màu xanh; Màu đỏ: chưa xem xét trong giai đoạn hiện tại).
- Phương pháp phân tích đánh giá ưu - nhược điểm kỹ thuật (Trade-off Analysis) đối với các công cụ, ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu.
Nguồn dữ liệu của đề tài dựa trên quy định lưu trú, biểu phí ký túc xá đại học (với mức đơn giá định mức 200.000 VNĐ/tháng, 1 học kỳ gồm 5 tháng tương đương 1.000.000 VNĐ/học kỳ) và danh sách sinh viên mô phỏng tại cơ sở đào tạo.
Nội dung chính theo từng chương
Phần I: Xác định yêu cầu hệ thống
Chương này tập trung vào việc mô hình hóa dòng công việc (workflow), nhận dạng tác nhân và đặc tả chi tiết các yêu cầu chức năng. Hệ thống xác định 5 tác nhân chính cùng quyền hạn tương ứng:
- Sinh viên: Đăng nhập hệ thống qua tài khoản được cấp khi nhập học; đăng ký phòng KTX còn chỗ trống; gia hạn phòng theo kỳ (1 hoặc 2 kỳ); thanh toán lệ phí (hỗ trợ định hướng qua tài khoản ngân hàng, VNPay, MoMo); thanh toán dịch vụ hàng tháng; gửi yêu cầu bảo trì phòng và khiếu nại.
- Nhân viên kế toán: Lập hóa đơn đóng phí, thống kê doanh thu, thống kê phiếu bảo trì và tiền phạt.
- Nhân viên quản lý: Cập nhật, thêm, sửa, xóa thông tin sinh viên và thông tin phòng ở ký túc xá.
- Phòng nhân sự: Cập nhật, thêm, sửa, xóa hồ sơ nhân viên và tra cứu lịch sử làm việc của nhân viên.
- Hệ thống đăng ký KTX: Cung cấp giao diện tương tác và gửi thông báo qua hộp thư người dùng.
Nhóm tác giả đã chuẩn hóa danh mục 9 ca sử dụng cốt lõi (U1 - U9) và phân loại độ ưu tiên:
| Mã Use case |
Tên ca sử dụng |
Tác nhân chính thực hiện |
Mức độ ưu tiên |
| U1 |
Đăng nhập |
Tất cả người dùng |
Xanh (Bắt buộc) |
| U2 |
Quản lý nhân viên |
Phòng nhân sự |
Xanh (Bắt buộc) |
| U3 |
Quản lý sinh viên |
Quản lý |
Xanh (Bắt buộc) |
| U4 |
Quản lý phòng |
Quản lý |
Xanh (Bắt buộc) |
| U5 |
Lập hóa đơn đóng phí |
Kế toán |
Xanh (Bắt buộc) |
| U6 |
Thống kê doanh thu |
Kế toán |
Vàng (Thứ cấp) |
| U7 |
Đăng ký KTX |
Sinh viên |
Xanh (Bắt buộc) |
| U8 |
Gia hạn KTX |
Sinh viên |
Vàng (Thứ cấp) |
| U9 |
Thanh toán tiền phòng |
Sinh viên |
Xanh (Bắt buộc) |
Phần này cũng xây dựng chi tiết 12 bảng kịch bản use case (User login, Thêm/Sửa/Xóa nhân viên, Thêm/Sửa/Xóa sinh viên, Thêm/Sửa/Xóa phòng, Lập hóa đơn, Đăng ký KTX); 12 biểu đồ tuần tự; và 5 biểu đồ hoạt động kiểm tra ràng buộc (ràng buộc xóa nhân viên dựa trên lịch sử lập hóa đơn/tạo phòng; ràng buộc xóa sinh viên và phòng dựa trên số lượng đơn hàng tồn tại).
Phần II: Phân tích hệ thống
Phần phân tích hệ thống tập trung vào việc định danh các lớp đối tượng, xác lập mối liên kết tĩnh và động:
- Hệ thống các lớp thực thể:
User, SinhVien, NhanVien, PhongNhanSu, QuanLy, KeToan, Phong, HocKy, DonHang, HoaDon, cùng các lớp phụ trợ cấu trúc như HoTen, DiaChi, ChucVu.
- Quan hệ cấu trúc giữa các lớp:
- Quan hệ kế thừa (Inheritance):
SinhVien và NhanVien kế thừa toàn bộ thuộc tính và phương thức từ lớp cha User.
- Quan hệ hợp thành (Composition): Lớp
User sở hữu thành phần HoTen và DiaChi.
- Quan hệ cộng hợp (Aggregation):
PhongNhanSu tập hợp NhanVien; QuanLy quản lý SinhVien và Phong; KeToan xử lý HoaDon; Phong liên kết DonHang; ChucVu gán cho NhanVien.
- Quan hệ nhiều - nhiều (Multiplicity n-n): Mối quan hệ giữa
SinhVien và HocKy sản sinh ra lớp liên kết DonHang.
- Mô hình động: Xây dựng 12 biểu đồ giao tiếp (Communication Diagrams) làm rõ chuỗi thông điệp truyền nhận giữa giao diện (UI), bộ điều khiển (Controller/Processing) và các thực thể dữ liệu. Đồng thời, biểu đồ trạng thái được thiết lập cho 3 thực thể chính:
User (Khởi tạo $\rightarrow$ Hoạt động $\rightarrow$ Khóa), DonHang và HoaDon (Khởi tạo $\rightarrow$ Chưa thanh toán $\rightarrow$ Đã thanh toán / Đã xác nhận / Đã hủy).
Phần III & IV: Thiết kế hệ thống
Nội dung thiết kế chuyển dịch từ mô hình phân tích sang kiến trúc kỹ thuật triển khai cụ thể:
- Thiết kế kiến trúc 3 tầng với mô hình biểu diễn hình trạng mạng UML gồm các nút thiết bị:
GUIWeb (Máy trạm giao diện người dùng), ApplicationServerKTX (Máy chủ xử lý logic nghiệp vụ qua REST API), và DBServer (Máy chủ cơ sở dữ liệu).
- Đánh giá chi tiết ưu điểm và nhược điểm của các công nghệ được lựa chọn gồm: Microsoft SQL Server Management Studio 19 (SSMS 19), ReactJS và Java.
- Xây dựng mô hình thực thể liên kết ERD và chuyển đổi thành lược đồ quan hệ đạt chuẩn 3NF.
- Thiết kế chi tiết các màn hình giao diện chính của hệ thống.
Thiết kế và triển khai
1. Kiến trúc hệ thống và biểu diễn mạng UML
Hệ thống được thiết kế hoàn toàn theo mô hình kiến trúc 3 tầng:
- Tầng giao diện người dùng (User Interface / Client): Chịu trách nhiệm hiển thị dữ liệu và tiếp nhận tương tác từ người dùng, không can thiệp vào logic tính toán phức tạp hay truy cập trực tiếp cơ sở dữ liệu.
- Tầng logic ứng dụng (Application Server / Business Rule): Tiếp nhận yêu cầu từ client thông qua hệ thống REST API, thực thi kiểm tra các ràng buộc nghiệp vụ, xử lý đa luồng và điều phối dữ liệu.
- Tầng cơ sở dữ liệu (Database Server / Data Storage): Đảm nhiệm lưu trữ dữ liệu an toàn, quản lý các kết nối đồng thời và thực thi các thao tác đọc/ghi dữ liệu.
Mô hình triển khai mạng bằng UML (Deployment Diagram) xác định sự phân bố giữa các nút thiết bị vật lý: máy trạm GUIWeb kết nối qua đường truyền mạng tới máy chủ ứng dụng ApplicationServerKTX, sau đó giao tiếp nội bộ tới máy chủ lưu trữ DBServer.
2. Công nghệ ứng dụng và cơ sở dữ liệu
Đồ án tiến hành đánh giá chi tiết ba công nghệ cốt lõi cấu thành hệ thống:
| Công nghệ / Công cụ |
Thành phần phụ trách |
Ưu điểm chính theo văn bản |
Nhược điểm được nhận diện |
| SQL Server Management Studio 19 |
Quản trị Cơ sở dữ liệu |
Cung cấp công cụ tối ưu hóa truy vấn mạnh mẽ; giao diện đồ họa thân thiện; hỗ trợ quản trị phiên bản (VCS); tích hợp sẵn SQL Server Profiler, Database Engine Tuning Advisor. |
Chiếm dụng dung lượng đĩa lớn; tiêu tốn tài nguyên hệ thống khi dữ liệu lớn; giới hạn hỗ trợ với các DBMS khác (MySQL, PostgreSQL). |
| ReactJS |
Tầng giao diện người dùng (Front-end SPA) |
Cơ chế Virtual DOM tối ưu hiệu năng render; cấu trúc Component tái sử dụng cao; luồng dữ liệu 1 chiều (One-way Data Binding) dễ kiểm soát; hỗ trợ cú pháp JSX trực quan; hệ sinh thái phong phú. |
Ngưỡng học ban đầu cao do JSX và quản lý State; không cung cấp sẵn trọn bộ công cụ (routing, global state) như Angular, đòi hỏi tích hợp thêm thư viện ngoài. |
| Java |
Tầng dịch vụ & logic nghiệp vụ (Back-end) |
Chạy đa nền tảng nhờ máy ảo Java (JVM - "Write Once, Run Anywhere"); thuần hướng đối tượng (OOP); tính bảo mật cao; cơ chế dọn rác tự động (Garbage Collection); độ tin cậy và kiểm soát kiểu nghiêm ngặt. |
Tốn nhiều tài nguyên bộ nhớ hệ thống do JVM; thời gian khởi động ban đầu có thể chậm hơn; cú pháp dài dòng hơn một số ngôn ngữ hiện đại. |
3. Thiết kế Cơ sở dữ liệu chuẩn hóa 3NF
Mô hình dữ liệu quan hệ được nhóm tác giả chuẩn hóa đạt dạng chuẩn 3 (3NF), bao gồm 8 thực thể và bảng quan hệ liên kết:
Role (maRole, tenRole)
admin (IDAdmin, taikhoan, matkhau, fullName, ngaySinh)
RoleOfAdmin (maRole, IDAdmin)
user (IDUser, taikhoan, matkhau, fullName, ngaySinh, maPhong, Admin)
Phong (maPhong, tenPhong, soluongGiuong, gia, trangThai, Admin)
DichVu (maDV, tenDV, giaDV)
DangkiDichVu (IDUser, maDV, thoiGianDangKy, maHD)
HoaDon (maHD, tenHD, trangThaiThanhToan, maPhong, IDUser, IDAdmin)
(Ghi chú: In đậm thể hiện khóa chính; in nghiêng thể hiện khóa ngoại tham chiếu giữa các bảng).
4. Thiết kế giao diện người dùng (UI)
Đồ án hoàn thiện bản vẽ thiết kế khung giao diện cho 6 màn hình chức năng cơ bản:
- Giao diện Đăng nhập: Cho phép nhập tài khoản, mật khẩu và xác thực phân quyền người dùng.
- Giao diện Lấy lại mật khẩu: Hỗ trợ quy trình khôi phục tài khoản người dùng khi xảy ra sự cố quên mật khẩu.
- Giao diện Đăng ký phòng: Hiển thị danh sách các phòng còn giường trống để sinh viên chọn và tạo đơn đăng ký.
- Giao diện Thông tin hóa đơn: Chi tiết các khoản lệ phí phòng KTX cần thanh toán của sinh viên.
- Giao diện Danh sách sinh viên: Bảng tổng hợp hiển thị đầy đủ các trường dữ liệu: Mã sinh viên, Họ tên, Ngày sinh, Giới tính, Quê quán, Số điện thoại cùng các nút thao tác chức năng Cập nhật và Xóa.
- Form Cập nhật sinh viên: Hộp thoại cho phép chỉnh sửa thông tin chi tiết của sinh viên (Mã số sinh viên, Họ và tên đệm, Tên, Ngày sinh, Giới tính).
Kết quả và đóng góp
Đồ án đã hoàn thành toàn bộ khối lượng nghiên cứu theo đề cương môn học Phân tích & Thiết kế Hệ thống Thông tin với các kết quả cụ thể:
- Xây dựng hệ thống tài liệu phân tích nghiệp vụ hoàn chỉnh: Đặc tả chi tiết 9 ca sử dụng cốt lõi, 12 kịch bản use case với đầy đủ tiền điều kiện, hậu điều kiện, chuỗi sự kiện chính và ngoại lệ.
- Hệ thống hóa mô hình trực quan với UML: Thiết lập thành công 12 biểu đồ tuần tự, 5 biểu đồ hoạt động, 12 biểu đồ giao tiếp, 3 biểu đồ trạng thái và 1 biểu đồ triển khai mạng, phản ánh đầy đủ mọi khía cạnh tĩnh và động của hệ thống.
- Thiết kế cấu trúc dữ liệu chặt chẽ: Hoàn thiện biểu đồ lớp chi tiết kèm đầy đủ thuộc tính, phương thức và xây dựng lược đồ cơ sở dữ liệu 8 bảng đạt dạng chuẩn 3 (3NF), ngăn ngừa triệt để tình trạng trùng lặp hay xung đột dữ liệu.
- Định lượng công thức tính toán tài chính: Tự động hóa công thức tính tổng tiền phòng dựa trên đơn vị học kỳ (
tongTienPhong = 200.000 VNĐ/tháng * 5 tháng = 1.000.000 VNĐ).
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Đồ án mới dừng lại ở mức độ phân tích, thiết kế hệ thống và mô hình hóa giao diện mẫu; các chức năng thuộc nhóm ưu tiên màu vàng như U6 (Thống kê doanh thu) và U8 (Gia hạn KTX) chưa được đặc tả chi tiết ở cấp độ kịch bản và biểu đồ giao tiếp; hệ thống chưa triển khai mã nguồn thực tế và chưa kiểm thử tải (stress test) trên môi trường phân tán.
- Hướng phát triển: Tiến hành lập trình hoàn thiện hệ thống trên nền tảng ReactJS và Java; tích hợp API cổng thanh toán trực tuyến thực tế (VNPay, MoMo); mở rộng phân hệ gửi yêu cầu bảo trì cơ sở vật chất và xử lý khiếu nại của sinh viên theo đúng yêu cầu tác nhân ban đầu.
Giá trị tham khảo
Báo cáo đồ án là tài liệu tham khảo giá trị đối với sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin. Tài liệu đặc biệt hữu ích cho:
- Sinh viên đang thực hiện đồ án môn học Phân tích & Thiết kế Hệ thống Thông tin, môn Công nghệ Phần mềm hoặc Khóa luận tốt nghiệp chuyên ngành phần mềm quản lý.
- Những người nghiên cứu cần mẫu tham khảo chuẩn mực về việc xây dựng trọn bộ biểu đồ UML (Use case, Sequence, Activity, Class, Communication, State, Deployment).
- Các nhóm phát triển phần mềm đang tìm kiếm mô hình phân tích nghiệp vụ ký túc xá sinh viên và phương pháp chuẩn hóa cơ sở dữ liệu quan hệ lên dạng chuẩn 3NF.
Câu hỏi thường gặp
1. Hệ thống nhận diện những tác nhân (Actors) nào và phân chia quyền hạn ra sao?
Hệ thống xác định 5 tác nhân: Sinh viên (đăng ký, gia hạn, nộp tiền phòng, gửi yêu cầu bảo trì/khiếu nại); Nhân viên quản lý (thêm, xóa, sửa thông tin sinh viên và phòng); Nhân viên kế toán (lập hóa đơn, thống kê doanh thu/bảo trì/tiền phạt); Phòng nhân sự (quản lý hồ sơ và lịch sử nhân viên); và Hệ thống KTX (xử lý giao diện và gửi thông báo).
2. Kỹ thuật phân loại ưu tiên ca sử dụng theo mô hình đèn giao thông được áp dụng như thế nào?
Nhóm tác giả chia các ca sử dụng thành 3 mức: Mức Xanh (bắt buộc cài đặt ngay) gồm U1 (Đăng nhập), U2 (Quản lý nhân viên), U3 (Quản lý sinh viên), U4 (Quản lý phòng), U5 (Lập hóa đơn), U7 (Đăng ký KTX), U9 (Thanh toán tiền phòng); Mức Vàng (cài đặt sau khi xong mức xanh) gồm U6 (Thống kê doanh thu), U8 (Gia hạn KTX); Mức Đỏ (không cài đặt trong giai đoạn hiện tại).
3. Ràng buộc nghiệp vụ khi thực hiện xóa phòng hoặc xóa nhân viên là gì?
Hệ thống quy định: Quản lý chỉ được phép xóa phòng khi số đơn hàng gắn với phòng đó bằng 0 (chưa từng có sinh viên ở); Phòng nhân sự không thể xóa nhân viên nếu nhân viên đó đã có lịch sử tạo phòng hoặc tạo hóa đơn trong hệ thống.
4. Kiến trúc phần mềm và cơ sở dữ liệu của hệ thống được thiết kế theo tiêu chuẩn nào?
Hệ thống được thiết kế theo Kiến trúc 3 tầng (Three-tier Architecture) gồm GUIWeb, ApplicationServerKTX và DBServer; cơ sở dữ liệu được quản lý bằng SQL Server Management Studio 19 với mô hình dữ liệu quan hệ được chuẩn hóa đạt dạng chuẩn 3 (3NF) gồm 8 bảng thực thể.
Kết luận
Đồ án "Hệ Thống Quản Lý và Đăng Ký Ký Túc Xá Sinh Viên" của nhóm sinh viên Học viện Công nghệ Bưu chính Viễn thông đã giải quyết trọn vẹn bài toán mô hình hóa và thiết kế hệ thống thông tin phục vụ quản lý ký túc xá đại học. Thông qua việc vận dụng bài bản ngôn ngữ UML, kiến trúc 3 tầng và chuẩn hóa CSDL 3NF, đồ án cung cấp một bản thiết kế kỹ thuật chi tiết, có tính khả thi cao. Đây là tài liệu mẫu mực phục vụ học tập, nghiên cứu và định hướng triển khai ứng dụng phần mềm quản lý trong thực tiễn.