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

Sự phát triển mạnh mẽ của công nghệ thông tin và kỹ thuật số đã thúc đẩy thương mại điện tử trở thành một phương thức kinh doanh thiết yếu. Việc ứng dụng công nghệ vào hoạt động mua bán trực tuyến giúp cắt giảm đáng kể các chi phí trung gian, chi phí giao dịch, đồng thời tiết kiệm thời gian cho người tiêu dùng. Khách hàng có thể thực hiện tìm kiếm tự động, tiếp cận thông tin theo nhu cầu và mua sắm từ xa mọi lúc, mọi nơi. Đối với các đơn vị bán lẻ, việc kinh doanh qua mạng mang lại nhiều lợi ích so với phương thức truyền thống như:

  • Quảng bá thông tin, tiếp thị sản phẩm ra thị trường rộng lớn với chi phí thấp;
  • Cung cấp dịch vụ tiện lợi và nâng cao khả năng chăm sóc khách hàng;
  • Tối ưu hóa chi phí vận hành, gia tăng doanh thu và nâng cao năng lực cạnh tranh.

Tuy nhiên, hoạt động thương mại điện tử thực tế vẫn đối mặt với nhiều rào cản tâm lý từ phía người tiêu dùng, bao gồm: lo ngại về chất lượng sản phẩm thực tế, rủi ro trong quá trình vận chuyển giao nhận hàng hóa, cùng các vấn đề liên quan đến an toàn bảo mật thông tin cá nhân và hệ thống thanh toán trực tuyến. Do đó, việc xây dựng một hệ thống website bán hàng trực tuyến vừa đảm bảo tính thân thiện, dễ sử dụng, vừa có chi phí phát triển hợp lý thông qua các công nghệ mã nguồn mở là một nhu cầu cấp thiết.

Đồ án tốt nghiệp của tác giả Đinh Thị Quỳnh, sinh viên ngành Kỹ thuật Phần mềm (Khóa 2017–2021) thuộc Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một, dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh (thực hiện vào tháng 05/2021), tập trung vào đề tài: “Xây dựng Website quản lý bán quần áo cho cửa hàng FM CLOSET”.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Xây dựng website bán hàng trực tuyến giúp khách hàng dễ dàng tìm kiếm, chọn lựa và đặt mua các sản phẩm thời trang qua mạng;
  2. Thiết lập hệ thống quản lý bán hàng cho cửa hàng FM CLOSET nhằm hỗ trợ giới thiệu sản phẩm, cập nhật thông tin hàng hóa, quản lý đơn hàng và quảng bá thương hiệu;
  3. Ứng dụng các kiến thức phân tích thiết kế hệ thống, mô hình kiến trúc phần mềm và các công cụ mã nguồn mở vào thực tế phát triển phần mềm ứng dụng.

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

  • Đối tượng nghiên cứu: Khách hàng có nhu cầu mua sắm trực tuyến; hệ thống mạng Internet; các thiết bị đầu cuối kết nối mạng (máy tính, điện thoại thông minh, máy tính bảng); quy trình nghiệp vụ bán hàng thời trang tại cửa hàng.
  • Phạm vi nghiên cứu: Đề tài tập trung vào việc giới thiệu sản phẩm thời trang và tiếp nhận xử lý đơn đặt hàng qua mạng cho cửa hàng FM CLOSET.

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

Khung kiến trúc và nền tảng công nghệ

Đề tài áp dụng các nền tảng công nghệ mã nguồn mở phổ biến trong phát triển ứng dụng web:

  • Mô hình kiến trúc MVC (Model – View – Controller): Tách bạch rõ ràng giữa ba thành phần:
    • Model: Xử lý logic nghiệp vụ và tương tác với cơ sở dữ liệu.
    • View: Hiển thị giao diện người dùng và tiếp nhận các biểu mẫu (form).
    • Controller: Điều phối dòng dữ liệu, nhận yêu cầu từ View và chuyển tiếp đến Model để xử lý. Mô hình hỗ trợ nguyên lý phân tách mối quan tâm (Separation of Concerns - SoC), giúp giảm tải cho máy chủ và tạo điều kiện phát triển độc lập giữa giao diện (front-end) và xử lý nền (back-end).
  • Ngôn ngữ lập trình PHP: Ngôn ngữ kịch bản phía máy chủ (Server Script) chạy trên nền PHP Engine kết hợp máy chủ web, có cú pháp tối ưu cho web, tốc độ xử lý nhanh, hỗ trợ kết nối đa dạng với các hệ quản trị cơ sở dữ liệu.
  • Framework Laravel: Framework mã nguồn mở viết bằng PHP (do Taylor Otwell phát triển), hỗ trợ cấu trúc MVC, cú pháp rõ ràng, hệ thống quản lý gói phụ thuộc theo mô-đun, tích hợp ORM truy cập cơ sở dữ liệu quan hệ và các tiện ích bảo mật, gửi thư điện tử.
  • Hệ quản trị cơ sở dữ liệu MySQL và công cụ PhpMyAdmin: Quản lý cơ sở dữ liệu quan hệ theo kiến trúc máy chủ, phân quyền người dùng và quản lý các bảng quan hệ.
  • Môi trường và công cụ hỗ trợ: Phần mềm giả lập máy chủ cục bộ XAMPP, trình soạn thảo mã nguồn Sublime Text 3.

