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

Trong bối cảnh công nghệ thông tin và mạng lưới Internet phát triển nhanh chóng tại Việt Nam, thương mại điện tử đã trở thành một phương thức kinh doanh tất yếu đối với các doanh nghiệp thương mại và bán lẻ. Internet đóng vai trò là công cụ truyền tải, trao đổi thông tin toàn cầu, cho phép các đơn vị kinh doanh tiếp cận khách hàng tiềm năng mà không bị giới hạn bởi rào cản địa lý. Đối với các đơn vị kinh doanh mặt hàng thời trang, việc xây dựng một hệ thống website bán hàng trực tuyến là giải pháp cần thiết nhằm quảng bá thương hiệu, cập nhật thông tin sản phẩm liên tục, hỗ trợ khách hàng tìm kiếm, đặt hàng và thanh toán trực tuyến thuận tiện, đồng thời tối ưu hóa quy trình giao nhận hàng hóa đến người tiêu dùng.

Xuất phát từ nhu cầu thực tiễn đó, tác giả Mai Thành Tâm (Khoa Công nghệ Thông tin, Trường Đại học Mở Thành phố Hồ Chí Minh) đã thực hiện đồ án tốt nghiệp với đề tài "Website bán hàng trực tuyến", dưới sự hướng dẫn của ThS. Nguyễn Thị Ngọc Thanh (năm 2024).

Mục tiêu chính của hệ thống được xác định cụ thể qua 4 nhiệm vụ kỹ thuật:

  1. Hệ thống phải quản lý được thông tin về các sản phẩm thời trang.
  2. Hệ thống phải quản lý được thông tin hóa đơn bán và hóa đơn nhập.
  3. Hệ thống phải cung cấp chức năng tìm kiếm sản phẩm cho người mua hàng.
  4. Hệ thống phải đưa ra được các báo cáo, thống kê giúp người quản lý theo dõi hoạt động kinh doanh.

Đối tượng và phạm vi nghiên cứu của đồ án được phân định rõ:

  • Đối tượng nghiên cứu: Quy trình vận hành và quản lý bán hàng tại các cửa hàng kinh doanh thời trang.
  • Phạm vi nghiên cứu:
    • Về mặt nghiệp vụ: Đồ án tập trung nghiên cứu quy trình mua hàng trực tuyến của khách hàng, đồng thời cung cấp giải pháp hỗ trợ nhân viên kỹ thuật và quản trị viên trong việc kiểm soát hoạt động nhập - xuất kho, xử lý đơn hàng và lập báo cáo.
    • Về mặt hệ thống: Đồ án giới hạn triển khai ứng dụng trên nền tảng web, phân tách thành hai không gian tương tác độc lập: giao diện dành cho khách hàng (cho phép tra cứu, xem chi tiết và thực hiện đặt hàng không bắt buộc đăng nhập) và giao diện dành cho quản trị viên (yêu cầu xác thực tài khoản để thực hiện chức năng quản lý, phân quyền và thống kê).

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

Đồ án tổng hợp hệ thống lý luận về thương mại điện tử, các mô hình kiến trúc phần mềm và công cụ kỹ thuật phục vụ việc phân tích, thiết kế và phát triển website:

Tổng quan lý luận về thương mại điện tử

Tác giả hệ thống hóa các khái niệm căn bản của thương mại điện tử (E-commerce) và tiến trình phát triển từ giai đoạn trao đổi dữ liệu điện tử (EDI) những năm 1960, chuyển tiền điện tử (EFT) thập niên 1970, cột mốc thương mại hóa Internet đầu thập niên 1990 gắn liền với sự ra đời của Amazon (1995), eBay và giải pháp thanh toán điện tử PayPal (1998), đến thương mại di động (m-commerce) từ đầu thập niên 2000. Đồ án phân loại 4 mô hình giao dịch chính gồm: Doanh nghiệp với Doanh nghiệp (B2B), Doanh nghiệp với Người tiêu dùng (B2C), Người tiêu dùng với Người tiêu dùng (C2C) và Người tiêu dùng với Doanh nghiệp (C2B). Đồng thời, tác giả phân tích 7 đặc điểm cốt lõi của thương mại điện tử: tính toàn cầu, hoạt động liên tục 24/7, chi phí vận hành thấp, khả năng tùy biến và cá nhân hóa, tính tiện lợi, khả năng theo dõi/phân tích dữ liệu và tính cạnh tranh cao.

