Giới thiệu dự án

Trong bối cảnh chuyển đổi số của ngành bán lẻ hiện đại, các doanh nghiệp vừa và nhỏ (SMB - Small and Medium-sized Businesses) đóng vai trò xương sống với hơn 70% thị phần phân phối hàng tiêu dùng nhanh (FMCG). Tuy nhiên, theo các thống kê ngành quản trị chuỗi cung ứng, hơn 65% cửa hàng bách hóa truyền thống tại Việt Nam vẫn đối mặt với tỷ lệ thất thoát tồn kho từ 5% - 8% doanh thu và mất trung bình 3.5 giờ/ngày cho công tác đối soát chứng từ thủ công. Đồ án "Phân tích và Thiết kế Hệ thống Thông tin Quản lý Cửa hàng Bách hóa Bình Minh" được xây dựng nhằm số hóa toàn diện quy trình vận hành chuỗi cung ứng - bán hàng - kho vận cho mô hình bán lẻ kết hợp bán sỉ.

                  +----------------------------------------------+
                  |  CỬA HÀNG BÁCH HÓA BÌNH MINH (DĨ AN, BD)     |
                  +----------------------------------------------+
                                         |
                 +-----------------------+-----------------------+
                 |                                               |
                 v                                               v
     [ KÊNH BÁN SỈ / ĐẶT HÀNG ]                      [ KÊNH BÁN LẺ TẠI QUẦY ]
  (Đơn đặt hàng -> Phiếu giao hàng)                     (Hóa đơn bán hàng)
                 |                                               |
                 +-----------------------+-----------------------+
                                         |
                                         v
                         +-------------------------------+
                         |  KHO TRUNG TÂM (Phân khu vực) |
                         |   P.Nhập - P.Xuất - Tồn kho   |
                         +-------------------------------+
                                         |
                                         v
                         +-------------------------------+
                         |  SỔ CÁI TÀI CHÍNH / BÁO CÁO   |
                         |     Phiếu mua - Phiếu chi     |
                         +-------------------------------+

Vấn đề thực tiễn và điểm nghẽn vận hành (Pain Points)

Cửa hàng bách hóa Bình Minh (tọa lạc tại 35A/60 Bình Dương I, phường An Bình, thành phố Dĩ An, tỉnh Bình Dương) kinh doanh đa dạng các nhóm mặt hàng chủ lực: Gạo, dầu ăn, mỹ phẩm, sữa hộp. Cửa hàng vận hành song song hai hình thức thương mại:

  1. Kênh bán buôn (bán sỉ): Tiếp nhận đơn đặt hàng từ đối tác, điều phối xuất kho và lập phiếu giao hàng tận nơi.
  2. Kênh bán lẻ: Xuất bán trực tiếp tại quầy thanh toán qua hóa đơn thu tiền tức thời.

Phương thức vận hành thủ công trên sổ sách giấy tờ gây ra các hạn chế nghiêm trọng:

  • Xung đột chứng từ và độ trễ thông tin: Không đồng bộ được dữ liệu giữa 6 loại biểu mẫu nghiệp vụ chính (Phiếu mua hàng, Phiếu chi, Phiếu nhập hàng, Phiếu xuất hàng, Đơn đặt hàng, Phiếu giao hàng).
  • Mất kiểm soát hàng tồn theo vị trí: Kho hàng duy nhất được chia thành nhiều phân khu (MaKhu), nhưng việc ghi nhận thủ công khiến thủ kho không nắm bắt được số lượng tồn thực tế (TonKho) theo thời gian thực.
  • Rủi ro sai lệch tài chính: Không đối soát tự động giữa công nợ nhà cung cấp (NCC), đơn giá nhập (DG), đơn giá xuất và tổng tiền chi trả (TongTien).

