Skip to content

UC_Sản phẩm

Giới thiệu & tài liệu liên quan

Đặc tả Use Case cho 3 nghiệp vụ chính của module Sản phẩm (CORE-05). Xem thêm Tổng quan module · SRS · UI.


UC1 — Tạo sản phẩm & biến thể mặc định

MụcNội dung
Use Case IDUC_CORE05_PROD_001
Use Case NameTạo sản phẩm & biến thể mặc định
Use Case DescriptionChủ sân tạo một sản phẩm mới (đồ uống, dụng cụ hoặc item dịch vụ) với tên & mô tả đa ngôn ngữ, gán nhóm hàng, đính kèm hình ảnh và chọn kênh bán; hệ thống tự sinh định danh hệ thống và slug, đồng thời tạo một biến thể mặc định kèm bộ fare ngay trong cùng thao tác.
System Under DesignProduct Client · Product Server
Primary ActorChủ sân
Supporting/External ActorQuản lý ca
PriorityHIGH
TriggerChủ sân nhấn [+ Thêm sản phẩm] trên màn hình danh sách sản phẩm
Pre-ConditionNgười dùng đã đăng nhập và có quyền quản lý danh mục trong sân (merchant) đang chọn
Post-ConditionSản phẩm mới được lưu kèm định danh SYSTEM + SLUG, một biến thể mặc định và bộ fare; sản phẩm xuất hiện ngay trong danh sách và sẵn sàng để bán

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Chủ sânNhấn [+ Thêm sản phẩm] trên danh sách sản phẩm
2Product ClientMở form sản phẩm
3Chủ sânNhập tên & mô tả sản phẩm theo nhiều ngôn ngữ
4Chủ sânChọn nhóm hàng và đính kèm hình ảnh
5Chủ sânChọn các kênh bán sản phẩm sẽ hiển thị (quầy sân, đặt sân online)
6Chủ sânNhấn [Lưu sản phẩm]
7Product ServerKiểm tra hợp lệ, sinh định danh SYSTEM + SLUG (đảm bảo slug duy nhất trong sân)
8Product ServerTạo biến thể mặc định kèm bộ fare và liên kết kênh bán trong một thao tác liền mạch
9Product ClientHiển thị sản phẩm mới ngay trong danh sách

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_6A.16Slug suy ra từ tên đã tồn tại trong sân → hệ thống tự thêm hậu tố để đảm bảo slug duy nhất, không chặn lưu
2AF_4A.14Nhóm hàng cần dùng chưa có → Chủ sân nhấn [Quản lý nhóm hàng], tạo nhóm mới rồi quay lại gán cho sản phẩm
3AF_5A.15Chủ sân bỏ qua chọn ảnh; sản phẩm dùng ảnh mặc định cho tới khi cập nhật sau

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_6.16Thiếu tên sản phẩm → hệ thống đánh dấu trường thiếu và yêu cầu bổ sung
2EF_7.17Người dùng không có quyền quản lý danh mục trong sân → hệ thống chặn lưu và thông báo
3EF_8.18Một bước con (biến thể / bộ fare / kênh bán) thất bại → toàn bộ thao tác rollback, không lưu gì

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR1Một sản phẩm thuộc đúng một sân (merchant)
2BR2Slug sản phẩm phải duy nhất trong cùng một sân
3BR3Định danh SYSTEM và SLUG được tự sinh khi tạo sản phẩm
4BR4Mỗi sản phẩm mới luôn có một biến thể mặc định kèm bộ fare
5BR5Thao tác tạo là toàn vẹn: hoặc thành công trọn vẹn, hoặc không lưu gì

UC2 — Thêm biến thể & cấu hình fares

MụcNội dung
Use Case IDUC_CORE05_VAR_002
Use Case NameThêm biến thể & cấu hình fares
Use Case DescriptionChủ sân thêm một biến thể bán được cho sản phẩm (ví dụ vợt theo độ cứng, nước theo dung tích) với loại biến thể, đơn vị đo lường, định danh SKU/BARCODE/QRCODE, khoảng thời gian hiệu lực và quan hệ bundle; đồng thời cấu hình bộ fare gồm giá mặc định và các fare theo bậc (theo ngày, số lượng, kênh) — tất cả lưu liền mạch trong một thao tác.
System Under DesignProduct Client · Pricing Server
Primary ActorChủ sân
Supporting/External ActorQuản lý ca · Module Đơn hàng (POS)
PriorityHIGH
TriggerChủ sân nhấn [+ Thêm biến thể] trong form sản phẩm
Pre-ConditionSản phẩm đã tồn tại để gắn biến thể
Post-ConditionBiến thể mới được lưu kèm thông tin, định danh, bộ fare và fares; biến thể sẵn sàng được chọn khi bán

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Chủ sânTrong form sản phẩm, nhấn [+ Thêm biến thể]
2Chủ sânChọn loại biến thể (STORABLE / CONSUMABLE / SERVICE / KIT / COMBO / MANUFACTURED) và đơn vị bán
3Chủ sânGán định danh SKU / BARCODE / QRCODE nếu cần
4Chủ sânĐặt giá mặc định trong bộ fare; thêm fare theo bậc nếu cần
5Chủ sânNhấn [Lưu biến thể]
6Pricing ServerKiểm tra hợp lệ, lưu biến thể kèm thông tin, định danh, bộ fare và fares trong một thao tác liền mạch
7Product ClientBiến thể mới hiển thị trong danh sách biến thể của sản phẩm

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Chủ sân thêm fare theo bậc (override / discount) theo khoảng ngày, cửa sổ số lượng hoặc kênh → fare này được ưu tiên hơn giá mặc định khi đủ điều kiện
2AF_2A.12Chọn loại COMBO → Chủ sân phải khai báo ít nhất một biến thể thành phần kèm số lượng
3AF_3A.13Chủ sân thiết lập quan hệ bundle (combo / add-on / mua-kèm-thường-xuyên) với biến thể khác

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_5.15Barcode / SKU trùng trong sân hoặc lặp trong cùng yêu cầu → hệ thống báo lỗi định danh đã dùng
2EF_5.25Số tiền fare nhỏ hơn 0 → hệ thống báo lỗi giá không hợp lệ
3EF_6.16Biến thể COMBO khai báo không có thành phần → hệ thống từ chối kèm lý do, rollback toàn bộ thao tác

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR6Mỗi biến thể có đúng một bộ fare chứa ít nhất một fare mặc định
2BR7Số tiền fare phải bằng không hoặc dương
3BR8Định danh là duy nhất theo từng lược đồ (SKU / BARCODE / QRCODE) trong một sân
4BR9Không hai biến thể nào của một sản phẩm dùng chung một tổ hợp tùy chọn
5BR10Tạo / cập nhật biến thể aggregate là toàn vẹn: mọi lỗi quay lui toàn bộ thao tác