Công nghệ và công cụ sử dụng

  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (phát triển bởi Oracle Corporation), hỗ trợ chuẩn SQL. Đồ án trình bày các thành phần cốt lõi của MySQL gồm: Bộ xử lý cơ sở dữ liệu (Database Engine), cơ chế sao chép (Replication), tìm kiếm toàn văn (Full-Text Search), chương trình con và kích hoạt tự động (Stored Procedures và Triggers), sao lưu và phục hồi (Backup và Restore), cơ chế bảo mật (Security) và chỉ mục tối ưu truy vấn (Indexes).
  • Kiến trúc Entity Framework: Nền tảng ánh xạ đối tượng - quan hệ (ORM) của ADO.NET, cho phép tương tác với cơ sở dữ liệu thông qua các đối tượng lập trình. Mô hình kiến trúc bao gồm các tầng: Application, Object Services, EntityClient Data Provider, .NET Data Providers, Database, và Entity Data Model (EDM gồm Conceptual Model - CSDL, Mapping Model - MSL, Logical Model - SSDL).
  • Công cụ StarUML: Phần mềm mô hình hóa trực quan hỗ trợ biểu diễn hệ thống theo chuẩn UML (sơ đồ Use Case, sơ đồ tuần tự, sơ đồ lớp, sơ đồ hoạt động), hỗ trợ thuộc tính đóng gói (public, private, protected) và các loại quan hệ thực thể (Association, Inheritance, Dependency, Aggregation, Composition).
  • Ngôn ngữ lập trình PHP và môi trường LAMP: Tổng quan lịch sử phát triển của PHP từ phiên bản PHP/FI (1995) của Rasmus Lerdorf, PHP 3.0 (1998) của Zeev Suraski và Andi Gutmans, PHP 4 tích hợp Zend Engine (2000), PHP 5 hỗ trợ hướng đối tượng (2004), đến PHP 7 (2015) và PHP 8 (2020). Mô hình hoạt động dựa trên ngăn xếp LAMP gồm hệ điều hành Linux (Ubuntu/RedHat), máy chủ web Apache, hệ quản trị MySQL và bộ biên dịch PHP.

Phương pháp nghiên cứu và phát triển

Đồ án áp dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng thông qua ngôn ngữ mô hình hóa UML để đặc tả yêu cầu, xây dựng các biểu đồ tương tác và thiết kế cơ sở dữ liệu quan hệ chuẩn hóa.

Thiết kế và triển khai

Hệ thống được thiết kế dựa trên sự phân tách chức năng rõ ràng giữa hai tác nhân người dùng, kết hợp mô hình hóa luồng xử lý và xây dựng cấu trúc cơ sở dữ liệu quan hệ.

Phân tích tác nhân và trường hợp sử dụng (Use Case)

Hệ thống xác định 2 tác nhân chính tham gia vào các tiến trình nghiệp vụ:

STT Tên Actor Ý nghĩa / Quyền hạn
1 Quản trị hệ thống Quản lý toàn bộ hệ thống website, sản phẩm, nhân viên, hóa đơn và thống kê
2 Người dùng Xem, tìm kiếm sản phẩm, đặt hàng và quản lý thông tin cá nhân