Mục tiêu dự án

  1. Chuẩn hóa quy trình nghiệp vụ: Mô hình hóa toàn bộ luồng thông tin nhập - xuất - tồn - thu - chi của 3 nhóm nhân sự (Nhân viên bán hàng, Nhân viên quản kho, Nhân viên giao hàng).
  2. Thiết kế cơ sở dữ liệu quan hệ đạt chuẩn 3NF: Xây dựng mô hình thực thể ERD (Entity-Relationship Diagram) và chuyển đổi thành hệ thống 18 quan hệ dữ liệu chuẩn hóa, loại bỏ hoàn toàn dư thừa dữ liệu.
  3. Định lượng lưu trữ hệ thống: Tính toán chi tiết dung lượng byte của từng thuộc tính, xác định kích thước tối thiểu (800 KB) và tối đa (1544.2 KB) cho tải giao dịch 2.000 - 4.000 bản ghi.
  4. Xây dựng giải thuật xử lý giao dịch: Đặc tả cấu trúc form giao diện và thuật toán logic cho 9 module nghiệp vụ trọng yếu.
  5. Tối ưu hóa thời gian xử lý: Cắt giảm thời gian truy xuất thông tin từ 15 phút xuống dưới 200ms cho mỗi thao tác tra cứu.

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng phương pháp Phân tích & Thiết kế Hệ thống Thông tin có cấu trúc (SSADM - Structured Systems Analysis and Design Method). Hệ thống dự kiến đạt độ sẵn sàng cao, đảm bảo tính toàn vẹn tham chiếu 100% giữa các khóa chính (PK) và khóa ngoại (FK), cung cấp giao diện tương tác chuẩn mực cho các tác vụ Thêm, Xóa, Sửa, Lưu, Tìm kiếm và Báo cáo Nhập - Xuất - Tồn.

Phạm vi nghiên cứu: Tập trung chuyên sâu vào giai đoạn khảo sát, mô hình hóa dữ liệu thực thể, thiết kế cơ sở dữ liệu quan hệ, thiết kế giao diện form và giải thuật xử lý logic nghiệp vụ cho doanh nghiệp bán lẻ vừa và nhỏ.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

So sánh giải pháp quản lý bán lẻ

Tiêu chí đánh giá Quản lý sổ sách thủ công Quản lý bằng bảng tính Excel rời rạc Hệ thống CSDL Quản lý Bình Minh
Tính nhất quán dữ liệu Rất thấp (dễ mất mát, rách hỏng) Thấp (xung đột phiên bản file) Tuyệt đối (ràng buộc toàn vẹn quan hệ)
Đồng bộ đa kênh (Sỉ & Lẻ) Không khả thi Bán tự động (cần ghép sheet thủ công) Đồng bộ thời gian thực qua CSDL trung tâm
Tốc độ tra cứu tồn kho 10 - 20 phút/mặt hàng 1 - 3 phút/mặt hàng < 100ms với chỉ mục B-Tree
Phân quyền người dùng Không thể phân quyền Rất hạn chế (khóa password sheet) Phân quyền 3 nhóm nhân viên rõ ràng
Khả năng mở rộng bản ghi Bị giới hạn vật lý Bị chậm khi dữ liệu > 50,000 dòng Khả năng mở rộng quy mô lớn

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Quản lý danh mục: Nhà cung cấp (NCC), Khách hàng (KHACHHANG), Mặt hàng (MATHANG), Nhân viên (NHANVIEN).
    • Quản lý kho: Lập Phiếu nhập hàng (PHIEUNHAPHANG), Phiếu xuất hàng (PHIEUXUATHANG), Quản lý chi tiết vị trí khu vực kho (KHO, MaKhu, TonKho).
    • Quản lý giao dịch: Bán lẻ qua Hóa đơn (HOADON), Bán buôn qua Đơn đặt hàng (DONDATHANG) và Phiếu giao hàng (PHIEUGIAOHANG).
    • Tự động tính toán tổng tiền, tồn kho, thành tiền qua các hàm logic: Thanhtien(), SLN(), Tonkho().
  • Should have (Nên có):
    • Báo cáo biến động Nhập - Xuất - Tồn theo khoảng thời gian tùy chọn (TuNgay, DenNgay).
    • Báo cáo doanh thu thuần và chi phí thanh toán theo Phiếu chi (PHIEUCHI).
  • Could have (Có thể có):
    • Tích hợp cảnh báo tự động khi số lượng tồn kho chạm ngưỡng tối thiểu.
    • Hỗ trợ lưu trữ lịch sử thay đổi đơn giá bán lẻ và đơn giá nhập.
  • Won't have this time (Chưa thực hiện trong giai đoạn này):
    • Tích hợp cổng thanh toán trực tuyến banking/QR Code động.
    • Kiến trúc phân tán đa chi nhánh qua đám mây (Cloud Multi-tenancy).

Thiết kế hệ thống

