Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh thị trường bán lẻ hiện đại, các hệ thống siêu thị và cửa hàng tiện lợi phát triển mạnh mẽ song hành cùng sự bùng nổ của các nền tảng mua sắm trực tuyến. Tuy nhiên, nhiều đơn vị bán lẻ quy mô vừa và nhỏ vẫn vận hành dựa trên các phương thức thủ công và công nghệ cũ, dẫn đến nhiều hạn chế trong công tác quản trị và mở rộng kinh doanh:

  • Việc thống kê thủ công đòi hỏi số lượng lớn nhân viên, dễ dẫn đến tình trạng thất thoát hoặc mất mát dữ liệu.
  • Công tác quản lý hàng hóa nhập - xuất, kiểm soát hàng tồn kho, thu chi và mua bán hàng ngày tiềm ẩn tỷ lệ sai sót và rủi ro cao.
  • Quá trình tổng hợp báo cáo phục vụ ban quản lý tốn nhiều thời gian, dễ nhầm lẫn số liệu khi khối lượng giao dịch tăng cao.
  • Năng lực phục vụ khách hàng bị nghẽn cục bộ khi lượng khách đông, gây quá tải cho nhân viên thu ngân và làm giảm chất lượng dịch vụ.
  • Quy mô nhân sự lớn nhưng thiếu công cụ hỗ trợ khiến ban quản lý gặp khó khăn trong việc giám sát, phân quyền và đào tạo chuyên môn.

Xuất phát từ những bất cập trên, đề tài "Quản lý hệ thống siêu thị" được nhóm sinh viên (Nhóm 5) thực hiện trong khuôn khổ Bài tập lớn môn Đồ án 1, Khoa Công nghệ Thông tin, Trường Đại học Kinh tế - Kỹ thuật Công nghiệp (Hà Nội), năm học 2021 – 2022 (hoàn thành ngày 08 tháng 5 năm 2022).

Mục tiêu chính của đề tài bao gồm:

  1. Khảo sát toàn diện hoạt động thực tế tại siêu thị từ khâu nhập hàng, quản lý kho, trưng bày đến bán hàng và chăm sóc khách hàng.
  2. Phân tích và mô hình hóa chi tiết các luồng thông tin, luồng dữ liệu nghiệp vụ bằng các công cụ phân tích thiết kế hệ thống.
  3. Thiết kế cơ sở dữ liệu quan hệ hoàn chỉnh và xây dựng cấu trúc phần mềm quản lý nhằm tin học hóa quy trình vận hành siêu thị.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình quản lý bán hàng, quản lý kho hàng, xuất/nhập hàng hóa, nhân sự, khách hàng và hệ thống báo cáo doanh thu siêu thị.
  • Phạm vi nghiên cứu: Áp dụng cho mô hình siêu thị bán lẻ tự phục vụ; triển khai thiết kế cơ sở dữ liệu trên hệ quản trị SQL Server và định hướng giao diện ứng dụng desktop.

Cơ sở lý thuyết và phương pháp

Đề tài áp dụng phương pháp phân tích và thiết kế hệ thống thông tin theo hướng cấu trúc (chức năng), kết hợp các kỹ thuật mô hình hóa dữ liệu:

  • Mô hình luồng nghiệp vụ BFD (Business Flow Diagram): Phân rã cấu trúc chức năng tổng thể của hệ thống thành các cấp độ chi tiết.
  • Mô hình luồng dữ liệu DFD (Data Flow Diagram): Bao gồm sơ đồ ngữ cảnh (mức 0), sơ đồ mức đỉnh (mức 1) và sơ đồ mức dưới đỉnh (mức 2) nhằm xác định rõ các tác nhân ngoài, tiến trình xử lý và kho lưu trữ dữ liệu.
  • Mô hình thực thể - liên kết (ERD) và Lược đồ quan hệ: Xác định 12 thực thể dữ liệu, chuẩn hóa thuộc tính, thiết lập các quan hệ 1-1, 1-N, N-N và xác định hệ thống khóa chính (Primary Key), khóa ngoại (Foreign Key).
  • Phương pháp thu thập và xử lý dữ liệu: Khảo sát quy trình nghiệp vụ mua bán trực tiếp; dữ liệu đầu vào được thu nhận qua biểu mẫu giao diện người dùng hoặc import từ các tệp dữ liệu bảng tính (Excel/Word); dữ liệu đầu ra kết xuất dạng hóa đơn in và tệp báo cáo thống kê.

