Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp của tác giả Hiên Công (chuyên ngành Công nghệ thông tin, Khoa Toán – Tin, Trường Đại học Quảng Nam) tập trung giải quyết bài toán quản lý ký túc xá trong bối cảnh số lượng sinh viên trúng tuyển và có nguyện vọng lưu trú tại trường tăng cao hàng năm.

Theo khảo sát thực tế của tác giả, Ban Quản lý Ký túc xá (KTX) Trường Đại học Quảng Nam phải trực tiếp tiếp nhận, theo dõi khối lượng lớn hồ sơ của nhiều đối tượng sinh viên khác nhau, đi kèm hàng loạt nghiệp vụ phát sinh thường xuyên như phân bổ phòng ở, xử lý yêu cầu chuyển phòng, quản lý các dịch vụ lưu trú, tính toán tiền phòng, tiền điện nước và lập báo cáo doanh thu, tình hình hoạt động. Phương thức quản lý, lưu trữ dữ liệu và xử lý nghiệp vụ trước đây chủ yếu thực hiện thủ công, dẫn đến tình trạng tốn nhiều thời gian, công sức, nhân lực nhưng hiệu quả khai thác và hỗ trợ sinh viên chưa cao. Do đó, việc xây dựng một hệ thống website quản lý KTX là yêu cầu cấp thiết nhằm tin học hóa quy trình, cung cấp kênh tiếp cận dịch vụ trực tuyến nhanh chóng cho sinh viên và hỗ trợ nhà trường quản lý toàn diện, thống nhất.

Mục tiêu nghiên cứu của đề tài được xác định cụ thể gồm 4 nhiệm vụ:

  1. Tìm hiểu về ngôn ngữ lập trình Java, công nghệ JSP/Servlet.
  2. Tìm hiểu về hệ quản trị cơ sở dữ liệu MySQL và máy chủ ứng dụng Apache Tomcat trong môi trường Java.
  3. Phân tích và thiết kế hệ thống theo phương pháp hướng đối tượng.
  4. Xây dựng Website quản lý KTX Trường Đại học Quảng Nam theo kiến trúc MVC.

Đối tượng và phạm vi nghiên cứu của khóa luận được phân định rõ:

  • Đối tượng nghiên cứu: Thực trạng và kinh nghiệm thực tế trong công tác quản lý KTX Trường Đại học Quảng Nam; mối quan hệ giữa hệ thống quản lý với hoạt động học tập, đăng ký nội trú của sinh viên nhà trường.
  • Phạm vi nghiên cứu: Tập trung xây dựng hệ thống website phục vụ công tác quản lý KTX của Trường Đại học Quảng Nam.

Cơ sở lý thuyết và phương pháp

Khóa luận sử dụng khung lý thuyết kỹ thuật phần mềm và công nghệ web hướng đối tượng để giải quyết bài toán quản lý, bao gồm:

  • Nền tảng lập trình Java: Ngôn ngữ lập trình hướng đối tượng với 4 đặc tính cơ bản (tính trừu tượng, tính đa hình, tính kế thừa, tính đóng gói), nguyên lý độc lập nền tảng thông qua mã bytecode và máy ảo Java (JVM), tính năng xử lý đa luồng và cơ chế thu gom rác tự động (garbage collection).
  • Công nghệ Java Web: JSP (JavaServer Pages) tạo nội dung web động thông qua chu kỳ sống chuyên biệt; Java Servlet đóng vai trò API nhận request, thực thi logic nghiệp vụ và truy xuất cơ sở dữ liệu.
  • Hệ thống cơ sở dữ liệu và máy chủ: Hệ quản trị cơ sở dữ liệu quan hệ MySQL hoạt động theo mô hình Client - Server; bộ công cụ XAMPP (tích hợp Apache, MariaDB/MySQL, PHP, Perl) tạo môi trường máy chủ giả định cục bộ; web server Apache Tomcat chuyên dụng hỗ trợ triển khai Java Servlet và JSP.
  • Công nghệ giao diện Front-end: Ngôn ngữ đánh dấu siêu văn bản HTML định hình cấu trúc; CSS định dạng phong cách giao diện; ngôn ngữ kịch bản JavaScript tăng tính tương tác; framework Bootstrap hỗ trợ thiết kế đáp ứng (responsive) trên nhiều thiết bị và trình duyệt.
  • Mô hình kiến trúc MVC: Phân chia mã nguồn thành ba thành phần độc lập: Model (quản lý cấu trúc dữ liệu và thao tác CSDL), View (hiển thị giao diện và thu nhận phản hồi người dùng), Controller (tiếp nhận yêu cầu từ View, điều phối xử lý và kết nối Model để trích xuất dữ liệu).