Phương pháp nghiên cứu

Tác giả áp dụng quy trình phát triển phần mềm chuẩn mực bao gồm:

  • Khảo sát thực trạng quy trình nghiệp vụ bán lẻ thời trang;
  • Phân tích yêu cầu chức năng và phi chức năng của hệ thống;
  • Mô hình hóa hệ thống bằng ngôn ngữ UML: biểu đồ Use Case tổng quát, biểu đồ phân cấp chức năng, biểu đồ tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram);
  • Thiết kế mô hình dữ liệu quan hệ (RDBMS) từ mức tổng quan đến chi tiết các trường dữ liệu;
  • Hiện thực hóa phần mềm và thiết kế giao diện tương tác cho người dùng và người quản trị.

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

Chương 1. Tổng quan đề tài

Chương 1 giới thiệu lý do lựa chọn đề tài, mục tiêu, đối tượng, phạm vi nghiên cứu, ý nghĩa khoa học và thực tiễn của hệ thống website thương mại điện tử. Ngoài ra, chương này dành dung lượng phân tích chi tiết cơ sở lý thuyết của các công nghệ được lựa chọn:

  • Phân tích nguyên lý thông dịch của PHP, ưu điểm đa môi trường (hỗ trợ các máy chủ web Apache, IIS; hệ điều hành Windows, Linux, Mac OSX) và khả năng tích hợp CSDL;
  • Phân tích vai trò của PhpMyAdmin trong việc quản trị trực quan hệ thống MySQL;
  • Đánh giá kiến trúc MVC về mặt tối ưu băng thông và khả năng mở rộng;
  • Đánh giá các tính năng của Laravel Framework, bao gồm hệ thống định tuyến, bảo mật và khả năng tương thích với các dịch vụ Internet.

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

Chương 2 tập trung phân tích cấu trúc chức năng và mô hình tương tác của hệ thống thông qua hai tác nhân chính:

  • Tác nhân Khách hàng (User): Đăng ký tài khoản, đăng nhập, tìm kiếm sản phẩm, xem chi tiết sản phẩm, sắp xếp sản phẩm theo giá hoặc bảng chữ cái, thêm sản phẩm vào giỏ hàng, xem giỏ hàng, áp dụng mã giảm giá và thanh toán đơn hàng.
  • Tác nhân Quản trị viên (Admin): Đăng nhập hệ thống quản trị, quản lý danh mục sản phẩm (xem, thêm, sửa, xóa), quản lý thương hiệu sản phẩm (xem, thêm, sửa, xóa), quản lý sản phẩm (xem, thêm, sửa, xóa), quản lý mã giảm giá (xem, thêm, xóa) và quản lý đơn hàng (xem danh sách, xem chi tiết, xóa đơn hàng, cập nhật trạng thái).

Chương này xây dựng chi tiết 19 bảng đặc tả Use Case, biểu đồ phân cấp chức năng cho từng tác nhân, cùng 7 biểu đồ tuần tự (Sequence Diagram) mô tả luồng thông tin giữa giao diện, bộ điều khiển và cơ sở dữ liệu cho các tác vụ trọng yếu (đăng ký, đăng nhập, tìm kiếm, thanh toán, thêm/sửa/xóa sản phẩm).

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

