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

Sự phát triển của khoa học công nghệ, đặc biệt là lĩnh vực Công nghệ Thông tin và Công nghệ Web, đã làm thay đổi phương thức vận hành của nhiều ngành nghề trong đời sống và sản xuất. Trong lĩnh vực thương mại, việc quản lý và bán hàng theo hình thức truyền thống tại các cửa hàng bán lẻ đang bộc lộ nhiều hạn chế:

  • Khách hàng phải trực tiếp đến cửa hàng để tìm kiếm và mua sản phẩm, làm tiêu tốn thời gian và công sức đi lại.
  • Cơ cấu vận hành cũ khiến khả năng tiếp thị sản phẩm đến đối tượng người tiêu dùng tiềm năng bị hạn chế, khó mở rộng quy mô kinh doanh và thu hút khách hàng mới.
  • Công tác quản lý bán hàng thủ công tốn nhiều thời gian, dễ xảy ra sai sót trong lưu trữ và tra cứu thông tin sản phẩm, đơn hàng và kho bãi.

Trước thực trạng đó, việc ứng dụng phần mềm chuyên dụng và nền tảng web vào hoạt động kinh doanh trực tuyến là yêu cầu cấp thiết nhằm tự động hóa quy trình, nâng cao độ chính xác và mở rộng khả năng tiếp cận thị trường. Đề tài được thực hiện nhằm nghiên cứu, phân tích và triển khai hệ thống bán hàng trực tuyến "E-Shop" (kết hợp hỗ trợ công tác quản lý sản phẩm/sách), giải quyết các bài toán giao dịch và quản lý từ xa.

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

  1. Khảo sát thực trạng và xác định các yêu cầu chức năng, phi chức năng cho một hệ thống thương mại điện tử trực tuyến.
  2. Ứng dụng ngôn ngữ mô hình hóa UML để phân tích và thiết kế hệ thống, bao gồm xây dựng các biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram) và thiết kế cơ sở dữ liệu quan hệ.
  3. Tìm hiểu và áp dụng các công nghệ lập trình web như HTML5, CSS, C# trên nền tảng .NET Framework, hệ quản trị cơ sở dữ liệu SQL Server, cùng các thư viện hỗ trợ như JavaScript, jQuery, Bootstrap.
  4. Thiết kế và hiện thực hóa giao diện hệ thống cho cả hai phân hệ: giao diện hiển thị cho người dùng (khách hàng, khách vãng lai) và giao diện quản trị (Admin).

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

  • Đối tượng nghiên cứu: Quy trình phân tích, thiết kế và xây dựng website bán hàng trực tuyến và quản lý thông tin sản phẩm.
  • Phạm vi không gian và thời gian: Đề tài được thực hiện bởi sinh viên ngành Kỹ thuật phần mềm, Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một, hoàn thành vào tháng 11 năm 2020.

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

Đề tài áp dụng các lý thuyết về kỹ thuật phần mềm, thiết kế hướng đối tượng và công nghệ phát triển ứng dụng web:

1. Khung lý thuyết và công nghệ sử dụng

  • Ngôn ngữ đánh dấu và định kiểu:
    • HTML/HTML5: Sử dụng cấu trúc thẻ và phần tử để xây dựng tài liệu siêu văn bản truy cập qua giao thức HTTP; hỗ trợ Document Object Model (DOM), Application Programming Interface (API), cùng các thành phần đa phương tiện.
    • CSS (Cascading Style Sheets): Quy định cách thức hiển thị thuộc tính giao diện (font chữ, kích thước, màu sắc), tăng tính tái sử dụng mã nguồn và khả năng kế thừa.
  • Ngôn ngữ lập trình và nền tảng thực thi:
    • Ngôn ngữ C#: Ngôn ngữ lập trình hiện đại, hướng đối tượng do Microsoft phát triển.
    • .NET Framework: Mã nguồn C# được biên dịch sang mã ngôn ngữ trung gian MSIL (Microsoft Intermediate Language), sau đó được thực thi thông qua Common Language Runtime (CLR) thành native code của hệ điều hành.
  • Hệ quản trị cơ sở dữ liệu:
    • Microsoft SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), sử dụng Transact-SQL để truyền nhận dữ liệu giữa Client và Server; hỗ trợ lưu trữ khối lượng dữ liệu lớn và tương thích với các máy chủ IIS (Internet Information Services).
  • Thư viện và Framework hỗ trợ:
    • JavaScript: Ngôn ngữ kịch bản phía Client tuân theo chuẩn ECMAScript, hỗ trợ xử lý tương tác giao diện người dùng.
    • Bootstrap: Framework giao diện web cung cấp hệ thống lưới Grid System mặc định 12 cột (độ rộng 940px), hỗ trợ thiết kế giao diện tương thích đa thiết bị (Responsive Web Design).
    • jQuery: Thư viện JavaScript gọn nhẹ (dung lượng xấp xỉ 19KB khi gzipped) phát triển bởi John Resig (2006), hỗ trợ bộ chọn Sizzle Selector để thao tác cây DOM, xử lý sự kiện, hiệu ứng và truyền tải dữ liệu bất đồng bộ qua AJAX.