Sáu trường hợp sử dụng trung tâm được phân tích và đặc tả luồng sự kiện chi tiết:

  • Quản lý sản phẩm / loại sản phẩm: Cho phép quản trị viên thực hiện các thao tác Thêm, Sửa, Xóa và Hiển thị danh mục loại sản phẩm qua giao diện điều khiển frmQLLoaiSanPham.
  • Quản lý hóa đơn nhập: Nhân viên ghi nhận hóa đơn nhập hàng khi bổ sung sản phẩm mới vào kho thông qua giao diện frmQLHoaDonNhap, lưu trữ chi tiết thông tin nhập hàng.
  • Quản lý hóa đơn bán: Tiếp nhận đơn đặt hàng từ khách hàng, cho phép nhân viên kiểm tra thông tin, duyệt hóa đơn bán thông qua form frmQLHoaDonBan, hoặc điều chỉnh/xóa hóa đơn khi phát sinh hoàn trả sản phẩm.
  • Quản lý nhân viên: Cho phép quản trị viên thêm mới, cập nhật hồ sơ, phân quyền tài khoản và theo dõi trạng thái công tác của nhân viên qua form frmQLNhanVien.
  • Thống kê, báo cáo: Thực hiện tính toán và kết xuất dữ liệu doanh thu định kỳ theo ngày, tuần, tháng và thống kê sản phẩm bán chạy/hàng tồn kho.

Thiết kế hành vi hệ thống

Tiến trình vận hành được đặc tả thông qua hệ thống biểu đồ UML:

  • Biểu đồ hoạt động: Mô hình hóa các luồng xử lý: đăng nhập hệ thống, quản lý giỏ hàng của khách hàng, tìm kiếm sản phẩm, quản lý khách hàng, quản lý sản phẩm và xem báo cáo thống kê.
  • Biểu đồ tuần tự: Chi tiết hóa tương tác thông điệp giữa các đối tượng trong 7 kịch bản: đăng nhập hệ thống, thêm loại sản phẩm, sửa loại sản phẩm, xóa loại sản phẩm, thêm hóa đơn nhập, sửa hóa đơn nhập và xóa hóa đơn nhập.

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

Hệ thống sử dụng cơ sở dữ liệu MySQL gồm 13 bảng quan hệ được chuẩn hóa: migrations, password_resets, slides, customers, roles, permissions, permission_roles, orders, order_details, users, products, product_categories, brands. Cấu trúc các bảng dữ liệu chính được định nghĩa như sau:

Tên bảng Các trường dữ liệu chính Ràng buộc / Kiểu dữ liệu chính
brands id, name, logo, address, phone_no, slug, is_deleted, created_at, updated_at id: Bigint(20) Khóa chính; các trường chuỗi Varchar(255); is_deleted: Tinyint(1)
customers id, full_name, address, phone_no, email, slug, is_deleted, created_at, updated_at id: Bigint(20) Khóa chính; Varchar(255); created_at/updated_at: Timestamp
slides id, content, description, image, url, is_deleted, created_at, updated_at id: Bigint(20) Khóa chính; lưu đường dẫn ảnh và nội dung trình chiếu
users id, name, email, level, email_verified, password, reset_password, remember_token, is_deleted, created_at, updated_at id: Bigint(20) Khóa chính; level: Int(11); password: Varchar(255); email_verified: Date
order_details id, quantity, order_id, product_id, is_deleted, created_at, updated_at id: Bigint(20) Khóa chính; order_id, product_id: Bigint(20); quantity: Int(11)
products id, name, code, description, detail, image, price, promotion_price, quantity, is_deleted, brand_id, category_id, created_at, updated_at id: Khóa chính; lưu thông tin giá bán, giá khuyến mãi, số lượng tồn và liên kết nhãn hiệu, thể loại
roles & permissions id, name, display_name, slug, is_deleted, permission_roles (permission_id, role_id) Quản lý vai trò, danh mục quyền hạn và ánh xạ phân quyền truy cập chức năng hệ thống

Kết quả triển khai giao diện

