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

Đề tài "Phần mềm quản lý cửa hàng mua bán quần áo" là đồ án chuyên ngành thuộc Khoa Công nghệ Thông tin, Trường Đại học Công Thương TP. Hồ Chí Minh, do nhóm sinh viên Võ Danh Dự (Trưởng nhóm), Nguyễn Quốc Dương và Trà Thị Thanh Trúc thực hiện dưới sự hướng dẫn của giảng viên Huỳnh Thị Châu Lan (hoàn thành vào tháng 12 năm 2024).

Bối cảnh thực tiễn của nghiên cứu xuất phát từ sự phát triển mạnh mẽ của công nghệ thông tin trong công tác quản trị kinh doanh. Tại các cửa hàng thời trang bán lẻ, phương thức quản lý truyền thống bằng sổ sách hoặc bảng tính Excel bộc lộ nhiều điểm hạn chế như tốn nhân lực, mất thời gian, dễ thất lạc và sai sót dữ liệu, đồng thời gây khó khăn cho việc tra cứu thông tin nhanh chóng. Ngành hàng thời trang có đặc thù là sự đa dạng phức tạp về mẫu mã, chủng loại, kích cỡ, màu sắc cùng xu hướng thị hiếu thay đổi liên tục. Do đó, việc xây dựng một phần mềm quản lý chuyên dụng là yêu cầu cấp thiết nhằm tự động hóa quy trình, tối ưu hóa năng lực cạnh tranh và nâng cao chất lượng phục vụ khách hàng.

Mục tiêu nghiên cứu và xây dựng phần mềm được tác giả xác định cụ thể gồm:

  1. Tối ưu hóa quản lý sản phẩm: Theo dõi chi tiết thông tin sản phẩm (kích cỡ, màu sắc, vị trí kho, nhà cung cấp, số lượng tồn kho) nhằm hạn chế tối đa tình trạng thiếu hụt hoặc ứ đọng hàng hóa.
  2. Quản lý khách hàng chuyên nghiệp: Lưu trữ hồ sơ thông tin khách hàng, vận hành cơ chế tích điểm và đổi điểm thưởng tự động.
  3. Quản lý chương trình khuyến mãi và tích điểm: Thiết lập các chương trình ưu đãi linh hoạt, gắn liền với chính sách chăm sóc và giữ chân khách hàng.
  4. Quản lý đổi trả hàng linh hoạt: Chuẩn hóa quy trình tiếp nhận, kiểm tra điều kiện và xử lý đổi trả hàng hóa nhanh chóng, chính xác.
  5. Báo cáo doanh thu chi tiết: Cung cấp hệ thống báo cáo, thống kê đa chiều về doanh thu, lợi nhuận, đơn hàng và lượng hàng tồn kho theo ngày, tháng, năm.

Đối tượng nghiên cứu của đề tài là toàn bộ quy trình nghiệp vụ quản lý bán lẻ tại cửa hàng thời trang (bán hàng, nhập kho, quản lý danh mục sản phẩm, quản lý khách hàng, khuyến mãi, đổi trả và thống kê doanh thu). Phạm vi ứng dụng tập trung vào việc xây dựng phần mềm Desktop trên nền tảng WinForms phục vụ trực tiếp tại quầy của cửa hàng bán lẻ truyền thống, cho phép vận hành độc lập không phụ thuộc vào kết nối mạng Internet bên ngoài.

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