Chương 3 trình bày thiết kế kiến trúc dữ liệu cho hệ thống bao gồm 10 bảng dữ liệu quan hệ, quy định rõ cấu trúc trường (Field name), kiểu dữ liệu (Type), độ dài tối đa (Max Length) và mô tả chi tiết chức năng lưu trữ:

  • Bảng tài khoản khách hàng (tbl_customer)
  • Bảng tài khoản người quản trị (tbl_admin)
  • Bảng thông tin sản phẩm (tbl_product)
  • Bảng thương hiệu sản phẩm (tbl_brand)
  • Bảng danh mục sản phẩm (tbl_category_product)
  • Bảng đơn hàng (tbl_order)
  • Bảng chi tiết đơn hàng (tbl_order_detail)
  • Bảng địa chỉ và ghi chú giao hàng (tbl_ghichu)
  • Bảng phương thức thanh toán (tbl_payment)
  • Bảng mã giảm giá (tbl_coupon)

Chương 4. Xây dựng website bán quần áo

Chương 4 mô tả kết quả lập trình giao diện người dùng và giao diện quản trị dựa trên mã nguồn đã xây dựng:

  • Phân hệ người dùng: Trang chủ hiển thị sản phẩm mới; trang đăng ký/đăng nhập; trang chi tiết sản phẩm với hình ảnh, mô tả và giá; trang hiển thị sản phẩm lọc theo danh mục; trang giỏ hàng cho phép điều chỉnh số lượng và nhập coupon; trang thanh toán tích hợp nhập thông tin vận chuyển và chọn cổng thanh toán.
  • Phân hệ quản trị viên: Bảng điều khiển quản lý danh sách sản phẩm, biểu mẫu thêm mới sản phẩm, trang danh mục sản phẩm, trang thương hiệu, trang quản lý danh sách đơn hàng, trang chi tiết xử lý đơn hàng và trang quản lý mã giảm giá.

Thiết kế và triển khai

Cấu trúc cơ sở dữ liệu chi tiết

Hệ thống lưu trữ toàn bộ thông tin nghiệp vụ thông qua 10 bảng dữ liệu quan hệ được thiết kế như sau:

STT Tên bảng Chức năng lưu trữ Các trường chính (Khóa chính, Khóa ngoại, Kiểu dữ liệu)
1 tbl_customer Danh sách thông tin tài khoản khách hàng customer_id (PK, Int 10), customer_name (Varchar 255), customer_email (Varchar 255), customer_password (Varchar 255), customer_phone (Varchar 255)
2 tbl_admin Danh sách tài khoản quản trị viên admin_id (PK, Int 10), admin_name (Varchar 255), admin_email (Varchar 255), admin_password (Varchar 255), admin_phone (Varchar 255)
3 tbl_product Danh mục thông tin các sản phẩm thời trang product_id (PK, Int 10), product_name (Varchar 255), product_des (Text), product_price (Varchar 255), product_image (Varchar 255), product_status (Int 11), category_id (FK, Int 11), brand_id (FK, Int 11)
4 tbl_brand Danh sách các thương hiệu sản phẩm brand_id (PK, Int 10), brand_name (Varchar 255), brand_des (Text), brand_status (Int 11)
5 tbl_category_product Danh mục phân loại sản phẩm category_id (PK, Int 10), category_name (Varchar 255), category_des (Text), category_status (Int 11)
6 tbl_order Thông tin tổng quát về các đơn đặt hàng order_id (PK, Int 10), customer_id (FK, Int 11), Note_id (FK, Int 11), payment_id (FK, Int 11), order_total (Varchar 50), order_status (Varchar 50)
7 tbl_order_detail Thông tin chi tiết các mặt hàng trong đơn hàng order_details_id (PK, Int 10), order_it (FK, Int 11), product_id (FK, Int 11), product_name (Varchar 255), product_price (Varchar 50), product_qty (Int 11)
8 tbl_ghichu Thông tin địa chỉ và ghi chú nhận hàng Note_id (PK, Int 10), firstName (Varchar 255), lastName (Varchar 255), Note_addressLine (Varchar 255), Note_province (Varchar 255), Note_district (Varchar 255), Note_phone (Varchar 255), Note_email (Varchar 255), note_order (Varchar 500)
9 tbl_payment Các phương thức thanh toán hỗ trợ payment_id (PK, Int 10), payment_method (Varchar 255), payment_status (Varchar 50)
10 tbl_coupon Thông tin mã giảm giá, khuyến mãi coupon_id (PK, Int 11), coupon_name (Varchar 255), coupon_code (Varchar 50), qty_coupon (Int 255), total_discount (Int 50), coupon_condition (Int 11)

