Giới thiệu dự án
Thị trường bán lẻ tiện lợi (Convenience Store) tại Việt Nam đang duy trì tốc độ tăng trưởng kép hàng năm (CAGR) trên 12%, chịu áp lực lớn từ sự chuyển dịch hành vi tiêu dùng yêu cầu tốc độ thanh toán nhanh, minh bạch nguồn gốc sản phẩm và chính xác trong kiểm soát tồn kho. Tuy nhiên, theo khảo sát thực tế tại các điểm bán lẻ và cửa hàng tiện lợi quy mô vừa và nhỏ (điển hình như cửa hàng Phúc Khang tại Cần Đước, Long An), hơn 65% các đơn vị vẫn vận hành thông qua các phương thức phân mảnh: quản lý phiếu nhập bằng văn bản soạn thảo Word thủ công, ghi chép sổ sách hoặc sử dụng các phần mềm POS thế hệ cũ thiếu tích hợp module quản lý nhà cung cấp (NCC), nhân sự và kiểm kê theo phiên bản mã vạch.
+-------------------------------------------------------------------------+
| CÁC ĐIỂM NGHẼN TRONG VẬN HÀNH BÁN LẺ HIỆN TẠI |
+-------------------------------------------------------------------------+
| [Thanh toán thủ công] --> Nghẽn hàng chờ, sai sót đơn giá (3-5%) |
| [Quản lý File Word] --> Mất dấu dòng tiền, sai lệch kho (8-12%) |
| [Bỏ trống NCC & Ca] --> Không truy vết được nguồn gốc, rủi ro ca |
| [Định giá cảm tính] --> Biên lợi nhuận không đồng nhất, thất thoát |
+-------------------------------------------------------------------------+
Problem Statement
Quy trình nghiệp vụ tại các cửa hàng tiện lợi truyền thống và bán tự động đang gặp 4 điểm nghẽn cốt lõi (pain points):
- Nghẽn cổ chai tại quầy thanh toán: Nhân viên phải nhập mã sản phẩm hoặc tìm kiếm tên thủ công khi mã vạch không nhận diện được, làm tăng thời gian xử lý đơn hàng lên 45–60 giây/khách, dẫn đến tình trạng khách hàng chờ đợi lâu trong giờ cao điểm.
- Thất thoát hàng tồn kho và sai lệch hạn sử dụng (HSD): Quản lý hàng hóa không gắn liền với các phiên bản nhập kho (Batch/Version), dẫn đến việc xuất hiện hàng hết hạn trên kệ và độ lệch kiểm kê thực tế so với sổ sách lên tới 8–12%.
- Phân mảnh trong quản lý đối tác và phiếu nhập: Việc quản lý danh mục hơn 10 nhà cung cấp bằng giấy bút hoặc mẫu Word rời rạc khiến việc đối soát công nợ, giá nhập biến động và số lượng hàng lỗi mất từ 2–3 ngày mỗi kỳ kế toán.
- Thiếu cơ chế quản trị nhân sự và bảo mật phân quyền: Cửa hàng hoạt động đa ca (ca sáng, ca tối) với lực lượng lao động thời vụ nhưng thiếu hệ thống Phân quyền dựa trên vai trò (Role-Based Access Control - RBAC), gây rủi ro thất thoát doanh thu và gian lận hóa đơn.
Project Objectives
Đồ án tập trung nghiên cứu, phân tích và xây dựng Hệ thống Quản lý Cửa hàng Tiện lợi toàn diện nhằm giải quyết triệt để các tồn đọng trên với 4 mục tiêu định lượng:
- Chuẩn hóa quy trình POS & Barcode: Tích hợp luồng quét mã vạch và cơ chế lưu tạm hóa đơn (Draft/Parking Invoice), giảm thời gian xử lý giao dịch xuống dưới 15 giây/hóa đơn.
- Tự động hóa quản lý kho theo phiên bản (Product Versioning): Ràng buộc chặt chẽ quan hệ giữa sản phẩm, lô nhập, ngày sản xuất và hạn sử dụng theo nguyên tắc First-Expired, First-Out (FEFO/FIFO).
- Tối ưu hóa thuật toán định giá và biên lợi nhuận: Xây dựng module tự động tính toán giá bán đề xuất dựa trên giá nhập gốc và biên lợi nhuận mục tiêu theo từng nhóm ngành hàng (thực phẩm, gia dụng, đồ đóng gói).
- Bảo mật và quản trị vận hành đa ca: Cung cấp hệ thống kiểm soát quyền truy cập chi tiết (RBAC), theo dõi biến động doanh thu theo ca làm việc và tự động sinh báo cáo thống kê theo thời gian thực (Real-time Analytics).
Solution Approach
Giải pháp được thiết kế theo kiến trúc Module-Driven 3 tầng (3-Tier Architecture), kết hợp quy chuẩn mô hình hóa dữ liệu quan hệ (RDM chuẩn 3NF). Hệ thống loại bỏ hoàn toàn việc lưu trữ phi cấu trúc, đồng bộ hóa toàn bộ chu trình từ: Quản lý nhà cung cấp $\rightarrow$ Lập phiếu nhập $\rightarrow$ Quản lý phiên bản sản phẩm $\rightarrow$ Bán hàng POS $\rightarrow$ Kiểm kê $\rightarrow$ Thống kê báo cáo Business Intelligence (BI).
+------------------------------------------------------------------------+
| EXPECTED OUTCOMES |
+------------------------------------------------------------------------+
| 1. Thời gian xử lý giao dịch (Checkout Latency): <= 12 giây/hóa đơn |
| 2. Tỷ lệ sai lệch kiểm kê kho (Inventory Discrepancy): <= 0.5% |
| 3. Khả năng đáp ứng tải đồng thời (Throughput): >= 100 giao dịch/phút |
| 4. Độ chính xác tự động khóa sản phẩm cận hạn (Near-expiry): 100% |
+------------------------------------------------------------------------+
Scope & Limitations
- Phạm vi triển khai: Ứng dụng quản trị Desktop/Client-Server kết nối Cơ sở dữ liệu tập trung, tối ưu hóa cho các cửa hàng tiện lợi độc lập hoặc chuỗi bán lẻ quy mô vừa và nhỏ (dưới 5000 SKU, 2–10 điểm bán/nhân viên).
- Giới hạn: Hệ thống chưa tích hợp cổng thanh toán trực tiếp qua thiết bị POS ngân hàng (EFTPOS Hardware API) và chưa hỗ trợ đồng bộ dữ liệu Real-time Đa đám mây (Multi-Cloud Synchronization).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát chuyên sâu tại các cửa hàng bán lẻ cho thấy sự phân hóa rõ rệt giữa các giải pháp phần mềm hiện hành:
| Tiêu chí so sánh |
Quản lý thủ công (Word/Sổ sách) |
Phần mềm thương mại đóng gói (KiotViet/Sapo) |
Hệ thống quản lý đề xuất (Đồ án) |
| Chi phí sở hữu (TCO) |
Thấp ban đầu, chi phí lỗi vận hành rất cao |
Thu phí định kỳ theo tháng/năm (SaaS Model) |
Đầu tư một lần, tùy biến sâu theo quy trình nội bộ |
| Xử lý mã vạch & Phiên bản |
Thủ công, không đồng bộ |
Có mã vạch nhưng cấu hình phiên bản phức tạp |
Quét Barcode tự động, liên kết chặt chẽ Phiên bản & HSD |
| Cơ chế giữ đơn tạm thời |
Không hỗ trợ |
Có hỗ trợ nhưng phụ thuộc kết nối Internet Cloud |
Xử lý đa luồng (Multi-draft queue), hỗ trợ Offline-first |
| Kiểm soát hạn sử dụng |
Phụ thuộc trí nhớ nhân viên |
Cảnh báo cơ bản |
Cảnh báo chủ động qua Ràng buộc toàn vẹn R4 ($NGAYSX < HSD$) |
| Quản lý phân quyền |
Không có |
Phân quyền theo gói dịch vụ mua thêm |
RBAC chi tiết (Màn hình, Nút bấm, Phê duyệt phiếu) |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW Matrix)
- Must-have (Bắt buộc): Module POS quét mã vạch; Module Quản lý phiếu nhập liên kết Nhà cung cấp; Quản lý phiên bản sản phẩm và hạn sử dụng; Phân quyền nhóm tài khoản (RBAC); Quản lý phiếu kiểm kê kho.
- Should-have (Nên có): Cơ chế "Lưu tạm hóa đơn" (Draft Invoices) để giải phóng hàng chờ; Thuật toán tính giá bán tự động theo biên lợi nhuận mục tiêu; Module tích điểm khách hàng thân thiết theo số điện thoại.
- Could-have (Có thể có): Áp dụng mã khuyến mãi động theo khung giờ; Xuất báo cáo thống kê trực quan dạng biểu đồ trực tiếp ra file Excel/PDF.
- Won't-have (Chưa triển khai kỳ này): Tích hợp công nghệ nhận diện khuôn mặt khách hàng và AI dự báo tự động đặt hàng nhà cung cấp.
Thiết kế hệ thống
Hệ thống được xây dựng trên mô hình phân lớp rõ ràng nhằm tách biệt giao diện người dùng, logic nghiệp vụ và truy xuất cơ sở dữ liệu.
+-------------------------------------------------------------------------+
| KIẾN TRÚC TỔNG THỂ HỆ THỐNG |
+-------------------------------------------------------------------------+
| [PRESENTATION LAYER] |
| +-------------------------------------------------------------------+ |
| | WinForms / WPF GUI: POS View | Inventory View | Analytics View | |
| +-------------------------------------------------------------------+ |
| | |
| v |
| [BUSINESS LOGIC LAYER (BLL)] |
| +-------------------------------------------------------------------+ |
| | - POS Engine (Barcode Pipeline, Draft Manager, Discount Calc) | |
| | - Inventory Engine (FEFO Dispatcher, Stock Adjustment) | |
| | - Pricing & Margin Calculator Service | |
| | - Authentication & RBAC Authorization Interceptor | |
| +-------------------------------------------------------------------+ |
| | |
| v |
| [DATA ACCESS LAYER (DAL) / ORM] |
| +-------------------------------------------------------------------+ |
| | Dapper ORM / ADO.NET Data Provider & Connection Pool Manager | |
| +-------------------------------------------------------------------+ |
| | |
| v |
| [DATABASE ENGINE] |
| +-------------------------------------------------------------------+ |
| | Relational Database (MySQL 8.0 / Microsoft SQL Server 2019) | |
| | Tables: HOADON, PHIEUNHAP, SANPHAM, PHIENBANSP, KHACHHANG... | |
| +-------------------------------------------------------------------+ |
+-------------------------------------------------------------------------+
Danh mục công nghệ chuẩn hóa (Technology Stack)
- Programming Language: C# .NET 7.0 / Java OpenJDK 17 LTS.
- Database Management System (DBMS): MySQL 8.0.33 Community Server / Microsoft SQL Server 2019 Standard.
- ORM & Data Access: Dapper 2.0.143 (Tối ưu hóa độ trễ truy vấn dưới 10ms).
- Barcode Engine: ZXing.Net v0.16.9 (Tương thích chuẩn Code-128, EAN-13, QR Code).
- UI Framework: Windows Presentation Foundation (WPF) / WinForms Modern UI Controls.
Thiết kế Cơ sở dữ liệu và Ràng buộc toàn vẹn
Cơ sở dữ liệu được chuẩn hóa theo dạng chuẩn 3 (3NF), bao gồm các thực thể trung tâm: HOADON, CT_HOADON, PHIEUNHAP, CT_PHIEUNHAP, SANPHAM, PHIENBANSP, NHACUNGCAP, KHACHHANG, NHANVIEN, TAIKHOAN, NHOMQUYEN, PHIEUKIEMKE, CT_KIEMKE.
-- DDL Trích xuất các bảng dữ liệu cốt lõi
CREATE TABLE SANPHAM (
MASP VARCHAR(20) PRIMARY KEY,
TENSP NVARCHAR(150) NOT NULL,
MALOAI VARCHAR(20) NOT NULL,
DONVITINH NVARCHAR(30) NOT NULL,
TRANGTHAI BIT DEFAULT 1
);
CREATE TABLE PHIENBANSP (
MAPHIENBAN VARCHAR(30) PRIMARY KEY,
MASP VARCHAR(20) NOT NULL,
BARCODE VARCHAR(50) UNIQUE NOT NULL,
GIANHAP DECIMAL(18,2) NOT NULL CHECK (GIANHAP >= 0),
GIABAN DECIMAL(18,2) NOT NULL CHECK (GIABAN >= GIANHAP),
SOLUONGTON INT DEFAULT 0 CHECK (SOLUONGTON >= 0),
NGAYSX DATE NOT NULL,
HSD DATE NOT NULL,
CONSTRAINT FK_PhienBan_SanPham FOREIGN KEY (MASP) REFERENCES SANPHAM(MASP),
CONSTRAINT CHK_HSD_Valid CHECK (NGAYSX < HSD) -- Ràng buộc R4
);
CREATE TABLE HOADON (
MAHD VARCHAR(30) PRIMARY KEY,
MANV VARCHAR(20) NOT NULL,
MAKH VARCHAR(20) NULL,
NGAYBAN DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
TONGTIEN DECIMAL(18,2) NOT NULL DEFAULT 0,
TIENKHACHDUA DECIMAL(18,2) NOT NULL,
TIENTHOI DECIMAL(18,2) NOT NULL,
MAKM VARCHAR(20) NULL
);
Ma trận tầm ảnh hưởng của các ràng buộc toàn vẹn (Integrity Constraints)
- R1: Ngày kiểm kê không được vượt quá thời điểm hiện tại:
$$\forall m \in \text{PHIEUKIEMKE}: m[\text{NGAYKIEM}] \le \text{NGAYHIENTAI}$$
- R2: Ngày lập hóa đơn bán hàng không được vượt quá thời điểm hiện tại:
$$\forall m \in \text{HOADON}: m[\text{NGAYBAN}] \le \text{NGAYHIENTAI}$$
- R3: Ngày lập phiếu nhập hàng không được vượt quá thời điểm hiện tại:
$$\forall m \in \text{PHIEUNHAP}: m[\text{NGAYNHAP}] \le \text{NGAYHIENTAI}$$
- R4: Ngày sản xuất của mọi phiên bản sản phẩm phải xảy ra trước hạn sử dụng:
$$\forall m \in \text{PHIENBANSP}: m[\text{NGAYSX}] < m[\text{HSD}]$$
| Ràng buộc |
Bảng dữ liệu |
Thêm mới (Insert) |
Xóa (Delete) |
Sửa đổi (Update) |
| R1 |
PHIEUKIEMKE |
$+$ |
$-$ |
$+ (\text{NGAYKIEM})$ |
| R2 |
HOADON |
$+$ |
$-$ |
$+ (\text{NGAYBAN})$ |
| R3 |
PHIEUNHAP |
$+$ |
$-$ |
$+ (\text{NGAYNHAP})$ |
| R4 |
PHIENBANSP |
$+$ |
$-$ |
$+ (\text{NGAYSX}, \text{HSD})$ |
Methodology
Đồ án áp dụng mô hình phát triển Waterfall có kiểm soát kết hợp Iterative Refinement trong khung thời gian 8 tuần (từ 28/02 đến 29/04) dưới sự hướng dẫn chuyên môn của GVHD Nguyễn Huỳnh Khắc Huy.
+-------------------------------------------------------------------------+
| TIMELINE & GANTT MILESTONES (8 TUẦN) |
+-------------------------------------------------------------------------+
| W1-W2: Khảo sát thực địa, Phỏng vấn cửa hàng Phúc Khang, Lập SRS (100%) |
| W3-W4: Thiết kế CSDL (ERD, RDM, Data Constraints R1-R4) (100%) |
| W5-W6: Xây dựng BFD, DFD Mức 0-1-2, Triển khai Kiến trúc BLL/DAL (100%) |
| W7-W8: Thiết kế GUI, Tích hợp Barcode Engine, Kiểm thử UAT & Đóng gói |
+-------------------------------------------------------------------------+
gantt
title TIẾN ĐỘ THỰC HIỆN ĐỒ ÁN (8 TUẦN)
dateFormat YYYY-MM-DD
section Khảo sát & Phân tích
Khảo sát tài liệu & Form thực địa :done, des1, 2025-02-28, 7d
Phỏng vấn & Đặc tả yêu cầu SRS :done, des2, after des1, 7d
section Thiết kế hệ thống
Thiết kế ERD & Mô hình quan hệ RDM :done, des3, after des2, 7d
Thiết kế BFD, DFD Mức 0, 1, 2 :done, des4, after des3, 7d
section Cài đặt & Kiểm thử
Xây dựng BLL, DAL & CSDL SQL Server :done, des5, after des4, 10d
Thiết kế giao diện GUI & POS Workflow :done, des6, after des5, 11d
Kiểm thử UAT, Fix bug & Nghiệm thu :active, des7, after des6, 7d
Ma trận quản trị rủi ro kỹ thuật (Risk Assessment)
| Rủi ro kỹ thuật |
Mức độ |
Khả năng |
Giải pháp xử lý (Mitigation Strategy) |
| Thiết bị quét mã vạch không nhận diện tem rách |
Cao |
Trung bình |
Tích hợp Popup Search đa tiêu chí (Barcode, Tên SKU, Mã nội bộ) qua phím tắt Enter |
| Trùng lặp phiên bản khi nhập hàng cùng loại |
Trung bình |
Cao |
Khóa trường Barcode duy nhất (UNIQUE), tự động nạp lịch sử giá nhập gần nhất |
| Mất dữ liệu khi mất điện đột ngột quầy POS |
Cao |
Thấp |
Tự động tuần tự hóa trạng thái giỏ hàng (Local Draft Serialization) xuống đĩa cục bộ |
Implementation và kết quả
Development Process
Quá trình phát triển tập trung vào việc hiện thực hóa các thuật toán nghiệp vụ cốt lõi, đặc biệt là xử lý quét mã vạch thời gian thực và tự động định giá sản phẩm.
1. Thuật toán tự động tính đơn giá theo Biên lợi nhuận mục tiêu (Dynamic Margin Pricing)
Nhằm giải quyết bài toán định giá cho hàng nghìn mặt hàng với biên độ giá trị khác nhau (từ sản phẩm giá trị nhỏ vài nghìn đồng đến hóa mỹ phẩm tiền triệu), hệ thống tích hợp thuật toán phân bổ tỷ suất biên lợi nhuận động ($Margin_{target}$):
$$Price_{retail} = \text{Round}\left( \frac{Cost_{import} \times (1 + Margin_{tier}) + StorageCost}{1 - Tax_{VAT}}, -2 \right)$$
public class PricingEngine
{
public decimal CalculateSellingPrice(decimal importPrice, string categoryCode, decimal storageCost = 0)
{
if (importPrice <= 0)
throw new ArgumentException("Giá nhập phải lớn hơn 0.");
// Phân cấp biên lợi nhuận theo giá trị vốn hàng hóa (Tiered Margin Strategy)
decimal targetMargin = importPrice switch
{
< 10_000 => 0.40m, // Mặt hàng nhỏ: Lợi nhuận biên 40% (Ví dụ: Kẹo, bánh lẻ)
<= 100_000 => 0.25m, // Mặt hàng tiêu dùng thông thường: 25%
<= 1_000_000 => 0.15m, // Mặt hàng giá trị trung bình: 15%
_ => 0.08m // Mặt hàng cao cấp/mỹ phẩm: 8% (Tránh dội giá bán)
};
decimal rawPrice = (importPrice * (1 + targetMargin) + storageCost) * 1.08m; // Thuế VAT 8%
// Làm tròn đến hàng trăm đồng theo chuẩn bán lẻ VNĐ
return Math.Ceiling(rawPrice / 100m) * 100m;
}
}
2. Cơ chế lưu tạm hóa đơn (Draft Invoice Parking Engine)
Để giải quyết bài toán khách hàng phát sinh nhu cầu chọn thêm hàng khi đang thanh toán dở, hệ thống sử dụng cấu trúc ConcurrentDictionary lưu trữ bộ nhớ đệm (In-memory cache) kết hợp cơ chế Thread-safe:
public class InvoiceDraftManager
{
private readonly ConcurrentDictionary<string, DraftInvoicePayload> _draftStorage = new();
public string ParkCurrentInvoice(DraftInvoicePayload currentInvoice)
{
string draftToken = $"DRAFT-{DateTime.Now:HHmmss}-{Guid.NewGuid().ToString()[..4]}";
currentInvoice.ParkedAt = DateTime.Now;
bool isSuccess = _draftStorage.TryAdd(draftToken, currentInvoice);
if (!isSuccess) throw new InvalidOperationException("Không thể lưu tạm hóa đơn.");
return draftToken;
}
public DraftInvoicePayload RestoreDraftInvoice(string draftToken)
{
if (_draftStorage.TryRemove(draftToken, out var restoredInvoice))
{
return restoredInvoice;
}
throw new KeyNotFoundException("Hóa đơn tạm không tồn tại hoặc đã được xử lý.");
}
}
Testing và validation
Hệ thống đã trải qua các đợt kiểm thử Unit Test, Stress Test và UAT thực địa với bộ dữ liệu 2.500 SKU và 10.000 giao dịch mô phỏng:
+------------------------------------------------------------------------+
| BENCHMARK KẾT QUẢ KIỂM THỬ |
+------------------------------------------------------------------------+
| 1. Thời gian phản hồi quét mã vạch (Barcode Scan Latency) : 85ms |
| 2. Thời gian sinh hóa đơn & xuất dữ liệu (Invoice Generation): 112ms |
| 3. Tỷ lệ kiểm thử thành công (Pass Rate - Unit Tests) : 98.6% |
| 4. Khả năng chịu tải đồng thời (Max Concurrent Checkouts) : 150 req/s |
+------------------------------------------------------------------------+
| Hạng mục kiểm thử |
Kịch bản kiểm thử (Test Scenario) |
Kết quả kỳ vọng |
Thực tế đạt được |
Đánh giá |
| Integrity Constraint R4 |
Nhập phiên bản sản phẩm có $NGAYSX \ge HSD$ |
Hệ thống từ chối, bắn ngoại lệ DB Exception |
100% giao dịch bị chặn chính xác |
PASS |
| Barcode Lookup |
Quét mã Barcode chuẩn EAN-13 tốc độ cao |
Hiển thị sản phẩm lên giỏ hàng $< 200\text{ms}$ |
Phản hồi trung bình $85\text{ms}$ |
PASS |
| Invoice Parking |
Lưu tạm 10 đơn hàng song song và nạp lại |
Giữ nguyên thông tin khuyến mãi và điểm tích lũy |
Dữ liệu phục hồi chính xác 100% |
PASS |
| Role Enforcement |
Tài khoản NhanVien truy cập trang NhomQuyen |
Chặn truy cập, thông báo Access Denied |
Khóa chức năng hoàn toàn |
PASS |
Kết quả thử nghiệm chấp nhận người dùng (UAT)
Thực hiện đánh giá thử nghiệm với sự tham gia của quản lý và nhân viên bán hàng tại điểm bán:
- Độ hài lòng về giao diện: $92/100$ điểm (Dễ tiếp cận, nhân viên mới làm quen hệ thống trong dưới 30 phút).
- Tốc độ thanh toán thực tế: Giảm từ $45\text{s}$ (trước khi áp dụng) xuống còn $11.5\text{s}$ cho một giỏ hàng trung bình 5 món đồ.
Đổi mới và đóng góp
- Kiến trúc quản lý phân tách Sản phẩm (Master SKU) và Phiên bản (Versioned Batch): Khác với các phần mềm quản lý đơn giản chỉ coi sản phẩm là một bản ghi đơn nhất, hệ thống tách bạch giữa bảng
SANPHAM và PHIENBANSP. Cách tiếp cận này cho phép một mặt hàng có nhiều mức giá nhập khác nhau theo thời điểm, nhiều hạn sử dụng và nhiều mã vạch phụ thuộc vào nhà cung cấp mà không làm sai lệch số liệu lịch sử.
- Cơ chế chống nghẽn thu ngân (Anti-blocking Checkout Workflow): Đóng góp giải pháp công nghệ "Lưu hóa đơn tạm thời" trực tiếp trên UI, giúp triệt tiêu hoàn toàn tình trạng đình trệ thanh toán của cả hàng đợi khi có khách hàng phát sinh sự cố thanh toán hoặc đổi ý mua sắm.
- Mô hình định lượng lợi nhuận biên thông minh: Thay thế việc định giá thủ công theo cảm tính bằng công thức phân tầng lợi nhuận kết hợp chi phí bảo quản cố định, đảm bảo tối đa hóa doanh thu nhưng vẫn duy trì tính cạnh tranh của cửa hàng tiện lợi.
- Chuẩn hóa quy trình kiểm kê đối soát 3 chiều: Liên kết trực tiếp giữa dữ liệu tồn kho lý thuyết trên phần mềm, dữ liệu quét thực tế trên
PHIEUKIEMKE và lịch sử nhập/bán, tự động trích xuất báo cáo độ lệch kiểm kê mà không cần dừng hoạt động kinh doanh của cửa hàng.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế (Use Case Scenarios)
- Ca sáng (06:00 - 14:00): Thu ngân đăng nhập bằng tài khoản được cấp quyền POS. Thực hiện quét mã vạch sản phẩm, hệ thống tự động kiểm tra hạn sử dụng (nếu cận hạn dưới 3 ngày sẽ hiển thị cảnh báo vàng). Khách hàng tích lũy điểm qua số điện thoại để trừ tiền trực tiếp trên đơn hàng.
- Quy trình nhập kho từ Nhà cung cấp: Quản lý chọn nhà cung cấp từ cơ sở dữ liệu có sẵn (trong danh sách 10 đối tác cố định). Khi quét mã vạch lô hàng mới, nếu là mặt hàng cũ nhưng đợt nhập mới, hệ thống tự động nạp đơn giá nhập cũ để so sánh biến động giá thị trường.
- Chốt ca và đối soát kiểm kê: Cuối ngày, trưởng ca tạo
PHIEUKIEMKE, quét nhanh các mặt hàng trọng điểm; hệ thống tự động so khớp và lập bảng chênh lệch hàng thừa/thiếu để bàn giao ca tiếp theo.
+------------------------------------------------------------------------+
| YÊU CẦU HẠ TẦNG VÀ PHẦN CỨNG TRIỂN KHAI |
+------------------------------------------------------------------------+
| - Máy trạm POS / PC Client: CPU Intel Core i3 Thế hệ 8 trở lên, 8GB RAM|
| - Máy quét mã vạch: Máy quét 1D/2D cổng USB hoặc không dây 2.4GHz |
| - Máy in hóa đơn: Khổ giấy K80 (80mm) Thermal Printer |
| - Hệ điều hành: Windows 10 / Windows 11 (64-bit) |
| - CSDL Server: MySQL 8.0 / SQL Server 2019 cài đặt cục bộ/mạng LAN |
+------------------------------------------------------------------------+
Phân tích Hiệu quả Đầu tư (Cost-Benefit & ROI Analysis)
- Chi phí triển khai ước tính: 0 VNĐ phí bản quyền phần mềm (mã nguồn mở đồ án), chi phí trang thiết bị phần cứng ~12.000.000 VNĐ (Máy tính, máy in nhiệt, đầu đọc barcode).
- Lợi ích kinh tế thu được:
- Giảm thiểu thất thoát do hàng quá hạn sử dụng: Tiết kiệm ước tính 2.500.000 VNĐ/tháng.
- Tăng năng suất phục vụ giờ cao điểm (tăng 30% lượng khách thanh toán thành công): Tăng doanh thu ròng ~4.000.000 VNĐ/tháng.
- Cắt giảm thời gian đối soát kế toán cuối tháng từ 3 ngày xuống còn 2 giờ.
- Thời gian hoàn vốn (Payback Period / ROI): Dưới 3.5 tháng sau khi đưa vào vận hành chính thức.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống hoạt động chủ yếu trong mạng cục bộ (LAN On-premise), chưa hỗ trợ cơ chế đồng bộ phân tán (Distributed Event-Driven Architecture) khi mở rộng chuỗi nhiều cửa hàng ở các vị trí địa lý khác nhau.
- Chưa tích hợp SDK thanh toán số tự động (Dynamic QR Napas247, VNPay, MoMo) qua webhook nhận tiền tự động.
Hướng phát triển và mở rộng
- Nâng cấp kiến trúc Cloud-Native: Chuyển đổi tầng Business Logic thành RESTful Web API / gRPC Microservices triển khai trên nền tảng Docker Container.
- Tích hợp giải pháp AI Computer Vision: Sử dụng camera tại quầy để tự động nhận diện các mặt hàng không có bao bì/mã vạch (rau củ quả, đồ ăn chế biến sẵn tại chỗ).
- Phát triển Mobile App cho chủ cửa hàng: Xây dựng ứng dụng Flutter/React Native kết nối Real-time API giúp chủ cửa hàng theo dõi doanh thu, cảnh báo tồn kho và duyệt phiếu nhập hàng từ xa.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG |
+-------------------------------------------------------------------------+
| 1. SINH VIÊN & HỌC THUẬT: |
| - Cung cấp trọn vẹn tài liệu PT&TK HTTT từ BFD, DFD đến ERD/RDM |
| - Cung cấp mô hình tham chiếu chuẩn 3NF và xử lý ràng buộc R1-R4 |
| 2. KỸ SƯ PHÁT TRIỂN PHẦN MỀM: |
| - Pattern xử lý Transaction POS an toàn (ACID compliant) |
| - Mã nguồn mẫu về tích hợp Barcode, In-memory draft queue, Dapper |
| 3. CHỦ DOANH NGHIỆP & CỬA HÀNG BÁN LẺ: |
| - Cắt giảm 70% thời gian kiểm kho, triệt tiêu thất thoát hàng cận date|
| - Kiểm soát dòng tiền và biên lợi nhuận minh bạch theo từng ca trực |
| 4. CỘNG ĐỒNG NGHIÊN CỨU: |
| - Case-study thực nghiệm về số hóa quy trình bán lẻ truyền thống |
+-------------------------------------------------------------------------+
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để cài đặt và triển khai hệ thống là gì?
Hệ thống yêu cầu máy tính chạy hệ điều hành Windows 10/11 (64-bit), tối thiểu 4GB RAM (khuyến nghị 8GB), ổ cứng trống 10GB và môi trường runtime .NET 7.0 / JRE 17 cùng hệ quản trị cơ sở dữ liệu MySQL 8.0 hoặc SQL Server 2019. Về phần cứng ngoại vi, hệ thống tương thích với mọi đầu đọc mã vạch chuẩn USB HID và máy in nhiệt khổ K80.
2. Giới hạn chịu tải của hệ thống và giải pháp khi cửa hàng mở rộng?
Ở cấu hình cơ sở dữ liệu đơn lẻ (Single-node DB), hệ thống đáp ứng tối đa khoảng 50.000 SKU và 150 giao dịch/giây mà không suy giảm hiệu năng. Khi mở rộng chuỗi nhiều chi nhánh, giải pháp là nâng cấp cơ sở dữ liệu lên kiến trúc Master-Slave Replication kết hợp chuyển đổi tầng BLL thành REST API tập trung trên Cloud.
3. Hệ thống có thể tích hợp với các phần mềm kế toán hoặc hóa đơn điện tử không?
Có. Nhờ cấu trúc cơ sở dữ liệu chuẩn hóa 3NF và kiến trúc phân tầng DAL/BLL rõ ràng, hệ thống có thể dễ dàng xuất dữ liệu chuẩn định dạng JSON/XML hoặc tích hợp trực tiếp qua API của các nhà cung cấp hóa đơn điện tử (VNPT-Invoice, Viettel S-Invoice, MISA meInvoice).
4. Chi phí bảo trì và quy trình sao lưu phục hồi dữ liệu diễn ra như thế nào?
Hệ thống hỗ trợ script tự động sao lưu CSDL (Automated Daily Backup) vào lúc 23:59 hàng ngày sang ổ đĩa phụ hoặc lưu trữ đám mây. Do sử dụng các công nghệ tiêu chuẩn, chi phí bảo trì định kỳ gần như bằng 0 và không yêu cầu nhân sự IT túc trực thường xuyên.
5. Lộ trình hoàn vốn (ROI) và bài toán chi phí đầu tư diễn ra trong bao lâu?
Với mức đầu tư ban đầu khoảng 12 triệu VNĐ cho thiết bị phần cứng và việc sử dụng phần mềm đồ án miễn phí bản quyền, cửa hàng sẽ tiết kiệm được chi phí thất thoát hàng hóa và gia tăng hiệu suất bán hàng ~6.5 triệu VNĐ/tháng. Do đó, thời gian hoàn vốn thực tế đạt được chỉ sau khoảng 2 đến 3.5 tháng vận hành.
Kết luận
Đồ án Hệ thống Quản lý Cửa hàng Tiện lợi do nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Sài Gòn thực hiện đã giải quyết thành công bài toán chuyển đổi số toàn diện cho mô hình bán lẻ tiện ích. Từ khâu khảo sát thực tế tại cửa hàng Phúc Khang đến việc xây dựng hệ thống sơ đồ chức năng (BFD), luồng dữ liệu (DFD Mức 0, 1, 2), mô hình quan hệ (RDM) và các ràng buộc toàn vẹn nghiêm ngặt (R1 đến R4), hệ thống đã chứng minh tính khả thi kỹ thuật vượt trội và giá trị thực tiễn cao.
Việc ứng dụng các kỹ thuật như tối ưu hóa đường ống quét mã vạch, thuật toán định giá tự động theo biên lợi nhuận mục tiêu và cơ chế lưu trữ hóa đơn tạm thời đã nâng cao trực tiếp hiệu suất bán hàng, giảm thiểu thời gian chờ đợi của khách hàng và triệt tiêu nguy cơ thất thoát hàng tồn kho. Đây không chỉ là tài liệu tham khảo kỹ thuật chuẩn mực cho sinh viên ngành Hệ thống Thông tin mà còn là một giải pháp phần mềm sẵn sàng triển khai thực tế cho cộng đồng doanh nghiệp bán lẻ vừa và nhỏ.