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

Trong lĩnh vực thương mại bán lẻ thời trang, giày dép là mặt hàng có sự tăng trưởng nhanh chóng nhờ nhu cầu đa dạng hóa phong cách của người tiêu dùng, đặc biệt là giới trẻ. Tuy nhiên, các cơ sở kinh doanh cá nhân và cửa hàng bán lẻ quy mô vừa và nhỏ thường gặp nhiều rào cản trong khâu quản lý vận hành. Khác với các sản phẩm thông thường, giày dép có tính đặc thù cao: sản phẩm được tính theo đôi, mẫu mã phong phú, vòng đời thay đổi liên tục và chứa nhiều biến thể phức tạp về kích cỡ (size), màu sắc, chất liệu cũng như kiểu dáng.

Thực tế quản lý truyền thống bằng sổ sách hoặc các công cụ ghi chép thủ công bộc lộ nhiều điểm yếu như: dễ xảy ra sai sót dữ liệu, thất thoát thông tin, hư hỏng sổ sách, khó kiểm soát chính xác lượng tồn kho thực tế và tốn nhiều nhân lực. Bên cạnh đó, việc bàn giao ca làm việc và kiểm soát số dư két tiền mặt giữa các nhân viên bán hàng thường thiếu tính minh bạch, dễ phát sinh chênh lệch tài chính.

Trước thực trạng đó, nhóm tác giả thuộc chuyên ngành Ứng dụng phần mềm, Trường Cao đẳng FPT Polytechnic đã thực hiện đề tài "Xây dựng website bán giày – ShoesWear" (mã đề tài SRS - ShoesWear) dưới sự hướng dẫn của giảng viên Nguyễn Anh Dũng.

Đề tài đặt ra các mục tiêu và nhiệm vụ cụ thể:

  1. Khảo sát hiện trạng thực tế và phân tích nghiệp vụ quản lý bán hàng tại các cửa hàng thời trang giày dép.
  2. Thiết kế mô hình dữ liệu quan hệ có khả năng xử lý linh hoạt các thuộc tính động của sản phẩm biến thể.
  3. Xây dựng hệ thống phần mềm tích hợp hai phân hệ: bán hàng trực tuyến (E-commerce) dành cho khách hàng và phân hệ quản lý bán hàng tại quầy (POS), quản lý kho, giao ca dành cho nhân viên và quản lý.
  4. Kiểm thử các chức năng và hoàn thiện tài liệu đặc tả yêu cầu phần mềm (SRS).

Về phạm vi nghiên cứu:

  • Phạm vi chức năng: Bao gồm các khối nghiệp vụ đặt hàng trực tuyến, bán hàng tại quầy, quản lý sản phẩm và thuộc tính động, quản lý tài khoản người dùng, quản lý giao ca và két tiền, quản lý mã giảm giá (voucher) và thống kê doanh thu.
  • Phạm vi đối tượng: Phục vụ trực tiếp ba nhóm tác nhân là Quản trị viên/Chủ cửa hàng, Nhân viên bán hàng và Khách hàng mua sắm.
  • Thời gian thực hiện: Dự án được triển khai từ tháng 5/2022 đến tháng 8/2022 tại Hà Nội.

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

Khung phương pháp luận và quy trình phát triển

Nhóm tác giả áp dụng phương pháp phát triển phần mềm linh hoạt (Agile). Quy trình được chia nhỏ thành các chu kỳ lặp (Sprint), giúp nhóm dễ dàng điều chỉnh yêu cầu theo phản hồi thực tế từ người dùng và giảng viên hướng dẫn mà không làm phá vỡ cấu trúc tổng thể của hệ thống.