Tài liệu tham khảo nền tảng được nhóm tác giả sử dụng bao gồm:

  • Tài liệu lập trình C# WinForms – Trường Đại học Công nghệ TP.HCM (HUTECH).
  • Kỹ năng lập trình ứng dụng với Visual Basic .NET trong Microsoft .NET Framework.

Nội dung chính theo từng chương

Phần A: Quản lý hệ thống Siêu thị

Phần A chiếm dung lượng trọng tâm của đồ án, được triển khai qua 3 giai đoạn:

Giai đoạn 1: Khảo sát hệ thống siêu thị

Tác giả phân tích chi tiết quy trình nghiệp vụ thực tế của siêu thị bán lẻ theo mô hình khách hàng tự phục vụ (chọn hàng trên quầy đưa vào giỏ, nhân viên hỗ trợ khi có yêu cầu, thanh toán tại quầy thu ngân và kiểm tra hàng trước khi ra về). Hệ thống nghiệp vụ được chia thành 7 nhóm hoạt động chính:

  • Hoạt động mua hàng của khách hàng và hoạt động quản lý bán hàng của thu ngân.
  • Hoạt động nhập hàng hóa từ nhà cung cấp (lập kế hoạch, kiểm tra đối chiếu, lập phiếu nhập và nhập kho).
  • Hoạt động xuất hàng hóa (kiểm tra tồn kho, lập phiếu xuất ra quầy bán hoặc xuất trả).
  • Hoạt động thống kê, báo cáo doanh thu, sản phẩm tồn kho, xuất nhập theo tiêu chí.
  • Hoạt động quản lý nhân sự (bố trí, chấm công, tính lương).
  • Hoạt động quản lý khách hàng và chương trình tri ân (tích điểm đổi voucher).
  • Hoạt động quản trị phân quyền hệ thống (phân cấp tài khoản Quản trị/Nhân viên).

Giai đoạn 2: Phân tích hệ thống Quản lý siêu thị

Xác định cụ thể yêu cầu chức năng và mô tả chi tiết kịch bản tương tác (chức năng, quyền hạn thực hiện, kết quả đạt được, mô tả thao tác thêm/sửa/xóa/in/tìm kiếm) cho từng phân hệ:

  • Quản lý danh sách hàng hóa: Cập nhật thông tin mã, tên, danh mục, giá nhập, giá bán, số lượng, hạn sử dụng.
  • Quản lý hóa đơn bán hàng: Tiếp nhận mã hàng, số lượng, tự động tính tổng tiền, lưu trữ và in phiếu hóa đơn.
  • Quản lý nhập/xuất hàng hóa và nhà cung cấp: Tạo phiếu nhập/xuất, quản lý danh sách và công nợ nhà cung cấp.
  • Quản lý kho hàng: Thống kê tồn kho thực tế phục vụ cân đối kế hoạch nhập - xuất.
  • Quản lý nhân viên và tài khoản: Kiểm soát hồ sơ nhân sự, phân quyền đăng nhập theo vai trò (Role).
  • Thống kê báo cáo: Lập báo cáo doanh thu, báo cáo lượng hàng nhập/xuất và hàng tồn theo mốc thời gian.
  • Quản lý khách hàng: Lưu trữ thông tin cá nhân, lịch sử mua sắm và tích điểm tích lũy.

Hệ thống sơ đồ phân tích bao gồm:

  • Sơ đồ ngữ cảnh: Xác định 3 tác nhân ngoài chính tương tác với hệ thống là Khách hàng, Nhà cung cấp và Ban quản lý.
  • Sơ đồ mức đỉnh: Phân rã thành 5 tiến trình chính (1.0 Quản lý xuất nhập kho, 2.0 Quản lý bán hàng/hóa đơn, 3.0 Thống kê báo cáo, 4.0 Quản lý nhân viên, 5.0 Quản lý hàng hóa).
  • Sơ đồ mức dưới đỉnh: Chi tiết hóa các luồng dữ liệu cho từng tiến trình cụ thể kết nối tới các kho dữ liệu (Hàng hóa trong kho, Hàng hóa siêu thị, Hóa đơn, Phiếu xuất nhập, Hồ sơ nhân viên).