2. Phương pháp nghiên cứu và thiết kế hệ thống

  • Phương pháp khảo sát và đặc tả yêu cầu: Phân tích nhu cầu của các đối tượng tham gia hệ thống (người quản trị, khách hàng, khách vãng lai) để xây dựng danh mục yêu cầu chức năng và phi chức năng.
  • Phương pháp mô hình hóa hướng đối tượng: Sử dụng chuẩn Unified Modeling Language (UML) để xây dựng hệ thống biểu đồ Use Case (tổng quát và chi tiết) và biểu đồ tuần tự cho từng luồng nghiệp vụ.
  • Phương pháp thiết kế cơ sở dữ liệu quan hệ: Chuẩn hóa các thực thể, xác định khóa chính, khóa ngoại và thiết lập các ràng buộc dữ liệu toàn vẹn.

Thiết kế và triển khai

Hệ thống được thiết kế hoàn chỉnh qua các giai đoạn xác định tác nhân, mô hình hóa nghiệp vụ, thiết kế cấu trúc dữ liệu và xây dựng giao diện.

1. Các tác nhân và yêu cầu hệ thống

Hệ thống xác định 3 nhóm tác nhân chính:

  • Admin (Người quản trị): Đăng nhập hệ thống để thực hiện toàn quyền cấu hình, thêm/sửa/xóa cơ sở dữ liệu, quản lý danh mục sản phẩm, sản phẩm, nhà cung cấp, đơn đặt hàng, tin tức, Slide, phân quyền và quản lý tài khoản người dùng.
  • Customer (Khách hàng thành viên): Người dùng có tài khoản, thực hiện tìm kiếm sản phẩm theo hãng/danh mục, quản lý giỏ hàng, tạo đơn đặt hàng, theo dõi hóa đơn và nhận các chương trình ưu đãi, khuyến mãi.
  • Free User (Khách vãng lai): Người dùng chưa đăng ký tài khoản; có quyền tra cứu thông tin sản phẩm, xem giá cả, tin tức và thực hiện đăng ký tài khoản để mua hàng.

Hệ thống đáp ứng các yêu cầu phi chức năng sau:

STT Tên yêu cầu Mô tả chi tiết
1 Giao diện Trực quan, dễ sử dụng, thân thiện với người dùng.
2 Tốc độ xử lý Hệ thống xử lý thông tin nhanh chóng và chính xác.
3 Bảo mật Đảm bảo tính an toàn dữ liệu và bảo mật thông tin tài khoản, giao dịch.
4 Tính tương thích Hoạt động tương thích với các trình duyệt web phổ biến hiện nay.

2. Thiết kế Use Case và Biểu đồ tuần tự

  • Biểu đồ Use Case: Bao gồm Use Case tổng quát và 8 Use Case chi tiết dành cho quản trị viên: Đăng nhập, Quản lý danh mục sản phẩm, Quản lý sản phẩm, Quản lý thành viên, Quản lý ban quản trị, Quản lý tin tức, Quản lý Slide, Quản lý đơn đặt hàng.
  • Biểu đồ tuần tự (Sequence Diagram): Mô hình hóa chi tiết trình tự tương tác giữa giao diện (Boundary), bộ điều khiển (Control) và cơ sở dữ liệu (Entity) cho 11 chức năng nghiệp vụ:
    1. Biểu đồ tuần tự chức năng đăng nhập
    2. Biểu đồ tuần tự quản lý danh mục sản phẩm
    3. Biểu đồ tuần tự quản lý sản phẩm
    4. Biểu đồ tuần tự quản lý thành viên
    5. Biểu đồ tuần tự quản lý ban quản trị
    6. Biểu đồ tuần tự quản lý nhà cung cấp
    7. Biểu đồ tuần tự quản lý tin tức
    8. Biểu đồ tuần tự quản lý Slide
    9. Biểu đồ tuần tự quản lý đơn đặt hàng
    10. Biểu đồ tuần tự quản lý kho
    11. Biểu đồ tuần tự quản lý ảnh bài viết

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

Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 10 bảng thực thể:

STT Tên bảng Chức năng lưu trữ
1 ChiTietDonHang Lưu chi tiết từng mặt hàng và số lượng trong đơn hàng.
2 DanhMucSanPham Lưu thông tin các danh mục sản phẩm.
3 DonHang Lưu thông tin đơn đặt hàng, trạng thái xử lý, mã giao dịch.
4 GioHang Lưu trữ tạm thời các sản phẩm do người dùng thêm vào giỏ.
5 HinhSanPham (Orders) Lưu trữ dữ liệu hình ảnh của sản phẩm.
6 NguoiDung Lưu thông tin cá nhân và tài khoản đăng nhập của người dùng.
7 KieuNguoiDung Lưu định nghĩa các nhóm quyền và loại người dùng.
8 SanPham Lưu thông tin chi tiết, giá và mô tả của sản phẩm.
9 ThongKeTruyCap Lưu tổng số lượt truy cập vào website.
10 TinhTrangDonHang Lưu các trạng thái xử lý của đơn đặt hàng.

Cấu trúc chi tiết một số bảng tiêu biểu:

  • Bảng ChiTietDonHang: IdChiTietDonHang (int, Khóa chính), IdSanPham (int, Not null), IdDonHang (int, Not null), SoLuongSanPham (int, Not null).
  • Bảng DanhMucSanPham: IdDanhMucSanPham (int, Khóa chính), TenDanhMucSanPham (nvarchar(50), Not null).
  • Bảng DonHang: IdDonHang (int, Khóa chính), IdNguoiDung (int, Not null), IdTinhTrangDonHang (int, Not null), IdGiaoDich (nvarchar(50), Not null), NgayTaoDonHang (smalldatetime, Not null), NgayXuLyDonHang (smalldatetime, Null), TrackingNumber (nvarchar(50), Null).
  • Bảng GioHang: IdGioHang (int, Khóa chính), CartGuid (nvarchar(50), Not null), IdSanPham (int, Not null), SoLuong (int, Not null), NgayTaoGioHang (smalldatetime, Not null).
  • Bảng NguoiDung: IdNguoiDung (int, Khóa chính), IdKieuNguoiDung (int, Not null), HoTen (nvarchar(50), Not null), TenDangNhap (nvarchar(50), Not null), MatKhau (nvarchar(50), Not null), DiaChi (nvarchar(50), Not null), SoDienThoai (nvarchar(50), Not null), SoFax (nvarchar(50), Not null), Email (nvarchar(50), Not null), MaDienThoai (nvarchar(50), Not null).
  • Bảng SanPham: IdSanPham (int, Khóa chính), IdDanhMucSanPham (int, Not null), IdHinhSanPham (int, Not null), TenSanPham (nvarchar(50), Not null), MoTaSanPham (nvarchar(MAX), Not null), GiaSanPham (int, Not null).
  • Bảng TinhTrangDonHang: IdTinhTrangDonHang (int, Khóa chính), TenTinhTrangDonHang (nvarchar(50), Not null).
  • Bảng ThongKeTruyCap: TongSoTruyCap (int, Khóa chính).

4. Thiết kế giao diện

Hệ thống được chia thành 2 phân hệ giao diện:

  • Phân hệ hiển thị người dùng:
    • Giao diện trang chủ: Hiển thị banner, sản phẩm mới, sản phẩm khuyến mãi và danh mục điều hướng.
    • Giao diện giới thiệu sản phẩm / thông tin sản phẩm: Trình bày chi tiết hình ảnh, giá bán, mô tả thông số kỹ thuật.
    • Giao diện đăng nhập & đăng ký tài khoản: Cung cấp biểu mẫu cho người dùng đăng ký tài khoản thành viên hoặc đăng nhập vào hệ thống.
    • Giao diện giỏ hàng & thông tin đơn hàng: Cho phép quản lý số lượng sản phẩm cần mua, xem tổng giá trị đơn hàng và nhập thông tin giao dịch.
  • Phân hệ quản trị (Admin):
    • Giao diện quản lý tổng quan: Bảng điều khiển chức năng quản trị.
    • Giao diện danh sách đơn hàng: Cho phép xem chi tiết đơn hàng, duyệt đơn, hủy đơn hoặc xuất báo cáo.
    • Giao diện danh mục và sản phẩm: Cung cấp công cụ thêm, sửa, xóa, tìm kiếm danh mục và cập nhật thông tin sản phẩm.

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

Chương 1: Giới thiệu đề tài và Công nghệ sử dụng

