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

Đề tài "Xây dựng phần mềm quản lý bán hàng siêu thị Vinmart" được thực hiện trong khuôn khổ đồ án môn học Lập trình C#.NET (Mã lớp học phần: 2021112005603) tại Khoa Công nghệ Thông tin, Trường Đại học Tài chính – Marketing, do ThS. Nguyễn Thanh Trường hướng dẫn, nhóm sinh viên Nguyễn Võ Quốc Huy và Trần Kim Tấn Lợi thực hiện vào tháng 5 năm 2021.

Hệ thống siêu thị VinMart (thuộc Tập đoàn Masan Group sau thỏa thuận hoán đổi cổ phần các công ty VinCommerce và VinEco với Tập đoàn Vingroup vào ngày 03/12/2019) chính thức khai trương từ ngày 20/11/2014. Theo thống kê của Vietnam Report, tính đến tháng 11/2017, VinMart và VinMart+ nằm trong Top 2 nhà bán lẻ được người tiêu dùng quan tâm nhất và Top 4 trên bảng xếp hạng 10 nhà bán lẻ uy tín nhất năm 2017. Sau quá trình mở rộng và sáp nhập Fivimart (tháng 10/2018), quy mô chuỗi đạt khoảng 111 siêu thị và 1.800 cửa hàng VinMart+ trên 50 tỉnh thành tính đến tháng 5/2019; đến tháng 11/2019 đã phát triển lên 2.600 điểm bán lẻ.

Bối cảnh thực tiễn cho thấy công tác quản lý tại các đơn vị bán lẻ có số lượng mặt hàng đa dạng và lưu lượng giao dịch lớn thường xuyên đối mặt với nhiều bất cập khi áp dụng phương thức thủ công:

  • Hồ sơ, chứng từ dạng giấy tờ chiếm nhiều diện tích lưu trữ và tốn thời gian tra cứu.
  • Quá trình xử lý hóa đơn bán lẻ dễ xảy ra sai sót, điển hình như việc in sai giá thực tế niêm yết trên quầy.
  • Số liệu báo cáo kết quả kinh doanh gửi lên bộ phận quản lý không trùng khớp với thực tế luân chuyển hàng hóa.

Nhóm tác giả xác định 5 mục tiêu nghiên cứu cụ thể:

  1. Xây dựng quy trình thanh toán nhanh chóng, chính xác tại quầy thu ngân.
  2. Hỗ trợ người quản lý và ban giám đốc trong việc ra quyết định kinh doanh dựa trên dữ liệu.
  3. Đáp ứng tốt hơn nhu cầu mua sắm và ghi nhận phản hồi của khách hàng.
  4. Phục vụ công tác quản lý danh mục và thống kê doanh thu, hàng tồn kho.
  5. Duy trì hoạt động vận hành của siêu thị với số lượng nhân sự hợp lý.

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

  • Đối tượng nghiên cứu: Các nghiệp vụ bán hàng, nhập kho, xuất kho, kiểm kê hàng hóa, quản lý hồ sơ nhân viên, quản lý thông tin khách hàng và danh mục nhà cung cấp tại siêu thị VinMart.
  • Phạm vi không gian: Khảo sát và phân tích mô hình quản lý bán lẻ tại các cơ sở quy mô vừa và nhỏ thuộc hệ thống VinMart.
  • Phạm vi kỹ thuật: Giới hạn trong khuôn khổ yêu cầu môn học Lập trình C#.NET, tập trung vào việc thiết kế cơ sở dữ liệu quan hệ và xây dựng ứng dụng giao diện máy trạm (Desktop Application).

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

Văn bản tiếp cận đề tài dựa trên hệ thống cơ sở lý thuyết về kinh doanh thương mại bán lẻ và phương pháp luận kỹ thuật phần mềm:

Khung lý thuyết và khái niệm nghiệp vụ

  • Khái niệm bán lẻ: Được tổng hợp theo 5 góc độ:
    • Lý thuyết bán lẻ hàng hóa và dịch vụ: Bán lẻ là loại hình kinh doanh thương mại bán trực tiếp đến người tiêu dùng cuối cùng để thỏa mãn nhu cầu vật chất hoặc tinh thần, không vì mục đích thương mại tiếp theo.
    • Góc độ kinh tế: Quá trình chuyển hóa hình thái giá trị từ hàng sang tiền để phục vụ tiêu dùng cá nhân.
    • Định nghĩa của Philip Kotler: Hoạt động bán hàng hóa hoặc dịch vụ trực tiếp cho người tiêu dùng cuối cùng phục vụ nhu cầu cá nhân.
    • Góc độ công nghệ: Chuỗi hoạt động công nghệ nghiệp vụ từ khâu nhập hàng, biến giá trị cá biệt thành giá trị xã hội, chuyển giao danh nghĩa sử dụng cho người mua.
    • Góc độ xã hội: Tổng hòa các hành vi trao đổi, lao động có ích giữa các nhóm người cùng tham gia vào quá trình phân phối tài sản xã hội.
  • Các phương pháp bán lẻ trong hệ thống thương mại: Văn bản phân loại 6 phương thức: (1) Bán hàng qua quầy truyền thống; (2) Bán hàng theo hình thức tự phục vụ; (3) Bán hàng tự chọn; (4) Bán hàng theo mẫu; (5) Bán hàng theo đơn đặt hàng; (6) Bán hàng tận nhà. Đề tài tập trung xử lý cho mô hình tự phục vụ kết hợp bán hàng tự chọn tại siêu thị.
  • 4 yếu tố cấu thành dịch vụ bán lẻ: Hàng hóa; Nguyên vật liệu và công cụ phục vụ trưng bày; Dịch vụ khách hàng; Sức lao động của người bán và người mua.

Phương pháp nghiên cứu và công cụ kỹ thuật

  • Phương pháp phân tích nghiệp vụ: Sử dụng phương pháp mô hình hóa quy trình thông qua Sơ đồ chức năng nghiệp vụ (BFD - Business Function Diagram) và Sơ đồ luồng dữ liệu (DFD - Data Flow Diagram).
  • Phương pháp mô hình hóa dữ liệu: Thiết kế cơ sở dữ liệu theo 3 mức độ tiêu chuẩn: Mô hình dữ liệu quan niệm (CDM - Conceptual Data Model), Mô hình dữ liệu luận lý (PDM - Logical/Physical Data Model) và Mô hình dữ liệu vật lý thông qua công cụ Sybase PowerDesigner.
  • Môi trường và công nghệ thực thi:
    • Microsoft Visual Studio: Môi trường phát triển tích hợp (IDE), sử dụng ngôn ngữ C#.NET xây dựng ứng dụng Windows Forms.
    • Microsoft SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng ngôn ngữ Transact-SQL (chuẩn ANSI/ISO) nhằm quản lý dữ liệu, ràng buộc toàn vẹn khóa chính - khóa ngoại và hỗ trợ phân quyền người dùng.

Thiết kế và triển khai

Hệ thống được thiết kế dành cho 4 nhóm đối tượng người dùng tương tác: Người quản trị (Administrator), Nhân viên thu ngân, Nhân viên bán hàng và Thủ kho.

Quy trình nghiệp vụ bán lẻ và vận hành kho

Quy trình vận hành chuẩn tại siêu thị được văn bản chuẩn hóa thành chuỗi 9 bước phối hợp:

  1. Nhân viên bán hàng tư vấn thông tin hàng hóa niêm yết cho khách hàng.
  2. Khách hàng tìm kiếm hàng hóa; trường hợp hết hàng trên quầy, nhân viên liên hệ thủ kho để kiểm tra kho; nếu kho hết hàng, thủ kho gửi thông báo nhập hàng đến nhà cung cấp, tiếp nhận lô hàng nhập và lập báo cáo nhập kho.
  3. Nhân viên thu ngân tiếp nhận giỏ hàng và quét thông tin lập hóa đơn.
  4. Khách hàng đối soát hóa đơn so với các mặt hàng thực tế.
  5. Khách hàng lựa chọn phương thức thanh toán và thanh toán tiền.
  6. Thu ngân xuất hóa đơn chính thức cho khách hàng sau khi nhận đủ tiền.
  7. Thu ngân tổng hợp doanh số và lập báo cáo doanh thu cuối tháng hoặc khi có yêu cầu.
  8. Người quản lý kiểm tra, đối chiếu số liệu bán hàng thực tế với báo cáo của thu ngân.
  9. Quản lý gửi báo cáo kết quả kinh doanh định kỳ lên ban giám đốc.