Giai đoạn 3: Thiết kế hệ thống

Xây dựng lược đồ quan hệ chuẩn hóa và đặc tả chi tiết các tham số đầu vào/đầu ra, điều kiện ràng buộc của các thủ tục nghiệp vụ:

  • Thủ tục hệ thống: Đổi mật khẩu, Đăng xuất, Phân quyền xem thông tin nhân sự.
  • Thủ tục danh mục: Thêm, sửa, xóa, lưu, in, tìm kiếm Nhà cung cấp, Khách hàng, Sản phẩm.
  • Thủ tục giao dịch: Lập phiếu nhập hàng, lập phiếu xuất hàng, lập hóa đơn thanh toán (tính điểm cộng/trừ, hình thức trả, trạng thái thanh toán).
  • Thủ tục thống kê: Truy vấn và in danh sách bán hàng theo mã sản phẩm, nhân viên hoặc khoảng ngày.

Phần B: Phần mềm quản lý siêu thị

Trình bày cấu trúc và chức năng của các biểu mẫu giao diện người dùng (Windows Form) được thiết kế cho ứng dụng:

  • Form Đăng nhập & Form Đổi mật khẩu: Xác thực tài khoản người dùng và quản lý quyền truy cập.
  • Form Main: Giao diện điều hướng trung tâm hiển thị các phân hệ chức năng dựa trên quyền hạn.
  • Form Nhân viên: Quản lý thông tin hồ sơ, chức vụ và mức lương của nhân sự.
  • Form Khách hàng: Quản lý dữ liệu khách hàng thân thiết và điểm thưởng tích lũy.
  • Form Nhập hàng hóa & Form Nhà cung cấp: Thực hiện giao dịch nhập kho và quản lý danh mục đối tác cung ứng.
  • Form Hóa đơn: Hỗ trợ lập hóa đơn thu ngân, quét mã sản phẩm và in phiếu thanh toán.

Phần C: Tài liệu tham khảo

Liệt kê các giáo trình, tài liệu chuyên ngành về kỹ thuật lập trình giao diện ứng dụng trên nền tảng .NET Framework và lập trình Windows Forms phục vụ hiện thực hóa đề tài.

Thiết kế và triển khai

Hệ thống cơ sở dữ liệu được thiết kế gồm 12 bảng thực thể liên kết chặt chẽ nhằm đảm bảo tính toàn vẹn dữ liệu:

STT Tên bảng Chức năng lưu trữ Khóa chính (Primary Key) Khóa ngoại (Foreign Key)
1 NhanVien Hồ sơ nhân viên siêu thị MaNV Không có
2 DanhMuc_SP Danh mục phân loại sản phẩm MaDM Không có
3 Nha_CC Thông tin nhà cung cấp hàng MaNCC Không có
4 SanPham Chi tiết mặt hàng kinh doanh MaSP MaDM, MaNCC
5 PhieuNhap Thông tin đơn nhập hàng MaPN MaNCC
6 CT_PhieuNhap Chi tiết các mặt hàng nhập (MaPN, MaSP) MaPN, MaSP
7 PhieuXuat Thông tin đơn xuất hàng MaPX MaNCC
8 CT_PhieuXuat Chi tiết các mặt hàng xuất (MaPX, MaDM) MaPX, MaDM
9 HoaDon Hóa đơn bán hàng cho khách MaHD MaNV, MaKH
10 MatHangMua Chi tiết mặt hàng trong hóa đơn (MaSP, MaHD) MaSP, MaHD
11 KhachHang Thông tin khách hàng và điểm tích lũy MaKH Không có
12 TK_DangNhap Tài khoản và quyền truy cập hệ thống TaiKhoan Không có

Mã nguồn định nghĩa dữ liệu (DDL) bằng ngôn ngữ T-SQL trên hệ quản trị SQL Server được cài đặt như sau:

CREATE DATABASE EX_SIEUTHI
GO
USE EX_SIEUTHI
GO

CREATE TABLE NhanVien(
    MaNV nvarchar(50) NOT NULL,
    HoTen nvarchar(50) NOT NULL,
    NgaySinh date NOT NULL,
    GioiTinh nvarchar(50) NOT NULL,
    ChucVu nvarchar(20) NOT NULL,
    SDT nvarchar(20) NOT NULL,
    CCCD nvarchar(50) NOT NULL,
    Luong int NOT NULL,
    CONSTRAINT pk_MaNhanVien PRIMARY KEY(MaNV)
)
GO

CREATE TABLE DanhMuc_SP(
    MaDM nvarchar(50) NOT NULL,
    TenDM nvarchar(50) NOT NULL,
    CONSTRAINT pk_DanhMuc_SP PRIMARY KEY(MaDM)
)
GO

CREATE TABLE Nha_CC(
    MaNCC nvarchar(50) NOT NULL,
    TenNCC nvarchar(50) NOT NULL,
    DiaChi nvarchar(50) NOT NULL,
    SDT nvarchar(20) NOT NULL,
    Email nvarchar(50) NOT NULL,
    CONSTRAINT pk_Ma_NhaCC PRIMARY KEY(MaNCC)
)
GO

CREATE TABLE SanPham(
    MaSP nvarchar(50) NOT NULL,
    TenSP nvarchar(50) NOT NULL,
    Gia int NOT NULL,
    SoLuong int NOT NULL,
    MaDM nvarchar(50) NOT NULL,
    MaNCC nvarchar(50) NOT NULL,
    CONSTRAINT pk_Ma_SanPham PRIMARY KEY(MaSP),
    CONSTRAINT fk_MaDM_SanPham FOREIGN KEY(MaDM) REFERENCES DanhMuc_SP(MaDM),
    CONSTRAINT fk_Ma_NCC_SanPham FOREIGN KEY(MaNCC) REFERENCES Nha_CC(MaNCC)
)
GO

CREATE TABLE PhieuNhap(
    MaPN nvarchar(50) NOT NULL,
    MaNCC nvarchar(50) NOT NULL,
    NgayNhap date NOT NULL,
    TongTienN int NOT NULL,
    CONSTRAINT pk_SanPham PRIMARY KEY(MaPN),
    CONSTRAINT fk_Ma_NCC_PhieuNhap FOREIGN KEY(MaNCC) REFERENCES Nha_CC(MaNCC)
)
GO

CREATE TABLE CT_PhieuNhap(
    MaPN nvarchar(50) NOT NULL,
    MaSP nvarchar(50) NOT NULL,
    SL int NOT NULL,
    GiaNhap int NOT NULL,
    CONSTRAINT pk_CTPhieuNhap PRIMARY KEY(MaPN, MaSP),
    CONSTRAINT fk_CTPhieuNhap_PN FOREIGN KEY(MaPN) REFERENCES PhieuNhap(MaPN),
    CONSTRAINT fk_CTPhieuNhap_SP FOREIGN KEY(MaSP) REFERENCES SanPham(MaSP)
)
GO

CREATE TABLE PhieuXuat(
    MaPX nvarchar(50) NOT NULL,
    MaNCC nvarchar(50) NOT NULL,
    NgayXuat date NOT NULL,
    TongTienX int NOT NULL,
    CONSTRAINT pk_PhieuXuat PRIMARY KEY(MaPX),
    CONSTRAINT fk_Ma_NCC_PhieuXuat FOREIGN KEY(MaNCC) REFERENCES Nha_CC(MaNCC)
)
GO

CREATE TABLE CT_PhieuXuat(
    MaPX nvarchar(50) NOT NULL,
    MaDM nvarchar(50) NOT NULL,
    SL int NOT NULL,
    GiaXuat int NOT NULL,
    CONSTRAINT pk_CTPhieuXuat PRIMARY KEY(MaPX, MaDM),
    CONSTRAINT fk_CTPhieuXuat_PX FOREIGN KEY(MaPX) REFERENCES PhieuXuat(MaPX),
    CONSTRAINT fk_CTPhieuXuat_DM FOREIGN KEY(MaDM) REFERENCES DanhMuc_SP(MaDM)
)
GO

