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

Trong xu thế phát triển của công nghệ số và cuộc Cách mạng Công nghiệp 4.0, hoạt động thương mại điện tử (E-commerce) ngày càng trở nên phổ biến và đóng vai trò quan trọng trong chiến lược kinh doanh của các doanh nghiệp. Giày dép không chỉ là phụ kiện thời trang thông thường mà còn phản ánh phong cách cá nhân của từng khách hàng. Thị trường giày dép, đặc biệt là giày thể thao (sneaker), luôn thu hút sự quan tâm từ nhóm khách hàng yêu thích thời trang cho đến các nhà sưu tầm. Việc xây dựng một website bán hàng trực tuyến mang lại tiềm năng tiếp cận thị trường rộng lớn, không bị giới hạn bởi không gian địa lý hay thời gian, đồng thời tạo cơ hội tăng trưởng doanh thu linh hoạt.

Nhằm thu thập dữ liệu thực tế phục vụ quá trình phân tích và xây dựng hệ thống, tác giả đã tiến hành khảo sát trực tiếp tại cửa hàng giày thể thao Biti's (địa chỉ: 272 Trần Thành Ngọ, quận Kiến An, thành phố Hải Phòng). Kết quả phỏng vấn người quản lý cửa hàng cho thấy:

  • Cửa hàng cung cấp đa dạng các dòng sản phẩm từ bình dân, tầm trung đến cao cấp; phân loại chủ yếu theo danh mục (category) và màu sắc (color), cùng một số mẫu sản phẩm đặc biệt phân loại theo thương hiệu (brand) như Hunter Street, Hunter X.
  • Cửa hàng có quy mô nhân sự gồm 1 quản lý và 3 nhân viên bán hàng.
  • Hoạt động quản lý bán hàng, theo dõi đơn hàng, quản lý sản phẩm, thông tin khách hàng và thống kê doanh thu hiện tại chủ yếu được thực hiện thủ công thông qua sổ sách giấy tờ và phần mềm bảng tính Excel.

Phương thức quản lý truyền thống này dẫn đến nhiều khó khăn và bất cập:

  1. Tốn nhiều thời gian và công sức trong công tác quản trị.
  2. Việc sử dụng Excel dễ phát sinh sai sót, gây khó khăn cho việc nắm bắt kịp thời hoạt động kinh doanh.
  3. Thống kê doanh thu, lợi nhuận thiếu tính chính xác và đồng bộ.
  4. Chưa thu thập và xử lý toàn diện các phản hồi từ phía khách hàng.

Từ thực trạng trên, đồ án tốt nghiệp tập trung giải quyết bài toán tin học hóa hoạt động kinh doanh thông qua việc phát triển hệ thống website bán giày có tên "Stylish Online Store". Mục tiêu cụ thể của hệ thống được phân định theo ba nhóm đối tượng:

  1. Đối với cửa hàng: Xây dựng kênh giới thiệu thương hiệu toàn diện, hỗ trợ bán sản phẩm trực tuyến nhằm gia tăng doanh thu linh hoạt và quản lý kho hàng tự động.
  2. Đối với khách hàng: Cung cấp thông tin sản phẩm chi tiết, minh bạch; giao diện thân thiện, dễ tra cứu và so sánh sản phẩm theo thương hiệu, màu sắc, công năng; hỗ trợ đa dạng phương thức thanh toán gồm tiền mặt và quét mã QR.
  3. Đối với nhân viên: Cung cấp công cụ hỗ trợ thao tác bán hàng nhanh chóng tại quầy và hệ thống tự động kiểm tra số lượng tồn kho để theo dõi tình trạng hàng hóa.
  • Đối tượng nghiên cứu: Quy trình quản lý, kinh doanh bán lẻ giày dép và kiến trúc xây dựng hệ thống website thương mại điện tử.
  • Phạm vi nghiên cứu:
    • Phạm vi chức năng: Quản lý sản phẩm, quản lý giỏ hàng, quản lý đơn hàng/hóa đơn, quản lý tài khoản người dùng, quản lý danh mục/thương hiệu/màu sắc/kích thước, quản lý nhân viên, thống kê doanh thu và hỗ trợ vận chuyển chuyển phát nhanh (Express Delivery).
    • Phạm vi áp dụng: Áp dụng cho cửa hàng Stylish Online Store phục vụ khách hàng tại Hà Nội và các tỉnh thành ngoài Hà Nội.
    • Thời gian thực hiện đề tài: Từ ngày 21/09/2023 đến ngày 10/01/2024.

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