Phương pháp nghiên cứu được tác giả áp dụng bao gồm:

  • Phương pháp lý luận: Nghiên cứu kỹ thuật lập trình, nguyên lý hoạt động và các đối tượng trong mô hình MVC thông qua tài liệu học thuật và tài liệu kỹ thuật trên Internet.
  • Phương pháp thực tiễn: Thiết kế và lập trình hoàn thiện website quản lý KTX Trường Đại học Quảng Nam; thực nghiệm dưới sự hỗ trợ chuyên môn từ ThS. Nguyễn Thị Minh Châu và cán bộ Công ty TNHH Phần mềm FPT Miền Trung.
  • Phương pháp bổ trợ: Phân tích, tổng hợp, thống kê nghiệp vụ và mô hình hóa hệ thống bằng các phần mềm WhiteStarUML, Rational Rose.

Nguồn dữ liệu của đề tài bắt nguồn từ quy trình khảo sát thực tế tại Ban Quản lý KTX Trường Đại học Quảng Nam về luồng xử lý hồ sơ sinh viên, biểu mẫu đăng ký, danh mục dịch vụ và định mức thu phí điện nước.

Thiết kế và triển khai hệ thống

Hệ thống Website quản lý KTX Trường Đại học Quảng Nam được xây dựng theo kiến trúc Client - Server và mô hình MVC (Model – View – Controller), kết nối cơ sở dữ liệu qua Java Database Connectivity (JDBC).

1. Phân quyền và tác nhân hệ thống (Actors)

Hệ thống phân định quyền hạn và trách nhiệm của 4 nhóm tác nhân:

Tác nhân (Actor) Phạm vi chức năng trên hệ thống
Khách vãng lai Xem danh sách phòng (lọc theo khu, loại phòng), xem thông tin chi tiết phòng, tìm kiếm phòng, đăng ký tài khoản thành viên, xem bản tin/sự kiện KTX, gửi thông tin liên hệ.
Sinh viên (Thành viên) Kế thừa toàn bộ quyền của khách vãng lai; đăng nhập hệ thống, nộp đơn đăng ký phòng ở, gửi yêu cầu chuyển phòng, tra cứu tiền phòng, tra cứu tiền điện nước, đăng ký và thanh toán các dịch vụ KTX.
Nhân viên quản lý Kế thừa các quyền của sinh viên; quản lý thông tin sinh viên, danh mục khu, danh mục phòng, danh mục dịch vụ; duyệt đơn đăng ký phòng ở; duyệt yêu cầu chuyển phòng; lập phiếu tính tiền điện nước; kết xuất thống kê, báo cáo hoạt động.
Quản trị viên (Admin) Toàn quyền kiểm soát hệ thống, quản lý tài khoản và phân quyền cho nhân viên quản lý.

2. Thiết kế cơ sở dữ liệu quan hệ

Cơ sở dữ liệu của hệ thống được tổ chức thành 16 bảng dữ liệu quan hệ trong MySQL:

STT Tên bảng Tên gọi nghiệp vụ Khóa chính (PK) Khóa ngoại (FK) / Mô tả liên kết
1 taikhoan Tài khoản người dùng username Lưu trữ mật khẩu, phân cấp quyền (level) và trạng thái hoạt động (status).
2 doituongut Đối tượng ưu tiên madoituong (AI) Quản lý tên các đối tượng ưu tiên xét duyệt phòng ở.
3 quoctich Quốc tịch maquoctich (AI) Quản lý quốc tịch của sinh viên và phân loại khu KTX.
4 sinhvien Thông tin sinh viên madinhdanh Liên kết đến quoctich, taikhoan, doituongut. Lưu họ tên, ngày sinh, giới tính, email, số điện thoại, địa chỉ.
5 nhanvien Nhân viên quản lý manv Liên kết đến taikhoan. Lưu họ tên, giới tính, email, số điện thoại.
6 loaiphong Loại phòng ở malp (AI) Tên loại phòng, đơn giá thuê, mô tả đặc điểm phòng, hình ảnh thumbnail.
7 khu Khu ký túc xá makhu (AI) Liên kết đến quoctich. Lưu tên khu KTX, vị trí khu.
8 phong Danh mục phòng idphong (AI) Liên kết đến loaiphong, khu. Quản lý sức chứa, số lượng hiện tại, giới tính chỉ định (phai), trạng thái.
9 loaibv Loại bài viết maloai (AI) Phân loại tin tức, bài viết trên bảng tin.
10 baiviet Bài viết - Tin tức mabv (AI) Liên kết đến loaibv, nhanvien (createdby, modifiedby). Lưu tiêu đề, tóm tắt, nội dung chi tiết.
11 hocky Học kỳ mahocky (AI) Quản lý tên học kỳ, ngày bắt đầu và ngày kết thúc.
12 dichvu Danh mục dịch vụ madichvu (AI) Tên dịch vụ KTX, giá dịch vụ, hình ảnh, tình trạng cung cấp.
13 dangkyphong Phiếu đăng ký phòng madangky Liên kết đến sinhvien, phong. Lưu ngày hẹn check-in, ngày check-in/out, tổng tiền, số tiền đã thanh toán.
14 dangkychuyenphong Đơn chuyển phòng machuyenphong Liên kết đến dangkyphong. Lưu mã phòng mới, ngày gửi đơn, số lần chuyển, trạng thái phê duyệt (confirm).
15 dangkydv Đăng ký dịch vụ madk Liên kết đến sinhvien, dichvu. Lưu ngày đăng ký, hạn dùng (exprdate), số tiền, tình trạng thanh toán.
16 phieudiennuoc Phiếu thu điện nước id Liên kết đến phong, nhanvien (người lập). Lưu chỉ số đầu/cuối, thành tiền điện, tiền nước, tổng thanh toán, hạn trả.

