UC_Kho Hàng
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 Kho Hàng (OW-04). Xem thêm Tổng quan module · SRS · UI.
UC1 — Nhập kho thủ công
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW04_IMPORT_001 |
| Use Case Name | Nhập kho thủ công |
| Use Case Description | Quản lý ca tạo phiếu nhập kho để bổ sung hàng hoá: chọn sản phẩm, số lượng, giá nhập, nhà cung cấp và ghi chú; hệ thống cộng tồn từng dòng, lưu giá vốn và ghi nhật ký biến động. |
| System Under Design | Inventory Client · Inventory Server |
| Primary Actor | Quản lý ca |
| Supporting/External Actor | Chủ sân |
| Priority | HIGH |
| Trigger | Quản lý ca nhấn [Nhập kho] trên màn hình danh sách sản phẩm & tồn kho |
| Pre-Condition | Người dùng đã đăng nhập, có quyền thao tác kho trên chi nhánh được phân công; sản phẩm cần nhập đã có trong danh mục |
| Post-Condition | Tồn kho từng sản phẩm tăng đúng số lượng; giá vốn được cập nhật; nhật ký nhập kho được ghi lại |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Quản lý ca | Nhấn [Nhập kho] trên danh sách sản phẩm |
| 2 | Inventory Client | Mở phiếu nhập kho trống |
| 3 | Quản lý ca | Chọn sản phẩm, nhập số lượng, giá nhập, nhà cung cấp và ghi chú cho từng dòng |
| 4 | Quản lý ca | Nhấn [Lưu phiếu nhập] |
| 5 | Inventory Server | Kiểm tra hợp lệ, cộng tồn từng dòng, cập nhật giá vốn |
| 6 | Inventory Server | Ghi nhật ký nhập kho cho từng biến động |
| 7 | Inventory Client | Hiển thị phiếu nhập đã tạo và tồn kho cập nhật |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_3A.1 | 3 | Quản lý ca thêm nhiều dòng sản phẩm trong cùng một phiếu nhập trước khi lưu |
| 2 | AF_3B.1 | 3 | Sản phẩm cần nhập chưa có trong danh mục → Quản lý ca tạm dừng, thêm sản phẩm mới rồi quay lại phiếu nhập |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Số lượng nhập ≤ 0 hoặc giá nhập âm → hệ thống báo lỗi và yêu cầu chỉnh lại dòng |
| 2 | EF_4.2 | 4 | Phiếu chưa có dòng sản phẩm nào → hệ thống cảnh báo cần ít nhất một dòng trước khi lưu |
| 3 | EF_5.1 | 5 | Người dùng huỷ phiếu giữa chừng → không cộng tồn, không ghi nhật ký |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR1 | Mỗi dòng nhập bắt buộc có sản phẩm, số lượng lớn hơn 0 và giá nhập không âm |
| 2 | BR2 | Giá nhập gần nhất được lưu làm giá vốn phục vụ tính lợi nhuận |
| 3 | BR3 | Mỗi lần nhập kho đều ghi nhật ký biến động không thể chỉnh sửa (ai · khi nào · trước/sau) |
| 4 | BR4 | Tồn kho chỉ thay đổi khi phiếu được lưu thành công; lỗi giữa chừng sẽ hoàn tác toàn bộ |
UC2 — Kiểm kho & điều chỉnh tồn
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW04_STOCKTAKE_002 |
| Use Case Name | Kiểm kho & điều chỉnh tồn |
| Use Case Description | Quản lý ca mở bảng kiểm kho, nhập số lượng thực đếm cho từng sản phẩm; hệ thống tính chênh lệch so với tồn hệ thống, điều chỉnh tồn theo thực đếm và ghi nhật ký điều chỉnh. |
| System Under Design | Inventory Client · Inventory Server |
| Primary Actor | Quản lý ca |
| Supporting/External Actor | Chủ sân |
| Priority | HIGH |
| Trigger | Quản lý ca nhấn [Kiểm kho] trên màn hình danh sách sản phẩm & tồn kho |
| Pre-Condition | Người dùng có quyền thao tác kho trên chi nhánh được phân công |
| Post-Condition | Tồn kho được điều chỉnh khớp số thực đếm; báo cáo kiểm kho liệt kê các dòng chênh lệch; nhật ký điều chỉnh được ghi |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Quản lý ca | Nhấn [Kiểm kho] trên danh sách sản phẩm |
| 2 | Inventory Server | Trả về danh sách sản phẩm kèm tồn hệ thống hiện tại |
| 3 | Quản lý ca | Nhập số lượng thực đếm cho từng sản phẩm |
| 4 | Quản lý ca | Nhấn [Lưu kiểm kho] |
| 5 | Inventory Server | Tính chênh lệch giữa thực đếm và tồn hệ thống |
| 6 | Inventory Server | Điều chỉnh tồn theo thực đếm, ghi nhật ký điều chỉnh |
| 7 | Inventory Client | Hiển thị báo cáo kiểm kho với danh sách dòng chênh lệch |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_5A.1 | 5 | Thực đếm trùng khớp tồn hệ thống → không phát sinh điều chỉnh, kiểm kho đóng lại bình thường |
| 2 | AF_3A.1 | 3 | Quản lý ca chỉ kiểm một nhóm sản phẩm; các sản phẩm không nhập thực đếm giữ nguyên tồn |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_4.1 | 4 | Số thực đếm âm hoặc bỏ trống ở dòng đã chọn kiểm → hệ thống báo lỗi và yêu cầu chỉnh lại |
| 2 | EF_5.1 | 5 | Người dùng huỷ kiểm kho giữa chừng → không điều chỉnh tồn, không ghi nhật ký |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR5 | Tồn sau kiểm kho luôn bằng số thực đếm đã nhập |
| 2 | BR6 | Mọi điều chỉnh do kiểm kho đều ghi nhật ký kèm lý do và chênh lệch trước/sau |
| 3 | BR7 | Sản phẩm không nhập thực đếm trong đợt kiểm giữ nguyên tồn hiện tại |
UC3 — Bán hàng POS tự trừ tồn & cảnh báo tồn thấp
| Mục | Nội dung |
|---|---|
| Use Case ID | UC_OW04_SALE_003 |
| Use Case Name | Tự trừ tồn khi bán POS & cảnh báo tồn thấp |
| Use Case Description | Khi POS chốt đơn, Kho Hàng tự trừ tồn đúng số lượng bán, chống bán âm và ghi nhật ký; nếu tồn sau khi trừ rớt dưới ngưỡng cảnh báo, hệ thống gửi thông báo; khi đơn POS bị huỷ, tồn được hoàn lại đúng số lượng. |
| System Under Design | Inventory Client · Inventory Server |
| Primary Actor | Thu ngân |
| Supporting/External Actor | Module Bán hàng POS · Module Thông báo |
| Priority | HIGH |
| Trigger | Thu ngân xác nhận thanh toán một đơn trên POS |
| Pre-Condition | Sản phẩm đang được bật kinh doanh và có trong kho chi nhánh |
| Post-Condition | Tồn kho giảm đúng số lượng bán; nhật ký bán hàng được ghi; cảnh báo tồn thấp được gửi nếu vượt ngưỡng |
Sơ đồ luồng — Basic Flow & ngoại lệ
Basic Flow
Basic Flow
| Bước | Actor | Mô tả hành động |
|---|---|---|
| 1 | Thu ngân | Thêm sản phẩm vào đơn trên POS |
| 2 | Module Bán hàng POS | Lấy tồn hiện tại từ Kho Hàng, hiển thị chỉ báo mức tồn |
| 3 | Thu ngân | Xác nhận thanh toán |
| 4 | Inventory Server | Trừ tồn đúng số lượng bán, chống bán âm, ghi nhật ký bán hàng |
| 5 | Inventory Server | Nếu tồn dưới ngưỡng, kích hoạt cảnh báo qua Module Thông báo |
| 6 | Module Thông báo | Gửi push cảnh báo tồn thấp tới Quản lý ca / Chủ sân |
Alternative Flow
Alternative Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | AF_6A.1 | 6 | Đơn POS bị huỷ → Kho Hàng hoàn lại đúng số lượng đã trừ và ghi nhật ký hoàn kho |
| 2 | AF_2A.1 | 2 | Sản phẩm đang tắt kinh doanh → POS không hiển thị để bán dù vẫn còn tồn |
Exception Flow
Exception Flow
| TT | Mã | Liên quan bước | Mô tả |
|---|---|---|---|
| 1 | EF_3.1 | 3 | Tồn không đủ cho số lượng bán → hệ thống chặn bán âm và cảnh báo tồn không đủ |
| 2 | EF_4.1 | 4 | Tín hiệu trừ kho lặp lại cho cùng một đơn → hệ thống chỉ trừ một lần, không trừ trùng |
Business Rules
Business Rules
| TT | Mã | Quy tắc nghiệp vụ |
|---|---|---|
| 1 | BR8 | POS chốt đơn làm tồn kho tự giảm đồng thời, mặc định chống bán âm |
| 2 | BR9 | Huỷ đơn POS làm tồn kho tự cộng lại đúng số lượng đã bán |
| 3 | BR10 | Cùng một đơn bán chỉ trừ tồn một lần dù tín hiệu được gửi lại |
| 4 | BR11 | Cảnh báo tồn thấp kích hoạt khi tồn rớt xuống bằng hoặc dưới ngưỡng tối thiểu đã cấu hình |
Non-Functional Requirements
Non-Functional Requirements
| TT | Loại | Yêu cầu |
|---|---|---|
| 1 | Khả dụng | Tồn kho cập nhật theo thời gian thực; nhập kho, kiểm kho, trừ kho khi bán phản hồi tức thì trên danh sách sản phẩm |
| 2 | Phân quyền | Mọi thao tác chỉnh sửa kho giới hạn theo vai trò và phạm vi chi nhánh được phân công của người dùng |
| 3 | Truy vết | Mọi biến động tồn (nhập · xuất · bán · điều chỉnh · hoàn) đều ghi nhật ký không thể chỉnh sửa kèm số lượng trước/sau |
| 4 | Toàn vẹn | Cập nhật tồn diễn ra trọn vẹn; lỗi giữa chừng sẽ hoàn tác toàn bộ, không để tồn sai lệch |