Giới thiệu dự án

Trong bối cảnh chuyển đổi số và tự động hóa bán lẻ, các mô hình siêu thị mini, cửa hàng tiện lợi tại Việt Nam đang phát triển với tốc độ trên 12%/năm. Tuy nhiên, theo các khảo sát thực tế trong ngành bán lẻ vừa và nhỏ (SME Retail), hơn 65% các cửa hàng tạp hóa truyền thống và siêu thị mini hộ gia đình vẫn duy trì phương thức quản lý thủ công qua sổ sách hoặc bảng tính Microsoft Excel đơn lập. Thực trạng này dẫn đến tỷ lệ sai lệch tồn kho lên tới 15-20%, thất thoát doanh thu không rõ nguyên nhân và kéo dài thời gian thanh toán tại quầy (trung bình 2-3 phút/hóa đơn).

Đề tài khóa luận tốt nghiệp "Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện" do sinh viên Lê Trần Kim Thảo (Khoa Toán – Tin, Trường Đại học Quảng Nam) thực hiện dưới sự hướng dẫn của ThS. Trần Thị Diệu Hiền và hỗ trợ thực tế từ Công ty Cổ phần Dịch vụ Xử lý Số FPT (FPT DPS), tập trung giải quyết triệt để bài toán tin học hóa hoạt động vận hành cho các chuỗi bán lẻ quy mô vừa và nhỏ.

+-------------------------------------------------------------------------+
|                HỆ THỐNG QUẢN LÝ SIÊU THỊ MINI TÍCH HỢP AI              |
+------------------------------------+------------------------------------+
|        PHÂN HỆ NGHIỆP VỤ           |         PHÂN HỆ BẢO MẬT & AI       |
|  - Bán hàng POS & In hóa đơn       |  - Nhận diện khuôn mặt (EmguCV)    |
|  - Quản lý kho & Nhập hàng Excel   |  - Xác thực sinh trắc học đa tầng  |
|  - Quản lý công nợ & Nhà cung cấp  |  - Mã hóa dữ liệu bảo mật (DES)    |
|  - Tính lương & Doanh số ngoài kho |  - Phân quyền người dùng (RBAC)    |
+------------------------------------+------------------------------------+

1. Mục tiêu của đề tài

  1. Nghiên cứu ứng dụng thị giác máy tính: Làm chủ quy trình tiền xử lý ảnh và thuật toán nhận diện khuôn mặt người (Face Detection & Recognition) trên nền tảng .NET.
  2. Thiết kế kiến trúc hệ thống chuẩn hóa: Ứng dụng mô hình kiến trúc 3 lớp (3-Tier Architecture) kết hợp hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server 2019 nhằm đảm bảo tính toàn vẹn (ACID) và phân tách nghiệp vụ rõ ràng.
  3. Tích hợp xác thực sinh trắc học và mã hóa: Kết hợp đăng nhập không chạm qua Camera thời gian thực bằng thư viện EmguCV và mã hóa dữ liệu nhạy cảm bằng thuật toán khóa đối xứng DES (Data Encryption Standard).
  4. Tự động hóa toàn diện quy trình siêu thị: Xây dựng đầy đủ các phân hệ từ quản lý bán hàng (POS), nhập xuất kho, quản trị công nợ đối tác, tính lương nhân viên theo ca, đến báo cáo thống kê trực quan dạng đồ thị.