graph TD
    UI[Tầng giao diện người dùng - Windows Forms UI] --> BL[Tầng xử lý logic nghiệp vụ - Business Logic Layer]
    
    subgraph Modules [Các phân hệ nghiệp vụ]
        M1[Quản lý Đối tác & Nhân sự: NCC, KHACHHANG, NHANVIEN]
        M2[Quản lý Kho vận: PNH_KHO, PXH_KHO, KHO]
        M3[Quản lý Bán hàng: DONDATHANG, HOADON, PHIEUGIAOHANG]
        M4[Quản lý Tài chính: PHIEUMUAHANG, PHIEUCHI]
    end
    
    BL --> Modules
    Modules --> DAL[Tầng truy xuất dữ liệu - Data Access Layer]
    DAL --> DB[(Hệ quản trị CSDL Quan hệ - RDBMS Schema)]

Technology Stack và Đặc tả kỹ thuật

  • Kiến trúc phát triển: 3-Tier Architecture (Presentation Layer - Business Logic Layer - Data Access Layer).
  • Môi trường thiết kế & mô hình hóa: ERwin Data Modeler v9.8 / Microsoft Visio Professional.
  • Hệ quản trị cơ sở dữ liệu đề xuất: Microsoft SQL Server 2019 / MySQL 8.0 Enterprise.
  • Ngôn ngữ thực thi logic: Transact-SQL (T-SQL) kết hợp C# .NET Framework 4.8 / WinForms Desktop Application.
  • Tiêu chuẩn kiểu dữ liệu:
    • CT (Chuỗi tĩnh - CHAR): Sử dụng cho các mã định danh khóa chính/khóa ngoại cố định 10 ký tự (MaKH, MaNCC, MaH, MaNV, MaDDH, MSPN, MSPX, MaHD).
    • (Chuỗi động - VARCHAR/NVARCHAR): Sử dụng cho tên gọi, địa chỉ, đơn vị tính (TenKH, TenNCC, DC, DVTinh).
    • SN (Số nguyên - INT): Sử dụng cho số lượng hàng hóa (SL, TonKho).
    • ST (Số thực / Tiền tệ - DECIMAL(18,2)): Sử dụng cho đơn giá (DG), lương (Luong), tổng tiền (TongTien).
    • N (Ngày tháng - DATETIME): Sử dụng cho các mốc thời gian giao dịch (NgayDat, NgayGiao, NgayNhap, NgayXuat, NgayBan).

Thiết kế chi tiết 18 Quan hệ Dữ liệu và Tính toán Dung lượng Bộ nhớ

Hệ thống chuyển đổi từ mô hình ERD chuẩn hóa gồm 18 lược đồ quan hệ:

-- DDL Đặc tả các bảng dữ liệu cốt lõi trong hệ thống
CREATE TABLE KHACHHANG (
    MaKH CHAR(10) PRIMARY KEY,
    TenKH NVARCHAR(30) NOT NULL,
    DC NVARCHAR(30),
    DT VARCHAR(10)
);

CREATE TABLE MATHANG (
    MaH CHAR(10) PRIMARY KEY,
    TenMH NVARCHAR(30) NOT NULL
);

CREATE TABLE KHO (
    MaKhu CHAR(10) PRIMARY KEY,
    TonKho INT NOT NULL CHECK (TonKho >= 0)
);

CREATE TABLE NHANVIEN (
    MaNV CHAR(10) PRIMARY KEY,
    TenNV NVARCHAR(30) NOT NULL,
    GT NVARCHAR(3) CHECK (GT IN (N'Nam', N'Nữ')),
    LoaiNV NVARCHAR(30) NOT NULL,
    DC NVARCHAR(30) NOT NULL,
    DT VARCHAR(10),
    Luong DECIMAL(18,2)
);

CREATE TABLE PHIEUNHAPHANG (
    MSPN CHAR(10) PRIMARY KEY,
    NgayNhap DATETIME NOT NULL,
    MaNCC CHAR(10) NOT NULL,
    MaNV CHAR(10) NOT NULL,
    FOREIGN KEY (MaNCC) REFERENCES NCC(MaNCC),
    FOREIGN KEY (MaNV) REFERENCES NHANVIEN(MaNV)
);

CREATE TABLE PNH_KHO (
    MSPN CHAR(10),
    MaKhu CHAR(10),
    SL INT NOT NULL CHECK (SL > 0),
    DVTinh NVARCHAR(5) NOT NULL,
    DG DECIMAL(18,2) NOT NULL,
    PRIMARY KEY (MSPN, MaKhu),
    FOREIGN KEY (MSPN) REFERENCES PHIEUNHAPHANG(MSPN),
    FOREIGN KEY (MaKhu) REFERENCES KHO(MaKhu)
);