Hệ thống đã cài đặt hoàn chỉnh 17 màn hình giao diện thực tế:

  • Giao diện người dùng: Trang chủ website (4.1), trang danh sách sản phẩm (4.2), giới thiệu về cửa hàng (4.3), gửi thông tin liên hệ (4.4), xem chi tiết sản phẩm (4.5), tìm kiếm sản phẩm theo từ khóa (4.6), đăng ký tài khoản (4.7), đăng nhập tài khoản (4.8).
  • Giao diện quản trị: Trang bảng điều khiển quản trị (4.9), quản lý sản phẩm (4.10), quản lý đơn hàng (4.11), quản lý khách hàng (4.12), quản lý người dùng (4.13), quản lý phân quyền (4.14), quản lý nhãn hiệu (4.15), quản lý thể loại (4.16), quản lý hiệu ứng hiển thị (4.17).

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

Mở đầu

Trình bày tính cấp thiết của đề tài trong bối cảnh thương mại điện tử phát triển; nêu rõ đối tượng nghiên cứu là các cửa hàng kinh doanh thời trang; xác định phạm vi nghiên cứu xoay quanh quy trình mua hàng trực tuyến và hỗ trợ quản trị bán lẻ; tóm tắt 4 mục tiêu chính của hệ thống phần mềm.

Giới thiệu về thương mại điện tử

Cung cấp bức tranh toàn diện về lịch sử hình thành thương mại điện tử từ các mốc EDI (1960), EFT (1970) đến Internet thương mại (1991) và sự ra đời của các sàn thương mại lớn. Phân tích chi tiết 7 đặc điểm hoạt động, so sánh ưu điểm (tiếp cận diện rộng, tiết kiệm chi phí, hoạt động 24/7) và nhược điểm (an ninh mạng, phụ thuộc hạ tầng kỹ thuật, thiếu trải nghiệm sờ nắm trực tiếp sản phẩm); đồng thời phân loại các mô hình B2B, B2C, C2C, C2B.

Chương 1: Cơ sở lý thuyết và công cụ sử dụng

Trình bày cơ sở lý thuyết kỹ thuật về hệ quản trị cơ sở dữ liệu MySQL và 7 thành phần cấu trúc cốt lõi; giới thiệu mô hình kiến trúc của ADO.NET Entity Framework cùng mô hình dữ liệu EDM (CSDL, MSL, SSDL); mô tả tính năng của công cụ StarUML trong việc mô hình hóa thực thể và mối quan hệ; phân tích lịch sử tiến hóa của ngôn ngữ PHP từ 1994 đến PHP 8 và mô hình ngăn xếp máy chủ LAMP.

Chương 2: Tổng quan về hệ thống

Mô tả chi tiết bài toán thực tế của cửa hàng thời trang với đầy đủ thông tin sản phẩm (màu sắc, kích cỡ, chất liệu, giá, số lượng), quy trình nhập hàng, quy trình khách hàng đặt hàng trực tuyến (thu thập thông tin họ tên, địa chỉ, số điện thoại, email) và cơ chế tự động gửi email xác nhận đặt hàng. Xác định danh mục Actor và danh sách 6 Use Case; xây dựng đặc tả Use Case chi tiết; thiết kế các biểu đồ hoạt động và biểu đồ tuần tự cho các chức năng nghiệp vụ trọng yếu; thiết kế lược đồ quan hệ CSDL và đặc tả chi tiết các bảng dữ liệu.

Chương 3: Kết quả cài đặt hệ thống

Minh họa trực quan kết quả lập trình hệ thống thông qua danh mục 17 màn hình giao diện thực tế, phân chia thành cụm chức năng dành cho khách hàng (xem, tìm kiếm, đặt mua, liên hệ) và cụm chức năng dành cho quản trị viên (quản lý sản phẩm, đơn hàng, khách hàng, nhân sự, phân quyền, danh mục và cấu hình giao diện).

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