Luồng xử lý nghiệp vụ và tương tác hệ thống

Hệ thống được thiết kế theo quy trình xử lý khép kín:

  • Quy trình mua hàng và thanh toán (Phía khách hàng):
    1. Khách hàng duyệt danh mục hoặc sử dụng thanh tìm kiếm để chọn sản phẩm;
    2. Xem chi tiết thông số, hình ảnh, giá cả và nhấn nút thêm vào giỏ hàng;
    3. Tại trang giỏ hàng, khách hàng kiểm tra danh sách sản phẩm, nhập mã giảm giá (tbl_coupon) nếu có;
    4. Tiến hành chuyển sang trang thanh toán: Khách hàng điền thông tin cá nhân và địa chỉ giao hàng (lưu vào bảng tbl_ghichu);
    5. Chọn phương thức thanh toán:
      • Nếu chọn thanh toán chuyển khoản qua cổng VNPay, hệ thống chuyển hướng đến cổng thanh toán trực tuyến để hoàn tất giao dịch;
      • Nếu chọn thanh toán khi nhận hàng (COD), hệ thống ghi nhận đơn hàng và tự động gửi thư điện tử (email) xác nhận thông tin đơn hàng đến địa chỉ email của khách hàng;
    6. Dữ liệu được ghi nhận đồng bộ vào các bảng tbl_order và tbl_order_detail.
  • Quy trình xử lý đơn hàng (Phía quản trị viên):
    1. Quản trị viên đăng nhập vào hệ thống quản trị bằng tài khoản cấp phép (tbl_admin);
    2. Truy cập phân hệ quản lý đơn hàng để xem danh sách các đơn hàng mới phát sinh;
    3. Xem chi tiết đơn hàng bao gồm danh sách mặt hàng, số lượng, tổng tiền và thông tin giao nhận;
    4. Cập nhật trạng thái xử lý đơn hàng hoặc thực hiện thao tác xóa đơn hàng khi có yêu cầu.

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

Kết quả chính

  • Xây dựng thành công hệ thống website thương mại điện tử hoàn chỉnh phục vụ hoạt động bán quần áo cho cửa hàng FM CLOSET với hai phân hệ độc lập: Khách hàng và Quản trị viên.
  • Triển khai đầy đủ các tính năng người dùng: duyệt sản phẩm theo danh mục và thương hiệu, tìm kiếm sản phẩm, quản lý giỏ hàng, tính toán mã giảm giá, tiếp nhận thông tin giao hàng, hỗ trợ hai phương thức thanh toán (thanh toán khi nhận hàng kèm xác thực qua email và thanh toán trực tuyến qua cổng VNPay).
  • Xây dựng hệ thống quản trị cho phép thực hiện đầy đủ các tác vụ quản lý dữ liệu (CRUD) đối với danh mục sản phẩm, thương hiệu, thông tin sản phẩm, mã khuyến mãi và xử lý đơn đặt hàng.
  • Chuẩn hóa mô hình cơ sở dữ liệu quan hệ gồm 10 thực thể đáp ứng yêu cầu lưu trữ và liên kết dữ liệu trong một website bán lẻ thời trang.

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

  • Cung cấp một giải pháp công nghệ mã nguồn mở giúp các cửa hàng thời trang vừa và nhỏ số hóa hoạt động kinh doanh, giảm chi phí tiếp thị và mở rộng kênh tiếp cận khách hàng.
  • Minh họa quy trình áp dụng mô hình kiến trúc MVC và framework Laravel vào việc phân tích, thiết kế và phát triển ứng dụng web thực tế trong chương trình đào tạo Kỹ thuật phần mềm.

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

Hạn chế

Theo trình bày của tác giả trong báo cáo:

  • Hệ thống chỉ dừng lại ở phạm vi giới thiệu sản phẩm thời trang và tiếp nhận đơn đặt hàng qua mạng, chưa hoàn thiện đầy đủ mọi nghiệp vụ chuyên sâu của một sàn thương mại điện tử lớn;
  • Kiến thức thực tế của sinh viên còn hạn chế nên hệ thống vẫn còn những thiếu sót trong thiết kế và xử lý logic;
  • Framework Laravel có dung lượng tương đối nặng đối với việc tải trang trên thiết bị di động, và hệ thống cơ sở dữ liệu MySQL thông qua phpMyAdmin phù hợp hơn với các dự án quy mô vừa và nhỏ.