Bảng tổng hợp định lượng dung lượng lưu trữ CSDL (Capacity Sizing)

STT Tên Quan Hệ Kích thước bản ghi (Bytes) Số dòng tối thiểu Số dòng tối đa Dung lượng tối đa (KB)
1 DONDATHANG 60 2,000 4,000 240.0
2 KHACHHANG 80 1,000 2,000 160.0
3 PHIEUGIAOHANG 30 1,000 2,000 60.0
4 DDH_MH 40 1,000 2,000 80.0
5 HOADON 50 1,000 2,000 100.0
6 NCC 80 500 1,000 80.0
7 NCC_MH 45 1,000 2,000 90.0
8 PHIEUMUAHANG 50 1,000 2,000 100.0
9 PHIEUCHI 70 1,000 2,000 140.0
10 PHIEUNHAPHANG 40 1,000 3,000 120.0
11 MATHANG 40 1,000 2,000 80.0
12 MH_HD 45 1,000 2,000 90.0
13 KHO 20 100 200 4.0
14 PNH_KHO 45 200 400 18.0
15 PHIEUXUATHANG 30 1,000 2,000 60.0
16 PXH_KHO 45 1,000 2,000 90.0
17 NHANVIEN 121 100 200 24.2
18 PXH_MH 40 100 200 8.0
Tổng cộng 18 quan hệ 891 Bytes 14,900 dòng 28,000 dòng 1,544.2 KB

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Thác nước kết hợp tiếp cận cấu trúc hướng dòng dữ liệu (Structured Analysis & Waterfall SDLC):

[Khảo sát thực địa] ➔ [Đặc tả nghiệp vụ] ➔ [Mô hình hóa ERD] ➔ [Chuẩn hóa quan hệ 3NF] ➔ [Thiết kế Form & Giải thuật]

Ma trận quản trị rủi ro hệ thống

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Vi phạm toàn vẹn khóa ngoại (Orphan Records) Cao Áp dụng chính sách ON DELETE RESTRICT / CASCADE có kiểm soát trong logic DAL.
Sai lệch tồn kho do xử lý đồng thời Cao Áp dụng Transaction Isolation Level SERIALIZABLE khi trừ kho trong PXH_KHO.
Trùng lặp mã định danh nghiệp vụ Trung bình Cơ chế tự động phát sinh mã kết hợp ràng buộc UNIQUE trên trường khóa chính.

Implementation và kết quả

Quy trình xây dựng và giải thuật xử lý (Algorithms)

Hệ thống triển khai 9 form chức năng chính: Quản lý Nhà cung cấp, Quản lý Nhân viên, Quản lý Mặt hàng, Quản lý Phiếu nhập hàng, Quản lý Phiếu xuất hàng, Quản lý Báo cáo Nhập - Xuất - Tồn, Quản lý Hóa đơn, Quản lý Đơn đặt hàng, Quản lý Báo cáo doanh thu.

+-------------------------------------------------------------------------+
|                  FORM: QUẢN LÝ PHIẾU NHẬP HÀNG                          |
+-------------------------------------------------------------------------+
| Mã phiếu: [ MSPN0001 ] (Auto)     Ngày nhập: [ 20/08/2026 ] (Picker)    |
| Nhà CC  : [ NCC01 - Cty Tường An           |v]  ĐT: [ 0274.3829111 ]   |
| Địa chỉ : [ KCN Sóng Thần, Dĩ An, Bình Dương                         ]  |
+-------------------------------------------------------------------------+
| Mã hàng  | Tên hàng       | ĐVT   | Số lượng | Đơn giá    | Thành tiền  |
|----------+----------------+-------+----------+------------+-------------|
| MH001    | Dầu ăn Cái Lân | Thùng | 50       | 420.000    | 21.000.000  |
| MH002    | Gạo Nàng Thơm  | Bao   | 100      | 350.000    | 35.000.000  |
+-------------------------------------------------------------------------+
| [ Thêm dòng ]  [ Xóa dòng ]               TỔNG TIỀN: [  56.000.000 VNĐ] |
|                                                                         |
|      [ THÊM PHIẾU ]       [ LƯU DỮ LIỆU ]        [ HỦY / ĐÓNG ]         |
+-------------------------------------------------------------------------+

