UC_Gói & Đăng ký
Giới thiệu & tài liệu liên quan
Đặc tả Use Case cho 4 nghiệp vụ chính của module Gói & Đăng ký (CORE-15). Xem thêm Tổng quan module · SRS · UI.
UC1 — Định nghĩa gói & cờ tính năng
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_CORE15_PLN_001 |
| Use Case Name | Định nghĩa gói & cờ tính năng |
| Use Case Description | Người vận hành nền tảng tạo một gói tái sử dụng (dùng thử / thuê bao / vĩnh viễn) kèm thời hạn, thời gian ân hạn, hạn mức thiết bị và các cờ tính năng có kiểu để giấy phép phát hành từ gói sẽ cấp các quyền sử dụng đó. |
| System Under Design | Licensing Client · Licensing Server |
| Primary Actor | Người vận hành nền tảng |
| Supporting/External Actor | Chủ sân (người tiêu thụ danh mục gói) |
| Priority | HIGH |
| Trigger | Người vận hành nhấn [+ Thêm gói] trên màn hình danh mục gói |
| Pre-Condition | Người dùng đã đăng nhập và có quyền quản lý gói trong phạm vi licensing |
| Post-Condition | Gói mới được lưu kèm cờ tính năng; nếu đang hoạt động sẽ xuất hiện trong danh mục công khai |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Người vận hành | Nhấn [+ Thêm gói] trên danh mục gói |
| 2 | Người vận hành | Chọn kiểu gói: dùng thử / thuê bao / vĩnh viễn |
| 3 | Người vận hành | Nhập thời hạn, thời gian ân hạn tuỳ chọn, hạn mức thiết bị |
| 4 | Người vận hành | Gắn các cờ tính năng có kiểu (boolean / number / text / json) |
| 5 | Người vận hành | Nhấn [Lưu gói] |
| 6 | Licensing Server | Kiểm tra mã cờ duy nhất, lưu gói kèm cờ tính năng |
| 7 | Licensing Client | Hiển thị gói trong danh mục; nếu đang hoạt động thì phơi ra danh mục công khai |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Chọn kiểu vĩnh viễn → bỏ trống thời hạn; giấy phép phát hành từ gói này sẽ không hết hạn |
| 2 | AF_4A.1 | 4 | Vô hiệu hoá một cờ tính năng thay vì xoá → cờ phân giải về mặc định rỗng/tắt của kiểu nhưng vẫn lưu cấu hình |
| 3 | AF_5A.1 | 5 | Lưu trữ (xoá mềm) gói cũ → gói biến mất khỏi danh mục công khai nhưng giấy phép đã phát hành vẫn còn hiệu lực |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_5.1 | 5 | Hai cờ tính năng trùng mã trong cùng gói → hệ thống báo lỗi mã cờ phải duy nhất |
| 2 | EF_5.2 | 5 | Hạn mức thiết bị nhỏ hơn 0 → hệ thống báo lỗi giá trị không hợp lệ (để trống = không giới hạn) |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Gói có một trong ba kiểu: dùng thử, thuê bao, hoặc vĩnh viễn |
| 2 | BR2 | Gói vĩnh viễn không có thời hạn (không hết hạn) |
| 3 | BR3 | Mã của cờ tính năng phải duy nhất trong một gói |
| 4 | BR4 | Hạn mức thiết bị để trống nghĩa là không giới hạn thiết bị |
| 5 | BR5 | Gói chỉ được xoá mềm (lưu trữ), không bao giờ xoá cứng; chỉ gói đang hoạt động mới hiện trong danh mục công khai |
UC2 — Phát hành & quản lý vòng đời giấy phép
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_CORE15_LIC_002 |
| Use Case Name | Phát hành & quản lý vòng đời giấy phép |
| Use Case Description | Người vận hành phát hành giấy phép từ một gói, ràng buộc vào một cơ sở sân hoặc người dùng với khoá duy nhất, rồi điều khiển vòng đời: gia hạn, tạm ngưng, khôi phục, thu hồi; mỗi hành động được kiểm toán và cấp lại chứng chỉ. |
| System Under Design | Licensing Client · Licensing Server |
| Primary Actor | Người vận hành nền tảng |
| Supporting/External Actor | Chủ sân (chủ thể được ràng buộc) |
| Priority | HIGH |
| Trigger | Người vận hành nhấn [Phát hành giấy phép] và chọn gói nguồn |
| Pre-Condition | Đã tồn tại gói đang hoạt động; người dùng có quyền quản lý giấy phép |
| Post-Condition | Giấy phép có khoá duy nhất, trạng thái và chứng chỉ đã ký; mọi thay đổi vòng đời được ghi nhật ký |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Người vận hành | Chọn gói nguồn và chủ thể ràng buộc (cơ sở sân hoặc người dùng) |
| 2 | Người vận hành | Nhấn [Phát hành giấy phép] |
| 3 | Licensing Server | Sinh khoá giấy phép duy nhất, tính thời điểm hết hạn từ thời hạn + ân hạn, ký chứng chỉ |
| 4 | Người vận hành | Chọn hành động vòng đời: gia hạn / tạm ngưng / khôi phục / thu hồi |
| 5 | Licensing Server | Thực hiện hành động, cập nhật trạng thái và cấp lại chứng chỉ |
| 6 | Licensing Server | Ghi sự kiện vào nhật ký kiểm toán chỉ-thêm |
| 7 | Licensing Client | Hiển thị trạng thái và khoá giấy phép mới |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_5A.1 | 5 | Gia hạn một giấy phép đã hết hạn → khôi phục về hoạt động với kỳ hiệu lực mới bắt đầu từ bây giờ |
| 2 | AF_5B.1 | 5 | Đặt ghi đè theo giấy phép → ghi đè hạn mức thiết bị hoặc giá trị tính năng của gói cho riêng giấy phép này |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Gia hạn một giấy phép vĩnh viễn → hệ thống từ chối vì không có thời hạn để kéo dài |
| 2 | EF_4.2 | 4 | Gia hạn hoặc khôi phục một giấy phép đã thu hồi → hệ thống từ chối vì thu hồi là trạng thái cuối cùng |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR6 | Mỗi giấy phép ràng buộc vào đúng một chủ thể (cơ sở sân hoặc người dùng) với khoá duy nhất |
| 2 | BR7 | Trạng thái giấy phép gồm: hoạt động, tạm ngưng, hết hạn, thu hồi |
| 3 | BR8 | Không gia hạn được giấy phép vĩnh viễn (không có thời hạn) |
| 4 | BR9 | Thu hồi là cuối cùng; không thể gia hạn hay khôi phục sau khi thu hồi |
| 5 | BR10 | Mỗi thay đổi vòng đời đều ghi nhật ký kiểm toán và cấp lại chứng chỉ đã ký |
UC3 — Tự cấp gói dùng thử 14 ngày
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_CORE15_TRIAL_003 |
| Use Case Name | Tự cấp gói dùng thử 14 ngày miễn phí |
| Use Case Description | Chủ sân tự yêu cầu một giấy phép dùng thử 14 ngày miễn phí mà không cần người vận hành; nếu đã có gói dùng thử, hệ thống trả về giấy phép đang có thay vì tạo bản sao. |
| System Under Design | Licensing Client · Licensing Server |
| Primary Actor | Chủ sân |
| Supporting/External Actor | - |
| Priority | HIGH |
| Trigger | Chủ sân nhấn [Dùng thử miễn phí 14 ngày] trên danh mục gói công khai |
| Pre-Condition | Chủ sân đã đăng nhập; gói dùng thử đang hoạt động trong danh mục |
| Post-Condition | Chủ sân có một giấy phép dùng thử hợp lệ kèm chứng chỉ đã ký |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Chủ sân | Duyệt danh mục gói công khai |
| 2 | Chủ sân | Nhấn [Dùng thử miễn phí 14 ngày] |
| 3 | Licensing Server | Kiểm tra chủ sân chưa có gói dùng thử, phát hành giấy phép dùng thử và ký chứng chỉ |
| 4 | Licensing Server | Ghi sự kiện đã tạo vào nhật ký |
| 5 | Licensing Client | Thông báo dùng thử được kích hoạt cùng ngày hết hạn |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Chủ sân đã có một gói dùng thử → hệ thống trả về giấy phép dùng thử đang có, không tạo bản sao |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Không có gói dùng thử nào đang hoạt động trong danh mục → hệ thống báo chưa thể cấp dùng thử |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR11 | Mỗi chủ sân chỉ có duy nhất một gói dùng thử miễn phí |
| 2 | BR12 | Yêu cầu dùng thử lần hai trả về giấy phép đang có, không nhân đôi |
| 3 | BR13 | Giấy phép dùng thử có hiệu lực 14 ngày kể từ thời điểm phát hành |
UC4 — Kích hoạt thiết bị
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_CORE15_ACT_004 |
| Use Case Name | Kích hoạt thiết bị theo giấy phép |
| Use Case Description | Người vận hành (hoặc service tiêu thụ) ràng buộc một giấy phép vào thiết bị cụ thể bằng fingerprint; mỗi thiết bị duy nhất tiêu thụ một chỗ trong hạn mức thiết bị của gói, và có thể huỷ kích hoạt để giải phóng chỗ. |
| System Under Design | Licensing Client · Licensing Server |
| Primary Actor | Người vận hành nền tảng |
| Supporting/External Actor | Service tiêu thụ (máy POS · tablet quầy) |
| Priority | HIGH |
| Trigger | Một thiết bị yêu cầu kích hoạt trên một khoá giấy phép kèm fingerprint |
| Pre-Condition | Giấy phép đang ở trạng thái hoạt động |
| Post-Condition | Thiết bị được ràng buộc vào giấy phép và tiêu thụ một chỗ, hoặc tái dùng chỗ hiện có |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Service tiêu thụ | Gửi khoá giấy phép kèm fingerprint, nhãn, nền tảng thiết bị |
| 2 | Licensing Server | Xác nhận giấy phép đang hoạt động |
| 3 | Licensing Server | Kiểm tra hạn mức thiết bị còn chỗ; tiêu thụ một chỗ cho thiết bị mới |
| 4 | Licensing Server | Ghi sự kiện kích hoạt vào nhật ký |
| 5 | Licensing Client | Hiển thị thiết bị trong danh sách kích hoạt của giấy phép |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_2A.1 | 2 | Cùng thiết bị kích hoạt lại trên cùng giấy phép → tái dùng chỗ hiện có, không tiêu thụ chỗ mới |
| 2 | AF_2B.1 | 2 | Hạn mức thiết bị để trống → cho kích hoạt không giới hạn số thiết bị |
| 3 | AF_3A.1 | 3 | Huỷ kích hoạt một thiết bị → giải phóng chỗ để thiết bị khác nhận |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_1.1 | 1 | Giấy phép tạm ngưng / hết hạn / thu hồi / chưa bắt đầu → hệ thống từ chối kích hoạt |
| 2 | EF_2.1 | 2 | Thiết bị mới nhưng đã đạt hạn mức thiết bị → hệ thống từ chối, đề nghị huỷ kích hoạt một thiết bị khác |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR14 | Một chỗ cho mỗi cặp (giấy phép, fingerprint thiết bị) duy nhất |
| 2 | BR15 | Số chỗ thiết bị đang hoạt động không bao giờ vượt quá hạn mức thiết bị hiệu lực |
| 3 | BR16 | Hạn mức thiết bị để trống nghĩa là kích hoạt không giới hạn |
| 4 | BR17 | Chỉ kích hoạt được khi giấy phép đang ở trạng thái hoạt động |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Tin cậy ngoại tuyến | Chứng chỉ được ký Ed25519; các service khác xác minh ngoại tuyến, không gọi lại lúc chạy để cấp quyền |
| 2 | Phân quyền | Quản lý gói và giấy phép giới hạn theo permission trong phạm vi licensing; chủ sân chỉ thao tác trên giấy phép của chính mình |
| 3 | Truy vết | Mọi hành động vòng đời, kích hoạt và huỷ kích hoạt đều ghi nhật ký kiểm toán chỉ-thêm, sống sót sau khi giấy phép bị xoá |
| 4 | Toàn vẹn | Hết hạn được phát hiện lười lúc kiểm tra; mỗi thay đổi vòng đời cấp lại chứng chỉ để mọi bên tiêu thụ luôn đọc trạng thái mới nhất |