UC_Nền tảng (Thông báo · Cài đặt · Audit)
Giới thiệu & tài liệu liên quan
Đặc tả Use Case cho 3 nghiệp vụ đại diện của module Nền tảng (F-04 · OW-10 · SYS-02), phủ ba trụ cột: Thông báo, Cài đặt và Audit log. Xem thêm Tổng quan module · SRS · UI.
UC1 — Tiếp nhận & cấu hình thông báo
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F04_NOTI_001 |
| Use Case Name | Tiếp nhận & cấu hình thông báo đa kênh |
| Use Case Description | Chủ sân / Quản lý ca nhận thông báo nghiệp vụ (booking mới, huỷ sân, kho thấp, nhắc kết ca) qua nhiều kênh và in-app inbox; mở thông báo để đi sâu vào đúng module, đánh dấu đã đọc, và tự cấu hình bật/tắt từng loại cùng giờ yên tĩnh (DND). |
| System Under Design | Notification Client · Notification Engine |
| Primary Actor | Quản lý ca |
| Supporting/External Actor | Chủ sân · Các module nghiệp vụ (phát sự kiện) |
| Priority | HIGH |
| Trigger | Một module nghiệp vụ phát sự kiện đáng chú ý, hoặc người dùng mở biểu tượng chuông thông báo |
| Pre-Condition | Người dùng đã đăng nhập; là người nhận theo phạm vi chi nhánh của sự kiện |
| Post-Condition | Thông báo hiển thị trong inbox với trạng thái đọc/chưa đọc; cấu hình kênh & giờ yên tĩnh được lưu |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Module nghiệp vụ | Phát sự kiện đáng chú ý (booking mới, huỷ sân, kho thấp, nhắc kết ca) |
| 2 | Notification Engine | Tra danh sách người nhận theo phạm vi chi nhánh, kiểm tra giờ yên tĩnh |
| 3 | Notification Engine | Gửi đa kênh (Push · SMS · Email · Zalo) và ghi thông báo vào inbox (chưa đọc, tăng badge) |
| 4 | Quản lý ca | Mở biểu tượng chuông, xem timeline thông báo |
| 5 | Quản lý ca | Nhấn một thông báo để deep link vào đúng màn hình module liên quan |
| 6 | Quản lý ca | Đánh dấu đã đọc (một thông báo hoặc tất cả) |
| 7 | Notification Client | Cập nhật badge chưa đọc; lưu cấu hình kênh & giờ yên tĩnh nếu người dùng chỉnh |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Đang trong giờ yên tĩnh (DND) → hoãn kênh đẩy ngoài ứng dụng nhưng vẫn ghi vào inbox để xem sau |
| 2 | AF_6A.1 | 6 | Người dùng mở cấu hình thông báo, bật/tắt theo từng loại và đặt khung giờ yên tĩnh |
| 3 | AF_4A.1 | 4 | Người dùng nhấn [Đánh dấu tất cả đã đọc] để xoá toàn bộ badge chưa đọc |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_6.1 | 6 | Người dùng cố tắt một loại thông báo bắt buộc → hệ thống không cho tắt và giữ nguyên trạng thái bật |
| 2 | EF_3.1 | 3 | Một kênh gửi tạm lỗi → các kênh còn lại và inbox vẫn nhận; thông báo không bị mất |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Người nhận thông báo được xác định theo phạm vi chi nhánh của sự kiện; người dùng chỉ thấy thông báo của mình |
| 2 | BR2 | Một số loại thông báo là bắt buộc, không cho phép tắt |
| 3 | BR3 | Giờ yên tĩnh chỉ hoãn kênh đẩy ngoài ứng dụng; thông báo vẫn được ghi vào inbox |
| 4 | BR4 | Thông báo trong inbox được lưu tối thiểu 30 ngày |
UC2 — Cấu hình cơ sở & chính sách huỷ
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F04_SET_002 |
| Use Case Name | Cấu hình cơ sở & chính sách huỷ / hoàn tiền |
| Use Case Description | Chủ sân cập nhật thông tin cơ sở (tên, logo, giờ hoạt động, múi giờ, thông tin thuế) và thiết lập chính sách huỷ/hoàn tiền theo mốc thời gian, % đặt cọc, tự duyệt booking; thay đổi chỉ áp cho booking tạo sau thời điểm lưu. |
| System Under Design | Settings Client · Settings API |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Module Đặt sân & POS (đọc cấu hình) |
| Priority | HIGH |
| Trigger | Chủ sân mở Cài đặt → tab Cơ sở / Chính sách |
| Pre-Condition | Người dùng có quyền chỉnh cài đặt nhạy cảm (Chủ sân) |
| Post-Condition | Cài đặt cơ sở & chính sách được lưu, đồng bộ tới các module và áp cho booking mới |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở Cài đặt, chọn tab Cơ sở hoặc Chính sách |
| 2 | Chủ sân | Cập nhật tên sân, logo, giờ mở/đóng theo ngày, múi giờ, thông tin thuế |
| 3 | Chủ sân | Thêm rule chính sách huỷ: mốc thời gian trước giờ chơi + % hoàn tiền |
| 4 | Chủ sân | Đặt % đặt cọc và bật/tắt tự duyệt booking |
| 5 | Chủ sân | Nhấn [Lưu] |
| 6 | Settings API | Kiểm tra hợp lệ, lưu cài đặt, ghi nhật ký và đồng bộ sang các module liên quan |
| 7 | Settings API | Áp cấu hình cho booking tạo sau thời điểm lưu |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chủ sân thêm nhiều mốc hoàn tiền (vd trước 24h hoàn 100%, dưới 2h hoàn 0%) → hệ thống xếp theo mốc thời gian |
| 2 | AF_4A.1 | 4 | Chủ sân bật tự duyệt booking → booking mới được duyệt tự động thay vì chờ thủ công |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_5.1 | 5 | Giờ mở cửa muộn hơn giờ đóng cửa → hệ thống báo lỗi khung giờ không hợp lệ |
| 2 | EF_5.2 | 5 | % hoàn / % đặt cọc nằm ngoài khoảng 0–100 → hệ thống báo lỗi tỉ lệ không hợp lệ |
| 3 | EF_1.1 | 1 | Người dùng không đủ quyền chỉnh cài đặt nhạy cảm → hệ thống ẩn nút lưu, chỉ cho xem |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR5 | Thay đổi chính sách không hồi tố booking đã tạo trước thời điểm lưu |
| 2 | BR6 | Giờ mở cửa phải sớm hơn giờ đóng cửa; % hoàn và % đặt cọc trong khoảng 0–100 |
| 3 | BR7 | Chỉ Chủ sân được chỉnh chính sách và cài đặt nhạy cảm; Quản lý ca chỉ xem thông tin cơ sở |
| 4 | BR8 | Mọi thay đổi cài đặt nhạy cảm đều ghi vào audit log |
UC3 — Điều tra qua audit log
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_F04_AUD_003 |
| Use Case Name | Điều tra sự cố qua audit log |
| Use Case Description | Chủ sân lọc nhật ký kiểm toán theo loại thao tác, người thực hiện và khoảng thời gian để điều tra ai đã đổi giá / huỷ booking / đăng nhập, mở chi tiết xem diff giá trị cũ → mới, và xuất CSV; nhật ký là immutable, không sửa/xoá. |
| System Under Design | Audit Client · Audit API |
| Primary Actor | Chủ sân |
| Supporting/External Actor | Quản lý ca (xem log nhân viên chi nhánh) |
| Priority | HIGH |
| Trigger | Chủ sân mở Audit log và áp bộ lọc điều tra |
| Pre-Condition | Người dùng có quyền xem audit log trong phạm vi của mình |
| Post-Condition | Danh sách log khớp bộ lọc hiển thị; chi tiết diff xem được; có thể xuất CSV |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Mở màn hình Audit log |
| 2 | Chủ sân | Chọn bộ lọc: Loại thao tác (vd Đổi giá), Người dùng, Khoảng ngày |
| 3 | Audit API | Truy vấn các bản ghi log immutable khớp bộ lọc |
| 4 | Audit Client | Hiển thị danh sách log kèm diff tóm tắt |
| 5 | Chủ sân | Mở chi tiết một bản ghi: giá trị cũ → mới, người thực hiện, IP, thời điểm |
| 6 | Chủ sân | (Tuỳ chọn) Xuất CSV kết quả theo bộ lọc |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_5A.1 | 5 | Chủ sân nhấn [Xuất CSV] → hệ thống xuất danh sách log theo bộ lọc hiện hành |
| 2 | AF_2A.1 | 2 | Quản lý ca mở audit log → hệ thống chỉ trả về log nhân viên trong chi nhánh được phân công |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Không có log khớp bộ lọc → hệ thống hiển thị danh sách rỗng kèm gợi ý nới lỏng điều kiện |
| 2 | EF_1.1 | 1 | Người dùng không có quyền xem audit log → hệ thống từ chối truy cập màn hình |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR9 | Audit log là append-only: không sửa, không xoá bản ghi |
| 2 | BR10 | Log lưu tối thiểu 5 năm phục vụ kiểm toán |
| 3 | BR11 | Mỗi bản ghi lưu người thực hiện, thao tác, diff cũ→mới, IP và thời điểm |
| 4 | BR12 | Phạm vi xem log giới hạn theo chi nhánh được phân công; Chủ sân xem toàn bộ |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Khả dụng | Thông báo đẩy gần như tức thì khi sự kiện phát sinh; badge & inbox cập nhật ngay |
| 2 | Phân quyền | Người nhận thông báo, phạm vi cài đặt và phạm vi xem audit đều giới hạn theo vai trò và chi nhánh được phân công |
| 3 | Truy vết | Mọi thao tác nhạy cảm (đổi giá, huỷ booking, đổi cài đặt, đăng nhập) đều ghi audit log với diff cũ→mới |
| 4 | Toàn vẹn | Audit log immutable (append-only), lưu tối thiểu 5 năm; lỗi một kênh gửi không làm mất thông báo |