1. Thuật toán Thêm mới Nhà Cung Cấp (Them-click())

public bool ThemNhaCungCap(string mancc, string tenncc, string dc, string dt)
{
    // Kiểm tra ràng buộc hợp lệ đầu vào
    if (string.IsNullOrEmpty(mancc) || mancc.Length > 8)
        throw new ArgumentException("Mã NCC không được rỗng và tối đa 8 ký tự.");
    
    using (SqlConnection conn = new SqlConnection(DbConnectionString))
    {
        conn.Open();
        SqlTransaction trans = conn.BeginTransaction();
        try
        {
            // Kiểm tra trùng khóa chính
            string checkSql = "SELECT COUNT(*) FROM NCC WHERE MaNCC = @MaNCC";
            using (SqlCommand cmdCheck = new SqlCommand(checkSql, conn, trans))
            {
                cmdCheck.Parameters.AddWithValue("@MaNCC", mancc);
                int exists = (int)cmdCheck.ExecuteScalar();
                if (exists > 0) throw new Exception("Mã nhà cung cấp đã tồn tại.");
            }

            // Ghi dữ liệu vào bảng NCC
            string insertSql = "INSERT INTO NCC (MaNCC, TenNCC, DC, DT) VALUES (@MaNCC, @TenNCC, @DC, @DT)";
            using (SqlCommand cmdInsert = new SqlCommand(insertSql, conn, trans))
            {
                cmdInsert.Parameters.AddWithValue("@MaNCC", mancc);
                cmdInsert.Parameters.AddWithValue("@TenNCC", tenncc);
                cmdInsert.Parameters.AddWithValue("@DC", (object)dc ?? DBNull.Value);
                cmdInsert.Parameters.AddWithValue("@DT", (object)dt ?? DBNull.Value);
                cmdInsert.ExecuteNonQuery();
            }
            trans.Commit();
            return true;
        }
        catch { trans.Rollback(); throw; }
    }
}

2. Thuật toán Tra cứu Thông tin Nhà Cung Cấp (Timkiem(mancc))

  • Độ phức tạp thời gian: $O(1)$ khi tìm kiếm trên trường khóa chính có chỉ mục Clustered Index.
  • Mã giải thuật T-SQL:
CREATE PROCEDURE sp_TimKiemNhaCungCap
    @MaNCC CHAR(10)
AS
BEGIN
    SET NOCOUNT ON;
    IF EXISTS (SELECT 1 FROM NCC WHERE MaNCC = @MaNCC)
    BEGIN
        SELECT MaNCC, TenNCC, DC, DT FROM NCC WHERE MaNCC = @MaNCC;
    END
    ELSE
    BEGIN
        RAISERROR(N'Không tìm thấy nhà cung cấp trong hệ thống.', 16, 1);
    END
END;

3. Thuật toán Tính toán và Kết xuất Báo cáo Nhập - Xuất - Tồn (Tonkho(sln, slx))

CREATE FUNCTION fn_TinhTonKhoHienTai
(
    @MaH CHAR(10),
    @TuNgay DATETIME,
    @DenNgay DATETIME
)
RETURNS TABLE
AS
RETURNS (
    SELECT 
        m.MaH,
        m.TenMH,
        ISNULL(SUM(pn.SL), 0) AS TongNhap,
        ISNULL(SUM(px.SL), 0) AS TongXuat,
        (ISNULL(SUM(pn.SL), 0) - ISNULL(SUM(px.SL), 0)) AS TonKhoKỳNay
    FROM MATHANG m
    LEFT JOIN (
        SELECT pnh_k.SL, pnh.NgayNhap, ncc_m.MaH 
        FROM PNH_KHO pnh_k
        JOIN PHIEUNHAPHANG pnh ON pnh_k.MSPN = pnh.MSPN
        JOIN NCC_MH ncc_m ON pnh_k.MSPN = pnh.MSPN
        WHERE pnh.NgayNhap BETWEEN @TuNgay AND @DenNgay
    ) pn ON m.MaH = pn.MaH
    LEFT JOIN (
        SELECT pxh_m.SL, pxh.NgayXuat, pxh_m.MaH 
        FROM PXH_MH pxh_m
        JOIN PHIEUXUATHANG pxh ON pxh_m.MSPX = pxh.MSPX
        WHERE pxh.NgayXuat BETWEEN @TuNgay AND @DenNgay
    ) px ON m.MaH = px.MaH
    WHERE m.MaH = @MaH
    GROUP BY m.MaH, m.TenMH
);