Cấu trúc cơ sở dữ liệu

Hệ thống quản lý dữ liệu thông qua 15 bảng thực thể và bảng chi tiết liên kết (ràng buộc khóa chính và khóa ngoại chặt chẽ):

Tên bảng thực thể Tên thuộc tính chính Kiểu dữ liệu Vai trò ràng buộc
ChucVu MaCV, TenCV Variable Characters MaCV: Khóa chính
TaiKhoanDangNhap TaiKhoan, MaNV, MatKhau Variable Characters TaiKhoan: Khóa chính; MaNV: Khóa phụ
NhanVien MaNV, MaCV, HoTenNV, GioiTinh, DiaChi, DienThoai, NgayVaoLam Variable Characters, Date MaNV: Khóa chính; MaCV: Khóa phụ
KhachHang MaKH, HoTenKH, DiaChi, DienThoai Variable Characters MaKH: Khóa chính
NhaCungCap MaNCC, TenNCC, DiaChi, DienThoai Variable Characters MaNCC: Khóa chính
LoaiHang MaLH, TenLH Variable Characters MaLH: Khóa chính
MatHang MaMH, MaLH, MaNCC, TenMH, GiaBan, SoLuongTon, DonViTinh Variable Characters, Integer MaMH: Khóa chính; MaLH, MaNCC: Khóa phụ
PhieuNhap MaPN, MaNV, NgayNhap, GhiChu Variable Characters, Date MaPN: Khóa chính; MaNV: Khóa phụ
PhieuXuat MaPX, MaNV, NgayXuat, GhiChu Variable Characters, Date MaPX: Khóa chính; MaNV: Khóa phụ
HoaDon MaHD, MaNV, MaKH, NgayBan, GhiChu Variable Characters, Date MaHD: Khóa chính; MaNV, MaKH: Khóa phụ
PhieuKiemKe MaPKK, MaNV, NgayKK, GhiChu Variable Characters, Date MaPKK: Khóa chính; MaNV: Khóa phụ
ChiTietPhieuNhap MaPN, MaMH, SoLuongNhap, GiaNhap Variable Characters, Integer (MaPN, MaMH): Khóa chính kết hợp
ChiTietPhieuXuat MaPX, MaMH, SoLuongXuat Variable Characters, Integer (MaPX, MaMH): Khóa chính kết hợp
ChiTietHoaDon MaHD, MaMH, SoLuongBan, GiaBan Variable Characters, Integer (MaHD, MaMH): Khóa chính kết hợp
ChiTietPhieuKiemKe MaPKK, MaMH, SoLuongNhap, SoLuongBan, SoLuongTonQuay, SoLuongTonKho Variable Characters, Integer (MaPKK, MaMH): Khóa chính kết hợp

Hiện thực giao diện và kiểm thử chức năng

Chương trình được hiện thực bằng Windows Forms trên Visual Studio, bao gồm 9 giao diện chức năng chính:

  • Form Đăng nhập & Đổi mật khẩu: Xác thực thông tin tài khoản nhân viên, kiểm tra mật khẩu hợp lệ và phân quyền chức năng.
  • Form Giao diện chính: Bảng điều khiển phân cấp điều hướng cho từng vai trò người dùng; chặn quyền đối với các chức năng ngoài phạm vi phân quyền.
  • Form Quản lý hóa đơn & Chi tiết hóa đơn: Hỗ trợ lập hóa đơn xuất bán cho khách lẻ hoặc khách hàng thành viên; tích hợp danh mục chi tiết hóa đơn (mã hàng, số lượng, đơn giá tự động truy xuất từ bảng MatHang).
  • Form Quản lý phiếu nhập, phiếu xuất, phiếu kiểm kê: Xử lý nghiệp vụ kho, theo dõi số lượng tồn trên quầy và số lượng tồn trong kho.
  • Form Quản lý danh mục hàng hóa, khách hàng, nhân viên, người dùng: Thực hiện các tác vụ Thêm, Xóa, Sửa, Tìm kiếm.