2. Phương pháp tiếp cận và phạm vi

  • Phương pháp tiếp cận: Phát triển ứng dụng Desktop (Native Windows Application) trên nền C# .NET WinForms nhằm tối ưu hóa hiệu năng phần cứng, đảm bảo thời gian phản hồi tức thì (<300ms) tại quầy thu ngân mà không phụ thuộc vào đường truyền Internet như các giải pháp Web-based/Cloud.
  • Chỉ số kỳ vọng: Rút ngắn thời gian lập hóa đơn xuống dưới 15 giây/đơn hàng; độ chính xác nhận diện khuôn mặt đạt trên 92% trong điều kiện ánh sáng tiêu chuẩn; giảm 85% thời gian nhập liệu danh mục hàng hóa thông qua module xử lý tệp Excel hàng loạt.
  • Phạm vi triển khai: Áp dụng thực nghiệm trực tiếp tại Siêu thị Mini Kim Ngân (Tam Xuân 2, Núi Thành, Quảng Nam) với quy mô 6 nhân sự vận hành, 1.500+ mặt hàng (SKU) lưu kho và trung bình 200+ giao dịch mỗi ngày.

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

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

Khảo sát thực tế quy trình vận hành tại siêu thị mini Kim Ngân cho thấy toàn bộ chu trình nhập hàng, kiểm kho, theo dõi hạn sử dụng, tính công nợ đại lý và xuất bán đều phụ thuộc vào sổ tay và máy tính cầm tay.

Tiêu chí đánh giá Quản lý sổ sách truyền thống Ứng dụng bảng tính Excel Phần mềm SaaS (KiotViet/Sapo) Hệ thống đề xuất của đồ án
Chi phí đầu tư Gần như bằng 0 Thấp (bản quyền Office) 2.500.000 - 5.000.000 VNĐ/năm Miễn phí bản quyền vĩnh viễn
Tính toàn vẹn dữ liệu Rất thấp, dễ cháy/mất sổ Thấp, dễ bị ghi đè/xóa nhầm Cao (Cloud Storage) Cao (RDBMS SQL Server)
Tốc độ tra cứu kho Chậm (5-10 phút/mặt hàng) Trung bình (Ctrl+F lọc thủ công) Nhanh (<2 giây) Tức thì (<1 giây với Indexing)
Bảo mật truy cập Không có phân quyền Đặt mật khẩu file đơn giản Tài khoản/Mật khẩu Đăng nhập khuôn mặt + Mã hóa DES
Phụ thuộc Internet Hoạt động Offline Hoạt động Offline Bắt buộc có kết nối ổn định Hoạt động Offline 100%

Phân tích yêu cầu theo mô hình MoSCoW

  • Must have (Bắt buộc có): Module POS xuất hóa đơn bán lẻ; module quản lý danh mục sản phẩm/loại hàng; quản lý phiếu nhập kho; phân quyền tài khoản (Chủ siêu thị - Quản lý vs. Nhân viên thu ngân); xác thực đăng nhập bằng khuôn mặt qua Camera; cơ sở dữ liệu quan hệ lưu trữ lịch sử giao dịch.
  • Should have (Nên có): Nhập/xuất dữ liệu danh mục hàng loạt qua file Excel; module tính lương nhân viên theo ngày công/ca làm việc; module quản lý công nợ hai chiều (nợ nhà cung cấp và nợ khách hàng); báo cáo thống kê doanh thu/lợi nhuận dạng biểu đồ trực quan.
  • Could have (Có thể có): Quản lý chi tiết chương trình khuyến mãi giảm giá theo từng nhóm mặt hàng; quản lý danh mục hàng hóa lưu động ngoài kho.
  • Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp cổng thanh toán trực tuyến qua Dynamic QR Code hoặc kết nối API máy POS ngân hàng.
                    +--------------------------------+
                    |       YÊU CẦU HỆ THỐNG         |
                    +--------------------------------+
                                    |
          +-------------------------+-------------------------+
          |                                                   |
+-------------------+                               +-------------------+
|  CHỨC NĂNG NGHIỆP VỤ |                             | CHỨC NĂNG PHI NGHIỆP VỤ |
|  - R1: Xác thực hệ thống                         |  - Windows 7/8/10/11      |
|  - R2-R4: Sản phẩm & Kho                         |  - SQL Server 2019        |
|  - R5: Khuyến mãi                                |  - Độ trễ DB < 50ms       |
|  - R6-R10: Nhân sự & Lương                       |  - Bộ nhớ RAM < 150MB     |
|  - R11-R12: Hóa đơn Nhập/Xuất                    |  - Camera tiêu chuẩn 720p |
|  - R13: Báo cáo & Thống kê                       |  - Dung lượng đĩa < 100MB |
+-------------------+                               +-------------------+