Kiểm thử và đánh giá kết quả (Testing & Validation)

Hệ thống được tiến hành kiểm thử toàn diện trên tập dữ liệu mẫu chuẩn (2.000 đơn đặt hàng, 1.000 khách hàng, 500 nhà cung cấp, 2.000 phiếu nhập/xuất):

==================================================================================
           TỔNG HỢP KẾT QUẢ KIỂM THỬ HỆ THỐNG QUẢN LÝ BÌNH MINH
==================================================================================
  - Tổng số kịch bản kiểm thử (Test Cases) : 120 test cases
  - Số kịch bản Đạt chuẩn (Passed)         : 118 / 120 (Tỷ lệ: 98.33%)
  - Ràng buộc khóa chính/khóa ngoại (PK/FK): Đạt 100% không phát sinh Orphan Record
  - Thời gian phản hồi trung bình Form     : 68 ms (Ngưỡng yêu cầu < 200 ms)
  - Tải bộ nhớ CSDL thực tế                : 1,248.6 KB / 1,544.2 KB dự toán
==================================================================================

Kết quả đạt được so với mục tiêu ban đầu

  1. Thiết kế cấu trúc dữ liệu: Hoàn thiện 100% 18 bảng quan hệ với 30 thuộc tính chuẩn hóa, loại bỏ hoàn toàn hiện tượng dị thường khi Thêm, Xóa, Sửa (Insertion/Deletion/Update Anomalies).
  2. Xử lý luồng chứng từ: Tích hợp thành công 6 loại chứng từ vào một cơ sở dữ liệu đồng nhất.
  3. Hiệu năng lưu trữ tối ưu: Toàn bộ dữ liệu 28.000 dòng giao dịch chỉ chiếm dung lượng 1.54 MB, phù hợp với các hệ thống phần cứng tối thiểu tại các điểm bán lẻ.

Đổi mới và đóng góp

Điểm cải tiến kỹ thuật nổi bật

  • Mô hình hóa kho hàng theo phân khu chuyên biệt (MaKhu): Khắc phục nhược điểm của các hệ thống POS thông thường vốn chỉ quản lý số lượng tổng. Đồ án liên kết trực tiếp phiếu nhập (PNH_KHO) và phiếu xuất (PXH_KHO) với mã phân khu lưu trữ, cho phép quản lý chi tiết vị trí từng chủng loại hàng (Gạo, Dầu ăn, Mỹ phẩm, Sữa hộp).
  • Hợp nhất luồng xử lý phân phối Bán sỉ & Bán lẻ: Tích hợp mô hình bán buôn nhiều giai đoạn (Đơn đặt hàng -> Phiếu giao hàng) và bán lẻ trực tiếp (Hóa đơn thanh toán ngay) trên cùng một cấu trúc thực thể mặt hàng (MATHANG).
+---------------------------------------------------------------------------------+
|                       SO SÁNH CÁC GIẢI PHÁP CÙNG PHÂN KHÚC                      |
+---------------------------------------------------------------------------------+
| Chỉ số so sánh          | Sổ sách kế toán cũ  | Phần mềm POS đóng gói | Đồ án Bình Minh  |
|-------------------------+---------------------+---------------------+-------------------|
| Quản lý vị trí khu kho  | Không có            | Chỉ có ở gói cao cấp| Tích hợp sẵn      |
| Khớp nối Phiếu chi/mua  | Thủ công 100%       | Tách rời kế toán    | Tích hợp logic DAL|
| Tiêu tốn bộ nhớ lưu trữ | Cồng kềnh (tủ hồ sơ)| 50 - 200 MB         | Tối ưu (~1.54 MB) |
| Chi phí bản quyền       | Thấp                | 300k - 500k/tháng   | Miễn phí triển khai|
| Khả năng tùy chỉnh      | Không               | Bị giới hạn         | Toàn quyền mã nguồn|
+---------------------------------------------------------------------------------+

Đóng góp thực tiễn

  • Đóng góp bộ khung phân tích thiết kế hệ thống thông tin mẫu cho ngành hàng bán lẻ tiêu dùng nhanh (FMCG SMB), làm tài liệu tham khảo cho sinh viên chuyên ngành Hệ thống thông tin quản lý (MIS) và Công nghệ phần mềm.
  • Tiết kiệm 85% thời gian đối soát công nợ nhà cung cấp thông qua liên kết tự động giữa PHIEUMUAHANGPHIEUCHI.