CREATE TABLE HoaDon(
    MaHD nvarchar(50) NOT NULL,
    MaNV nvarchar(50) NOT NULL,
    MaKH nvarchar(50) NOT NULL,
    NgayTT date NOT NULL,
    NgayMua date NOT NULL,
    TT_HD int NOT NULL,
    CONSTRAINT pk_HoaDon PRIMARY KEY(MaHD)
)
GO

CREATE TABLE MatHangMua(
    MaSP nvarchar(50) NOT NULL,
    MaHD nvarchar(50) NOT NULL,
    MaKH nvarchar(50) NOT NULL,
    CONSTRAINT pk_MatHangMua PRIMARY KEY(MaSP, MaHD),
    CONSTRAINT fk_MatHangMua_SP FOREIGN KEY(MaSP) REFERENCES SanPham(MaSP),
    CONSTRAINT fk_MatHangMua_HD FOREIGN KEY(MaHD) REFERENCES HoaDon(MaHD)
)
GO

CREATE TABLE KhachHang(
    MaKH nvarchar(50) NOT NULL,
    HoTenKH nvarchar(50) NOT NULL,
    NgaySinh date NOT NULL,
    GioiTinh nvarchar(50) NOT NULL,
    SDT nvarchar(20) NOT NULL,
    CCCD nvarchar(50) NOT NULL,
    Diem int NOT NULL,
    CONSTRAINT pk_KhachHang PRIMARY KEY(MaKH)
)
GO

CREATE TABLE TK_DangNhap(
    TaiKhoan nvarchar(50) NOT NULL,
    MatKhau nvarchar(50) NOT NULL,
    QuyenHan nvarchar(20) NOT NULL,
    CONSTRAINT pk_TK_DangNhap PRIMARY KEY(TaiKhoan)
)
GO

Kết quả và đóng góp

Đồ án đã đạt được các kết quả cụ thể:

  • Hoàn thành đầy đủ 3 giai đoạn nghiên cứu theo quy trình phát triển phần mềm: khảo sát thực tế, phân tích nghiệp vụ và thiết kế chi tiết.
  • Xác định và chuẩn hóa mô hình dữ liệu gồm 12 thực thể quan hệ, thiết lập hệ thống khóa chính và khóa ngoại đầy đủ trên cơ sở dữ liệu EX_SIEUTHI trong SQL Server.
  • Đặc tả logic cho hơn 20 thủ tục xử lý nghiệp vụ (thêm, sửa, xóa, tìm kiếm, in ấn, lưu dữ liệu) áp dụng cho các phân hệ Nhân sự, Khách hàng, Sản phẩm, Nhà cung cấp, Xuất/Nhập và Hóa đơn.
  • Xây dựng thiết kế kiến trúc giao diện gồm 8 màn hình chức năng chính (Form Main, Form Đăng nhập, Form Đổi mật khẩu, Form Nhân viên, Form Khách hàng, Form Nhập hàng hóa, Form Nhà cung cấp, Form Hóa đơn).

Về mặt thực tiễn, giải pháp thiết kế đã giải quyết được bài toán số hóa quy trình quản lý bán hàng tại siêu thị, khắc phục nguy cơ mất mát dữ liệu từ ghi chép sổ sách thủ công, hỗ trợ kiểm soát hàng tồn kho và hỗ trợ ban quản lý trích xuất dữ liệu báo cáo sang định dạng Excel/Word.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đồ án:

  • Do điều kiện về thời gian, kinh nghiệm và kiến thức thực tế của nhóm sinh viên còn hạn chế, đồ án không thể tránh khỏi những thiếu sót trong quá trình phân tích và thiết kế.
  • Một số chức năng mở rộng nâng cao của hệ thống vẫn đang trong quá trình tìm hiểu và xây dựng dở dang.

Hướng phát triển tiếp theo:

  • Hoàn thiện đầy đủ các chức năng quản lý chương trình khuyến mãi, voucher tri ân khách hàng tự động theo thang điểm tích lũy.
  • Tối ưu hóa cấu trúc cơ sở dữ liệu và thuật toán xử lý để đảm bảo hệ thống vận hành trơn tru khi quy mô dữ liệu hàng hóa và lượng truy cập giao dịch tăng đột biến, tránh hiện tượng quá tải hệ thống.