Quá trình khảo sát hiện trạng được tiến hành từ ngày 27/05/2022 đến ngày 30/05/2022 thông qua công cụ Google Forms và phỏng vấn trực tiếp khách hàng, người kinh doanh về các khó khăn trong quản lý thủ công. Đồng thời, nhóm thực hiện phương pháp đối chuẩn (benchmarking) với hai giải pháp phần mềm hiện có trên thị trường:

  • Hệ thống Độc Shop: Đánh giá điểm mạnh về phân loại sản phẩm, giao diện trẻ trung, quy trình mua hàng linh hoạt không bắt buộc đăng nhập; nhận diện hạn chế trong khâu quản lý mã giảm giá.
  • Hệ thống KiotViet (phân hệ thời trang): Đánh giá các chuẩn nghiệp vụ về quản lý giao ca minh bạch, quản lý thuộc tính động của sản phẩm thời trang, quản lý hóa đơn khi xuất kho và báo cáo doanh thu đa chiều.

Quy chuẩn mô hình hóa hệ thống

Hệ thống sử dụng các chuẩn mô hình hóa phần mềm hướng đối tượng bao gồm:

  • Biểu đồ Use Case: Phân rã chức năng hệ thống theo các tác nhân; sử dụng các mối quan hệ tiêu chuẩn như <<include>>, <<extend>> và liên kết (Association).
  • Biểu đồ Activity Diagram: Xây dựng dựa trên chuẩn BPMN 2.0, mô tả chi tiết luồng điều khiển nghiệp vụ với các ký hiệu điểm bắt đầu (Start), điểm kết thúc (End), hành động (Activity), cổng rẽ nhánh điều kiện XOR Gateway (Exclusive) và cổng gom nhánh Inclusive Gateway.
  • Mô hình thực thể kết hợp (ERD): Chuẩn hóa cơ sở dữ liệu quan hệ, xác lập các ràng buộc toàn vẹn khóa chính (PK) và khóa ngoại (FK).

Thiết kế và triển khai

Kiến trúc công nghệ và môi trường vận hành

Hệ thống ShoesWear được triển khai trên nền tảng ứng dụng Web tích hợp API với các công nghệ và công cụ kỹ thuật:

Thành phần Công nghệ / Công cụ sử dụng
Giao diện người dùng (Front-end) Bootstrap, HTML5, CSS, JavaScript
Xử lý phía máy chủ (Back-end) Node.js, Express framework (Node.js version 1.42)
Kiến trúc giao tiếp RESTful API
Hệ quản trị cơ sở dữ liệu Microsoft SQL Server (tương thích SQL Server 2008+ / SQL 2012)
Công cụ phát triển & quản trị mã nguồn Visual Studio Code, Visual Studio 2019, GitHub, Git
Công cụ thiết kế & kiểm thử Draw.io (UML/ERD), Postman (API testing), Trello (quản lý tiến độ Agile)

Yêu cầu hệ thống và môi trường vận hành tối thiểu:

  • Bộ xử lý (CPU): Tối thiểu 3.0 GHz hoặc Dual Core 4.0 GHz.
  • Bộ nhớ trong (RAM): 8 GB trở lên.
  • Dung lượng lưu trữ (HDD): Tối thiểu 14 GB vùng trống khả dụng.
  • Đồ họa (VGA): Tương thích DirectX 9 (NVIDIA GeForce 8800 hoặc AMD Radeon HD 5670 512 MB trở lên).
  • Hệ điều hành: Microsoft Windows 7 trở lên; kết nối qua mạng cục bộ (LAN) hoặc Internet.

Thiết kế cơ sở dữ liệu quan hệ