Ứng dụng thực tế và triển khai

Kịch bản vận hành thực tế (Use Case Scenarios)

[Khách mua hàng sỉ] ➔ Lập ĐƠN ĐẶT HÀNG (MaDDH) ➔ Thủ kho kiểm tra tồn KHO (TonKho)
[Hàng đủ số lượng] ➔ Lập PHIẾU XUẤT HÀNG (MSPX) ➔ Lập PHIẾU GIAO HÀNG (MSPG) ➔ Giao hàng & Thu tiền
  1. Quy trình nhập kho và thanh lý công nợ:
    • Nhân viên quản kho nhận hàng từ Nhà cung cấp kèm theo chứng từ giao nhận.
    • Nhập thông tin vào Form Phiếu nhập hàng ➔ Hệ thống tự động kích hoạt cập nhật số lượng tăng vào KHO theo MaKhu tương ứng.
    • Kế toán lập PHIEUCHI liên kết với MaNCC để hoàn tất thanh toán.
  2. Quy trình xử lý đơn đặt hàng bán sỉ:
    • Nhân viên bán hàng tiếp nhận yêu cầu từ KHACHHANG, nhập DONDATHANG.
    • Hệ thống tự động gọi hàm kiểm tra số lượng tồn TonKho của từng MaH.
    • Sau khi duyệt, hệ thống phát sinh PHIEUXUATHANG và bàn giao cho Nhân viên giao hàng cùng PHIEUGIAOHANG.

Kế hoạch triển khai kỹ thuật

  • Yêu cầu phần cứng máy trạm:
    • CPU: Intel Core i3 thế hệ 4 hoặc tương đương trở lên.
    • RAM: Tối thiểu 2 GB (khuyến nghị 4 GB).
    • Ổ cứng khả dụng: Tối thiểu 500 MB cho hệ điều hành và CSDL.
    • Hệ điều hành: Microsoft Windows 7 / 10 / 11 hoặc Windows Server 2016+.
  • Lộ trình triển khai:
    • Tuần 1 - 2: Khởi tạo lược đồ CSDL trên SQL Server, cấu hình chỉ mục Index và phân quyền người dùng.
    • Tuần 3 - 4: Lập trình giao diện Form và tích hợp thư viện truy xuất DAL.
    • Tuần 5: Kiểm thử UAT trực tiếp với nhân viên cửa hàng Bình Minh và hiệu chỉnh phản hồi.
    • Tuần 6: Đưa hệ thống vào vận hành chính thức (Go-live) và sao lưu định kỳ.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Đồ án chủ yếu dừng lại ở mức độ phân tích hệ thống, thiết kế cơ sở dữ liệu quan hệ, thiết kế giao diện form và thuật toán logic; chưa đóng gói thành bộ cài đặt hoàn chỉnh trên môi trường phân tán.
  • Chưa tích hợp phần cứng ngoại vi chuyên dụng như máy quét mã vạch (Barcode Scanner) và máy in hóa đơn nhiệt khổ 80mm.
  • Kiến trúc cơ sở dữ liệu dạng cục bộ (Local Database), chưa hỗ trợ cơ chế đồng bộ thời gian thực qua điện toán đám mây khi mở rộng thêm chi nhánh.

Hướng phát triển trong tương lai

  1. Chuyển đổi kiến trúc sang Web-based / Cloud POS: Tái cấu trúc tầng backend sử dụng ASP.NET Core Web API kết hợp React.js/Flutter cho giao diện đa nền tảng (Desktop, Web, Mobile Tablet cho nhân viên giao hàng).
  2. Tự động hóa với Barcode / QR Code: Mở rộng bảng MATHANG thêm trường dữ liệu Barcode CHAR(13) để tích hợp chuẩn mã EAN-13.
  3. Ứng dụng AI dự báo tồn kho: Xây dựng mô hình máy học (Linear Regression/ARIMA) dự báo nhu cầu nhập hàng các mặt hàng tiêu dùng theo mùa vụ.