Toàn bộ các tác vụ xử lý trên giao diện đều được nhóm tác giả xây dựng kịch bản kiểm thử trực quan với hai trạng thái: hiển thị thông báo thành công khi thao tác hợp lệ và bắt lỗi hiển thị thông báo thất bại khi vi phạm ràng buộc dữ liệu hoặc để trống trường thông tin.

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

CHƯƠNG 1: TỔNG QUAN

Chương 1 giới thiệu tổng quát về lịch sử hình thành và phát triển của hệ thống bán lẻ VinMart và chuỗi VinMart+ từ năm 2014 đến 2019. Tác giả phân tích lý do hình thành đề tài xuất phát từ nhu cầu thay thế phương thức quản lý giấy tờ thủ công bằng phần mềm tin học hóa giúp tiết kiệm chi phí, nhân lực và nâng cao độ chính xác. Chương này xác định rõ mục tiêu đề tài, nội dung các phân hệ cần xây dựng (quản lý bán hàng, nhập kho, xuất kho, kiểm kê, danh mục đối tác), đối tượng và phạm vi nghiên cứu ở quy mô hệ thống vừa và nhỏ, phương pháp tiếp cận và dự kiến kết quả đạt được về mặt học thuật cũng như ứng dụng.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

Nội dung chương 2 tập trung vào việc mô tả bài toán quản lý siêu thị bán lẻ: đặc trưng bán lẻ tự phục vụ, phân loại khách hàng (khách mua lẻ vãng lai và khách hàng thân thiết được cấp thẻ tích điểm), quy định quản lý thông tin hạn dùng, giá bán, giá nhập của hàng hóa và cơ chế phân ca làm việc của nhân viên. Tác giả trình bày chi tiết sơ đồ quy trình nghiệp vụ gồm 9 bước, phân tích hệ thống lý luận bán lẻ theo các quan điểm kinh tế - xã hội, đánh giá ưu nhược điểm của 6 phương pháp bán lẻ hiện đại. Phần cuối chương trình bày đặc tính kỹ thuật, ưu và nhược điểm của 3 công cụ phát triển: công cụ mô hình hóa dữ liệu PowerDesigner, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (Transact-SQL) và môi trường lập trình Microsoft Visual Studio.

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Chương 3 bắt đầu bằng việc khảo sát hiện trạng tại siêu thị VinMart, chỉ ra các lỗi thực tế trong việc xuất hóa đơn sai lệch giá hoặc báo cáo doanh thu không khớp dữ liệu. Từ đó, tác giả xác định các yêu cầu chức năng (Cập nhật, Tìm kiếm, Bán hàng, Lập báo cáo thống kê danh sách tồn kho/hóa đơn/nhân viên/đối tác) và phân định 4 nhóm vai trò người dùng tương tác. Tác giả chi tiết hóa thiết kế hệ thống qua Sơ đồ luồng dữ liệu (DFD), định nghĩa tường minh 11 tập thực thể nghiệp vụ kèm 4 thực thể liên kết, thiết lập 13 mối quan hệ giữa các thực thể (liên kết 1-1, 1-n, n-n) và trực quan hóa qua 3 mức mô hình dữ liệu: CDM (mức quan niệm), PDM (mức luận lý và vật lý), trước khi cài đặt bảng và nhập liệu trên Microsoft SQL Server.

CHƯƠNG 4: HIỆN THỰC CHƯƠNG TRÌNH