Cơ sở dữ liệu của ShoesWear được chuẩn hóa thành 20 bảng thực thể nhằm quản lý toàn diện các luồng thông tin bán hàng, sản phẩm đa biến thể, quản lý ca và khuyến mại:

  1. Phân hệ Người dùng & Nhân sự:
    • User: Lưu trữ tài khoản, mật khẩu, họ tên, số điện thoại, email, giới tính, trạng thái hoạt động.
    • Staff: Liên kết User_id để phân định vai trò nhân viên.
    • Customer: Lưu trữ địa chỉ, điểm tích lũy (Point), ghi chú của khách hàng.
  2. Phân hệ Sản phẩm & Thuộc tính động:
    • Product: Thông tin sản phẩm chung, nhóm sản phẩm (Group_id), trạng thái.
    • Product_group: Danh mục phân nhóm sản phẩm.
    • Option & Option_value: Định nghĩa tên thuộc tính (ví dụ: Màu sắc, Kích cỡ, Chất liệu) và các giá trị cụ thể (ví dụ: Đỏ, Xanh, Size 40, Da bò).
    • Product_option: Gán các thuộc tính áp dụng cho từng sản phẩm cụ thể.
    • Product_variant: Lưu trữ từng biến thể cụ thể của sản phẩm (mã SKU, số lượng tồn kho Quantity, đơn giá Price).
    • Variant_value: Liên kết giá trị thuộc tính tương ứng với từng biến thể sản phẩm cụ thể.
    • Image: Lưu trữ đường dẫn ảnh, Product_id, Alt_text và kênh hiển thị.
  3. Phân hệ Đơn hàng & Bán hàng:
    • Bill: Quản lý thông tin hóa đơn tổng thể gồm Customer_id, Staff_id, mã đơn Bill_code, tổng tiền Total_price, tiền sau voucher Price_after_voucher, phí giao hàng Ship_price, hình thức thanh toán Payment_type (COD/ATM), loại hóa đơn Type (Online/Tại quầy), trạng thái State.
    • Bill_product: Chi tiết các mặt hàng trong hóa đơn (Product_variant_id, Amount, Price, Status).
  4. Phân hệ Giao ca & Kiểm soát tiền két:
    • Shift: Định nghĩa ca làm việc, mã ca (Shift_code), nhân viên phụ trách.
    • Shift_staff: Ghi nhận phiên làm việc thực tế, thời gian bắt đầu (Start_date), hạn ca (Expire_date), số tiền đầu ca (Money), tổng tiền trong ca (Total_money), mã phiên.
    • History_shift: Lịch sử dòng tiền phát sinh theo từng hóa đơn trong ca (Type_money, Money, Type, Status_cf).
  5. Phân hệ Khuyến mại & Voucher:
    • Voucher_release: Đợt phát hành voucher (thời gian hiệu lực From_time, To_time, tên đợt phát hành).
    • Voucher: Chi tiết mã giảm giá, mức giảm (Discount), giảm tối đa (Maximum_discount), hóa đơn tối thiểu (Minimum_bill), điểm cần đổi (Points_to_receive).
    • Customer_voucher: Danh sách voucher khách hàng sở hữu.
    • Voucher_log: Lịch sử áp dụng voucher theo từng hóa đơn (Before_price, After_price, Discount_price).

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

PHẦN 1: GIỚI THIỆU ĐỀ TÀI – HỆ THỐNG

Trình bày tổng quan về tính cấp thiết của đề tài, các quy ước soạn thảo văn bản kỹ thuật và bảng chú giải thuật ngữ CNTT (CPU, RAM, HDD, SQL, Database, ERD, Use case, Class diagram, QR code, Agile). Nội dung chương công bố kết quả khảo sát từ 2 hệ thống tham chiếu (Độc Shop và KiotViet), từ đó xác định 4 trụ cột nghiệp vụ: luồng bán hàng đa kênh, luồng quản lý thuộc tính động, luồng giao ca nhân viên và luồng quản trị hệ thống. Chương này cũng phân chia lộ trình thực hiện dự án thành 6 Sprint rõ ràng cùng bảng phân công công việc chi tiết cho 7 thành viên.

PHẦN 2: DATABASE

Tập trung mô tả thiết kế dữ liệu chi tiết của hệ thống. Phần này cung cấp sơ đồ quan hệ thực thể ERD toàn cục và đặc tả cấu trúc của 20 bảng cơ sở dữ liệu. Mọi trường dữ liệu đều được quy định kiểu dữ liệu (int, varchar, float, datetime, boolean), kích thước độ dài, định danh khóa chính PK, khóa ngoại FK và trạng thái bắt buộc nhập (Not Null).

PHẦN 3: PHÂN TÍCH VÀ THIẾT KẾ