Đồ án ứng dụng các khái niệm nền tảng về thương mại điện tử, kiến trúc dịch vụ web và quy trình công nghệ phần mềm hiện đại:

  • Thương mại điện tử (E-commerce): Nghiên cứu các mô hình trao đổi, mua bán sản phẩm và dịch vụ qua mạng Internet thông qua các thiết bị điện tử (máy tính, máy tính bảng, điện thoại thông minh). Phân biệt giữa website thông tin thông thường và website thương mại điện tử có tích hợp giỏ hàng, đặt hàng và thanh toán trực tuyến.
  • Dịch vụ Web (Web Service): Nghiên cứu tập hợp các giao thức và tiêu chuẩn trao đổi dữ liệu giữa các ứng dụng phân tán. So sánh giữa SOAP Web Service (dựa trên giao thức XML qua HTTP) và RESTful Web Service (kiến trúc chuyển giao trạng thái đại diện REST, phi trạng thái, định dạng linh hoạt), từ đó lựa chọn RESTful API làm chuẩn giao tiếp chính giữa Front-end và Back-end.
  • Phương pháp nghiên cứu:
    • Phương pháp khảo sát thực tế: Phỏng vấn trực tiếp nhà quản lý tại cửa hàng bán lẻ để thu thập yêu cầu nghiệp vụ và ma trận phân quyền.
    • Phương pháp phân tích và thiết kế hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ Use Case tổng quát, Use Case phân rã theo tác nhân, biểu đồ luồng hoạt động (Activity Diagram) và biểu đồ luồng công việc (Workflow online/offline).
    • Phương pháp mô hình hóa dữ liệu: Thiết kế mô hình quan hệ thực thể (ERD) và chuẩn hóa cấu trúc cơ sở dữ liệu quan hệ.

Tiến độ và các giai đoạn triển khai dự án được tác giả lập kế hoạch và thực hiện theo bảng sau:

Tên công việc Thời gian bắt đầu Thời gian kết thúc Mức độ hoàn thành
Vẽ biểu đồ Use Case các luồng nghiệp vụ 21/09/2023 10/10/2023 100%
Xây dựng cơ sở dữ liệu (Database) 11/10/2023 20/10/2023 100%
Lập trình giao diện Quản lý & Nhân viên (FE) 22/10/2023 02/11/2023 100%
Lập trình xử lý dữ liệu Quản lý & Nhân viên (BE) 03/11/2023 25/11/2023 100%
Lập trình giao diện Khách hàng (FE) 26/11/2023 15/12/2023 100%
Lập trình xử lý dữ liệu Khách hàng (BE) 16/12/2023 28/12/2023 100%
Viết báo cáo thuyết minh đồ án tốt nghiệp 11/10/2023 10/01/2024 100%

Thiết kế và triển khai

1. Kiến trúc công nghệ và công cụ phát triển

