Bối cảnh và vấn đề nghiên cứu
- Lý do chọn đề tài: Trung tâm 4T GYM & FITNESS hiện quản lý các dịch vụ (Gym, Yoga, Boxing), nhân viên, học viên, doanh thu bằng Excel. Khi số lượng học viên tăng, việc quản lý bằng Excel gặp khó khăn về hiệu quả và tính chính xác.
- Mục tiêu và câu hỏi nghiên cứu
- Xây dựng một phần mềm quản lý phòng Gym đáp ứng yêu cầu bảo mật và phân quyền.
- Đảm bảo các chức năng quản lý nhân viên, thiết bị, học viên, gói tập và thống kê doanh thu hoạt động ổn định.
- Kiểm tra tính khả thi của công nghệ Swing + JDBC + SQL Server cho môi trường thực tiễn.
- Đối tượng, phạm vi
- Đối tượng: Hệ thống thông tin quản lý của trung tâm 4T GYM & FITNESS.
- Phạm vi không gian: Trung tâm 4T GYM & FITNESS (địa chỉ không ghi trong văn bản).
- Phạm vi thời gian: Thời gian thực hiện dự án từ giai đoạn phân tích yêu cầu tới triển khai phần mềm (khoảng 5 tháng theo nội dung đề tài).
Cơ sở lý thuyết và phương pháp
- Khung lý thuyết / mô hình
- Mô hình công nghệ ứng dụng: Kiến trúc 3‑tầng (Presentation → Business → Data Access) được mô tả trong mục “Mô hình công nghệ ứng dụng”.
- Các khái niệm chính: Use‑case, Entity‑Relationship Diagram (ERD), DAO (Data Access Object), JDBC helper, các lớp thực thể (Entity) và DAO tương ứng.
- Phương pháp nghiên cứu
- Phân tích‑tổng hợp yêu cầu (SRS).
- Thiết kế kiến trúc và giao diện bằng Swing.
- Phát triển cơ sở dữ liệu với SQL Server 2008.
- Kiểm thử chức năng (test case được nêu trong “Kiểm thử phần mềm và sửa lỗi”).
- Nguồn dữ liệu
- Các yêu cầu chức năng được trích từ tài liệu SRS (phần 1.4).
- Cấu trúc bảng dữ liệu (ERD, chi tiết thực thể) và các thủ tục lưu trữ được mô tả trong chương 3.
- Kết quả kiểm thử thực tế (bảng lỗi, sửa lỗi) được ghi lại trong mục 4.
Nội dung chính theo từng chương
Chương 1 – Giới thiệu dự án
- Trình bày về công ty 4T GYM & FITNESS, các dịch vụ cung cấp và vấn đề quản lý hiện tại bằng Excel.
- Đưa ra yêu cầu chi tiết của công ty (quản lý nhân viên, thiết bị, học viên, gói tập, doanh thu; phân quyền đăng nhập; công nghệ Swing + JDBC; SQL Server 2008).
Chương 2 – Thiết kế ứng dụng
| Nội dung |
Chi tiết |
| Mô hình công nghệ |
Swing (giao diện), JDBC (kết nối DB), SQL Server (cơ sở dữ liệu). |
| ERD |
Bao gồm các thực thể: NhanVien, HocVien, NguoiDung, GoiTap, HoaDon, ThietBi, VaiTro. |
| Chi tiết thực thể |
Mỗi thực thể có các trường như NhanVienID, HoTen, NgaySinh, Email, … (xem phần “Chi tiết thực thể” trong tài liệu). |
| Sơ đồ tổ chức giao diện |
Các cửa sổ chính: frmGYM (cửa sổ chính), NhanVienJDialog, HocVienJDialog, GoiTapJDialog, ThietBiJDialog, ThongKeJDialog… |
| Giao diện chức năng |
Mô tả các bảng, nút và hành vi (thêm, sửa, xóa, duyệt) cho từng cửa sổ quản lý. |
Chương 3 – Thực hiện dự án
- Tạo giao diện với Swing: Mỗi cửa sổ được triển khai với các component (bảng, form, nút) và xử lý sự kiện (Insert, Update, Delete, Navigation).
- Tạo CSDL với SQL Server:
CREATE TABLE NHANVIEN (
NHANVIENID NVARCHAR(100) PRIMARY KEY,
HOTEN NVARCHAR(255),
NGAYSINH DATE,
EMAIL NVARCHAR(255),
SDT NVARCHAR(50),
USERID NVARCHAR(100),
VAITRO NVARCHAR(100),
FOREIGN KEY (VAITRO) REFERENCES VAITRO(VAITRO),
FOREIGN KEY (USERID) REFERENCES NGUOIDUNG(USERID)
);
(Các câu lệnh INSERT, UPDATE, DELETE cho các bảng cũng được liệt kê trong tài liệu.)
- Entity & DAO: Các lớp
NhanVien, HocVien, NguoiDung, … đại diện cho thực thể; các lớp DAO thực hiện các phương thức insert, update, delete, selectById, selectAll.
- Thư viện tiện ích XJdbc: Cung cấp
query, update, value để tương tác với DB.
- Các cửa sổ chức năng: Mô tả chi tiết các phương thức của mỗi
JDialog (ví dụ init(), Insert(), Update(), Delete(), điều hướng First/Prev/Next/Last).
Chương 4 – Kiểm thử phần mềm và sửa lỗi
| Thông tin |
Kết quả |
| Đăng nhập – nhập sai tên người dùng |
Thông báo “Sai tên đăng nhập”. |
| Đổi mật khẩu – nhập mật khẩu cũ sai |
Thông báo “Sai mật khẩu hiện tại”. |
| Thêm nhân viên – thiếu SĐT |
Thông báo “Vui lòng nhập đầy đủ thông tin”. |
| Thêm gói tập – ngày tạo trước ngày hiện tại |
Thông báo “Phải chọn ngày hiện tại hoặc ngày sau”. |
| Thêm học viên – ngày sinh sau ngày hiện tại |
Thông báo “Ngày sinh phải trước ngày hiện tại”. |
| Kiểm tra định dạng Email – sai cú pháp |
Thông báo “Sai định dạng Email”. |
Chương 5 – Đóng gói và triển khai
- Sản phẩm phần mềm: File thực thi jar (được đề cập trong “Sản phẩm phần mềm”).
- Hướng dẫn cài đặt: Cài đặt JDK 1.8+, NetBeans 8+, kết nối tới SQL Server 2008; chạy file jar để khởi động giao diện.
Thiết kế và triển khai
Kiến trúc: 3‑tầng (GUI – Business – Data Access). GUI bằng Swing, Business Logic nằm trong các lớp *DAO, Data Access sử dụng JDBC qua lớp XJdbc.
Công nghệ: Java 1.8+, Swing, JDBC, SQL Server 2008, NetBeans 8+.
Kiểm thử: Kiểm thử chức năng (thêm, sửa, xóa, đăng nhập, đổi mật khẩu) dựa trên các kịch bản lỗi đã ghi trong chương 4; không có benchmark hiệu năng được nêu trong văn bản.
Kết quả và đóng góp
- Kết quả chính
- Hoàn thiện một phần mềm quản lý phòng Gym đáp ứng đầy đủ các chức năng quản lý nhân viên, học viên, gói tập, thiết bị và thống kê doanh thu.
- Đảm bảo phân quyền: Quản lý được quyền toàn bộ, nhân viên không được xóa và không xem doanh thu.
- Giải pháp/kiến nghị
- Sử dụng công nghệ Swing + JDBC để giảm phụ thuộc vào Excel, tăng tính bảo mật và khả năng mở rộng.
- Đề xuất nâng cấp cơ sở dữ liệu lên phiên bản mới hơn để cải thiện hiệu năng truy vấn.
- Đóng góp so với nghiên cứu trước
- Cung cấp một giải pháp phần mềm nội bộ thay thế cho quản lý bằng Excel, đồng thời tích hợp đầy đủ quy trình nghiệp vụ (use‑case, DAO, kiểm thử).
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Giao diện chỉ hỗ trợ môi trường Windows (do sử dụng SQL Server 2008).
- Không có mô-đun báo cáo thống kê nâng cao (biểu đồ, xuất PDF).
- Hướng nghiên cứu:
- Phát triển giao diện web (Spring Boot + React) để mở rộng truy cập đa nền tảng.
- Tích hợp mô-đun phân tích dữ liệu doanh thu (BI) và tự động gửi báo cáo lên email.
Giá trị tham khảo
- Đối tượng: Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, và các nhà phát triển muốn nghiên cứu mô hình 3‑tầng, DAO pattern, và triển khai Swing + JDBC.
- Phần đáng tham khảo:
- Thiết kế ERD và chi tiết thực thể (có thể tái sử dụng cho các hệ thống quản lý khác).
- Mẫu mã DAO và lớp
XJdbc cho việc truy cập DB một cách chuẩn hoá.
- Quy trình kiểm thử chức năng dựa trên các kịch bản lỗi thực tế.
Câu hỏi thường gặp
-
Phần mềm yêu cầu công nghệ nào để chạy?
- Java JDK 1.8+ (hoặc cao hơn), Swing, JDBC, và SQL Server 2008 trở lên.
-
Ai có quyền xóa dữ liệu trong hệ thống?
- Chỉ người dùng có vai trò “trưởng phòng” (quản lý) mới được phép thực hiện xóa; nhân viên không có quyền xóa.
-
Làm sao để đăng nhập vào hệ thống?
- Người dùng nhập
UserID và Password vào cửa sổ đăng nhập; hệ thống xác thực với bảng NguoiDung.
-
Có cơ chế bảo mật mật khẩu như thế nào?
- Khi đổi mật khẩu, người dùng phải nhập mật khẩu hiện tại, sau đó nhập mật khẩu mới và xác nhận lại; hệ thống kiểm tra tính hợp lệ và lưu vào bảng
NguoiDung.
-
Cách thức lưu trữ thông tin gói tập?
- Thông tin gói tập (mã, tên, giá, thời lượng) được lưu trong bảng
GoiTap và quản lý qua GoiTapJDialog.
Kết luận
Dự án “Quản lý phòng Gym” đã xây dựng thành công một hệ thống phần mềm dựa trên công nghệ Swing + JDBC, đáp ứng đầy đủ yêu cầu quản lý nghiệp vụ và bảo mật của trung tâm 4T GYM & FITNESS. Hệ thống thay thế hiệu quả việc quản lý bằng Excel, đồng thời cung cấp nền tảng mở rộng cho các chức năng báo cáo và tích hợp web trong tương lai.