Mô hình hóa toàn bộ hệ thống ShoesWear bằng hệ thống biểu đồ chuẩn:

  • 4 sơ đồ Use Case: Use case Quản lý, Use case Khách hàng, Use case Nhân viên và Use case Tổng thể.
  • 9 biểu đồ Activity Diagram: Quy trình Đăng nhập, Đăng xuất, Quản lý tài khoản (nhân viên & khách hàng), Quy trình giao ca két tiền, Quy trình bán hàng, Quy trình quản lý thuộc tính động, Quy trình voucher, Quy trình sản phẩm và Quy trình phân quyền.
  • Hệ thống bản vẽ thiết kế giao diện (Mockup và UI thực tế): Giao diện Đăng nhập, Trang chủ bán hàng, Trang chủ quản trị (Admin Dashboard) và Phân hệ POS bán hàng tại quầy (tìm kiếm sản phẩm, thêm sản phẩm vào đơn, tạo nhanh thông tin khách hàng).

PHẦN 4: CÁC CHỨC NĂNG

Đặc tả chi tiết các luồng xử lý chức năng chính của hệ thống:

  • Chức năng xác thực người dùng: Đăng nhập, đăng xuất, phân quyền truy cập.
  • Nghiệp vụ bán hàng tại quầy (POS): Tra cứu thông tin sản phẩm theo biến thể, tạo đơn hàng tại chỗ, áp mã khuyến mại và in hóa đơn.
  • Nghiệp vụ quản lý sản phẩm: Thêm mới, cập nhật sản phẩm, kiểm soát tồn kho theo từng mã SKU.
  • Nghiệp vụ thuộc tính động: Tạo nhóm thuộc tính và gán linh hoạt vào các sản phẩm mới.

PHẦN 5: CÁC PHI CHỨC NĂNG

Xác định các tiêu chuẩn chất lượng hệ thống: tính sẵn sàng cao, tính toàn vẹn và an toàn dữ liệu, cơ chế sao lưu định kỳ, bảo mật thông tin tài khoản người dùng và tốc độ phản hồi giao dịch bán hàng.

PHẦN 6: KIỂM THỬ

Xây dựng và thực thi bộ kịch bản kiểm thử (Test Cases) từ ngày 25/07/2022 đến ngày 20/08/2022 cho từng phân hệ: kiểm thử bán hàng tại quầy, kiểm thử logic thuộc tính động, kiểm thử tính toán số dư giao ca và kiểm thử báo cáo thống kê doanh thu.

PHẦN 7: TỔNG KẾT

Đánh giá mức độ hoàn thành dự án theo tiến độ 6 Sprint, tổng kết những khó khăn, rủi ro về mặt kỹ thuật/nhóm phát sinh trong quá trình thực hiện và đưa ra các bài học kinh nghiệm về quản lý dự án phần mềm theo Agile.

PHẦN 8: YÊU CẦU KHÁC & PHỤ LỤC A

Đề xuất các định hướng nâng cấp trong tương lai như mở rộng tích hợp các cổng thanh toán điện tử trực tuyến, tích hợp đa sàn thương mại điện tử (Shopee, Lazada, Tiki) và tối ưu hóa ứng dụng trên thiết bị di động.


Kế hoạch triển khai và phân bổ Sprint

Dự án được triển khai qua 6 Sprint theo mô hình Agile với các mốc thời gian và kết quả bàn giao cụ thể:

Sprint Thời gian hoàn thành Nội dung công việc chính Nhân sự phụ trách chính Kết quả
Sprint 1 25/05/2022 – 05/06/2022 Khảo sát đề tài, thiết lập nội quy nhóm, đặc tả yêu cầu, thiết kế ERD, dựng khung Base Front-end & Base Back-end. Cả nhóm, Ngọc Anh, Thành, Thuần, Bình Hoàn thành 100%
Sprint 2 07/06/2022 – 19/06/2022 Thiết kế quy trình & giao diện bán hàng online, giỏ hàng, đơn hàng của tôi; xây dựng API bán hàng online và API giỏ hàng. Bình, Thuần, Thành, Ngọc Anh Hoàn thành 100%
Sprint 3 21/06/2022 – 03/08/2022 Thiết kế UI/UX và lập trình giao diện bán hàng tại quầy (POS), quản lý đơn hàng; xây dựng API và kiểm thử phân hệ POS. Bình, Thành, Thuần, Ngọc Anh, Hiếu Hoàn thành 100%
Sprint 4 01/07/2022 – 16/07/2022 Dựng quy trình, thiết kế UI, viết mã logic xử lý và API quản lý thuộc tính động; chỉnh sửa theo góp ý của giảng viên và kiểm thử. Bình, Thuần, Ngọc Anh, Hiếu Hoàn thành 100%
Sprint 5 18/07/2022 – 25/08/2022 Thiết kế và lập trình giao diện, logic nghiệp vụ, xây dựng API quản lý ca làm việc, quản lý giao ca và quản lý người dùng; kiểm thử giao ca. Bình, Thuần, Ngọc Anh, Chung, Quân Hoàn thành 100%
Sprint 6 28/07/2022 – 21/08/2022 Thiết kế và lập trình module thống kê báo cáo, xác thực đăng nhập/đăng xuất/phân quyền; kiểm thử toàn diện và hoàn thiện báo cáo SRS. Bình, Thuần, Chung, Ngọc Anh, Quân, Hiếu Hoàn thành 100%

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

Kết quả kỹ thuật đạt được

  1. Hoàn thiện mô hình dữ liệu thuộc tính động: Giải quyết bài toán quản lý đa dạng biến thể của ngành hàng giày dép (size, màu, chất liệu) thông qua cấu trúc liên kết đa bảng (Option, Option_value, Product_option, Product_variant, Variant_value), cho phép thêm mới các thuộc tính sản phẩm linh hoạt mà không cần thay đổi cấu trúc bảng cơ sở dữ liệu.
  2. Minh bạch hóa quản lý tài chính theo ca: Xây dựng thành công cơ chế giao ca làm việc (Shift_staff, History_shift) giúp nhân viên và chủ cửa hàng đối soát chính xác lượng tiền mặt đầu ca, tiền thu từ các hóa đơn trong ca và tiền bàn giao cuối ca.
  3. Chuẩn hóa quy trình tài liệu SRS: Cung cấp đầy đủ hệ thống sơ đồ Use Case, Activity Diagram theo chuẩn BPMN 2.0 và tài liệu kiểm thử cho toàn bộ các chức năng hệ thống.

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

  • Loại bỏ sự phụ thuộc vào sổ sách giấy tờ, giảm thiểu nguy cơ thất lạc dữ liệu bán hàng.
  • Rút ngắn thời gian tra cứu tồn kho và tạo hóa đơn bán hàng tại quầy nhờ phân hệ POS trực quan.
  • Tạo nền tảng để cửa hàng triển khai các chiến dịch tiếp thị thông qua phân hệ quản lý phát hành mã giảm giá (voucher release).

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

Hạn chế được ghi nhận

  • Hệ thống hiện tại có sự ràng buộc vận hành trong môi trường mạng cục bộ (LAN) khi chạy ứng dụng máy trạm nội bộ.
  • Phân hệ bán hàng trực tuyến và thanh toán mới chỉ hỗ trợ phương thức cơ bản (COD/chuyển khoản ATM thông thường), chưa tích hợp cổng thanh toán trực tuyến tự động qua cổng thanh toán trung gian.
  • Chưa hỗ trợ đồng bộ dữ liệu đa kênh tự động với các sàn thương mại điện tử lớn.

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

Căn cứ theo Phụ lục A của tài liệu, các định hướng mở rộng bao gồm:

  • Mở rộng kết nối API đa nền tảng với các sàn thương mại điện tử như Tiki, Shopee, Lazada.
  • Xây dựng hệ thống tự động sao lưu dữ liệu đám mây theo lịch trình định sẵn.
  • Bổ sung ứng dụng di động dành cho khách hàng và nhân viên quản lý kho.

Giá trị tham khảo