Hệ thống được phát triển dựa trên mô hình phân tách Front-end và Back-end thông qua RESTful API, sử dụng các công nghệ:

  • Front-end:
    • ReactJS: Thư viện JavaScript mã nguồn mở (phát triển bởi Facebook năm 2013), ứng dụng JSX và Virtual DOM giúp tối ưu hiệu năng hiển thị và khả năng tái sử dụng thành phần giao diện (components).
    • Redux: Thư viện quản lý trạng thái tập trung (State Management) dựa trên kiến trúc Flux. Dữ liệu trạng thái được lưu trữ tại Store, điều phối thông qua Actions, cập nhật trạng thái mới thông qua Reducer và xử lý các tác vụ bất đồng bộ/gọi API thông qua Middleware.
    • Ant Design: Bộ công cụ giao diện người dùng (UI Toolkit) xây dựng trên nền tảng React, cung cấp các component chuẩn hóa (bảng biểu, biểu mẫu, nút bấm, biểu đồ).
  • Back-end:
    • Java Spring Boot: Framework phát triển ứng dụng web trên nền tảng Java, giúp tối giản hóa cấu hình so với Spring Framework truyền thống, loại bỏ cấu hình XML phức tạp và tối ưu hóa năng suất lập trình.
  • Hệ quản trị cơ sở dữ liệu và công cụ hỗ trợ:
    • MySQL Workbench: Công cụ trực quan hóa mô hình dữ liệu, quản trị cơ sở dữ liệu MySQL Server.
    • Công cụ phát triển: Visual Studio Code, IntelliJ IDEA, Draw.io (vẽ sơ đồ UML) và Zalo (trao đổi thông tin).

2. Phân tích tác nhân và ma trận phân quyền

Hệ thống xác định 4 tác nhân (Actors) chính tham gia tương tác:

  1. Quản lý (Manager): Tác nhân có quyền hạn cao nhất trong hệ thống, chịu trách nhiệm vận hành, phân quyền tài khoản, quản lý toàn bộ danh mục sản phẩm, nhân viên, hóa đơn và xem báo cáo thống kê doanh thu, lợi nhuận.
  2. Nhân viên (Staff/Employee): Thực hiện các tác vụ bán hàng tại quầy, quản lý hóa đơn, tra cứu và chỉnh sửa thông tin sản phẩm, danh mục, thương hiệu, màu sắc nhưng không có quyền xem thống kê doanh thu.
  3. Khách hàng (Customer): Người dùng đã đăng ký và đăng nhập tài khoản; có quyền tìm kiếm sản phẩm, quản lý giỏ hàng cá nhân, đặt hàng trực tuyến và theo dõi đơn hàng.
  4. Khách vãng lai (Visitor/Guest): Người dùng truy cập hệ thống chưa đăng nhập; có thể xem, tìm kiếm sản phẩm, đăng ký tài khoản hoặc đặt hàng trực tiếp không cần đăng nhập.

Ma trận phân quyền chức năng giữa các tác nhân được xác lập như sau:

Nhóm chức năng Quản lý (Manager) Nhân viên (Staff) Khách hàng (Customer) Khách vãng lai (Visitor)
Đăng nhập (Log in) / Đăng xuất (Log out) x x x x
Quên mật khẩu / Đổi mật khẩu x x x
Đăng ký tài khoản (Register) x
Đặt hàng (Order) / Thanh toán (Pay) x x x x
Quản lý nhân viên (Employee manager) x
Quản lý khách hàng (Customer management) x x
Quản lý hóa đơn/đơn hàng (Bill management) x x
Quản lý thuộc tính sản phẩm (Category, Brand, Color) x x
Quản lý sản phẩm (Product management) x x
Quản lý tài khoản người dùng (Account management) x
Thống kê doanh thu, lợi nhuận (Statistical) x

3. Thiết kế cơ sở dữ liệu