Đồ án áp dụng phương pháp nghiên cứu khảo sát hiện trạng thực tế kết hợp với 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 hóa và chuẩn hóa quy trình nghiệp vụ:

  • Mô hình hóa quy trình nghiệp vụ (BPMN - Business Process Model and Notation): Được sử dụng để mô hình hóa trực quan 5 quy trình nghiệp vụ cốt lõi tại cửa hàng, bao gồm: quy trình bán hàng, quy trình đổi trả hàng, quy trình nhập hàng, quy trình quản lý doanh thu và quy trình quản lý khách hàng.
  • Mô hình hóa chức năng và luồng dữ liệu:
    • Sơ đồ Use-case hệ thống: Xác định rõ vai trò và quyền hạn tương tác của các tác nhân (Admin, Quản lý, Nhân viên bán hàng, Nhân viên kho).
    • Biểu đồ phân cấp chức năng (BFD - Business Function Diagram): Phân rã cấu trúc các khối chức năng từ tổng thể đến chi tiết.
    • Sơ đồ luồng dữ liệu (DFD - Data Flow Diagram): Xây dựng luồng dữ liệu 3 cấp độ, gồm DFD mức 0 (ngữ cảnh), DFD mức 1 và DFD mức 2 cho 8 tiến trình xử lý nghiệp vụ chính.
  • Thiết kế cơ sở dữ liệu quan hệ và xác định ràng buộc toàn vẹn: Nhóm tác giả thiết kế mô hình dữ liệu quan hệ, xây dựng công thức logic và thiết lập bảng tầm ảnh hưởng (ma trận Thêm - Xóa - Sửa) cho 17 ràng buộc toàn vẹn để kiểm soát tính nhất quán của dữ liệu nghiệp vụ.
  • Nguồn dữ liệu: Dữ liệu khảo sát thực tế từ các hoạt động vận hành, mẫu chứng từ, hóa đơn bán hàng, phiếu nhập và quy tắc tính giá bán lẻ tại cửa hàng thời trang.

Thiết kế và triển khai

Hệ thống được thiết kế dưới dạng ứng dụng WinForms (Windows Forms) với kiến trúc phân quyền rõ ràng, hệ thống cơ sở dữ liệu có cấu trúc và tích hợp các thiết bị phần cứng hỗ trợ bán lẻ:

Phân quyền người dùng

Hệ thống thiết lập 4 nhóm quyền truy cập tương ứng với các vị trí công việc:

  • Admin: Toàn quyền quản trị toàn bộ hệ thống, quản lý tài khoản, khôi phục mật khẩu, phân quyền và xem toàn bộ thống kê, báo cáo.
  • Quản lý: Quyền truy cập các phân hệ bán hàng, sản phẩm, đơn hàng, khách hàng, nhân viên cấp dưới và báo cáo doanh thu.
  • Nhân viên bán hàng: Thao tác nghiệp vụ bán hàng, quản lý đơn hàng, tra cứu tồn kho, khách hàng và thống kê cá nhân.
  • Nhân viên kho: Chuyên trách tiếp nhận, kiểm tra ngưỡng tồn kho, duyệt và quản lý sản phẩm nhập kho.

Hệ thống ràng buộc toàn vẹn dữ liệu

Để đảm bảo tính toàn vẹn của dữ liệu trong quá trình vận hành, hệ thống áp dụng các quy tắc ràng buộc logic và toán học:

Ký hiệu Tên ràng buộc toàn vẹn Nội dung quy tắc / Công thức toán học Bảng chịu ảnh hưởng
a Tổng tiền & Tổng giá trị hd.tong_tien = ∑(ct.thanh_tien)
hd.tong_gia_tri = hd.tong_tien - (ISNULL(hd.tien_giam, 0) + ISNULL(hd.tien_doi_diem, 0))
hoa_don (+, +, +)
b Số lượng tồn kho khi bán tts.so_luong_ton = tts.so_luong_ton - ct.so_luong thuoc_tinh_san_pham (+, +, +)
c Giá giảm chi tiết hóa đơn Tính toán giảm giá theo tỷ lệ phần trăm trên từng dòng sản phẩm chi_tiet_hoa_don (+, +, +)
d Tiền giảm cho hóa đơn hd.tien_giam = CASE WHEN km.gia_tri IS NOT NULL THEN hd.tong_tien * km.gia_tri / 100 ELSE 0 END hoa_don (+, -, +)
e Số lượng khuyến mãi Kiểm tra nếu so_luong_da_dung > so_luong_toi_da thì báo lỗi; ngược lại km.so_luong_da_dung = km.so_luong_da_dung + 1 khuyen_mai (+, -, -)
f Tích điểm và đổi điểm Nếu doi_diem = 1 thì hd.tien_doi_diem = kh.diem_thuong, cập nhật lại kh.diem_thuong = 0 hoa_don, khach_hang (+, -, -)
g Điều kiện đổi trả hàng Hóa đơn có ngay_lap <= 7 ngày, ma_khuyen_mai = null (không áp dụng khuyến mãi) và trang_thai_doi_tra = 0 (chưa từng đổi trả) hoa_don_doi_tra (+, -, -)
h Cập nhật tồn kho khi đổi trả Nếu cthddt.trang_thai = 'trả hàng' thì so_luong_ton = so_luong_ton + 1
Nếu cthddt.trang_thai = 'đổi hàng' thì so_luong_ton = so_luong_ton - 1
chi_tiet_hoa_don_doi_tra (+, -, -)
m Tiền hoàn và tiền khách trả tien_hang_tra = ∑(thanh_tien | trang_thai = 'trả hàng')
tien_mua_them = ∑(thanh_tien | trang_thai = 'đổi hàng')
tien_hoan = max(0, tien_hang_tra - tien_mua_them)
tien_khach_tra = max(0, tien_mua_them - tien_hang_tra)
hoa_don_doi_tra (+, -, -)
p Giá bình quân sản phẩm sp.gia_binh_quan = MAX(ncc_sp.gia_cung_cap) từ nhà cung cấp hoa_don_doi_tra (+, -, -)
q Giá bán thuộc tính sản phẩm ttp.gia_ban = sp.gia_binh_quan * (1 + kt.phu_phi_size + ms.phu_phi_mausac) thuoc_tinh_san_pham, kich_thuoc, mau_sac, san_pham

Thiết kế giao diện và chức năng quét mã vạch

Hệ thống thiết kế giao diện đồ họa trực quan bao gồm: màn hình Đăng nhập, Trang chủ, Quản lý bán hàng (POS), Quản lý đổi trả hàng, Quản lý nhập hàng, In tem giá và hơn 15 biểu mẫu quản lý danh mục (hàng hóa, loại hàng, nhóm loại, kích thước, màu sắc, thương hiệu, nhà cung cấp, khách hàng, nhân viên, tài khoản, phân quyền, khuyến mãi). Phần mềm tích hợp tính năng quét mã vạch (Barcode) qua thiết bị quét chuyên dụng hoặc camera, tự động nhận diện mã vạch sản phẩm, kiểm tra tồn kho và nạp vào chi tiết hóa đơn bán hàng.

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

Chương 1. Khảo sát hệ thống

Chương 1 tập trung phân tích bối cảnh, lý do lựa chọn nền tảng WinForms và làm rõ hiện trạng vận hành của cửa hàng quần áo. Tác giả chỉ ra 5 vấn đề lớn cần giải quyết: sự đa dạng của sản phẩm (mẫu mã, size, màu sắc); xu hướng thời trang thay đổi nhanh; yêu cầu chăm sóc tệp khách hàng đa dạng; sự cạnh tranh gay gắt trên thị trường; và rủi ro từ việc quản lý thủ công (sổ sách, Excel gây sai sót, thất thoát).

Chương này xây dựng chi tiết 5 mô hình quy trình nghiệp vụ BPMN:

  • Mô hình BPMN nghiệp vụ bán hàng.
  • Mô hình BPMN nghiệp vụ đổi trả hàng.
  • Mô hình BPMN nghiệp vụ nhập hàng.
  • Mô hình BPMN nghiệp vụ quản lý doanh thu.
  • Mô hình BPMN nghiệp vụ quản lý khách hàng.