Báo cáo dự án tốt nghiệp ShoesWear là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Ứng dụng phần mềm, Công nghệ thông tin: Tham khảo phương pháp xây dựng tài liệu đặc tả yêu cầu phần mềm (SRS) chuẩn mực, cách phân chia Sprint theo mô hình Agile và cách lập tài liệu kiểm thử (Test Cases).
  • Nhà phát triển hệ thống thương mại điện tử / bán lẻ: Tham khảo thiết kế cơ sở dữ liệu thực tế cho bài toán sản phẩm biến thể có thuộc tính động (Dynamic Product Attributes) và quy trình quản lý giao ca/két tiền tại điểm bán (POS).

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

1. Đề tài ShoesWear do đơn vị nào thực hiện và ai là người hướng dẫn?
Đề tài do Nhóm 54 gồm 7 sinh viên chuyên ngành Ứng dụng phần mềm (Ngô Ngọc Anh, Lê Lâm Thanh Bình, Nguyễn Văn Thuần, Quách Ngọc Thành, Cao Anh Quân, Nguyễn Quốc Chung, Mai Bùi Minh Hiếu) thực hiện tại Trường Cao đẳng FPT Polytechnic dưới sự hướng dẫn của thầy Nguyễn Anh Dũng vào năm 2022.

2. Hệ thống ShoesWear giải quyết bài toán thuộc tính động của sản phẩm giày dép như thế nào?
Hệ thống sử dụng tổ hợp các bảng quan hệ Option, Option_value, Product_option, Product_variant và Variant_value. Cấu trúc này cho phép nhân viên tạo mới các thuộc tính bất kỳ (ví dụ: kích cỡ, màu sắc, chất liệu) và gán giá trị biến thể vào từng sản phẩm cụ thể kèm mã SKU, giá bán và số lượng tồn kho riêng biệt.

3. Cơ chế giao ca của hệ thống hoạt động ra sao để chống thất thoát tiền mặt?
Trước khi đổi ca, nhân viên hiện tại phải tiến hành xác nhận số tiền thực tế trong két. Hệ thống lưu vết chi tiết qua bảng Shift_staff (ghi nhận số tiền đầu ca, tổng tiền trong ca, thời gian bắt đầu và kết thúc) kết hợp bảng History_shift (lưu vết từng giao dịch phát sinh gắn với mã hóa đơn Bill_id), đảm bảo tính minh bạch khi bàn giao cho nhân viên ca tiếp theo.

4. Những công nghệ chính nào được sử dụng để phát triển hệ thống?
Dự án sử dụng giao diện Front-end xây dựng trên nền tảng Bootstrap, Back-end xử lý bằng Node.js và Express framework với kiến trúc RESTful API, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (tương thích phiên bản 2008+ / 2012), kết hợp các công cụ hỗ trợ như Visual Studio Code, Postman và GitHub.

5. Tiến độ thực hiện dự án được quản lý như thế nào?
Nhóm áp dụng phương pháp Agile chia thành 6 Sprint từ ngày 25/05/2022 đến ngày 25/08/2022. Nhóm duy trì nội quy họp hàng ngày 15 phút vào lúc 21h00 và báo cáo công việc cho trưởng nhóm, đảm bảo 100% các đầu việc từ thiết kế, lập trình API, dựng giao diện đến kiểm thử đều hoàn thành đúng hạn.


Kết luận

Báo cáo dự án tốt nghiệp "Xây dựng website bán giày – ShoesWear" của nhóm sinh viên Trường Cao đẳng FPT Polytechnic đã giải quyết trọn vẹn bài toán quản lý bán hàng đa kênh kết hợp giữa website trực tuyến và phân hệ bán hàng tại quầy (POS). Hệ thống xử lý hiệu quả tính phức tạp của mặt hàng giày dép thông qua thiết kế cơ sở dữ liệu thuộc tính động và cơ chế quản lý giao ca minh bạch. Toàn bộ quy trình phát triển từ khảo sát, phân tích thiết kế UML/BPMN, lập trình theo 6 Sprint Agile đến kiểm thử đều được hoàn thiện và tư liệu hóa rõ ràng trong tài liệu đặc tả yêu cầu phần mềm.