3. Thiết kế mô hình động và quy trình xử lý

Các quy tắc xử lý nghiệp vụ được tác giả chuẩn hóa thông qua 6 mô hình quy tắc (từ R1 đến R6) và hệ thống biểu đồ UML:

  • Đăng nhập (R1) & Đăng ký tài khoản (R2): Kiểm tra tính hợp lệ của tài khoản trong CSDL; tự động gửi email xác nhận và yêu cầu kích hoạt đối với tài khoản mới đăng ký.
  • Đăng ký phòng ở (R3): Hệ thống kiểm tra tình trạng đăng nhập, sau đó rà soát các điều kiện ràng buộc nghiệp vụ (tình trạng phòng còn chỗ trống, sự tương thích về giới tính và quốc tịch của sinh viên với khu phòng). Khi đủ điều kiện, hệ thống chuyển sang trang xác nhận và ghi nhận hồ sơ.
  • Duyệt đơn đăng ký phòng (R4): Cung cấp giao diện cho Ban Quản lý xét duyệt các đơn đăng ký đang chờ; hệ thống tự động cập nhật số lượng sinh viên trong phòng và gửi email thông báo kết quả xét duyệt đến sinh viên.
  • Yêu cầu chuyển phòng: Kiểm tra lịch sử đăng ký của sinh viên, tự động đề xuất danh sách phòng chuyển đến có mức giá tương đương hoặc cao hơn phòng hiện tại trước khi chuyển đến Ban Quản lý duyệt.
  • Tra cứu điện nước (R5) và tra cứu tiền phòng: Cho phép người dùng nhập tên phòng, khu hoặc mã định danh sinh viên để truy vấn và hiển thị kết quả tính toán chi phí lưu trú trực tiếp từ CSDL.
  • Biểu đồ trạng thái và hoạt động: Hệ thống mô hình hóa vòng đời trạng thái của phòng ở (từ phòng trống cập nhật số lượng hiện tại cho đến khi đầy phòng: SLHientai == SucChua), vòng đời phiếu đăng ký phòng, phiếu dịch vụ và các luồng hoạt động quản lý phòng, bài viết của quản trị viên.

4. Triển khai ứng dụng và giao diện

Hệ thống được lập trình hoàn chỉnh với các mô-đun giao diện cụ thể:

  • Phân hệ người dùng: Giao diện trang chủ tích hợp thanh điều hướng; chuyên mục tin tức - sự kiện; trang danh sách phòng hiển thị trực quan thông tin đơn giá, sức chứa, số lượng hiện tại; form đăng ký thành viên; form đăng nhập; trang thông báo ghi nhận đăng ký phòng; trang tra cứu kết quả tiền phòng và chi phí điện nước.
  • Phân hệ quản trị (Admin/Ban Quản lý): Giao diện đăng nhập quản trị; trang tổng quan Dashboard; mô-đun quản trị danh sách sinh viên nội trú; mô-đun quản lý khu KTX và cập nhật thông tin phòng; mô-đun thống kê số lượng sinh viên theo từng phòng, từng khu phục vụ công tác lập báo cáo.

Nội dung chính theo từng chương