Đồng thời, chương 1 xác định danh mục các yêu cầu chức năng (đăng nhập, phân quyền, quản lý sản phẩm và thuộc tính biến thể, quản lý khách hàng thân thiết, bán hàng, đổi trả hàng, quản lý khuyến mãi, nhập hàng với cảnh báo ngưỡng tồn kho < 10, thống kê báo cáo doanh thu, quản lý nhân viên và tài khoản) cùng các yêu cầu phi chức năng của hệ thống.

Chương 2. Phân tích thiết kế hệ thống

Chương 2 trình bày toàn bộ quá trình phân tích và thiết kế kỹ thuật của phần mềm:

  • Mô hình Use-case hệ thống: Phác thảo tổng thể tương tác chức năng giữa các nhóm tác nhân người dùng với hệ thống.
  • Mô hình dữ liệu và Ràng buộc toàn vẹn: Xây dựng mô hình quan hệ dữ liệu và thiết lập chi tiết 17 quy tắc ràng buộc toàn vẹn (từ mục a đến q) kèm bảng tầm ảnh hưởng xác định chính xác tác động khi thực hiện thao tác Thêm, Xóa, Sửa trên các bảng cơ sở dữ liệu (hoa_don, chi_tiet_hoa_don, thuoc_tinh_san_pham, khach_hang, khuyen_mai, hoa_don_doi_tra, chi_tiet_hoa_don_doi_tra, san_pham, kich_thuoc, mau_sac).
  • Thiết kế xử lý luồng dữ liệu:
    • Mô hình BFD phân rã cấu trúc chức năng.
    • Mô hình DFD mức 0 (ngữ cảnh) và DFD mức 1.
    • Mô hình DFD mức 2 phân rã chi tiết cho 8 chức năng: Bán hàng offline, Quản lý nhập hàng, Quản lý hệ thống, Quản lý sản phẩm, Quản lý khách hàng, Quản lý nhân viên, Quản lý đổi trả hàng và Thống kê báo cáo doanh thu.
  • Thiết kế giao diện và Reports: Trình bày chi tiết bố cục các màn hình giao diện (Đăng nhập, Trang chủ, Đổi trả hàng, Bán hàng, Quản lý nhập hàng, In tem giá) và hệ thống báo cáo in ấn (Report hóa đơn đổi trả, Report hóa đơn bán hàng, Report in tem giá, Thống kê và xuất báo cáo bán hàng/đổi trả/nhập hàng theo ngày, tháng, năm).

Chương 3. Mô tả chức năng phần mềm

Chương 3 đi sâu vào mô tả chi tiết các bước xử lý nghiệp vụ bán hàng và cơ chế quét mã vạch trên giao diện POS:

  • Quy trình xử lý thêm sản phẩm vào chi tiết hóa đơn: Người dùng nhập tên sản phẩm, nhấn nút "Find" để hiển thị danh sách, chọn sản phẩm, nhập số lượng mua (mặc định là 1 nếu không nhập) và nhấn "Thêm". Hệ thống tự động kiểm tra sản phẩm trùng lặp: nếu đã có trong hóa đơn, số lượng mới sẽ được cộng dồn vào số lượng hiện tại; nếu chưa có, hệ thống tạo dòng mới. Trong trường hợp số lượng mua vượt quá lượng tồn kho thực tế, hệ thống sẽ phát tín hiệu cảnh báo lỗi để người dùng điều chỉnh.
  • Quy trình xóa sản phẩm khỏi giỏ hàng: Người dùng chọn dòng sản phẩm cần xóa, nhấn nút "Xóa", hệ thống hiển thị hộp thoại xác nhận (Yes/No) để chống thao tác nhầm; sau khi xác nhận, phần mềm tự động tính toán và cập nhật lại toàn bộ tổng tiền hóa đơn.
  • Quy trình quét mã vạch sản phẩm: Khi nhấn nút "Quét mã", hệ thống mở cửa sổ quét liên kết với camera hoặc máy đọc mã vạch. Ngay khi nhận diện được mã vạch hợp lệ, hệ thống tự động truy vấn thông tin trong cơ sở dữ liệu (tên sản phẩm, đơn giá, số lượng tồn kho), tự động nạp sản phẩm vào danh sách chi tiết hóa đơn (mặc định số lượng là 1 hoặc tăng lũy kế nếu đã tồn tại) và tự động đóng form quét.

