Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh thể thao phong trào ngày càng phát triển, bóng đá trở thành môn thể thao phổ biến đáp ứng nhu cầu rèn luyện sức khỏe và gắn kết cộng đồng. Tuy nhiên, phương thức vận hành và đặt sân truyền thống còn bộc lộ nhiều hạn chế. Việc người dùng phải gọi điện thoại đến hotline hoặc đến trực tiếp sân bóng để kiểm tra lịch trống và đặt chỗ gây mất thời gian, khó nắm bắt đầy đủ thông tin về tình trạng sân, mức giá cũng như hình ảnh thực tế của cơ sở vật chất.
Đề tài "Xây dựng hệ thống quản lí đặt sân bóng" được Nhóm 2 thực hiện trong khuôn khổ môn học Phân tích thiết kế phần mềm tại Khoa Công nghệ Thông tin, Trường Đại học Ngoại ngữ - Tin học Thành phố Hồ Chí Minh (HUFLIT), dưới sự hướng dẫn của ThS. Thái Thị Thanh Thảo (Học kỳ II năm học 2023 - 2024).
Mục tiêu và nhiệm vụ nghiên cứu của đề tài gồm:
- Phân tích hiện trạng và khảo sát các yêu cầu thực tế của khách hàng và ban quản lý đối với hệ thống đặt sân bóng trên nền tảng di động (smartphone).
- Xác định các tác nhân (Actors) tham gia vào hệ thống và thiết lập danh mục ca sử dụng (Use Cases) tương ứng.
- Xây dựng ma trận phân quyền chi tiết giữa các nhóm người dùng trong hệ thống.
- Đặc tả luồng xử lý chuẩn, luồng thay thế và các kịch bản ngoại lệ cho từng ca sử dụng.
- Thiết kế các mô hình hành vi và cấu trúc thông qua sơ đồ tuần tự (Sequence Diagram), sơ đồ trạng thái (State Machine Diagram), sơ đồ hoạt động (Activity Diagram), sơ đồ thực thể mối quan hệ (ERD) và sơ đồ lớp (Class Diagram).
Phạm vi nghiên cứu tập trung vào quy trình nghiệp vụ vận hành của một cụm sân bóng, bao gồm: quản lý danh mục sân (sân 5 người, sân 7 người, sân 11 người), định giá theo từng loại sân, điều phối lịch đặt sân, xử lý check-in/check-out, quản lý dịch vụ ăn uống đi kèm, quản lý thiết bị cơ sở vật chất, quản lý đối tác/nhà cung cấp và kết xuất báo cáo tài chính - thống kê doanh thu.
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng phương pháp luận phân tích và thiết kế hệ thống hướng đối tượng (OOAD) kết hợp ngôn ngữ mô hình hóa thống nhất (UML) để chuẩn hóa tài liệu kỹ thuật phần mềm.
Danh mục thuật ngữ và từ viết tắt
Trong tài liệu, các khái niệm kỹ thuật và nghiệp vụ được viết tắt thống nhất theo bảng quy chuẩn:
| STT |
Thuật ngữ / Từ viết tắt |
Tên đầy đủ / Mô tả |
| 1 |
UC |
Use case (Ca sử dụng) |
| 2 |
QL |
Quản lí |
| 3 |
seq |
Sequence diagram (Sơ đồ tuần tự) |
| 4 |
HT |
Hệ thống |
| 5 |
NV |
Nhân viên |
| 6 |
KH |
Khách hàng |
Phương pháp nghiên cứu
- Phương pháp phân tích yêu cầu nghiệp vụ: Thu thập và tổng hợp các yêu cầu người dùng, phân tích quy trình vận hành thực tế tại sân bóng để xây dựng bộ yêu cầu chức năng và phi chức năng.
- Phương pháp mô hình hóa hướng đối tượng: Sử dụng các biểu đồ UML để trực quan hóa kiến trúc chức năng và luồng xử lý:
- Sơ đồ ca sử dụng (Use Case Diagram) để biểu diễn tương tác giữa các tác nhân và chức năng.
- Sơ đồ tuần tự (Sequence Diagram) để mô tả thông điệp trao đổi theo thời gian giữa các đối tượng.
- Sơ đồ hoạt động (Activity Diagram) để thể hiện luồng công việc chi tiết của từng nghiệp vụ.
- Sơ đồ máy trạng thái (State Machine Diagram) để mô hình hóa vòng đời trạng thái của các thực thể.
- Phương pháp thiết kế dữ liệu: Xây dựng sơ đồ thực thể mối quan hệ (ERD) và sơ đồ lớp (Class Diagram) làm nền tảng cấu trúc cơ sở dữ liệu cho hệ thống.
Thiết kế và mô hình hóa hệ thống
1. Phân loại tác nhân (Actors)
Hệ thống phân định rõ ràng 3 nhóm tác nhân chính tham gia tương tác:
| STT |
Tên Actor |
Mô tả vai trò |
| 1 |
Khách hàng |
Tác nhân sử dụng các chức năng trực tiếp: đặt sân, theo dõi lịch, gọi món và thanh toán qua ứng dụng di động. |
| 2 |
Nhân viên |
Tác nhân thực hiện điều hành trực tiếp tại sân bóng: tiếp nhận khách, xử lý check-in/check-out, kiểm tra thiết bị và in hóa đơn. |
| 3 |
Quản trị viên |
Tác nhân quản lý toàn diện: thiết lập giá, quản lý người dùng, quản lý nhà cung cấp, kiểm soát hệ thống và xem báo cáo thống kê. |
2. Danh mục ca sử dụng và phân quyền hệ thống
Hệ thống thiết lập 24 ca sử dụng với ma trận phân quyền chi tiết cho từng tác nhân:
| Mã UC |
Tên Use Case |
Khách hàng |
Nhân viên |
Quản trị viên |
| UC01 |
Đặt sân |
X |
|
|
| UC02 |
Gọi món |
X |
|
|
| UC03 |
Thanh toán |
X |
|
|
| UC04 |
Quản lí đặt sân |
|
X |
X |
| UC06 |
Quản lí món ăn |
|
X |
X |
| UC07 |
Quản lý sân bóng |
|
X |
X |
| UC08 |
Quản lý danh sách khách hàng |
|
X |
X |
| UC09 |
Thiết lập giá sân bóng |
|
|
X |
| UC10 |
Đăng nhập |
X |
X |
X |
| UC11 |
Quản lý nhà cung cấp dịch vụ |
|
|
X |
| UC12 |
Quản lý báo cáo thống kê |
|
|
X |
| UC13 |
Quản lý check in |
|
X |
X |
| UC14 |
Quản lý check out |
|
X |
X |
| UC15 |
Quản lý thiết bị trong sân |
|
X |
X |
| UC16 |
Quản lý thời gian hoạt động |
|
X |
X |
| UC17 |
Xem thông tin cá nhân / Xem thông tin sân |
X |
|
|
| UC18 |
Quản lý danh sách nhân viên |
|
|
X |
| UC19 |
Quản lý chương trình khuyến mãi |
X |
|
X |
| UC20 |
In hóa đơn |
|
X |
|
| UC21 |
Xem tài khoản |
X |
|
|
| UC22 |
Xem lịch đặt sân |
X |
X |
|
| UC23 |
Xem thông tin người đặt |
|
X |
X |
| UC24 |
Quản lý thiết bị trong sân (báo cáo hỏng) |
|
X |
|
3. Quy tắc nghiệp vụ và đặc tả luồng xử lý chính
Tài liệu cung cấp bảng đặc tả cho các Use Case trọng tâm, định rõ luồng xử lý chuẩn (Standard process), luồng thay thế (Alternative process) và tình huống lỗi (Error situations):
- UC01 - Đặt sân: Khách hàng tra cứu lịch sân trống, lựa chọn khung giờ và loại sân trên ứng dụng, sau đó xác nhận đặt sân. Luồng thay thế cho phép hủy yêu cầu đặt trước khi hoàn tất. Trường hợp lỗi xảy ra khi toàn bộ khung giờ của sân đã đầy hoặc ứng dụng mất kết nối.
- UC03 - Thanh toán: Cho phép người dùng lựa chọn thanh toán trực tuyến qua ứng dụng hoặc thanh toán bằng tiền mặt tại quầy. Khi giao dịch thành công, hệ thống xuất hóa đơn điện tử cho tài khoản.
- UC04 - Quản lý đặt sân: Nhân viên tiếp nhận yêu cầu, hệ thống tự động lọc và hiển thị danh sách sân trống phù hợp để nhân viên sắp xếp và gửi xác nhận đến khách hàng. Nếu khách hủy đặt, tình trạng sân lập tức cập nhật về trạng thái "trống".
- UC09 - Thiết lập giá sân bóng: Quản trị viên cập nhật đơn giá theo các quy chuẩn loại sân: sân 5 người, sân 7 người và sân 11 người. Hệ thống bắt buộc nhập đủ 3 trường dữ liệu: loại sân, tên sân và giá tiền.
- UC13 & UC14 - Check in & Check out:
- Quy tắc Check-in: Khách hàng đến đúng giờ để nhận sân. Nếu khách đến trễ hơn 30 phút so với giờ đã đặt trước mà không thông báo, hệ thống kích hoạt luồng tự động hủy lịch đặt.
- Quy tắc Check-out: Xác nhận giờ kết thúc thuê sân. Trong trường hợp khách chơi vượt quá thời gian đã đăng ký, hệ thống tự động tính thêm phụ phí quá giờ vào hóa đơn tổng trước khi thanh toán.
- UC11 - Quản lý nhà cung cấp dịch vụ: Hỗ trợ quản trị viên theo dõi các chỉ số hiệu suất chính (KPI) nhằm đánh giá chất lượng sản phẩm, tiến độ giao hàng và mức độ đáp ứng hợp đồng của các đơn vị cung cấp trang thiết bị.
- UC12 - Quản lý báo cáo thống kê: Cung cấp các biểu mẫu thống kê chi tiết theo phân hệ: bán hàng, tồn kho, công nợ, báo cáo lãi lỗ kinh doanh, tổng hợp chi phí vận hành, tổng hợp doanh thu bán hàng và dòng tiền mặt.
4. Hệ thống biểu đồ kỹ thuật
Hồ sơ thiết kế bao gồm đầy đủ các sơ đồ kiến trúc và hành vi:
- Use Case Diagrams: Sơ đồ tổng quát toàn hệ thống và các sơ đồ phân rã theo từng nhóm vai trò (Diagram 1 - Khách hàng, Diagram 2 - Nhân viên, Diagram 3 - Quản trị viên).
- Sequence Diagrams: 10 biểu đồ tuần tự tương ứng với các luồng nghiệp vụ: Đặt sân (Hình 4), Gọi món (Hình 5), Thanh toán (Hình 6), Quản lý món ăn (Hình 7), Thiết lập giá sân (Hình 8), Quản lý thiết bị trong sân (Hình 9), Check-in (Hình 10), Check-out (Hình 11), Quản lý thời gian hoạt động (Hình 12), Quản lý nhà cung cấp dịch vụ (Hình 13).
- State Machine Diagram: Biểu diễn chu chuyển trạng thái của hệ thống và đối tượng sân bóng (Hình 14).
- Activity Diagrams: 10 sơ đồ hoạt động mô tả chi tiết từng bước rẽ nhánh: Đặt sân, Đăng nhập, Xóa tài khoản, Quản lý thông tin khách hàng, Báo cáo thống kê, Xem lịch đặt sân, Quản lý khuyến mãi, In hóa đơn, Quản lý danh sách nhân viên, Xem thông tin sân (Hình 15 - Hình 24).
- Mô hình cấu trúc dữ liệu: Sơ đồ quan hệ thực thể ERD (Hình 25) và Sơ đồ lớp Class Diagram (Hình 25) thể hiện cấu trúc thuộc tính và quan hệ giữa các bảng dữ liệu.
Nội dung chính theo từng chương
Báo cáo đồ án được cấu trúc thành các nội dung chính:
1. Mục tiêu và Định nghĩa
Trình bày tổng quan mục tiêu xây dựng tài liệu phân tích thiết kế chi tiết cho hệ thống quản lý đặt sân bóng. Cung cấp danh mục bảng viết tắt quy chuẩn cho toàn bộ tài liệu.
2. Phân tích yêu cầu và Mô tả dự án
Phân tích những bất cập của phương thức đặt sân thủ công qua điện thoại hoặc gặp trực tiếp. Trình bày yêu cầu người dùng đối với phần mềm di động: tra cứu tức thời tình trạng sân, hiển thị giá rõ ràng theo loại sân, cung cấp hình ảnh trực quan và khả năng đặt chỗ mọi lúc, mọi nơi. Xác định 3 tác nhân chính và lập bảng danh mục 24 ca sử dụng cùng ma trận phân quyền.
3. Đặc tả các Use Case
Chi tiết hóa từng ca sử dụng theo biểu mẫu chuẩn gồm: Tên UC, Mã UC, Mô tả tóm tắt, Actor kích hoạt, Điều kiện tiên quyết (Pre-condition), Hậu điều kiện (Post-condition), Luồng sự kiện chính (Standard process), Luồng sự kiện thay thế (Alternative process) và Trạng thái lỗi hệ thống (System state in error situation).
4. Thiết kế sơ đồ tuần tự (Sequence Diagram)
Xây dựng các biểu đồ tương tác tuần tự nhằm xác định trình tự gửi và nhận thông điệp giữa giao diện người dùng, bộ điều khiển và cơ sở dữ liệu đối với từng nghiệp vụ cụ thể.
5. Sơ đồ trạng thái (State Machine Diagram)
Mô hình hóa các trạng thái hoạt động của đối tượng sân bóng (trống, đã đặt, đang sử dụng, bảo trì/sửa chữa thiết bị) và các điều kiện kích hoạt chuyển trạng thái.
6. Sơ đồ hoạt động (Activity Diagram)
Mô tả trực quan luồng xử lý công việc dạng luồng điều khiển, các điểm rẽ nhánh điều kiện và các điểm kết thúc cho 10 ca sử dụng trọng yếu trong hệ thống.
7. Thiết kế dữ liệu (Sơ đồ ERD và Class Diagram)
Đặc tả các thực thể dữ liệu, thuộc tính khóa, mối quan hệ liên kết và cấu trúc các lớp đối tượng đảm bảo đáp ứng đầy đủ các yêu cầu lưu trữ và truy xuất thông tin của hệ thống.
8. Đánh giá và Phân công công việc
Tổng kết 10 hạng mục công việc đã hoàn thành và lập bảng theo dõi mức độ đóng góp chi tiết của từng thành viên trong nhóm dự án:
| Hạng mục công việc |
Vũ Tưởng Hoàng Đạt |
Đặng Minh Phúc |
Nguyễn Việt Tài |
Huỳnh Nguyễn Chí Linh |
Hồ Quốc Tâm |
| Mô tả hệ thống |
X |
X |
|
|
|
| Xác định các Actor |
X |
X |
X |
X |
|
| Vẽ UC cho từng actor |
X |
X |
X |
X |
|
| Vẽ UC tổng |
X |
|
|
|
(Không làm) |
| Đặc tả Use Case |
X |
X |
X |
X |
|
| Sequence Diagram |
X |
X |
X |
X |
|
| Activity Diagram |
X |
X |
X |
X |
|
| State Diagram |
X |
|
|
|
|
| Sơ đồ ERD |
X |
X |
|
|
|
| Kết luận & Báo cáo |
X |
|
|
|
|
Kết quả và đóng góp
Kết quả chính
- Hoàn thành toàn diện bộ tài liệu phân tích và thiết kế phần mềm cho hệ thống quản lý đặt sân bóng với đầy đủ 24 Use Cases và ma trận phân quyền cho 3 nhóm tác nhân.
- Xây dựng hệ thống 10 bảng đặc tả ca sử dụng chi tiết, bao gồm đầy đủ luồng chính, luồng phụ và kịch bản xử lý ngoại lệ thực tế (như trường hợp hủy đặt tự động khi trễ quá 30 phút, tính phụ phí khi chơi quá giờ, xử lý lỗi mất điện hoặc ngắt kết nối cơ sở dữ liệu).
- Thiết lập hệ thống mô hình hóa kỹ thuật hoàn chỉnh gồm: 3 sơ đồ Use Case phân rã, 10 sơ đồ tuần tự (Sequence Diagram), 1 sơ đồ máy trạng thái (State Machine Diagram), 10 sơ đồ hoạt động (Activity Diagram), sơ đồ quan hệ thực thể (ERD) và sơ đồ lớp (Class Diagram).
Đóng góp thực tiễn
- Chuẩn hóa quy trình nghiệp vụ đặt sân và quản trị sân bóng từ khâu tiếp nhận đặt chỗ, cung ứng dịch vụ đi kèm (gọi món), điều phối sân thực tế, kiểm soát trang thiết bị hư hỏng, đến quản lý nhà cung cấp và tổng hợp số liệu tài chính.
- Cung cấp khung thiết kế kiến trúc phần mềm rõ ràng, làm cơ sở kỹ thuật trực tiếp cho giai đoạn lập trình và triển khai ứng dụng thực tế trên thiết bị di động.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Tài liệu tập trung chủ yếu vào giai đoạn phân tích yêu cầu và thiết kế mô hình hóa hệ thống (Analysis & Design), chưa đi vào chi tiết mã nguồn triển khai thực tế (Implementation) và kiểm thử phần mềm (Testing).
- Một số quy trình xử lý lỗi hạ tầng phần cứng (như sự cố mất điện, lỗi hỏng ổ khóa vật lý tại sân) chỉ mới được ghi nhận ở mức kịch bản ngoại lệ trong tài liệu đặc tả, chưa có cơ chế dự phòng tự động trên phần mềm.
Hướng phát triển tiếp
- Tiến hành hiện thực hóa mã nguồn (coding) cho ứng dụng di động phía khách hàng và bảng điều khiển (dashboard) web cho quản trị viên.
- Xây dựng và tích hợp cổng thanh toán trực tuyến đa kênh.
- Hoàn thiện module tự động hóa thông báo qua tin nhắn/push notification khi đến giờ nhận sân hoặc khi đơn đặt sân có thay đổi.
Giá trị tham khảo
Báo cáo đồ án là tài liệu tham khảo phù hợp cho:
- Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm đang học các môn học Phân tích thiết kế phần mềm, Phân tích thiết kế hệ thống hướng đối tượng, hoặc đang chuẩn bị làm đồ án tốt nghiệp.
- Nhóm phát triển phần mềm muốn tham khảo mẫu tài liệu đặc tả yêu cầu phần mềm (SRS), cấu trúc ma trận phân quyền người dùng và cách thức thiết kế hệ thống sơ đồ UML (Use Case, Sequence, Activity, State, ERD, Class Diagram) cho các mô hình kinh doanh dịch vụ đặt chỗ trực tuyến.
Câu hỏi thường gặp
1. Hệ thống quản lý sân bóng này phục vụ những nhóm người dùng nào?
Hệ thống phân chia 3 nhóm tác nhân (Actors) rõ ràng: Khách hàng (sử dụng ứng dụng để tìm sân, đặt chỗ, gọi món, thanh toán), Nhân viên (điều hành tại sân, quản lý check-in/out, in hóa đơn, báo cáo thiết bị hỏng) và Quản trị viên (quản lý toàn diện giá sân, nhân viên, khách hàng, nhà cung cấp và báo cáo thống kê).
2. Quy tắc xử lý khi khách hàng đến trễ hoặc sử dụng sân quá giờ được quy định như thế nào?
Theo đặc tả nghiệp vụ:
- Tại ca sử dụng Check-in (UC13): Nếu khách hàng đến trễ quá 30 phút so với lịch đã đặt mà không thông báo, hệ thống sẽ tự động hủy lịch đặt sân đó.
- Tại ca sử dụng Check-out (UC14): Nếu khách hàng sử dụng sân vượt quá thời lượng đã đăng ký ban đầu, hệ thống sẽ tự động tính thêm chi phí phát sinh trước khi xuất hóa đơn thanh toán.
3. Hệ thống hỗ trợ quản lý những loại sân bóng nào và yêu cầu thiết lập giá ra sao?
Tại ca sử dụng UC09 (Thiết lập giá sân bóng), hệ thống hỗ trợ quản lý 3 loại sân chính gồm: sân 5 người, sân 7 người và sân 11 người. Khi tạo mới hoặc cập nhật bảng giá, quản trị viên bắt buộc phải cung cấp đầy đủ 3 thông tin: Loại sân, Tên sân và Giá tiền.
4. Báo cáo thống kê của hệ thống bao gồm những chỉ số và phân hệ nào?
Tại ca sử dụng UC12 (Quản lý báo cáo thống kê), phân hệ báo cáo dành cho Quản trị viên theo dõi các số liệu về: bán hàng, tồn kho, công nợ, báo cáo kết quả lãi/lỗ kinh doanh, tổng hợp chi phí vận hành, tổng hợp doanh thu bán hàng và dòng tiền mặt.
Kết luận
Báo cáo đồ án môn học "Xây dựng hệ thống quản lí đặt sân bóng" của sinh viên Khoa Công nghệ Thông tin - Trường Đại học Ngoại ngữ - Tin học TP.HCM đã hoàn thành đầy đủ nhiệm vụ phân tích và thiết kế hệ thống theo chuẩn UML. Đề tài giải quyết tốt bài toán chuyển đổi mô hình đặt sân truyền thống sang nền tảng kỹ thuật số thông qua hệ thống 24 ca sử dụng và các biểu đồ kỹ thuật chặt chẽ. Đây là bản thiết kế hoàn chỉnh, có giá trị học thuật và thực tiễn cao, tạo tiền đề vững chắc cho việc lập trình và triển khai ứng dụng thực tế.