Khóa luận được cấu trúc thành 3 chương chính, phản ánh đầy đủ quy trình nghiên cứu, phân tích và triển khai ứng dụng phần mềm:

Chương 1: Cơ sở lý thuyết

Chương 1 hệ thống hóa toàn bộ kiến thức lý thuyết về ngôn ngữ Java, hệ quản trị MySQL, máy chủ Apache Tomcat, gói phần mềm XAMPP, các công nghệ web client (HTML, CSS, JavaScript, Bootstrap), công nghệ JSP/Servlet và mô hình kiến trúc MVC. Đồng thời, chương này trình bày kết quả khảo sát bài toán thực tế tại KTX Trường Đại học Quảng Nam, xác lập các yêu cầu chức năng, yêu cầu phi chức năng, đặc tính của 4 nhóm người dùng và định nghĩa chi tiết 6 quy tắc xử lý nghiệp vụ (từ R1 đến R6).

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 là trọng tâm kỹ thuật của khóa luận, thực hiện phân tích chức năng thông qua danh sách tác nhân và sơ đồ Use Case tổng quát; xây dựng 7 bảng đặc tả use case chi tiết (Đăng nhập, Đăng ký tài khoản, Tra cứu tiền phòng, Tra cứu tiền điện nước, Đăng ký phòng, Duyệt đăng ký phòng, Yêu cầu chuyển phòng). Tác giả thiết kế sơ đồ lớp (Class Diagram) định nghĩa rõ thuộc tính, phương thức cho 16 thực thể; xây dựng hệ thống sơ đồ tuần tự (Sequence Diagram), sơ đồ cộng tác (Collaboration Diagram), sơ đồ trạng thái (State Diagram) và sơ đồ hoạt động (Activity Diagram). Phần thiết kế dữ liệu đặc tả chi tiết cấu trúc trường, kiểu dữ liệu, độ rộng, ràng buộc khóa chính và khóa ngoại của 16 bảng trong CSDL MySQL.

Chương 3: Triển khai hệ thống

Chương 3 trình bày các bước cài đặt cơ sở dữ liệu trên MySQL, hiện thực hóa hàm kết nối giao tiếp giữa ngôn ngữ Java và CSDL qua JDBC driver. Chương này minh họa chi tiết kết quả xây dựng hệ thống giao diện thực tế, bao gồm nhóm giao diện phía người dùng (trang chủ, bản tin, danh sách phòng, đăng ký, đăng nhập, tra cứu) và nhóm giao diện phía quản trị viên (đăng nhập quản trị, quản lý hồ sơ sinh viên, quản trị danh mục khu/phòng, thông báo cập nhật và thống kê số liệu sinh viên).

Kết quả và đóng góp

Khóa luận đạt được các kết quả kỹ thuật và đóng góp ứng dụng cụ thể:

  • Kết quả xây dựng hệ thống: Xây dựng thành công hệ thống website quản lý KTX Trường Đại học Quảng Nam dựa trên nền tảng Java JSP/Servlet, máy chủ Apache Tomcat và CSDL MySQL theo chuẩn kiến trúc MVC. Hệ thống được mô hình hóa đầy đủ bằng ngôn ngữ UML với 16 bảng dữ liệu có cấu trúc quan hệ chặt chẽ.
  • Hiện thực hóa quy trình nghiệp vụ: Phần mềm đã số hóa toàn diện các khâu đăng ký phòng trực tuyến, kiểm tra ràng buộc phòng theo giới tính/quốc tịch, xét duyệt đơn đăng ký, xử lý yêu cầu chuyển phòng, tra cứu hóa đơn tiền phòng, tiền điện nước và đăng tải tin tức hoạt động.
  • Đóng góp của đề tài: Đề xuất một mô hình hệ thống website phục vụ công tác quản lý trong môi trường giáo dục, góp phần làm phong phú hình thức quản lý giáo dục và phát huy hiệu quả ứng dụng công nghệ thông tin vào hoạt động quản lý, vận hành thực tế tại Trường Đại học Quảng Nam.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận được hoàn thành trong phạm vi nghiên cứu ứng dụng cho KTX Trường Đại học Quảng Nam. Tác giả tự nhìn nhận công trình còn chịu một số giới hạn do hạn chế về thời gian, kinh nghiệm và năng lực bản thân. Hệ thống chủ yếu được triển khai và kiểm thử trong môi trường máy chủ cục bộ (XAMPP/Tomcat localhost), tập trung vào các quy trình quản lý lưu trú cơ bản. Tác giả nêu rõ định hướng tiếp thu các nhận xét, góp ý của hội đồng giảng viên để tiếp tục hoàn thiện, tối ưu hóa mã nguồn và nâng cao tính ổn định của hệ thống khi đưa vào vận hành thực tế.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Nguồn tư liệu trực quan về quy trình thực hiện một đồ án tốt nghiệp công nghệ thông tin hoàn chỉnh, từ khâu khảo sát thực tế, phân tích nghiệp vụ, mô hình hóa hướng đối tượng bằng UML cho đến lập trình ứng dụng web với Java JSP/Servlet và MySQL.
  • Người nghiên cứu các hệ thống quản lý cơ sở lưu trú/ký túc xá: Có thể tham khảo trực tiếp cấu trúc cơ sở dữ liệu quan hệ 16 bảng và tập hợp các biểu đồ đặc tả use case, sơ đồ tuần tự, sơ đồ trạng thái cho các luồng nghiệp vụ đăng ký, chuyển phòng, duyệt hồ sơ và quản lý điện nước.

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