Kết luận và hướng phát triển

Phần kết luận tổng hợp lại toàn bộ kết quả đạt được từ quá trình khảo sát, mô hình hóa và xây dựng phần mềm quản lý cửa hàng thời trang WinForms; đồng thời trình bày các định hướng phát triển trong tương lai để mở rộng khả năng ứng dụng của phần mềm.

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

  • Kết quả đạt được:
    • Mô hình hóa toàn diện các quy trình bán lẻ thời trang thông qua hệ thống sơ đồ BPMN, Use-case, BFD và DFD 3 cấp độ (mức 0, mức 1, mức 2).
    • Thiết lập hoàn chỉnh mô hình dữ liệu quan hệ với hệ thống 17 quy tắc ràng buộc toàn vẹn chặt chẽ, kiểm soát chặt chẽ việc tự động tính toán tổng tiền, tồn kho, giá bán có phụ phí thuộc tính, tích/đổi điểm và chi phí chênh lệch đổi trả.
    • Thiết kế giao diện WinForms đồng bộ, trực quan với đầy đủ các phân hệ quản lý danh mục, lập hóa đơn bán hàng, xử lý đổi trả, cảnh báo nhập hàng tồn thấp (< 10 sản phẩm), in tem giá và xuất báo cáo thống kê theo chu kỳ ngày, tháng, năm.
    • Tích hợp thành công tính năng quét mã vạch qua thiết bị ngoại vi/camera, giúp rút ngắn thời gian xử lý đơn hàng tại quầy.
  • Đóng góp thực tiễn: Cung cấp giải pháp phần mềm chuyên biệt hóa cho cửa hàng quần áo truyền thống, khắc phục triệt để các sai sót từ việc quản lý thủ công bằng giấy tờ hoặc Excel, giúp việc kiểm soát tồn kho biến thể và quy trình đổi trả hàng trở nên chuẩn xác và minh bạch.

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

  • Hạn chế: Nhóm tác giả tự nhận định do thời gian thực hiện có hạn và bước đầu đi vào thực tế nên phần mềm vẫn còn những thiếu sót nhất định. Hệ thống hiện tại chủ yếu tập trung vào mô hình ứng dụng Desktop đơn lẻ tại cửa hàng, chưa mở rộng đồng bộ trực tuyến trên nền tảng Web hoặc ứng dụng di động.
  • Hướng phát triển tiếp (theo tác giả nêu trong văn bản):
    • Phát triển thêm tính năng quản lý chuỗi chi nhánh cửa hàng.
    • Tăng cường khả năng tích hợp sâu và tối ưu hóa với các thiết bị phần cứng hỗ trợ bán lẻ (như máy in hóa đơn chuyên dụng, máy quét mã vạch tốc độ cao).

Giá trị tham khảo

Đồ án là tài liệu tham khảo có giá trị chuyên môn cao cho:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin: Tham khảo phương pháp phân tích thiết kế hệ thống có cấu trúc (sử dụng BPMN, BFD, DFD từ mức 0 đến mức 2) và cách lập bảng ma trận tầm ảnh hưởng ràng buộc toàn vẹn trong cơ sở dữ liệu quan hệ.
  • Lập trình viên phát triển ứng dụng bán lẻ (POS/WinForms): Tham khảo bộ quy tắc nghiệp vụ đặc thù ngành thời trang (công thức tính giá bán theo phụ phí kích thước/màu sắc, điều kiện kiểm soát đổi trả hàng trong 7 ngày, thuật toán tính chênh lệch đổi hàng/hoàn tiền và cơ chế quét mã vạch).

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