UC3 — Tra cứu & giải quyết giá tại quầy

MụcNội dung
Use Case IDUC_CORE05_LOOKUP_003
Use Case NameTra cứu sản phẩm & giải quyết giá tại quầy
Use Case DescriptionThu ngân tra cứu một biến thể tại quầy bằng định danh (SKU/BARCODE/QRCODE hoặc tìm theo tên); hệ thống kiểm tra khả dụng theo kênh và cửa sổ hiệu lực, rồi giải quyết giá áp dụng theo thứ tự override → discount → giá mặc định để thêm vào giỏ.
System Under DesignProduct Client · Pricing Server
Primary ActorThu ngân
Supporting/External ActorModule Đơn hàng (POS)
PriorityHIGH
TriggerThu ngân quét mã hoặc nhập định danh / tên sản phẩm tại quầy
Pre-ConditionSản phẩm đang khả dụng ở kênh bán tại quầy; Thu ngân được phân công sân tương ứng
Post-ConditionBiến thể được thêm vào giỏ với giá đã giải quyết; combo được bung thành phần nếu có

Sơ đồ luồng — Basic Flow & ngoại lệ

Basic Flow

Basic Flow

BướcActorMô tả hành động
1Thu ngânQuét mã hoặc nhập định danh / tên sản phẩm tại quầy
2Pricing ServerXác định biến thể, kiểm tra khả dụng theo kênh và cửa sổ hiệu lực
3Pricing ServerTải bộ fare của biến thể, lọc fares theo khoảng ngày + cửa sổ số lượng + kênh
4Pricing ServerGiải quyết giá áp dụng: nhóm override → discount đủ điều kiện thấp nhất → giá mặc định
5Product ClientThêm biến thể vào giỏ với giá đã giải quyết

Alternative Flow

Alternative Flow

TTLiên quan bướcMô tả
1AF_4A.14Biến thể là COMBO → hệ thống bung thành một dòng dẫn có giá cùng các dòng thành phần giá-không; số lượng thành phần nhân theo số lượng combo
2AF_5A.15Thu ngân gắn add-on / mua-kèm vào một dòng dẫn hiện có; add-on miễn phí, mua-kèm mang giá riêng

Exception Flow

Exception Flow

TTLiên quan bướcMô tả
1EF_1.11Mã / tên không khớp sản phẩm nào → hệ thống báo không tìm thấy
2EF_2.12Sản phẩm không gán kênh quầy hoặc ngoài cửa sổ hiệu lực → hệ thống báo không khả dụng
3EF_4.14Không có fare nào đủ điều kiện → hệ thống dùng giá mặc định (cơ bản)

Business Rules

Business Rules

TTQuy tắc nghiệp vụ
1BR11Thứ tự giải quyết giá: override → discount đủ điều kiện thấp nhất → giá mặc định
2BR12Cửa sổ ngày và cửa sổ số lượng lọc ứng viên fare trước khi giải quyết
3BR13Sản phẩm chỉ hiển thị tại một kênh khi được gán vào kênh đó
4BR14Combo được hệ thống bung phía máy chủ; thành phần combo không sửa trực tiếp

Non-Functional Requirements

Non-Functional Requirements

TTLoạiYêu cầu
1Khả dụngTạo sản phẩm, thêm biến thể, tra cứu tại quầy phản hồi tức thì; danh sách cập nhật ngay sau khi lưu
2Phân quyềnMọi thao tác liệt kê và chỉnh sửa được lọc theo vai trò và phạm vi sân (merchant) của người dùng
3Đa ngôn ngữTên & mô tả sản phẩm, nhóm hàng, kênh bán lưu theo nhiều ngôn ngữ
4Toàn vẹnThao tác aggregate hoặc thành công trọn vẹn hoặc không lưu gì; mọi bản ghi dùng soft-delete

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.