Kết quả đạt được

  • Xây dựng thành công hệ thống website bán hàng thời trang với đầy đủ hai phân hệ độc lập: phân hệ khách hàng công khai và phân hệ quản trị yêu cầu đăng nhập.
  • Chuẩn hóa quy trình đặt hàng trực tuyến: khi khách hàng chọn mua và điền đầy đủ dữ liệu (họ tên, địa chỉ, số điện thoại, email), hệ thống tự động ghi nhận vào bảng hóa đơn bán (orders), lưu chi tiết từng mặt hàng vào bảng chi tiết hóa đơn (order_details), đồng thời kích hoạt tính năng tự động gửi email xác nhận đặt hàng thành công đến khách hàng.
  • Xây dựng quy trình xử lý đơn hàng và nhập hàng: hỗ trợ nhân viên kiểm tra, duyệt đơn hàng bán, quản lý trả hàng hoặc xóa hóa đơn; hỗ trợ nhập kho và quản lý thông tin hóa đơn nhập hàng.
  • Thiết kế và triển khai cơ sở dữ liệu quan hệ gồm 13 bảng có liên kết toàn vẹn dữ liệu, hỗ trợ phân quyền người dùng qua các bảng roles, permissions và permission_roles.
  • Hoàn thiện 17 màn hình giao diện trực quan đáp ứng các yêu cầu từ tra cứu, giỏ hàng đến quản trị danh mục, nhãn hiệu và báo cáo.

Đóng góp của đồ án

  • Hệ thống hóa quy trình nghiệp vụ bán lẻ thời trang từ khâu nhập kho, quản lý thuộc tính sản phẩm (kích thước, màu sắc, chất liệu), trưng bày trên web, tiếp nhận đơn đặt hàng đến quản lý thông tin khách hàng và nhân sự.
  • Cung cấp một bộ tài liệu phân tích và thiết kế hệ thống theo chuẩn UML hoàn chỉnh (Use Case, Activity Diagram, Sequence Diagram) gắn liền với mô hình dữ liệu quan hệ cụ thể trong lĩnh vực thương mại điện tử.

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

Dựa trên phạm vi nghiên cứu và nội dung được công bố trong văn bản đồ án, các hạn chế và hướng mở rộng được ghi nhận như sau:

  • Về phạm vi thanh toán: Hệ thống quản lý đơn hàng thông qua trường trạng thái thanh toán (payment_status), chưa thể hiện việc tích hợp trực tiếp với các cổng thanh toán trực tuyến của bên thứ ba (như cổng thanh toán ngân hàng, ví điện tử) trong cấu trúc dữ liệu và giao diện thực thi.
  • Về xử lý nghiệp vụ: Chức năng đổi trả hàng hiện tại được xử lý bằng cách nhân viên sửa thông tin hóa đơn bán hoặc xóa hóa đơn nếu trả toàn bộ, chưa xây dựng phân hệ quản lý hoàn trả/đổi hàng chuyên biệt.
  • Về tính năng phân tích: Báo cáo thống kê doanh thu và hàng tồn kho mới dừng ở mức định kỳ theo ngày, tuần, tháng theo phương thức bảng biểu cơ bản, chưa tích hợp các thuật toán phân tích nâng cao về hành vi và xu hướng tiêu dùng của khách hàng.
  • Hướng nghiên cứu tiếp: Mở rộng tích hợp các cổng thanh toán điện tử tự động; nâng cấp hệ thống phân quyền chi tiết theo nhóm chức năng động; phát triển module gợi ý sản phẩm tự động dựa trên lịch sử mua sắm của khách hàng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho sinh viên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin trong quá trình thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về xây dựng website thương mại điện tử:

  • Mô hình hóa nghiệp vụ: Cung cấp phương pháp xây dựng các sơ đồ Use Case phân rã, biểu đồ hoạt động và biểu đồ tuần tự cho các nghiệp vụ bán hàng thực tế.
  • Thiết kế cơ sở dữ liệu: Cung cấp mẫu thiết kế cơ sở dữ liệu quan hệ e-commerce hoàn chỉnh, đặc biệt là cấu trúc bảng phân quyền (roles, permissions, permission_roles), cấu trúc hóa đơn chi tiết (orders, order_details) và quản lý sản phẩm đa phân loại (brands, product_categories, products).

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