Chương 4 mô tả chi tiết việc xây dựng các giao diện người dùng tương ứng với các chức năng đã thiết kế. Nội dung bao gồm việc xây dựng 9 form chức năng chính: form đăng nhập, form giao diện chính, form đổi mật khẩu, form quản lý hóa đơn, form quản lý chi tiết hóa đơn, form quản lý hàng hóa (tích hợp quản lý loại hàng và nhà cung cấp), form quản lý khách hàng, form quản lý nhân viên và form quản lý người dùng. Tác giả ghi lại toàn bộ kết quả thực thi các trường hợp kiểm thử giao diện qua danh mục 70 hình chụp màn hình minh họa, đối chiếu cụ thể giữa tình huống thao tác thành công và tình huống thông báo thao tác thất bại khi người dùng nhập sai quy chuẩn hoặc thiếu dữ liệu.

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

  • Kết quả kỹ thuật đạt được:
    • Hoàn thiện mô hình dữ liệu quan hệ gồm 15 bảng có ràng buộc khóa và kiểu dữ liệu chuẩn xác, đáp ứng đầy đủ chu trình luân chuyển hàng hóa tại siêu thị bán lẻ.
    • Xây dựng phần mềm ứng dụng hoàn chỉnh bằng C#.NET kết nối cơ sở dữ liệu SQL Server, tích hợp đầy đủ các chức năng đăng nhập, phân quyền, quản lý hóa đơn, phiếu nhập kho, phiếu xuất kho, phiếu kiểm kê và quản lý danh mục (hàng hóa, loại hàng, nhà cung cấp, khách hàng, nhân sự).
    • Hoàn thiện kiểm thử chức năng giao diện với các thông báo trạng thái rõ ràng (thực hiện chụp màn hình và nghiệm thu 70 trường hợp giao diện thực tế).
  • Phân công và mức độ hoàn thành nhiệm vụ:
    • Sinh viên Nguyễn Võ Quốc Huy: Đảm nhiệm thiết kế Giao diện chính (85%), Quản lý hóa đơn (85%), Quản lý chi tiết hóa đơn (90%), Quản lý khách hàng (90%), Quản lý nhân viên (90%).
    • Sinh viên Trần Kim Tấn Lợi: Đảm nhiệm Giao diện Đăng nhập (85%), Đổi mật khẩu (90%), Quản lý hàng hóa (90%), Quản lý người dùng (90%).
  • Đóng góp học thuật: Đồ án tổng hợp được quy trình phân tích thiết kế hệ thống thông tin bài bản từ khảo sát nghiệp vụ thực tế, xây dựng sơ đồ luồng dữ liệu (DFD), thiết kế cơ sở dữ liệu qua các mức CDM/PDM trên PowerDesigner cho đến cài đặt phần mềm quản lý trên nền tảng .NET Framework.

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

  • Hạn chế được tác giả chỉ ra:
    • Phạm vi khảo sát và phân tích chỉ mới dừng lại ở các hệ thống bán lẻ có quy mô vừa và nhỏ, chưa bao quát được toàn diện cơ chế điều phối chuỗi cung ứng tập trung ở quy mô hàng nghìn điểm bán của toàn bộ hệ thống VinMart.
    • Kinh nghiệm thực tế và thời gian thực hiện đồ án môn học có hạn, phần mềm mới chỉ tập trung vào nghiệp vụ bán lẻ và quản lý kho cơ bản tại cửa hàng đơn lẻ.
    • Về mặt công nghệ, hệ quản trị cơ sở dữ liệu SQL Server khi triển khai ứng dụng quản lý có nhược điểm tiêu tốn tài nguyên phần cứng, dung lượng cài đặt lớn và tốc độ truy vấn có thể bị ảnh hưởng nếu lượng dữ liệu giao dịch phát sinh vượt quá cấu hình phần cứng cho phép.
  • Hướng mở rộng đề tài:
    • Nghiên cứu mở rộng cấu trúc cơ sở dữ liệu và kiến trúc ứng dụng để đáp ứng cho các hệ thống siêu thị có quy mô lớn hơn hoặc mô hình chuỗi phân tán.
    • Tích hợp thêm các kỹ thuật tối ưu hóa truy vấn và phát triển tiếp các học phần chuyên sâu trong chương trình đào tạo ngành Công nghệ thông tin.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin quản lý: Dùng làm mẫu tham khảo trực tiếp khi thực hiện đồ án môn học Lập trình C#.NET, môn Cơ sở dữ liệu hoặc Phân tích thiết kế hệ thống thông tin.
  • Người nghiên cứu hệ thống quản lý bán lẻ (POS/Retail): Phần mô tả 9 bước quy trình nghiệp vụ (Chương 2) và bảng đặc tả 15 thực thể dữ liệu (Chương 3) là nguồn tư liệu chuẩn xác để học tập cách chuyển đổi yêu cầu nghiệp vụ thực tế thành lược đồ cơ sở dữ liệu quan hệ trên SQL Server và thiết kế giao diện Windows Forms.

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