Chương 1 trình bày lý do lựa chọn đề tài, khảo cứu cơ sở lý thuyết về các công nghệ và công cụ phát triển phần mềm:

  • Phân tích vai trò của HTML5 trong việc nhúng đa phương tiện không cần plugin và tích hợp DOM/API; CSS trong việc chuẩn hóa hiển thị và kế thừa kiểu dáng.
  • Trình bày nguyên lý hoạt động của C# trên môi trường .NET Framework, cơ chế chuyển đổi mã nguồn thành MSIL và thực thi qua CLR.
  • Tổng quan hệ quản trị cơ sở dữ liệu SQL Server với khả năng quản lý dữ liệu quy mô lớn (VLDB) và xử lý giao dịch qua Transact-SQL.
  • Giới thiệu các công cụ frontend: JavaScript, jQuery (hỗ trợ DOM, AJAX, xử lý sự kiện) và Bootstrap (hỗ trợ Responsive Web Design).

Chương 2: Phân tích và thiết kế hệ thống Website

Chương 2 tập trung vào việc phân tích nghiệp vụ và mô hình hóa hệ thống bằng UML:

  • Khảo sát thực trạng bài toán thương mại điện tử, xác định các điểm nghẽn của mô hình bán hàng truyền thống và đề xuất giải pháp bán hàng qua mạng.
  • Đặc tả yêu cầu hệ thống: xác định các yêu cầu chức năng cho phân hệ quản trị và phân hệ người dùng; xác định 4 yêu cầu phi chức năng (Giao diện, Tốc độ xử lý, Bảo mật, Tính tương thích).
  • Xác định các tác nhân (Admin, Khách hàng thành viên, Khách vãng lai) và xây dựng hệ thống biểu đồ Use Case chi tiết.
  • Xây dựng 11 biểu đồ tuần tự mô tả chính xác tương tác giữa các đối tượng trong từng ca sử dụng.
  • Thiết kế mô hình cơ sở dữ liệu quan hệ gồm 10 bảng thực thể với đầy đủ kiểu dữ liệu và ràng buộc khóa.

Chương 3: Thiết kế giao diện

Chương 3 trình bày các mẫu thiết kế màn hình giao diện thực tế của ứng dụng:

  • Thiết kế giao diện phía người dùng: Trang chủ, Chi tiết sản phẩm, Đăng nhập, Đăng ký, Giỏ hàng, Thông tin đơn đặt hàng.
  • Thiết kế giao diện quản trị: Trang quản lý tổng quan, Trang danh sách đơn hàng, Quản lý danh mục sản phẩm, Giao diện thêm mới và chỉnh sửa sản phẩm.

Đánh giá kết quả và Hướng phát triển

  • Đánh giá tổng thể các chức năng đã xây dựng hoàn thiện trên hệ thống.
  • Nhận diện các chức năng còn tồn đọng hoặc chưa triển khai.
  • Đề xuất định hướng nâng cấp và mở rộng hệ thống trong tương lai.

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

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

  • Xây dựng hoàn chỉnh tài liệu phân tích thiết kế hệ thống website thương mại điện tử theo chuẩn mô hình hóa UML.
  • Thiết lập cấu trúc cơ sở dữ liệu chuẩn hóa gồm 10 bảng thực thể phục vụ quản lý đầy đủ các thông tin: người dùng, phân quyền, sản phẩm, danh mục, giỏ hàng, đơn hàng, hình ảnh và thống kê truy cập.
  • Hiện thực hóa hệ thống giao diện trực quan cho cả phía người dùng và ban quản trị, đáp ứng yêu cầu giao diện đáp ứng (Responsive) trên nền tảng Bootstrap.
  • Triển khai các chức năng cốt lõi: đăng ký/đăng nhập, duyệt danh mục, tra cứu chi tiết sản phẩm, quản lý giỏ hàng, tạo và xử lý đơn đặt hàng trực tuyến.

2. Đóng góp của đề tài

  • Cung cấp giải pháp số hóa quy trình bán hàng và quản lý sản phẩm, giúp doanh nghiệp/cửa hàng vận hành liên tục 24/24, tiết kiệm chi phí nhân sự tiếp thị và quảng cáo.
  • Thiết lập quy trình phân tích và thiết kế phần mềm bài bản, có thể áp dụng làm tài liệu tham khảo cho việc xây dựng các ứng dụng web quản lý và bán hàng quy mô vừa và nhỏ.

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