Thiết kế hệ thống

Hệ thống được thiết kế tuân thủ mô hình kiến trúc phần mềm 3 lớp phân lập (Three-Tier Architecture), tách biệt hoàn toàn giữa giao diện, logic xử lý và truy xuất dữ liệu:

+-------------------------------------------------------------------------+
|                  TẦNG GIAO DIỆN (PRESENTATION LAYER - GUI)             |
|   Windows Forms: FormDangNhap, FormBanHang, FormKho, FormThongKe...    |
+------------------------------------+------------------------------------+
                                     | (Truyền nhận DTO / View Models)
                                     v
+-------------------------------------------------------------------------+
|                TẦNG XỬ LÝ NGHIỆP VỤ (BUSINESS LOGIC LAYER - BUS)       |
|  - NhanVienBUS, SanPhamBUS, HoaDonBUS, ThongKeBUS                       |
|  - Security Engine: DESEncryption, FaceRecognitionEngine (EmguCV)       |
+------------------------------------+------------------------------------+
                                     | (Gọi phương thức thực thi)
                                     v
+-------------------------------------------------------------------------+
|                TẦNG TRUY XUẤT DỮ LIỆU (DATA ACCESS LAYER - DAO)        |
|  - DataProvider (Quản lý SqlConnection, SqlCommand, SqlDataAdapter)     |
|  - NhanVienDAO, SanPhamDAO, HoaDonNhapDAO, HoaDonXuatDAO               |
+------------------------------------+------------------------------------+
                                     | (T-SQL Queries / Stored Procedures)
                                     v
+-------------------------------------------------------------------------+
|               CƠ SỞ DỮ LIỆU QUAN HỆ (MICROSOFT SQL SERVER 2019)        |
|  Tables: NhanVien, NguoiDung, MatHang, LoaiHang, Kho, PhieuNhap,       |
|          CT_PhieuNhap, PhieuXuat, CT_PhieuXuat, NhaCungCap, Luong...   |
+-------------------------------------------------------------------------+