1. Hệ thống website phân định các tác nhân người dùng (Actor) như thế nào?

Theo Bảng Danh sách các Actor trong văn bản, hệ thống xác định 2 tác nhân chính:

  • Quản trị hệ thống: Đảm nhiệm quản lý toàn bộ hệ thống website, bao gồm quản lý sản phẩm, loại sản phẩm, hóa đơn nhập, hóa đơn bán, quản lý nhân viên và thống kê báo cáo doanh thu.
  • Người dùng: Đóng vai trò là khách hàng, thực hiện các thao tác xem thông tin sản phẩm, tìm kiếm sản phẩm theo từ khóa, đưa hàng vào giỏ và đặt hàng, đồng thời có thể quản lý thông tin cá nhân hoặc gửi thông tin liên hệ.

2. Khi khách hàng đặt hàng thành công, hệ thống xử lý lưu trữ dữ liệu và thông báo ra sao?

Theo mô tả nghiệp vụ tại mục Tổng quan về hệ thống, khi khách hàng chọn mua và điền đầy đủ thông tin (họ tên, địa chỉ, số điện thoại, email) rồi bấm thanh toán:

  • Thông tin chung của đơn hàng được lưu vào hóa đơn bán (gồm mã hóa đơn bán, họ tên, địa chỉ, số điện thoại, email, ngày tạo, tổng tiền, trạng thái, chú thích).
  • Chi tiết từng mặt hàng được lưu vào bảng chi tiết hóa đơn bán (gồm mã hóa đơn bán, mã sản phẩm, số lượng, giá tiền, thành tiền, ảnh sản phẩm).
  • Hệ thống kích hoạt cơ chế tự động gửi email đến địa chỉ hòm thư của khách hàng để xác nhận đặt hàng thành công.

3. Cấu trúc bảng cơ sở dữ liệu của hệ thống quản lý phân quyền và người dùng gồm những bảng nào?

Cơ sở dữ liệu được thiết kế với cụm bảng quản trị tài khoản và phân quyền gồm:

  • Bảng users: Lưu trữ tài khoản quản trị/nhân viên với các trường id, name, email, level, password, reset_password, remember_token, is_deleted.
  • Bảng roles: Định nghĩa các vai trò trong hệ thống.
  • Bảng permissions: Định nghĩa danh mục các quyền hạn thao tác.
  • Bảng permission_roles: Bảng trung gian ánh xạ quan hệ nhiều - nhiều giữa quyền hạn (permission_id) và vai trò (role_id).

4. Hệ thống cung cấp những chức năng thống kê và báo cáo nào cho người quản trị?

Dựa trên đặc tả Use Case Quản lý thống kê, báo cáo và phần xác định yêu cầu hệ thống, chức năng thống kê cung cấp:

  • Thống kê tổng số lượng toàn bộ sản phẩm hiện có trong hệ thống và số lượng hàng tồn kho.
  • Thống kê các sản phẩm đã bán ra và danh sách các sản phẩm bán chạy nhất.
  • Thống kê doanh thu bán hàng phân loại theo các mốc thời gian: ngày, tuần, tháng, quý và năm.
  • Hỗ trợ xuất dữ liệu báo cáo phục vụ công tác theo dõi tình hình kinh doanh của người quản lý.

Kết luận

Đồ án tốt nghiệp "Website bán hàng trực tuyến" của sinh viên Mai Thành Tâm đã 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ử chuyên biệt cho ngành hàng thời trang. Đề tài thể hiện rõ ràng các giai đoạn phân tích nghiệp vụ, mô hình hóa hệ thống bằng chuẩn UML, thiết kế cơ sở dữ liệu quan hệ chuẩn hóa 13 bảng và cài đặt thành công 17 giao diện chức năng phục vụ khách hàng và quản trị viên. Công trình là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc triển khai các bài toán phân tích thiết kế và xây dựng website quản lý bán hàng.