Hệ thống cơ sở dữ liệu quan hệ được thiết kế gồm 16 bảng dữ liệu 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 dữ liệu Mục đích và vai trò lưu trữ
1 Product Lưu trữ thông tin chi tiết về sản phẩm giày (tên, mô tả, giá niêm yết, tồn kho, hình ảnh)
2 Customer_order Lưu trữ thông tin tổng quát về đơn đặt hàng của khách hàng
3 Employee Lưu trữ thông tin hồ sơ nhân viên làm việc tại cửa hàng
4 Account Quản lý thông tin tài khoản đăng nhập, mật khẩu, trạng thái tài khoản
5 Category Danh mục phân loại sản phẩm
6 Brand Quản lý các thương hiệu giày thể thao
7 Color Quản lý thông tin các biến thể màu sắc của giày
8 Size Quản lý thông tin các kích cỡ giày
9 Product_category Bảng liên kết quan hệ nhiều-nhiều giữa sản phẩm và danh mục
10 Order_detail Lưu trữ chi tiết từng mặt hàng, số lượng và đơn giá trong đơn hàng
11 Carts Lưu trữ thông tin giỏ hàng của người dùng
12 Payment Quản lý thông tin và trạng thái giao dịch thanh toán
13 Order_status Định nghĩa các trạng thái của đơn hàng (chờ xử lý, đã xác nhận, đang giao, hoàn thành, hủy)
14 Employee_status Quản lý trạng thái làm việc của nhân viên
15 Role Định nghĩa các vai trò/quyền hạn trong hệ thống
16 Account_role Bảng liên kết phân quyền vai trò cho từng tài khoản người dùng

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

Chapter I: Introduction to the Topic – System

Chương này trình bày tổng quan về bối cảnh thương mại điện tử tại Việt Nam, lý do lựa chọn đề tài xây dựng website bán giày "Stylish Online Store", mục tiêu đề tài đối với cửa hàng, khách hàng và nhân viên. Tác giả trình bày kết quả khảo sát thực tế tại cửa hàng giày Biti's (Kiến An, Hải Phòng), chỉ ra những hạn chế của phương thức quản lý bằng sổ sách và Excel. Chương I cũng cung cấp cơ sở lý thuyết về kiến trúc Web Service (so sánh SOAP và RESTful), tổng quan công nghệ sử dụng (ReactJS, Java Spring Boot, MySQL Workbench, Redux, Ant Design) và bảng kế hoạch tiến độ phát triển hệ thống từ tháng 09/2023 đến tháng 01/2024.

Chapter II: System Design Analysis

Chương II tập trung vào công tác phân tích và thiết kế hệ thống chi tiết:

  • Xác định 4 tác nhân (Manager, Staff, Customer, Visitor) và danh sách Use Case tương ứng.
  • Xây dựng hệ thống biểu đồ Use Case tổng quát và biểu đồ phân rã chi tiết cho từng tác nhân (từ Figure 8 đến Figure 12).
  • Mô hình hóa quy trình nghiệp vụ thông qua biểu đồ luồng công việc Workflow offline (bán hàng tại quầy) và Workflow online (bán hàng qua mạng).
  • Đặc tả chi tiết kịch bản và xây dựng biểu đồ hoạt động (Activity Diagram) cho các chức năng cốt lõi: Đăng nhập (Login), Đăng ký (Registration), Thêm/Sửa/Xóa sản phẩm (Add/Edit/Delete Product), Thêm/Sửa trạng thái hóa đơn (Add/Edit Status Order), Thống kê doanh thu và lợi nhuận (Revenue and profit statistics), Đặt hàng trong giỏ hàng (Ordering in cart), và Quản lý thương hiệu (Add/Edit/Delete Brand).
  • Thiết kế chi tiết cấu trúc 16 bảng trong cơ sở dữ liệu quan hệ cùng kiểu dữ liệu và khóa liên kết.

Chapter III: Design the Theme

Chương III trình bày kết quả thiết kế và hiện thực hóa giao diện người dùng cho toàn bộ hệ thống, chia thành hai phân hệ chính:

  • Phân hệ người dùng (Client Interface): Giao diện trang chủ người dùng, trang xem chi tiết sản phẩm, trang giỏ hàng, trang đặt hàng, trang danh sách sản phẩm, trang đăng ký và trang đăng nhập.
  • Phân hệ quản trị (Management Interface): Giao diện trang chủ quản lý/trang thống kê doanh thu, trang quản lý sản phẩm, trang quản lý đơn hàng/hóa đơn, trang quản lý danh mục, trang quản lý thương hiệu, trang quản lý màu sắc, trang quản lý nhân viên và trang quản lý tài khoản người dùng.