1. Hạn chế

  • Hệ thống chủ yếu tập trung vào các luồng xử lý đơn hàng và quản lý danh mục cơ bản; các tính năng thanh toán trực tuyến nâng cao hoặc liên kết cổng thanh toán bên thứ ba chưa được trình bày chi tiết trong báo cáo.
  • Báo cáo còn tồn tại sự chưa đồng nhất cục bộ về mặt tiêu đề giữa "Ứng dụng Quản Lí Sách" và "Xây dựng website bán hàng điện tử" trong các phần văn bản.

2. Hướng phát triển tiếp theo

  • Tích hợp thêm các phương thức thanh toán trực tuyến tự động (cổng thanh toán, ví điện tử).
  • Mở rộng chức năng quản lý kho hàng, quản lý nhà cung cấp chi tiết và hệ thống báo cáo thống kê doanh thu đa chiều theo thời gian thực.
  • Nâng cao tính năng bảo mật hệ thống và tối ưu hóa hiệu năng truy vấn cơ sở dữ liệu khi lượng truy cập tăng cao.

Giá trị tham khảo

Đồ án có giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Kỹ thuật phần mềm, Công nghệ Thông tin: Tham khảo quy trình phân tích và thiết kế hệ thống thông tin bằng UML (xây dựng biểu đồ Use Case, biểu đồ tuần tự) và thiết kế cơ sở dữ liệu quan hệ cho một ứng dụng web thương mại điện tử.
  • Lập trình viên phát triển web: Tham khảo cách kết hợp giữa công nghệ C# (.NET Framework), SQL Server và các thư viện frontend (Bootstrap, jQuery, HTML5/CSS) trong xây dựng các module nghiệp vụ như giỏ hàng, quản lý đơn hàng và phân quyền người dùng.

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

1. Đề tài sử dụng những công nghệ và công cụ nào để xây dựng hệ thống?
Hệ thống sử dụng ngôn ngữ C# trên nền tảng .NET Framework kết hợp môi trường phát triển Visual Studio 2019, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (Transact-SQL), công nghệ web HTML5, CSS cùng các thư viện JavaScript, jQuery (bản 19KB) và Bootstrap hỗ trợ thiết kế Responsive.

2. Hệ thống phân định các nhóm tác nhân người dùng như thế nào?
Hệ thống xác định 3 nhóm tác nhân chính: Admin (toàn quyền quản trị cơ sở dữ liệu, sản phẩm, danh mục, đơn hàng, người dùng), Customer (khách hàng thành viên đã có tài khoản, được chọn mua hàng, quản lý giỏ hàng và hưởng ưu đãi) và Free User (khách vãng lai xem thông tin sản phẩm và đăng ký tài khoản để mua hàng).

3. Cơ sở dữ liệu của đồ án gồm bao nhiêu bảng và gồm những bảng nào?
Cơ sở dữ liệu gồm 10 bảng: ChiTietDonHang, DanhMucSanPham, DonHang, GioHang, HinhSanPham (Orders), NguoiDung, KieuNguoiDung, SanPham, ThongKeTruyCap và TinhTrangDonHang.

4. Khung giao diện Bootstrap được sử dụng trong đồ án có đặc điểm kỹ thuật gì?
Bootstrap cung cấp hệ thống lưới Grid System mặc định 12 cột với độ rộng 940px, giúp tiết kiệm thời gian phát triển và hỗ trợ thiết kế giao diện đáp ứng (Responsive Web Design), tương thích với nhiều kích thước màn hình thiết bị khác nhau.

5. Các ca sử dụng (Use Case) chính của phân hệ quản trị (Admin) gồm những gì?
Phân hệ quản trị bao gồm 8 ca sử dụng chính: Đăng nhập, Quản lý danh mục sản phẩm, Quản lý sản phẩm, Quản lý thành viên, Quản lý ban quản trị, Quản lý tin tức, Quản lý Slide và Quản lý đơn đặt hàng.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán hàng điện tử" của sinh viên Trần Công Trình (Trường Đại học Thủ Dầu Một) đã trình bày toàn diện quy trình phân tích, thiết kế và xây dựng một hệ thống thương mại điện tử hoàn chỉnh. Bằng việc ứng dụng ngôn ngữ C# trên nền tảng .NET Framework, hệ quản trị cơ sở dữ liệu SQL Server và các thư viện giao diện hiện đại, tác giả đã giải quyết hiệu quả bài toán bán hàng và quản lý sản phẩm trực tuyến. Tài liệu là nguồn tham khảo hữu ích cho sinh viên ngành Kỹ thuật phần mềm trong việc áp dụng mô hình hóa UML và thiết kế hệ thống web phục vụ hoạt động quản trị kinh doanh.