Giá trị tham khảo

Tài liệu là nguồn tham khảo trực quan cho:

  • Sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm hoặc Hệ thống Thông tin Quản lý đang thực hiện Bài tập lớn, Đồ án 1 hoặc học phần Phân tích thiết kế hệ thống thông tin.
  • Người học cần tài liệu mẫu về cách xây dựng sơ đồ luồng dữ liệu (BFD, DFD từ mức ngữ cảnh đến mức dưới đỉnh), thiết kế bảng dữ liệu quan hệ và viết mã DDL T-SQL trên SQL Server cho bài toán quản lý bán lẻ.

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

1. Đề tài sử dụng mô hình nào để phân tích luồng chức năng của hệ thống siêu thị?
Đề tài sử dụng mô hình phân cấp chức năng tổng thể thông qua sơ đồ luồng nghiệp vụ BFD (Business Flow Diagram) và hệ thống sơ đồ luồng dữ liệu DFD gồm: Sơ đồ ngữ cảnh (với 3 tác nhân ngoài: Ban quản lý, Nhà cung cấp, Khách hàng), Sơ đồ mức đỉnh (5 tiến trình chính từ 1.0 đến 5.0) và Sơ đồ mức dưới đỉnh chi tiết cho từng phân hệ.

2. Cơ sở dữ liệu SQL Server của hệ thống gồm những bảng nào?
Cơ sở dữ liệu có tên EX_SIEUTHI gồm 12 bảng: NhanVien, DanhMuc_SP, Nha_CC, SanPham, PhieuNhap, CT_PhieuNhap, PhieuXuat, CT_PhieuXuat, HoaDon, MatHangMua, KhachHang và TK_DangNhap.

3. Cơ chế quản lý khách hàng và chương trình tri ân được thiết kế như thế nào?
Thông tin khách hàng được lưu trữ với các trường: MaKH, HoTenKH, NgaySinh, GioiTinh, SDT, CCCD và Diem. Mỗi giao dịch mua hàng sẽ tích lũy điểm thưởng vào hồ sơ khách hàng, điểm này được dùng để tra cứu và khấu trừ khi áp dụng voucher khuyến mại hoặc thanh toán.

4. Phân quyền người dùng trong hệ thống được quản lý ra sao?
Hệ thống sử dụng bảng TK_DangNhap với các trường TaiKhoan, MatKhau, QuyenHan (Role). Tài khoản quản trị (ADMIN/Ban quản lý) được toàn quyền can thiệp hệ thống, quản lý tài khoản nhân viên, xem báo cáo doanh thu và duyệt sửa/xóa phiếu nhập xuất; nhân viên chỉ được thao tác trong phạm vi chức năng được cấp phép.

5. Giao diện phần mềm quản lý siêu thị bao gồm những màn hình (Form) nào?
Phần mềm gồm 8 giao diện chính: Form Đăng nhập tài khoản, Form Đổi mật khẩu, Form Main, Form Nhân Viên, Form Khách Hàng, Form Nhập hàng hóa, Form Nhà cung cấp và Form Hóa đơn.

Kết luận

Báo cáo bài tập lớn môn Đồ án 1 đề tài "Quản lý hệ thống siêu thị" của Nhóm 5 (Khoa CNTT, Trường Đại học Kinh tế - Kỹ thuật Công nghiệp Hà Nội, năm học 2021 – 2022) đã hoàn thành việc khảo sát, phân tích và thiết kế một hệ thống quản lý bán lẻ hoàn chỉnh. Nghiên cứu cung cấp hệ thống sơ đồ chức năng BFD/DFD chi tiết, kịch bản xử lý nghiệp vụ rõ ràng cùng cấu trúc cơ sở dữ liệu chuẩn hóa gồm 12 bảng trên SQL Server. Đây là tài liệu mẫu có giá trị học thuật và ứng dụng thực hành cao cho sinh viên ngành công nghệ thông tin trong các học phần phát triển phần mềm quản lý.