1. Hệ thống phân chia quyền hạn truy cập cho những nhóm đối tượng người dùng nào?
Hệ thống phân định 4 nhóm đối tượng tiếp cận chính: Khách vãng lai (xem thông tin phòng, bản tin, tạo tài khoản), Khách hàng thành viên/Sinh viên (đăng ký phòng, yêu cầu chuyển phòng, tra cứu chi phí, đăng ký dịch vụ), Nhân viên quản lý (quản lý sinh viên/khu/phòng/dịch vụ, duyệt đơn đăng ký/chuyển phòng, tính tiền điện nước, thống kê) và Quản trị viên - Admin (toàn quyền hệ thống, quản lý tài khoản nhân viên).

2. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và chạy trên hệ quản trị nào?
Cơ sở dữ liệu của hệ thống gồm 16 bảng dữ liệu quan hệ (taikhoan, doituongut, quoctich, sinhvien, nhanvien, loaiphong, khu, phong, loaibv, baiviet, hocky, dichvu, dangkyphong, dangkychuyenphong, dangkydv, phieudiennuoc), được lưu trữ và quản trị trên hệ quản trị cơ sở dữ liệu quan hệ MySQL tích hợp trong gói phần mềm XAMPP.

3. Khi sinh viên đăng ký phòng ở trực tuyến, hệ thống kiểm tra những điều kiện ràng buộc nào?
Theo mô hình quy tắc R3 và đặc tả Use Case Đăng ký phòng, hệ thống tự động kiểm tra: trạng thái đăng nhập tài khoản của sinh viên; tình trạng phòng còn chỗ chứa hay không (SL_hientai < SucChua); và các ràng buộc về giới tính (phai), quốc tịch sinh viên tương ứng với quy định của từng khu phòng.

4. Điều kiện để sinh viên sử dụng chức năng yêu cầu chuyển phòng là gì?
Theo đặc tả Use Case 10, sinh viên bắt buộc phải đăng nhập thành công và đã có thông tin đăng ký phòng trước đó trên hệ thống. Khi thực hiện yêu cầu, hệ thống sẽ tự động lọc và đề xuất danh sách các phòng mới có mức giá tương đương hoặc cao hơn mức giá phòng hiện tại để sinh viên lựa chọn trước khi chuyển đơn cho Ban Quản lý duyệt.

5. Nền tảng công nghệ chính (Tech Stack) được sử dụng để phát triển phần mềm gồm những gì?
Phần mềm sử dụng ngôn ngữ lập trình Java (mô hình MVC, công nghệ Java Web JSP/Servlet), máy chủ ứng dụng Apache Tomcat, hệ quản trị cơ sở dữ liệu MySQL (kết nối qua JDBC), giao diện xây dựng bằng HTML, CSS, JavaScript và framework Bootstrap.

Kết luận

Khóa luận tốt nghiệp của tác giả Hiên Công đã giải quyết thành công bài toán số hóa công tác quản lý KTX tại Trường Đại học Quảng Nam thông qua việc xây dựng một hệ thống website hoàn chỉnh theo kiến trúc MVC trên nền tảng Java JSP/Servlet và MySQL. Báo cáo khóa luận thể hiện đầy đủ quy trình kỹ thuật phần mềm chuẩn mực từ khảo sát yêu cầu, mô hình hóa hướng đối tượng bằng UML, thiết kế CSDL 16 bảng cho đến triển khai giao diện người dùng và quản trị. Đề tài đóng góp một giải pháp phần mềm thiết thực, hỗ trợ nâng cao hiệu quả quản lý nội trú và đẩy mạnh ứng dụng công nghệ thông tin trong môi trường giáo dục đại học.