1. Phần mềm sử dụng công nghệ và công cụ gì để xây dựng?

Hệ thống được phát triển bằng ngôn ngữ C#.NET trên môi trường Microsoft Visual Studio, kết hợp hệ quản trị cơ sở dữ liệu Microsoft SQL Server (truy vấn bằng Transact-SQL). Việc phân tích và thiết kế mô hình dữ liệu quan niệm (CDM) và luận lý/vật lý (PDM) được thực hiện thông qua công cụ PowerDesigner.

2. Cơ sở dữ liệu của phần mềm quản lý bán hàng siêu thị gồm bao nhiêu bảng?

Hệ thống lưu trữ dữ liệu trên 15 bảng, bao gồm 11 bảng thực thể chính (ChucVu, TaiKhoanDangNhap, NhanVien, KhachHang, NhaCungCap, LoaiHang, MatHang, PhieuNhap, PhieuXuat, HoaDon, PhieuKiemKe) và 4 bảng chi tiết liên kết nhiều - nhiều (ChiTietPhieuNhap, ChiTietPhieuXuat, ChiTietHoaDon, ChiTietPhieuKiemKe).

3. Hệ thống phục vụ những nhóm người dùng nào và phân quyền ra sao?

Văn bản xác định 4 nhóm người dùng tương tác: Người quản trị (Administrator) có toàn quyền cấu hình, cập nhật thông tin và phân quyền hệ thống; Nhân viên thu ngân chịu trách nhiệm xử lý đơn hàng và tính tiền; Nhân viên bán hàng phụ trách tư vấn, giới thiệu mặt hàng; Thủ kho trực tiếp nhập hàng vào kho, xuất hàng lên quầy và lập phiếu kiểm kê.

4. Quy trình bán hàng tự chọn tại quầy thu ngân được văn bản mô tả như thế nào?

Khi khách hàng chọn xong hàng hóa và yêu cầu thanh toán, nhân viên thu ngân quét mã vạch mặt hàng, lập hóa đơn trên phần mềm để tính tiền tự động và in hóa đơn cho khách. Số lượng mặt hàng trên quầy trong cơ sở dữ liệu sẽ tự động được cập nhật giảm tương ứng với số lượng xuất bán.

5. Khách hàng thân thiết và khách hàng mua lẻ được phân biệt quản lý ra sao?

Đối với khách mua lẻ thông thường, phần mềm chỉ ghi nhận và lưu trữ thông tin hóa đơn bán để phục vụ kế toán thống kê doanh số. Đối với khách hàng thân thiết, nhân viên thu ngân lưu trữ thông tin cá nhân vào hệ thống và cấp thẻ khách hàng thân thiết để tích lũy điểm thưởng tương ứng với giá trị từng đơn hàng.

Kết luận

Đồ án "Xây dựng phần mềm quản lý bán hàng siêu thị Vinmart" của nhóm sinh viên Nguyễn Võ Quốc Huy và Trần Kim Tấn Lợi là công trình học thuật thuộc chuyên ngành Công nghệ thông tin, phản ánh trọn vẹn chu trình phát triển phần mềm quản lý bán lẻ quy mô vừa và nhỏ. Báo cáo thể hiện sự liên kết chặt chẽ từ khảo sát bài toán thực tế của chuỗi VinMart, cơ sở lý luận thương mại bán lẻ, đến thiết kế chuẩn hóa 15 bảng cơ sở dữ liệu và hiện thực 9 phân hệ giao diện Windows Forms trên nền tảng C#.NET. Toàn bộ nội dung và số liệu kiểm thử được trình bày rõ ràng, đóng vai trò là tài liệu tham khảo thực hành hữu ích cho sinh viên kỹ thuật phần mềm.