Chapter IV: Conclusion

Tổng kết quá trình phát triển đồ án, đánh giá thời gian thực hiện đề tài (hoàn thành 100% các hạng mục đề ra theo kế hoạch), mức độ hoàn thiện các tính năng phần mềm, phân tích các khó khăn, rủi ro kỹ thuật phát sinh trong quá trình lập trình và phương pháp giải quyết, đồng thời rút ra các bài học kinh nghiệm trong quy trình thiết kế và phát triển ứng dụng web phân tán.

Chapter V: Future Development

Đề xuất các định hướng nghiên cứu và hoàn thiện hệ thống trong các giai đoạn tiếp theo nhằm nâng cao năng lực vận hành thực tế của website.


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

  • Kết quả kỹ thuật và sản phẩm:
    • Hoàn thành 100% khối lượng công việc theo đúng tiến độ đề ra từ 21/09/2023 đến 10/01/2024.
    • Xây dựng thành công hệ thống website thương mại điện tử "Stylish Online Store" với cấu trúc phân tầng rõ ràng giữa ReactJS (Front-end), Java Spring Boot (Back-end) và MySQL (Database) thông qua chuẩn giao tiếp RESTful API.
    • Hiện thực hóa đầy đủ 16 bảng dữ liệu quan hệ, đáp ứng toàn diện các ràng buộc về sản phẩm, đơn hàng, người dùng, phân quyền và thanh toán.
    • Xây dựng hoàn chỉnh 15 giao diện người dùng và quản trị trực quan dựa trên thư viện Ant Design.
  • Đóng góp thực tiễn:
    • Đưa ra giải pháp số hóa toàn diện quy trình quản lý bán hàng cho cửa hàng giày dép bán lẻ, khắc phục triệt để các nhược điểm của phương thức quản lý bằng sổ sách giấy và file Excel truyền thống.
    • Thiết lập cơ chế phân quyền rõ ràng giữa nhà quản lý và nhân viên bán hàng, đảm bảo tính bảo mật của dữ liệu tài chính (doanh thu, lợi nhuận) trong khi vẫn tối ưu hóa tốc độ xử lý đơn hàng tại quầy và trực tuyến.
    • Tự động hóa công tác kiểm tra số lượng tồn kho theo từng biến thể (màu sắc, kích cỡ) và hỗ trợ tích hợp phương thức thanh toán qua mã QR bên cạnh tiền mặt truyền thống.

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

  • Hạn chế:
    • Trong quá trình triển khai, dự án gặp phải một số khó khăn liên quan đến việc xử lý đồng bộ trạng thái phức tạp ở Front-end bằng Redux và việc tích hợp các luồng dữ liệu RESTful API giữa Spring Boot và ReactJS.
    • Phạm vi khảo sát thực tế ban đầu giới hạn tại một cơ sở kinh doanh đơn lẻ (cửa hàng giày thể thao Biti's tại Kiến An, Hải Phòng).
  • Hướng phát triển tiếp (theo Chapter V):
    • Tiếp tục nâng cấp và mở rộng các tính năng nghiệp vụ nâng cao cho hệ thống website.
    • Tích hợp thêm các cổng thanh toán trực tuyến tự động và đơn vị vận chuyển chuyên nghiệp.
    • Tối ưu hóa hiệu năng xử lý dữ liệu và cải tiến trải nghiệm giao diện người dùng trên nhiều loại thiết bị di động khác nhau.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo hữu ích cho:

  • Sinh viên ngành Kỹ thuật Tin học, Công nghệ Thông tin, Kỹ thuật Phần mềm: Nắm bắt quy trình xây dựng đồ án tốt nghiệp chuẩn mực từ khâu khảo sát thực tế, phân tích nghiệp vụ, mô hình hóa UML đến triển khai mã nguồn Full-stack.
  • Người nghiên cứu và phát triển ứng dụng thương mại điện tử: Tham khảo cấu trúc cơ sở dữ liệu quan hệ 16 bảng hoàn chỉnh cho hệ thống bán lẻ thời trang có nhiều biến thể thuộc tính (kích thước, màu sắc, danh mục, thương hiệu); tham khảo mô hình kết hợp công nghệ hiện đại ReactJS, Redux, Ant Design và Java Spring Boot qua RESTful Web Service.

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

1. Đồ án khảo sát thực tế tại địa điểm nào để xây dựng yêu cầu hệ thống?
Tác giả đã tiến hành khảo sát và phỏng vấn người quản lý tại cửa hàng giày thể thao Biti's, địa chỉ số 272 Trần Thành Ngọ, quận Kiến An, thành phố Hải Phòng.

2. Công nghệ nào được lựa chọn để phát triển Front-end và Back-end của website?
Hệ thống sử dụng ReactJS kết hợp Redux và Ant Design cho phân hệ Front-end; sử dụng Java Spring Boot để xây dựng dịch vụ xử lý dữ liệu Back-end qua chuẩn giao tiếp RESTful API; cơ sở dữ liệu được thiết kế và quản trị bằng MySQL Workbench.

3. Cơ sở dữ liệu của hệ thống Stylish Online Store gồm bao nhiêu bảng?
Cơ sở dữ liệu của hệ thống gồm 16 bảng: Product, Customer_order, Employee, Account, Category, Brand, Color, Size, Product_category, Order_detail, Carts, Payment, Order_status, Employee_status, Role và Account_role.

4. Sự khác biệt chính về quyền hạn giữa tác nhân Quản lý (Manager) và Nhân viên (Staff) là gì?
Quản lý có toàn quyền quản trị hệ thống, bao gồm phân quyền tài khoản, quản lý nhân viên và xem báo cáo thống kê doanh thu/lợi nhuận. Nhân viên chỉ có quyền thực hiện các thao tác bán hàng, quản lý đơn hàng/hóa đơn, tra cứu và cập nhật sản phẩm/thuộc tính, hoàn toàn không có quyền xem dữ liệu thống kê doanh thu và quản lý tài khoản.

5. Thời gian thực hiện các giai đoạn phát triển phần mềm diễn ra khi nào?
Dự án được thực hiện từ ngày 21/09/2023 đến ngày 10/01/2024, trong đó thiết kế Use Case và CSDL hoàn thành trong tháng 09 - 10/2023; lập trình giao diện và xử lý dữ liệu cho Quản lý/Nhân viên hoàn thành trong tháng 10 - 11/2023; lập trình giao diện và dữ liệu cho Khách hàng hoàn thành trong tháng 11 - 12/2023; báo cáo thuyết minh hoàn thành ngày 10/01/2024.


Kết luận

Đồ án tốt nghiệp "Phát Triển Website Bán Giày Sneaker Độc Đáo" của sinh viên Ngô Tài Vượng (Khoa Quốc tế – Đại học Quốc gia Hà Nội) đã giải quyết hiệu quả bài toán chuyển đổi số quy trình quản lý bán lẻ giày dép từ phương thức thủ công sang nền tảng web hiện đại. Bằng việc ứng dụng kiến trúc RESTful Web Service kết hợp giữa Java Spring Boot và ReactJS, hệ thống "Stylish Online Store" đáp ứng đầy đủ các yêu cầu nghiệp vụ về quản lý sản phẩm, đơn hàng, kho hàng và phân quyền bảo mật cho 4 nhóm tác nhân. Kết quả nghiên cứu và cấu trúc thiết kế của đồ án là tài liệu tham khảo có giá trị thực tiễn cao cho sinh viên ngành công nghệ thông tin trong việc phân tích, thiết kế và phát triển các hệ thống thương mại điện tử.