Technology Stack và đặc tả phiên bản

  • Ngôn ngữ lập trình: C# (phiên bản C# 9.0 trên nền Microsoft .NET Framework 4.8).
  • Hệ quản trị CSDL: Microsoft SQL Server 2019 Enterprise / Express Edition.
  • Thư viện thị giác máy tính: EmguCV v4.5.3 (Wrapper trung gian giao tiếp mã nguồn C# với nhân C++ của OpenCV).
  • Thư viện văn phòng: Microsoft.Office.Interop.Excel v15.0 hỗ trợ đọc/ghi dữ liệu bảng tính.
  • Môi trường phát triển: Microsoft Visual Studio 2019/2022 Community & SQL Server Management Studio (SSMS) v18.10.

Thiết kế cơ sở dữ liệu quan hệ (Relational Schema)

Cơ sở dữ liệu bao gồm 14 bảng quan hệ chính, được chuẩn hóa ở dạng chuẩn 3NF:

  • NguoiDung (TaiKhoan [PK], MatKhau, QuyenHan, MaNV [FK])
  • NhanVien (MaNV [PK], TenNV, NgaySinh, GioiTinh, DiaChi, SDT, FaceDataPath)
  • LoaiHang (MaLoai [PK], TenLoai, GhiChu)
  • MatHang (MaMH [PK], TenMH, MaLoai [FK], MaNCC [FK], SoLuongTon, DonGiaBan, DVT, HSD)
  • Kho (MaKho [PK], TenKho, DiaDiem, GhiChu)
  • PhieuNhap (MaPN [PK], NgayNhap, MaNCC [FK], MaNV [FK], TongTien, TrangThaiNo)
  • CT_PhieuNhap (MaPN [PK, FK], MaMH [PK, FK], SoLuongNhap, DonGiaNhap, ThanhTien)
  • PhieuXuat (MaPX [PK], NgayXuat, MaKH [FK], MaNV [FK], TongTien, TienKhachDua, TienTraLai)
  • CT_PhieuXuat (MaPX [PK, FK], MaMH [PK, FK], SoLuongXuat, DonGiaBan, ThanhTien)
  • Luong (MaLuong [PK], MaNV [FK], Thang, Nam, SoNgayCong, Thuong, ThucLinh)
-- DDL trích xuất thiết kế bảng Mặt Hàng và Ràng buộc toàn vẹn
CREATE TABLE MatHang (
    MaMH VARCHAR(20) PRIMARY KEY,
    TenMH NVARCHAR(150) NOT NULL,
    MaLoai VARCHAR(20) NOT NULL,
    MaNCC VARCHAR(20) NOT NULL,
    SoLuongTon INT DEFAULT 0 CHECK (SoLuongTon >= 0),
    DonGiaBan DECIMAL(18, 2) NOT NULL CHECK (DonGiaBan >= 0),
    DonGiaNhap DECIMAL(18, 2) NOT NULL CHECK (DonGiaNhap >= 0),
    DVT NVARCHAR(20),
    NgaySanXuat DATE,
    HSD DATE,
    CONSTRAINT FK_MatHang_LoaiHang FOREIGN KEY (MaLoai) REFERENCES LoaiHang(MaLoai),
    CONSTRAINT FK_MatHang_NhaCungCap FOREIGN KEY (MaNCC) REFERENCES NhaCungCap(MaNCC)
);

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

Dự án áp dụng mô hình phát triển phần mềm Thác nước kết hợp tạo mẫu nhanh (Waterfall with Prototyping) qua 4 mốc quan trọng (Milestones) kéo dài trong 16 tuần:

[Tuần 1-3: Khảo sát & Phỏng vấn] 
       --> [Tuần 4-6: Phân tích UML & Thiết kế DB] 
              --> [Tuần 7-12: Lập trình 3 Lớp & Nhúng EmguCV] 
                     --> [Tuần 13-16: UAT & Triển khai thực địa]
  1. Giai đoạn 1 (Tuần 1 - 3): Khảo sát thực địa, phỏng vấn trực tiếp chủ siêu thị Kim Ngân, lập bảng câu hỏi thu thập biểu mẫu hóa đơn xuất/nhập thực tế.
  2. Giai đoạn 2 (Tuần 4 - 6): Phân tích hướng đối tượng (OOAD) bằng ngôn ngữ mô hình hóa UML (Use Case, Sequence Diagram, Collaboration Diagram, State Machine Diagram). Xây dựng sơ đồ thực thể E-R và thiết kế CSDL trên SQL Server.
  3. Giai đoạn 3 (Tuần 7 - 12): Cài đặt mã nguồn các lớp DAO, BUS, GUI; tích hợp module thu nhận hình ảnh thời gian thực từ Webcam qua EmguCV và lập trình thuật toán mã hóa khóa bí mật.
  4. Giai đoạn 4 (Tuần 13 - 16): Kiểm thử hộp trắng (White-box testing), kiểm thử tích hợp (Integration testing), thử nghiệm chấp nhận của người dùng (UAT) tại cửa hàng và đóng gói sản phẩm.

Implementation và kết quả

Quy trình phát triển và thuật toán then chốt

1. Module nhận diện khuôn mặt sinh trắc học (EmguCV & Haar Cascade)

Quy trình nhận diện trải qua 4 bước: Thu nhận luồng video (Video Frame Capture) $\rightarrow$ Tiền xử lý (Grayscale conversion, Histogram Equalization) $\rightarrow$ Phát hiện vùng mặt (Face Detection bằng bộ phân loại Haar Cascade) $\rightarrow$ Trích chọn đặc trưng và đối sánh (Feature Matching qua Eigenfaces/Local Binary Patterns).

// Trích đoạn thuật toán phát hiện và cắt vùng mặt bằng EmguCV
using System;
using System.Drawing;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;

public class FaceRecognitionModule
{
    private CascadeClassifier faceCascade;
    private Capture videoCapture;

    public FaceRecognitionModule(string cascadePath)
    {
        // Khởi tạo bộ phân loại Haar Cascade cho mặt người nhìn thẳng
        faceCascade = new CascadeClassifier(cascadePath);
    }

    public Image<Gray, byte> ProcessAndDetectFace(Image<Bgr, byte> currentFrame)
    {
        // Bước 1: Chuyển đổi khung hình sang ảnh xám để giảm tải tính toán
        Image<Gray, byte> grayFrame = currentFrame.Convert<Gray, byte>();
        
        // Bước 2: Cân bằng lược đồ độ sáng (Illumination Normalization)
        grayFrame._EqualizeHist();

        // Bước 3: Phát hiện khuôn mặt trong khung hình
        Rectangle[] facesDetected = faceCascade.DetectMultiScale(
            grayFrame,
            scaleFactor: 1.2,
            minNeighbors: 10,
            minSize: new Size(50, 50),
            maxSize: Size.Empty
        );

        // Bước 4: Trích xuất và căn chỉnh khuôn mặt đầu tiên tìm thấy
        if (facesDetected.Length > 0)
        {
            Rectangle faceRect = facesDetected[0];
            Image<Gray, byte> croppedFace = grayFrame.Copy(faceRect)
                                                     .Resize(100, 100, Inter.Cubic);
            return croppedFace;
        }

        return null;
    }
}

2. Module bảo mật dữ liệu với mã hóa khóa đối xứng DES

Để bảo vệ thông tin tài khoản người dùng và chuỗi kết nối nhạy cảm, hệ thống tích hợp thuật toán mã hóa khóa đối xứng DES 64-bit:

// Cài đặt lớp mã hóa DES đối xứng trong tầng nghiệp vụ (BUS)
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

public class SecurityManager
{
    private static readonly string SecretKey = "KN@2022#"; // Khóa bí mật 8-byte

    public static string EncryptDES(string plainText)
    {
        byte[] keyBytes = Encoding.UTF8.GetBytes(SecretKey.Substring(0, 8));
        byte[] inputBytes = Encoding.UTF8.GetBytes(plainText);

        using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
        {
            using (MemoryStream ms = new MemoryStream())
            {
                using (CryptoStream cs = new CryptoStream(ms, 
                       des.CreateEncryptor(keyBytes, keyBytes), CryptoStreamMode.Write))
                {
                    cs.Write(inputBytes, 0, inputBytes.Length);
                    cs.FlushFinalBlock();
                    return Convert.ToBase64String(ms.ToArray());
                }
            }
        }
    }

    public static string DecryptDES(string cipherText)
    {
        byte[] keyBytes = Encoding.UTF8.GetBytes(SecretKey.Substring(0, 8));
        byte[] inputBytes = Convert.FromBase64String(cipherText);

        using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
        {
            using (MemoryStream ms = new MemoryStream())
            {
                using (CryptoStream cs = new CryptoStream(ms, 
                       des.CreateDecryptor(keyBytes, keyBytes), CryptoStreamMode.Write))
                {
                    cs.Write(inputBytes, 0, inputBytes.Length);
                    cs.FlushFinalBlock();
                    return Encoding.UTF8.GetString(ms.ToArray());
                }
            }
        }
    }
}

Kiểm thử và đánh giá hiệu năng

Hệ thống đã trải qua quy trình kiểm thử toàn diện với 52 kịch bản Test Case (35 Functional Cases, 10 Security Cases, 7 Stress Cases).

+-------------------------------------------------------------------------+
|                  KẾT QUẢ ĐO LƯỜNG HIỆU NĂNG THỰC TẾ                     |
+-------------------------------------+-----------------------------------+
|  CHỈ SỐ ĐO LƯỜNG                    |  GIÁ TRỊ THỰC NGHIỆM ĐẠT ĐƯỢC     |
+-------------------------------------+-----------------------------------+
|  Thời gian phát hiện khuôn mặt      |  145 ms / frame (Webcam 720p HD)  |
|  Độ chính xác xác thực khuôn mặt    |  94.6% (Ánh sáng phòng 300-500 lux)|
|  Độ trễ truy vấn CSDL (Local SQL)   |  < 18 ms (Database 10.000 records)|
|  Thời gian import 500 dòng Excel    |  2.4 giây                         |
|  Chiếm dụng bộ nhớ RAM khi chạy     |  68 MB - 110 MB                   |
|  Thời gian in & tạo hóa đơn bán lẻ  |  1.8 giây                         |
+-------------------------------------+-----------------------------------+

Kết quả đạt được

Hệ thống đã hoàn thiện 100% các gói chức năng (từ R1 đến R13 theo tài liệu phân tích):

  • Phân hệ quản trị hệ thống: Đăng nhập kép (Mật khẩu chuẩn hóa mã hóa DES / Sinh trắc học khuôn mặt), quản lý và phân quyền tài khoản chặt chẽ.
  • Phân hệ vận hành kho & POS: Lập hóa đơn xuất hàng tức thì, tự động trừ tồn kho theo thời gian thực; lập phiếu nhập hàng, quản lý danh sách nhà cung cấp và công nợ chi tiết.
  • Phân hệ nhân sự & tài chính: Tự động tổng hợp bảng lương nhân viên; xuất báo cáo trực quan dưới dạng biểu đồ cột và tròn về doanh số, lượng tiền thu/chi, tỷ lệ hàng tồn và top 10 sản phẩm bán chạy nhất trong tháng.

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

  1. Tích hợp xác thực sinh trắc học vào giải pháp bán lẻ Desktop: Khắc phục nhược điểm rò rỉ mật khẩu hoặc chấm công gian lận giữa các ca trực của nhân viên thu ngân. Hệ thống cho phép đăng nhập tự động qua Camera với tốc độ nhận diện dưới 0.5 giây.
  2. Kiến trúc dữ liệu phân lập và cơ chế bảo mật kết hợp: Thay vì lưu trữ thông tin nhạy cảm dạng rõ (Plaintext), phần mềm ứng dụng mã hóa đối xứng DES kết hợp kiến trúc 3 lớp nghiêm ngặt, ngăn chặn triệt để các nguy cơ SQL Injection và khai thác tệp tin cấu hình.
  3. Cơ chế xử lý dữ liệu lớn qua Excel Interop tối ưu: Cho phép chủ siêu thị nhập danh mục hàng nghìn mặt hàng từ bảng báo giá của nhà phân phối vào hệ thống chỉ trong vài giây, giảm thiểu 95% sai sót nhập liệu so với gõ phím thủ công.
  4. Đóng góp học thuật và ứng dụng: Cung cấp tài liệu tham khảo hoàn chỉnh về cách đóng gói và gọi thư viện thị giác máy tính mã nguồn mở OpenCV bên trong môi trường C# WinForms nguyên bản, tạo tiền đề thực tế cho các nghiên cứu ứng dụng AI trong quản trị doanh nghiệp nhỏ.

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

Kịch bản vận hành thực tế tại điểm bán (Point of Sale)

[Nhân viên đứng trước Webcam] 
       --> [Phần mềm nhận diện & Tự động mở ca làm việc]
              --> [Dùng đầu đọc mã vạch / Tìm kiếm mặt hàng trên POS]
                     --> [Hệ thống tự tính tổng tiền, chiết khấu khuyến mãi]
                            --> [In hóa đơn nhiệt & Tự động cập nhật trừ kho SQL Server]

Phân tích chi phí - lợi ích (Cost-Benefit & ROI Analysis)

  • Chi phí triển khai giải pháp đề xuất: 0 VNĐ phí thuê bao dịch vụ hàng tháng; tận dụng máy tính để bàn sẵn có tại cửa hàng (Core i3 thế hệ 4, RAM 4GB) kết hợp Webcam cổng USB tiêu chuẩn (giá thành ~250.000 VNĐ).
  • So sánh với phần mềm Cloud SaaS: Tiết kiệm từ 2.400.000 đến 4.800.000 VNĐ chi phí bản quyền mỗi năm.
  • Hiệu quả kinh tế: Giảm thời gian kiểm kê định kỳ cuối tháng từ 3 ngày xuống còn 2 giờ; hạn chế thất thoát hàng hết hạn sử dụng nhờ tính năng cảnh báo tự động, giúp hoàn vốn đầu tư phần cứng (ROI) chỉ sau 1 tháng vận hành.

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

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

  • Phụ thuộc điều kiện môi trường: Thuật toán phát hiện khuôn mặt Haar Cascade và trích chọn đặc trưng dựa trên hình thái học truyền thống dễ bị suy giảm độ chính xác (<80%) khi góc nghiêng mặt vượt quá 45 độ hoặc cường độ ánh sáng quá yếu (<100 lux).
  • Phạm vi mạng cục bộ: Hiện tại hệ thống đang được thiết kế dạng Single-tier DB hoặc Client-Server trên mạng LAN nội bộ, chưa hỗ trợ đồng bộ dữ liệu Real-time đa điểm bán thông qua Cloud API.

Hướng phát triển nâng cao

  • Nâng cấp module thị giác máy tính lên các mô hình học sâu hiện đại (Deep Learning) như MobileNet-SSD, RetinaFace kết hợp FaceNet chạy trên nền ONNX Runtime để nhận diện chính xác ngay cả khi người dùng đeo khẩu trang.
  • Xây dựng ứng dụng di động (Mobile App trên Flutter/React Native) cho phép chủ siêu thị theo dõi doanh thu và duyệt phiếu nhập hàng từ xa.
  • Mở rộng phân hệ phân tích dự đoán nhu cầu tiêu thụ hàng hóa dựa trên chuỗi thời gian (Time-series Forecasting) để tối ưu hóa lượng hàng tồn kho an toàn.

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

+-------------------------------------------------------------------------+
|                       ĐỐI TƯỢNG HƯỞNG LỢI TRỰC TIẾP                     |
+-------------------+-----------------------------------------------------+
| SINH VIÊN         | Nguồn tài liệu tham khảo chi tiết về phân tích UML, |
| & NGHIÊN CỨU SINH | thiết kế 3-Tier và nhúng thư viện EmguCV vào C#.    |
+-------------------+-----------------------------------------------------+
| LẬP TRÌNH VIÊN    | Mẫu kiến trúc chuẩn (Design Pattern) xử lý giao diện|
| DESKTOP (.NET)    | WinForms mượt mà, quản lý Transaction trong SQL Server|
+-------------------+-----------------------------------------------------+
| CHỦ CỬA HÀNG      | Công cụ quản trị toàn diện, bảo mật, vận hành trơn  |
| SIÊU THỊ MINI     | tru không mất phí duy trì, ngăn ngừa thất thoát.    |
+-------------------+-----------------------------------------------------+

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai phần mềm là gì?

Hệ thống được tối ưu hóa cao cho các cấu hình máy tính phổ thông:

  • Hệ điều hành: Microsoft Windows 7 SP1, Windows 8.1, Windows 10 hoặc Windows 11 (32-bit hoặc 64-bit).
  • Bộ vi xử lý (CPU): Intel Core i3 thế hệ thứ 2 hoặc AMD tương đương trở lên.
  • Bộ nhớ trong (RAM): Tối thiểu 2GB (Khuyến nghị 4GB để xử lý mượt mà luồng Camera 30fps).
  • Dung lượng ổ cứng: 150MB dung lượng trống (chưa bao gồm SQL Server Express).
  • Thiết bị ngoại vi: Webcam chuẩn HD (720p), máy in hóa đơn nhiệt (khổ K57 hoặc K80) và máy quét mã vạch cổng USB (nếu có).

2. Dữ liệu khuôn mặt được lưu trữ như thế nào để đảm bảo tính riêng tư và bảo mật?

Hệ thống không lưu trữ trực tiếp hình ảnh gốc kích thước lớn của nhân viên trong cơ sở dữ liệu. Sau khi chụp mẫu, khuôn mặt được tiền xử lý, căn chỉnh về kích thước chuẩn (100x100 pixels), chuyển đổi sang ảnh mức xám và trích xuất thành tệp ma trận vector đặc trưng. Tệp này được lưu trữ trong thư mục cục bộ bảo mật với tên tệp được băm theo mã định danh nhân viên, ngăn ngừa việc sao chép hoặc giả mạo dữ liệu nhận diện.

3. Phần mềm có thể hoạt động bình thường khi mất kết nối Internet không?

Có. Toàn bộ cơ sở dữ liệu Microsoft SQL Server và nhân xử lý nhận diện khuôn mặt EmguCV đều được cài đặt và vận hành trực tiếp (On-premise) trên máy tính tại cửa hàng. Mọi thao tác bán hàng, in hóa đơn, nhập kho và báo cáo thống kê đều hoạt động liên tục 100% ngay cả khi mất mạng Internet hoàn toàn.

4. Quy trình bảo trì và sao lưu (Backup) cơ sở dữ liệu được thực hiện ra sao?

Cơ sở dữ liệu SQL Server có thể được cấu hình tự động sao lưu định kỳ (Auto Backup) sang ổ đĩa phụ hoặc thiết bị lưu trữ ngoài thông qua tính năng SQL Server Agent hoặc script lệnh .bat chạy bằng Windows Task Scheduler, đảm bảo dữ liệu kinh doanh được an toàn tuyệt đối khi xảy ra sự cố phần cứng máy tính.

5. Khả năng mở rộng quy mô của phần mềm khi mở thêm chi nhánh mới?

Hệ thống hiện tại hỗ trợ mô hình mạng nội bộ (LAN), cho phép nhiều máy thu ngân cùng kết nối về một máy chủ SQL Server đặt tại cửa hàng. Khi mở rộng nhiều chi nhánh, cơ sở dữ liệu SQL Server có thể được chuyển dịch lên máy chủ đám mây (Cloud VPS hoặc Azure SQL Database) mà không cần viết lại toàn bộ mã nguồn của tầng nghiệp vụ và giao diện.


Kết luận

Đồ án khóa luận tốt nghiệp "Xây dựng phần mềm Quản lý siêu thị MiNi kết hợp nhận diện" của sinh viên Lê Trần Kim Thảo đã giải quyết thành công bài toán chuyển đổi số thiết thực cho mô hình bán lẻ vừa và nhỏ. Thông qua việc làm chủ và kết hợp hài hòa giữa kiến trúc phần mềm 3 lớp (3-Tier) trên C# WinForms, hệ quản trị CSDL Microsoft SQL Server 2019 và công nghệ xử lý ảnh thời gian thực EmguCV, đề tài đã chứng minh tính khả thi cao trong việc ứng dụng các thuật toán nhận diện khuôn mặt vào bài toán quản trị và bảo mật điểm bán.

Hệ thống không chỉ đáp ứng hoàn chỉnh các yêu cầu khắt khe về mặt nghiệp vụ kế toán, kho bãi và nhân sự mà còn mở ra hướng tiếp cận mới, chi phí thấp cho các chủ cửa hàng trong việc hiện đại hóa và nâng cao năng lực cạnh tranh trong kỷ nguyên số.