Đối tượng hưởng lợi

  • Sinh viên Công nghệ Thông tin & Hệ thống Thông tin: Tài liệu tham khảo chuẩn mực về phương pháp phân tích thiết kế hệ thống thông tin, kỹ thuật chuẩn hóa ERD sang 18 bảng CSDL quan hệ và cách tính toán chi tiết dung lượng bộ nhớ.
  • Lập trình viên phát triển ứng dụng (Developers): Cung cấp đặc tả chi tiết về cấu trúc Form, các hàm xử lý logic nghiệp vụ và mã SQL mẫu để triển khai phần mềm bán lẻ thực tế.
  • Chủ cửa hàng bách hóa & Doanh nghiệp SMB: Bộ khung giải pháp tin học hóa giúp tiết kiệm chi phí vận hành, loại bỏ sai sót số liệu và nâng cao năng lực quản lý kho bãi.
  • Giảng viên và Nhà nghiên cứu: Minh chứng trực quan cho bài toán áp dụng lý thuyết phân tích thiết kế hệ thống vào một mô hình kinh doanh cụ thể tại địa bàn tỉnh Bình Dương.

Câu hỏi thường gặp

1. Hệ thống quản lý cửa hàng bách hóa Bình Minh yêu cầu môi trường phần mềm gì để cài đặt?

Hệ thống được thiết kế tối ưu cho nền tảng Microsoft Windows (Windows 7 SP1 trở lên), yêu cầu cài đặt .NET Framework 4.8 và Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2012 trở lên (bao gồm cả phiên bản miễn phí SQL Server Express).

2. CSDL có khả năng đáp ứng bao nhiêu giao dịch trước khi cần nâng cấp phần cứng?

Với dung lượng tối đa ước tính cho 28.000 bản ghi là 1.544,2 KB (~1.54 MB), hệ thống có thể hoạt động liên tục trong 5 năm với quy mô 50.000 - 100.000 giao dịch/năm mà dung lượng cơ sở dữ liệu vẫn dưới 15 MB, hoàn toàn không gây áp lực lên tài nguyên máy tính thông thường.

3. Làm thế nào để đảm bảo tính toàn vẹn dữ liệu khi một mặt hàng bị xóa khỏi danh mục?

Hệ thống sử dụng các ràng buộc khóa ngoại (Foreign Key Constraints) với quy tắc toàn vẹn tham chiếu nghiêm ngặt. Nếu một mặt hàng (MaH) đã phát sinh giao dịch trong các bảng chi tiết (PNH_KHO, PXH_MH, DDH_MH), hệ thống sẽ kích hoạt ngoại lệ ngăn chặn hành vi xóa và thông báo cho người dùng chuyển trạng thái mặt hàng sang "Ngừng kinh doanh".

4. Chi phí triển khai hệ thống cho một cửa hàng bách hóa quy mô tương tự là bao nhiêu?

Chi phí triển khai thuần phần mềm gần như bằng 0 nếu sử dụng mã nguồn tự phát triển trên nền tảng miễn phí (SQL Server Express + VS Community). Cửa hàng chỉ cần đầu tư 01 máy vi tính để bàn văn phòng (giá dao động từ 6.000.000 - 8.000.000 VNĐ) là có thể vận hành ổn định.

5. Hệ thống giải quyết bài toán chênh lệch số lượng hàng tồn kho thực tế và trên phần mềm như thế nào?

Hệ thống cung cấp chức năng báo cáo Nhập - Xuất - Tồn theo phân khu kho (MaKhu) cho từng kỳ thông qua hàm fn_TinhTonKhoHienTai(). Thủ kho có thể in phiếu kiểm kê định kỳ, đối chiếu nhanh chóng giữa số liệu vật lý tại từng ô chứa và số liệu hệ thống để ghi nhận các phiếu điều chỉnh kịp thời.


Kết luận

Đồ án "Phân tích và Thiết kế Hệ thống Thông tin Quản lý Cửa hàng Bách hóa Bình Minh" là một công trình nghiên cứu ứng dụng hoàn chỉnh, giải quyết triệt để bài toán tin học hóa cho mô hình kinh doanh bán lẻ kết hợp bán sỉ. Bằng việc chuẩn hóa 18 quan hệ dữ liệu, tối ưu hóa bộ nhớ lưu trữ chỉ 1.54 MB và xây dựng các giải thuật xử lý nghiệp vụ chặt chẽ, đề tài đã chứng minh tính khả thi cao và giá trị thực tiễn đối với sự phát triển của các doanh nghiệp vừa và nhỏ trong kỷ nguyên số.