Hướng nghiên cứu tiếp

  • Tối ưu hóa hiệu năng tải trang và nâng cao khả năng tương thích của giao diện trên các thiết bị di động;
  • Bổ sung và hoàn thiện tính năng tư vấn, hỗ trợ trực tuyến (inbox trực tiếp) giữa khách hàng và cửa hàng trên hệ thống web;
  • Nâng cấp và cập nhật hệ thống theo các phiên bản công nghệ mới hơn nhằm tăng cường tính bảo mật cho thông tin người dùng và giao dịch thanh toán.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo phù hợp cho:

  • Sinh viên các ngành Kỹ thuật Phần mềm, Công nghệ Thông tin, Hệ thống Thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về đề tài xây dựng website thương mại điện tử;
  • Những người học cần tài liệu tham khảo về quy trình phân tích thiết kế hệ thống bằng UML (hệ thống biểu đồ Use Case, bảng đặc tả Use Case chi tiết, biểu đồ tuần tự);
  • Lập trình viên đang tìm hiểu phương pháp thiết kế cơ sở dữ liệu quan hệ chuẩn hóa và cách áp dụng mô hình kiến trúc MVC trên nền tảng PHP và Laravel Framework.

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

1. Hệ thống website trong đồ án phục vụ cho đơn vị kinh doanh nào và giải quyết bài toán gì?
Website được thiết kế riêng cho cửa hàng thời trang FM CLOSET nhằm giải quyết bài toán giới thiệu sản phẩm quần áo, quảng bá thương hiệu trực tuyến và tiếp nhận đơn đặt hàng từ xa của người tiêu dùng qua Internet.

2. Khách hàng có thể thực hiện thanh toán đơn hàng qua những phương thức nào trên hệ thống?
Hệ thống hỗ trợ hai phương thức thanh toán: thanh toán trực tuyến qua cổng VNPay và thanh toán khi nhận hàng (COD). Khi chọn thanh toán COD, hệ thống sẽ tự động gửi email xác nhận thông tin đơn hàng đến khách hàng.

3. Cơ sở dữ liệu của hệ thống được tổ chức thành bao nhiêu bảng dữ liệu?
Cơ sở dữ liệu của hệ thống bao gồm 10 bảng dữ liệu: tbl_customer, tbl_admin, tbl_product, tbl_brand, tbl_category_product, tbl_order, tbl_order_detail, tbl_ghichu, tbl_payment và tbl_coupon.

4. Quản trị viên (Admin) có quyền hạn thao tác trên những phân hệ quản lý nào?
Quản trị viên có toàn quyền thực hiện các thao tác xem, thêm, sửa, xóa trên các phân hệ: Quản lý danh mục sản phẩm, Quản lý thương hiệu sản phẩm, Quản lý sản phẩm, Quản lý mã giảm giá (coupon), cùng các tác vụ xem danh sách, xem chi tiết, đổi trạng thái và xóa đơn hàng.

5. Các công nghệ và công cụ chính được sử dụng để phát triển hệ thống là gì?
Hệ thống sử dụng ngôn ngữ lập trình PHP kết hợp với Laravel Framework theo mô hình MVC, hệ quản trị cơ sở dữ liệu MySQL quản lý qua công cụ phpMyAdmin, môi trường máy chủ cục bộ XAMPP và trình soạn thảo Sublime Text 3.


Kết luận

Báo cáo tốt nghiệp “Xây dựng Website quản lý bán quần áo cho cửa hàng FM CLOSET” của sinh viên Đinh Thị Quỳnh đã hoàn thành mục tiêu xây dựng một ứng dụng web thương mại điện tử hoàn chỉnh theo mô hình kiến trúc MVC trên nền tảng PHP và Laravel Framework. Tác giả đã thực hiện đầy đủ quy trình phân tích thiết kế hệ thống bằng ngôn ngữ UML, xây dựng lược đồ cơ sở dữ liệu gồm 10 bảng quan hệ và hiện thực hóa thành công các giao diện chức năng cho cả khách hàng và quản trị viên. Mặc dù vẫn còn một số hạn chế về quy mô tính năng nâng cao, đề tài là một tài liệu tham khảo học thuật có giá trị thực tiễn cao cho sinh viên ngành Kỹ thuật phần mềm trong việc phát triển các ứng dụng quản lý bán hàng trực tuyến.