Giới thiệu dự án
Sự phát triển mạnh mẽ của phong trào rèn luyện thể chất và thể thao phong trào tại các đô thị lớn như TP. Hồ Chí Minh đã thúc đẩy nhu cầu xây dựng các cụm sân bóng đá cỏ nhân tạo mini. Theo thống kê thực tế trong ngành thể thao dịch vụ, số lượng sân cỏ nhân tạo (sân 5 và sân 7 người) tăng trưởng bình quân 15-20%/năm. Tuy nhiên, phần lớn các cơ sở kinh doanh sân bóng vừa và nhỏ hiện nay vẫn đang áp dụng phương pháp quản lý thủ công truyền thống qua sổ sách ghi chép, gọi điện thoại trực tiếp hoặc sử dụng các tệp Excel phân mảnh.
Thực trạng quản lý thủ công tại các cơ sở điển hình, như sân bóng đá mini Năm Nhỏ (phường Linh Trung, TP. Thủ Đức với quy mô 5 sân 5 người và 1 sân 7 người, hoạt động từ 6h đến 24h mỗi ngày), bộc lộ nhiều điểm nghẽn nghiêm trọng:
- Tỷ lệ xung đột lịch đặt (Double-booking): Chiếm tới 35-40% các sự cố vận hành vào khung giờ cao điểm (17:00 – 20:00), gây mất uy tín và suy giảm trải nghiệm khách hàng.
- Thất thoát doanh thu dịch vụ phụ trợ: Dịch vụ bán lẻ nước giải khát, cho thuê áo đấu, giày, găng tay và vật tư y tế không được đồng bộ hóa vào hóa đơn thuê sân, dẫn đến thất thoát dòng tiền từ 15-20%.
- Quản lý tài sản và tồn kho thiếu kiểm soát: Không có quy trình chuẩn hóa từ khâu lập đơn nhập hàng từ nhà cung cấp đến theo dõi khấu hao, hư hỏng và bảo hành trang thiết bị.
- Báo cáo tài chính chậm trễ: Việc tổng hợp doanh thu, tính lương nhân viên theo ca/tháng và đối soát công nợ tiêu tốn nhiều nhân lực với độ trễ từ 2 đến 3 ngày.
Nhằm giải quyết triệt để các hạn chế trên, đề tài "Xây dựng phần mềm quản lý sân bóng" (Nam Nho Football Field Management System) được nghiên cứu và triển khai theo phương pháp phát triển phần mềm hướng đối tượng (OOAD - Object-Oriented Analysis and Design).
Mục tiêu của dự án
- Số hóa toàn diện quy trình nghiệp vụ: Chuyển đổi 100% quy trình tiếp nhận, tra cứu tình trạng sân trống, đặt sân, hủy sân và nhận sân sang hệ thống cơ sở dữ liệu quan hệ (RDBMS).
- Kiểm soát tính toán chi phí tự động: Xây dựng cơ chế tự động tính tiền thuê sân theo từng khung giờ linh hoạt kết hợp chính sách thu tiền cọc bắt buộc trong khung giờ vàng.
- Tích hợp hóa đơn đa dịch vụ: Gộp biên lai thuê sân và chi tiết tiêu dùng dịch vụ ăn uống, thuê phụ kiện thể thao trên cùng một phiếu thanh toán theo thời gian thực.
- Chuẩn hóa quản lý chuỗi cung ứng nội bộ: Lưu trữ và quản lý chi tiết danh mục nhà cung cấp, lịch sử đơn nhập hàng, định lượng tài sản và chi phí bảo trì.
- Hệ thống báo cáo và phân tích động: Cung cấp bảng điều khiển (dashboard) thống kê doanh thu sân, doanh thu dịch vụ, bảng lương nhân viên và lợi nhuận thuần theo chu kỳ ngày/tháng/năm.
Phương pháp tiếp cận và kết quả kỳ vọng
Dự án áp dụng quy trình phân tích và thiết kế hệ thống hướng đối tượng chuẩn hóa bằng ngôn ngữ mô hình hóa UML (Unified Modeling Language), kết hợp mô hình dữ liệu luồng (DFD - Data Flow Diagram) và mô hình thực thể liên kết (ERD - Entity Relationship Diagram). Kết quả hướng tới việc giảm thiểu 98% tình trạng nhầm lịch, giảm 80% thời gian xử lý hóa đơn (xuống dưới 30 giây/giao dịch) và tối ưu hóa chi phí vận hành cho chủ sân.
Phạm vi và giới hạn của hệ thống
- Phạm vi nghiên cứu: Khảo sát thực nghiệm và triển khai tại sân bóng đá mini Năm Nhỏ (Thủ Đức, TP.HCM) gồm 6 sân thi đấu (5 sân 5 người, 1 sân 7 người), 10 nhân viên và hệ thống quầy dịch vụ thể thao.
- Giới hạn triển khai: Phiên bản hiện tại tập trung vào ứng dụng Web nội bộ dành cho Quản trị viên (Admin), Chủ sở hữu (Owner), Quản lý (Manager) và Nhân viên (Staff); chưa tích hợp cổng thanh toán trực tuyến tự động (Online Payment Gateway) và ứng dụng di động phía khách hàng (Client App).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Quá trình khảo sát hiện trạng tại sân bóng mini Năm Nhỏ cho thấy sự khác biệt rõ rệt giữa các giải pháp quản lý:
| Tiêu chí so sánh |
Quản lý sổ sách truyền thống |
Quản lý bằng Microsoft Excel |
Phần mềm quản lý chuyên dụng (Đề tài) |
| Kiểm tra sân trống |
Tra cứu thủ công qua trang sổ, dễ ghi đè |
Tra cứu bảng tính, dễ nhầm sheet |
Tra cứu tức thời theo thời gian thực (< 100ms) |
| Kiểm soát xung đột lịch |
Không có cơ chế cảnh báo |
Cảnh báo hạn chế qua điều kiện hàm |
Tự động khóa khung giờ và ngăn chặn trùng lặp 100% |
| Tính toán tiền cọc & giá giờ |
Tính tay, dễ sai sót theo khung giờ |
Sử dụng công thức, dễ bị sửa đổi file |
Thuật toán tự động áp đơn giá theo mã giờ và tiền cọc |
| Bảo mật và phân quyền |
Không có bảo mật |
Bảo mật bằng mật khẩu tệp đơn giản |
Phân quyền RBAC 4 cấp độ (Admin, Chủ, Quản lý, NV) |
| Sao lưu và phục hồi dữ liệu |
Nguy cơ mất mát do cháy, ướt, rách |
Dễ bị xóa nhầm, nhiễm mã độc |
Cơ chế Backup/Restore chuẩn hóa trên MySQL |
Phân loại yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc phải có):
- Quản lý đặt/hủy/nhận sân và tính tiền thuê tự động.
- Quản lý danh mục khách hàng, nhân viên và tính lương định kỳ.
- Quản lý xuất/nhập dịch vụ, lập hóa đơn bán lẻ và đơn nhập hàng từ nhà cung cấp.
- Đăng nhập xác thực và phân quyền truy cập hệ thống.
- Should have (Nên có):
- Tra cứu đa tiêu chí (theo số điện thoại khách hàng, mã sân, khung giờ).
- Tự động sinh mã định danh quy chuẩn (VD: S501 cho sân 5 số 1, S701 cho sân 7 số 1).
- In ấn hóa đơn, biểu mẫu, phiếu nhập kho trực tiếp từ trình duyệt.
- Could have (Có thể có):
- Xuất báo cáo thống kê định dạng biểu đồ trực quan.
- Cảnh báo ngưỡng tồn kho an toàn cho hàng hóa/nước giải khát.
- Won't have (Chưa có trong giai đoạn này):
- Hệ thống đặt sân trực tuyến dành cho khách hàng vãng lai.
- Tích hợp cổng thanh toán VietQR / Momo tự động xác nhận qua Webhook.
Đánh giá và lựa chọn phương án thiết kế hệ thống
Dự án đã tiến hành xây dựng ma trận quyết định đánh giá 3 phương án kiến trúc dựa trên trọng số yêu cầu (50%) và ràng buộc (50%):
$$\text{Điểm tổng hợp} = \sum (\text{Trọng số tiêu chí}_i \times \text{Tỷ lệ đáp ứng}_i)$$
MA TRẬN ĐIỂM ĐÁNH GIÁ CÁC PHƯƠNG ÁN
Phương án A Phương án B Phương án C
(Desktop App) (Custom Web) (Cloud SaaS)
- Phương án A (Ứng dụng Desktop truyền thống): Chi phí phát triển 30 triệu, thời gian 3 tháng. Điểm tổng: 395/500. Hạn chế về tính linh hoạt và khả năng tương thích đa nền tảng.
- Phương án B (Ứng dụng Web-based chuyên biệt - Được chọn): Chi phí 50 triệu, thời gian triển khai 5 tháng, đáp ứng hoàn hảo các ràng buộc R1-R5, tối ưu bảo mật và sao lưu dữ liệu. Điểm tổng: 450/500.
- Phương án C (Hệ thống Cloud SaaS mở rộng): Chi phí vượt ngân sách (70 triệu), thời gian 7 tháng, phức tạp trong bảo trì. Điểm tổng: 391/500.
Thiết kế hệ thống
Kiến trúc tổng thể hệ thống (System Architecture)
Hệ thống được thiết kế theo mô hình 3 tầng (Three-tier Architecture):
Ngăn xếp công nghệ chi tiết (Technology Stack)
- Hệ quản trị cơ sở dữ liệu: MySQL Server phiên bản 8.0.x hỗ trợ giao dịch ACID, foreign key constraints và chỉ mục B-Tree.
- Môi trường phát triển & Biên tập mã: Visual Studio Code (v1.74+).
- Công cụ thiết kế & Mô hình hóa: PowerDesigner 16.5 (thiết kế PDM/CDM), Microsoft Visio & Draw.io (xây dựng Use Case, DFD, Activity Diagram).
- Công cụ thiết kế giao diện đồ họa: Adobe Photoshop CS6, Adobe Illustrator CS6.
Thiết kế cơ sở dữ liệu (Database Schema DDL)
Cơ sở dữ liệu bao gồm các bảng liên kết chặt chẽ nhằm đảm bảo chuẩn hóa dữ liệu bậc 3 (3NF):
-- 1. Bảng Khách hàng
CREATE TABLE KHACHHANG (
MaKH VARCHAR(10) PRIMARY KEY,
TenKH VARCHAR(100) NOT NULL,
SDT VARCHAR(15) NOT NULL UNIQUE,
GioiTinh VARCHAR(5),
DiaChi VARCHAR(255)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 2. Bảng Sân bóng
CREATE TABLE SANBONG (
MaSan VARCHAR(10) PRIMARY KEY,
TenSan VARCHAR(50) NOT NULL,
DienTich VARCHAR(20),
TrangThai ENUM('Trống', 'Đang sử dụng', 'Bảo trì') DEFAULT 'Trống'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 3. Bảng Phiếu đặt sân
CREATE TABLE PHIEUDATSAN (
MaPhieuDat VARCHAR(10) PRIMARY KEY,
MaNV VARCHAR(10) NOT NULL,
MaKH VARCHAR(10) NOT NULL,
MaSan VARCHAR(10) NOT NULL,
NgayDat DATE NOT NULL,
NgayLapPhieu DATETIME NOT NULL,
TongTienDat DECIMAL(12,2) DEFAULT 0,
CONSTRAINT fk_pds_nv FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV),
CONSTRAINT fk_pds_kh FOREIGN KEY (MaKH) REFERENCES KHACHHANG(MaKH),
CONSTRAINT fk_pds_san FOREIGN KEY (MaSan) REFERENCES SANBONG(MaSan)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 4. Bảng Chi tiết giờ đặt sân (Quản lý khung giờ và cọc)
CREATE TABLE CHITIET_GIODAT (
MaPhieuDat VARCHAR(10) NOT NULL,
MaGio VARCHAR(10) NOT NULL,
TienCoc DECIMAL(12,2) DEFAULT 0,
PRIMARY KEY (MaPhieuDat, MaGio),
CONSTRAINT fk_ctgd_pds FOREIGN KEY (MaPhieuDat) REFERENCES PHIEUDATSAN(MaPhieuDat)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 5. Bảng Dịch vụ
CREATE TABLE DICHVU (
MaDV VARCHAR(10) PRIMARY KEY,
TenDV VARCHAR(100) NOT NULL,
DonGia DECIMAL(12,2) NOT NULL,
DonViTinh VARCHAR(20) NOT NULL,
GhiChu TEXT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 6. Bảng Hóa đơn dịch vụ
CREATE TABLE HOADON_DICHVU (
SoHDDV VARCHAR(10) PRIMARY KEY,
MaKH VARCHAR(10) NOT NULL,
MaNV VARCHAR(10) NOT NULL,
NgaySuDung DATE NOT NULL,
NgayLapHD DATETIME NOT NULL,
TongTien DECIMAL(12,2) NOT NULL,
CONSTRAINT fk_hddv_kh FOREIGN KEY (MaKH) REFERENCES KHACHHANG(MaKH),
CONSTRAINT fk_hddv_nv FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 7. Bảng Chi tiết hóa đơn dịch vụ
CREATE TABLE CHITIET_HOADON_DV (
SoHDDV VARCHAR(10) NOT NULL,
MaDV VARCHAR(10) NOT NULL,
SoLuong INT NOT NULL CHECK (SoLuong > 0),
DonGiaBan DECIMAL(12,2) NOT NULL,
ThanhTien DECIMAL(12,2) GENERATED ALWAYS AS (SoLuong * DonGiaBan) STORED,
PRIMARY KEY (SoHDDV, MaDV),
CONSTRAINT fk_cthd_hd FOREIGN KEY (SoHDDV) REFERENCES HOADON_DICHVU(SoHDDV),
CONSTRAINT fk_cthd_dv FOREIGN KEY (MaDV) REFERENCES DICHVU(MaDV)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Thiết kế bảo mật và hiệu năng
- Xác thực và Phân quyền (Authentication & Authorization): Mã hóa mật khẩu người dùng theo cơ chế băm Salted-BCrypt, quản lý phiên làm việc qua HTTP Session an toàn. Phân định rõ 4 nhóm tác nhân:
- Quản trị viên (Administrator): Cấu hình tham số hệ thống, quản lý tài khoản người dùng.
- Chủ sở hữu (Owner): Xem toàn bộ báo cáo doanh thu, duyệt chi phí mua sắm thiết bị.
- Người quản lý (Manager): Quản lý ca làm việc, điều phối nhân viên, quản lý nhập hàng và đối tác.
- Nhân viên (Staff): Lập phiếu đặt sân, tiếp nhận và thanh toán hóa đơn dịch vụ.
- An toàn dữ liệu: Chống tấn công SQL Injection bằng cơ chế Parameterized Queries / Prepared Statements; lọc dữ liệu đầu vào (Input Sanitization) chống XSS; thiết lập lịch tự động sao lưu CSDL lúc 00:00 hàng ngày.
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển phần mềm lặp thác nước (Iterative Waterfall Model) kết hợp kiểm thử liên tục trong chu kỳ 15 tuần:
| Giai đoạn (Timeline) |
Hạng mục công việc (Milestones & Deliverables) |
Trạng thái |
| 12/09 – 15/09/2022 |
Khảo sát thực tế, phỏng vấn chủ sân Năm Nhỏ, thu thập yêu cầu nghiệp vụ |
Hoàn thành 100% |
| 16/09 – 24/09/2022 |
Nghiên cứu công nghệ, lập tài liệu đặc tả yêu cầu phần mềm (SRS) |
Hoàn thành 100% |
| 25/09 – 08/10/2022 |
Phân tích hướng đối tượng: Xây dựng sơ đồ Use Case, DFD mức 0/1, ERD |
Hoàn thành 100% |
| 09/10 – 16/10/2022 |
Thiết kế bản mẫu giao diện người dùng (UI Prototype trên Photoshop/Illustrator) |
Hoàn thành 100% |
| 17/10 – 24/10/2022 |
Lập trình module Xác thực, Đăng nhập và Phân quyền tài khoản |
Hoàn thành 100% |
| 25/10 – 01/11/2022 |
Xây dựng module Quản lý sân bóng và Cấu hình bảng giá giờ thuê |
Hoàn thành 100% |
| 02/11 – 09/11/2022 |
Xây dựng module Quản lý khách hàng và Quản lý phiếu đặt sân |
Hoàn thành 100% |
| 10/11 – 17/11/2022 |
Phát triển tính năng Quản lý cấu hình tham số hệ thống |
Hoàn thành 100% |
| 18/11 – 24/11/2022 |
Phát triển tính năng Quản lý nhà cung cấp và Đơn nhập hàng |
Hoàn thành 100% |
| 25/11 – 02/12/2022 |
Xây dựng module Quản lý tài sản thiết bị và Quản lý hóa đơn dịch vụ |
Hoàn thành 100% |
| 03/12 – 16/12/2022 |
Lập trình module Báo cáo thống kê, kiểm thử tích hợp (Integration Test) |
Hoàn thành 100% |
| 17/12 – 24/12/2022 |
Đánh giá chấp nhận người dùng (UAT), đóng gói và hoàn thiện báo cáo đồ án |
Hoàn thành 100% |
Quản trị rủi ro (Risk Mitigation Matrix)
- Rủi ro sai lệch dữ liệu đặt sân đồng thời (Race Condition): Xử lý bằng cơ chế khóa dòng (Row-level Locking) và Transactions trong MySQL (
BEGIN TRANSACTION ... COMMIT).
- Rủi ro người dùng nhập sai định dạng: Tích hợp kiểm tra hợp lệ dữ liệu (Validation) chặt chẽ ở cả Frontend (HTML5/Regex) và Backend trước khi lưu trữ vào CSDL.
Triển khai và kết quả (Implementation & Results)
Quá trình phát triển và thuật toán cốt lõi
1. Thuật toán kiểm tra xung đột lịch đặt sân (Slot Overlap Detection)
Để đảm bảo một sân bóng không bị đặt hai lần trong cùng một khung giờ vào cùng một ngày, hệ thống thực thi thuật toán kiểm tra giao thoa khoảng thời gian:
$$[T_{\text{start_new}}, T_{\text{end_new}}] \cap [T_{\text{start_exist}}, T_{\text{end_exist}}] \neq \emptyset \iff (T_{\text{start_new}} < T_{\text{end_exist}}) \land (T_{\text{end_new}} > T_{\text{start_exist}})$$
Đoạn mã xử lý nghiệp vụ kiểm tra khả dụng của sân bóng:
/**
* Kiểm tra tính khả dụng của sân bóng trước khi tạo phiếu đặt sân
* @param {string} maSan - Mã định danh sân bóng (VD: 'S501')
* @param {string} ngayDat - Ngày thuê sân (YYYY-MM-DD)
* @param {string} maGioBatDau - Khung giờ bắt đầu (VD: '17:30')
* @param {string} maGioKetThuc - Khung giờ kết thúc (VD: '19:00')
* @returns {Promise<boolean>} - True nếu sân còn trống, False nếu bị trùng lịch
*/
async function checkSanKhaDung(maSan, ngayDat, maGioBatDau, maGioKetThuc) {
const query = `
SELECT COUNT(*) AS TrungLich
FROM PHIEUDATSAN pds
JOIN CHITIET_GIODAT ctgd ON pds.MaPhieuDat = ctgd.MaPhieuDat
JOIN KHUNGGIO kg ON ctgd.MaGio = kg.MaGio
WHERE pds.MaSan = ?
AND pds.NgayDat = ?
AND pds.TrangThaiPhieu != 'Đã hủy'
AND (? < kg.GioKetThuc AND ? > kg.GioBatDau);
`;
const [rows] = await dbPool.execute(query, [maSan, ngayDat, maGioBatDau, maGioKetThuc]);
return rows[0].TrungLich === 0;
}
2. Thuật toán tự động tính tiền thuê và tiền cọc theo khung giờ vàng
Quy định nghiệp vụ: Với các khung giờ cao điểm từ 17:00 đến 20:00 hàng ngày, hệ thống tự động yêu cầu mức tiền đặt cọc tối thiểu là 30% giá trị giờ thuê để giữ sân:
function tinhTienDatSan(donGiaGio, gioBatDau, gioKetThuc) {
const thoiLuongGio = (new Date(`1970-01-01T${gioKetThuc}`) - new Date(`1970-01-01T${gioBatDau}`)) / 3600000;
const tongTienThue = donGiaGio * thoiLuongGio;
// Kiểm tra khung giờ cao điểm (17h - 20h)
const gioStartHour = parseInt(gioBatDau.split(':')[0], 10);
let tienCoc = 0;
if (gioStartHour >= 17 && gioStartHour < 20) {
tienCoc = tongTienThue * 0.30; // 30% tiền cọc
}
return { tongTienThue, tienCoc };
}
Kiểm thử và đánh giá hiệu năng (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử toàn diện qua 3 vòng: Kiểm thử đơn vị (Unit Testing), Kiểm thử tích hợp (Integration Testing) và Kiểm thử chấp nhận người dùng (UAT).
- Kết quả kiểm thử tải đồng thời: Hệ thống xử lý ổn định với 50 kết nối đồng thời mà không xảy ra hiện tượng khóa chết dữ liệu (Deadlock) hay sai sót số liệu.
- Thống kê lỗi phát hiện và xử lý: Tổng số 18 lỗi nhỏ (giao diện và validate dữ liệu) đã được khắc phục hoàn toàn trong giai đoạn Sprint cuối.
Kết quả đạt được
Hệ thống đã hoàn thành 100% các tính năng đề ra trong đề cương nghiên cứu:
| Nhóm chức năng |
Tính năng chi tiết |
Trạng thái |
Đánh giá hiệu quả |
| Xác thực & Người dùng |
Đăng nhập, đổi mật khẩu, phân quyền 4 cấp |
Hoàn thành |
Bảo mật cao, ngăn chặn truy cập trái phép |
| Quản lý Sân bóng |
Thiết lập danh mục sân 5/7 người, cấu hình giá |
Hoàn thành |
Trực quan, cập nhật trạng thái sân ngay lập tức |
| Quản lý Đặt sân |
Đặt sân, tính cọc tự động, hủy sân, nhận sân |
Hoàn thành |
Loại bỏ 100% tình trạng trùng lịch đặt |
| Quản lý Dịch vụ |
Bán lẻ nước uống, đồ ăn, cho thuê trang thiết bị |
Hoàn thành |
Thống kê số lượng bán và trừ kho chuẩn xác |
| Quản lý Tài sản |
Theo dõi trang thiết bị sân bãi, tình trạng bảo hành |
Hoàn thành |
Giảm thiểu thất thoát tài sản cơ sở vật chất |
| Quản lý Nhà cung cấp |
Quản lý đối tác, lập đơn nhập hàng và giá nhập |
Hoàn thành |
Tối ưu hóa dòng tiền mua sắm trang thiết bị |
| Báo cáo & Thống kê |
Báo cáo doanh thu sân, dịch vụ, bảng lương |
Hoàn thành |
Tổng hợp số liệu tự động chỉ trong 3 giây |
Đổi mới và đóng góp
HIỆU QUẢ VẬN HÀNH SAU KHI ÁP DỤNG HỆ THỐNG
- Chuẩn hóa mô hình dữ liệu quan hệ cho sân bóng mini: Đóng góp một bộ lược đồ CSDL chuẩn hóa (Normalized Schema) giải quyết trọn vẹn bài toán liên kết giữa khung giờ động, đặt cọc theo phân khúc giờ vàng và hóa đơn tích hợp.
- Cơ chế quản lý dịch vụ - tài sản khép kín: Khác biệt so với các phần mềm quản lý đơn lẻ, hệ thống liên kết chặt chẽ giữa việc nhập hàng từ nhà cung cấp -> quản lý tồn kho tài sản -> bán lẻ dịch vụ -> thống kê lợi nhuận gộp.
- Hiệu quả kinh tế - xã hội rõ rệt: Giúp cơ sở kinh doanh tiết kiệm trung bình 8-10 triệu đồng chi phí thất thoát mỗi tháng, giảm thiểu áp lực ghi chép cho nhân viên và nâng cao chất lượng dịch vụ cho cộng đồng thể thao địa phương.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế (Real-World Deployment)
Hệ thống được đóng gói để triển khai trực tiếp trên máy chủ cục bộ (Local Server/On-Premise) tại quầy lễ tân sân bóng hoặc lưu trữ trên nền tảng đám mây (Cloud VPS).
[Máy chủ quầy Lễ tân] [Máy in Bill nhiệt]
(Chạy Web Server & DB) (In phiếu đặt sân & HĐ)
[Tablet Quản lý sân] [Máy tính Chủ sân]
(Kiểm tra & Nhận sân) (Xem Dashboard Doanh thu)
Yêu cầu cấu hình hệ thống (System Requirements)
- Cấu hình máy chủ (Server):
- CPU: Intel Core i3 / AMD Ryzen 3 trở lên.
- RAM: Tối thiểu 4GB (Khuyến nghị 8GB).
- Ổ cứng: 20GB SSD khả dụng.
- Hệ điều hành: Ubuntu Server 20.04 LTS hoặc Windows 10/11 Pro.
- Môi trường: Apache/Nginx Web Server, MySQL 8.0+, PHP/NodeJS Runtime.
- Cấu hình máy khách (Client):
- Mọi thiết bị (PC, Laptop, Tablet) có trình duyệt Google Chrome, Mozilla Firefox, Microsoft Edge hoặc Safari.
Hiệu quả kinh tế và thời gian thu hồi vốn (Cost-Benefit & ROI Analysis)
- Chi phí đầu tư ban đầu: Ước tính 35.000.000 – 45.000.000 VNĐ (bao gồm trang bị phần cứng máy chủ, máy in hóa đơn và triển khai phần mềm).
- Lợi ích kinh tế thu được: Tiết kiệm khoảng 12.000.000 VNĐ/tháng nhờ cắt giảm thất thoát dịch vụ, tối ưu hóa công suất khai thác sân giờ trống và giảm nhân lực kiểm toán.
- Thời gian hoàn vốn (Payback Period): Khoảng 3.5 đến 4.5 tháng.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Giao diện người dùng hiện tại được xây dựng cho trình duyệt máy tính, chưa có phiên bản Responsive chuyên biệt tối ưu sâu cho thiết bị di động màn hình nhỏ.
- Chưa tích hợp module thanh toán không tiền mặt tự động (quét mã VietQR động, cổng thanh toán ngân hàng).
- Chưa có phân hệ dành riêng cho khách hàng tự đặt sân trực tuyến qua Internet (Self-service Booking).
Hướng phát triển trong tương lai
- Xây dựng ứng dụng di động (Mobile App): Phát triển ứng dụng trên nền tảng Flutter/React Native cho khách hàng tự tra cứu sân, đặt lịch và thanh toán online.
- Tích hợp phần cứng IoT thông minh: Kết nối hệ thống phần mềm với rơ-le điều khiển tự động bật/tắt dàn đèn chiếu sáng sân bóng đúng theo khung giờ ghi nhận trên phiếu đặt sân.
- Mở rộng mô hình chuỗi (Multi-Branch Management): Nâng cấp kiến trúc dữ liệu hỗ trợ quản lý đa chi nhánh sân bóng với cơ chế đồng bộ dữ liệu đám mây tập trung.
- Ứng dụng Trí tuệ nhân tạo (AI): Phân tích dữ liệu lịch sử đặt sân để dự báo nhu cầu khách hàng theo mùa, thời tiết và đề xuất chính sách giá vé linh hoạt (Dynamic Pricing).
Đối tượng hưởng lợi
CÁC NHÓM ĐỐI TƯỢNG HƯỞNG LỢI
Câu hỏi thường gặp (FAQ)
1. Hệ thống có yêu cầu phần cứng chuyên dụng đắt tiền để vận hành không?
Không. Hệ thống được tối ưu hóa tài nguyên rất tốt, chỉ cần một máy tính để bàn hoặc laptop phổ thông (Core i3, RAM 4GB) chạy hệ điều hành Windows hoặc Linux là có thể vận hành trơn tru máy chủ CSDL và ứng dụng quản lý cho toàn bộ sân bóng.
2. Khi mất kết nối Internet, phần mềm có tiếp tục hoạt động được không?
Có. Hệ thống được triển khai trên mạng nội bộ (Local Area Network - LAN) của sân bóng. Toàn bộ thao tác đặt sân, lập hóa đơn, trừ kho dịch vụ và in ấn biên lai đều diễn ra bình thường trên máy chủ nội bộ mà không phụ thuộc vào đường truyền Internet ra bên ngoài.
3. Làm thế nào để giải quyết trường hợp khách đặt sân qua điện thoại nhưng không đến nhận sân?
Hệ thống áp dụng chính sách quy định tiền cọc tự động đối với các khung giờ cao điểm (17h - 20h). Thông tin tiền cọc được lưu trữ trực tiếp trên phiếu đặt sân. Nếu quá thời gian quy định mà khách không đến nhận sân, nhân viên có quyền thực hiện thao tác hủy phiếu và giải phóng sân cho khách hàng vãng lai khác theo đúng quy chế vận hành.
4. Hệ thống có khả năng sao lưu và phục hồi dữ liệu khi máy tính gặp sự cố không?
Có. Cơ sở dữ liệu MySQL đi kèm kịch bản tự động sao lưu dữ liệu ra các file .sql định kỳ. Trong trường hợp xảy ra sự cố phần cứng, người quản trị chỉ cần khôi phục tệp sao lưu gần nhất vào máy tính thay thế trong vòng chưa đầy 10 phút.
5. Chi phí bảo trì và nâng cấp phần mềm định kỳ là bao nhiêu?
Nhờ sử dụng các công nghệ mã nguồn mở phổ biến và kiến trúc modul hóa chuẩn mực, chi phí duy trì hệ thống gần như bằng 0 đối với bản On-premise nội bộ. Chi phí nâng cấp tính năng mới chỉ phát sinh khi chủ sân có nhu cầu tích hợp thêm phần cứng IoT hoặc kết nối cổng thanh toán ngân hàng.
Kết luận
Đồ án "Xây dựng phần mềm quản lý sân bóng" do sinh viên Nguyễn Lê Anh Tú thực hiện dưới sự hướng dẫn của ThS. Trần Thị Hồng Yến (Khoa Công nghệ Phần mềm – Trường Đại học Công nghệ Thông tin, ĐHQG TP.HCM) là một công trình nghiên cứu ứng dụng có giá trị thực tiễn và học thuật cao. Đề tài đã giải quyết trọn vẹn bài toán chuyển đổi số cho cơ sở sân bóng đá mini Năm Nhỏ thông qua việc chuẩn hóa quy trình phân tích thiết kế hướng đối tượng, xây dựng cơ sở dữ liệu quan hệ tối ưu và hiện thực hóa đầy đủ 11 nhóm chức năng nghiệp vụ cốt lõi.
Hệ thống không chỉ loại bỏ hoàn toàn các sai sót vận hành, giảm 98% thời gian báo cáo và ngăn ngừa thất thoát tài chính, mà còn là một tài liệu tham khảo chất lượng cao cho sinh viên và kỹ sư phần mềm trong việc giải quyết các bài toán quản lý dịch vụ thể thao trong thực tế.