1. Hệ thống tính giá bán cho từng biến thể sản phẩm (thuộc tính kích thước, màu sắc) theo công thức nào?
Theo ràng buộc toàn vẹn mục q, giá bán của thuộc tính sản phẩm được xác định dựa trên giá bình quân nhập hàng (lấy giá cung cấp cao nhất từ các nhà cung cấp) nhân với tỷ lệ phụ phí kích thước và phụ phí màu sắc:
ttp.gia_ban = sp.gia_binh_quan * (1 + kt.phu_phi_size + ms.phu_phi_mausac).

2. Điều kiện bắt buộc để phần mềm cho phép lập hóa đơn đổi trả hàng là gì?
Căn cứ theo ràng buộc toàn vẹn mục g, hệ thống chỉ chấp nhận đổi trả khi thỏa mãn đồng thời 3 điều kiện:

  • Hóa đơn mua hàng chưa quá 7 ngày kể từ ngày lập (hd.ngay_lap <= 7 ngày).
  • Hóa đơn gốc không áp dụng chương trình khuyến mãi (hd.ma_khuyen_mai = null).
  • Hóa đơn chưa từng được thực hiện đổi trả trước đó (hd.trang_thai_doi_tra = 0).

3. Số tiền hoàn lại cho khách hoặc số tiền khách phải trả thêm khi đổi trả hàng được tính như thế nào?
Theo ràng buộc toàn vẹn mục m, hệ thống tự động tổng hợp tiền hàng trả lại (tien_hang_tra) và tiền hàng mua mới/đổi thêm (tien_mua_them). Từ đó tính toán:

  • tien_hoan = max(0, tien_hang_tra - tien_mua_them) (tiền cửa hàng hoàn lại cho khách).
  • tien_khach_tra = max(0, tien_mua_them - tien_hang_tra) (tiền khách hàng cần thanh toán thêm).

4. Phân hệ quản lý nhập hàng hỗ trợ kiểm soát hàng tồn kho như thế nào?
Hệ thống thiết lập chức năng tự động lọc và hiển thị danh sách các sản phẩm có số lượng tồn kho dưới ngưỡng an toàn (số lượng tồn < 10), hỗ trợ xuất danh sách sản phẩm cần nhập ra file Excel và tạo phiếu nhập hàng theo giá ưu đãi từ nhà cung cấp.

5. Cơ chế xử lý khi quét mã vạch sản phẩm trong giao diện bán hàng diễn ra ra sao?
Khi kích hoạt chức năng "Quét mã", form quét mở ra kết nối với camera hoặc máy đọc mã vạch. Sau khi giải mã thành công, hệ thống tự động truy vấn tên, đơn giá và số lượng tồn kho từ cơ sở dữ liệu. Nếu sản phẩm đã có trong chi tiết hóa đơn, hệ thống tự động tăng số lượng mua thêm 1; nếu chưa có, hệ thống thêm một dòng mới với số lượng mặc định là 1 và cập nhật lại tổng tiền hóa đơn.

Kết luận

Đồ án "Phần mềm quản lý cửa hàng mua bán quần áo" của nhóm sinh viên Trường Đại học Công Thương TP. Hồ Chí Minh đã hoàn thành tốt mục tiêu khảo sát, phân tích thiết kế và xây dựng giải pháp phần mềm WinForms phục vụ quản lý bán lẻ thời trang. Hệ thống giải quyết hiệu quả bài toán quản lý biến thể sản phẩm phức tạp, kiểm soát chặt chẽ quy trình đổi trả hàng, tự động hóa tính toán chiết khấu - điểm thưởng và hỗ trợ quét mã vạch tại quầy. Báo cáo đồ án thể hiện tính logic cao qua hệ thống mô hình BPMN, DFD phân rã đa cấp và bảng ràng buộc toàn vẹn chi tiết, đóng vai trò là tài liệu tham khảo thực tế cho các dự án phát triển phần mềm quản lý bán hàng.