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

Trong bối cảnh khoa học công nghệ phát triển nhanh chóng, Công nghệ Thông tin đóng vai trò then chốt trong nhiều lĩnh vực nghiên cứu và đời sống xã hội. Cùng với đó, công nghệ web phát triển mạnh mẽ và phổ biến nhanh chóng nhờ khả năng kết nối mạng toàn cầu. Đối với hoạt động thương mại và kinh doanh bán lẻ, nhu cầu tiếp cận dịch vụ, mua sắm trực tuyến của khách hàng ngày càng gia tăng nhằm tiết kiệm thời gian và công sức di chuyển.

Tại các cơ sở bán lẻ và phân phối (bao gồm các sản phẩm điện thoại di động, hàng điện tử và quản lý sản phẩm/sách), phương thức quản lý thủ công truyền thống bộc lộ nhiều điểm hạn chế:

  1. Khách hàng phải tốn nhiều thời gian trực tiếp đến các cửa hàng để xem thông tin, đối chiếu và lựa chọn sản phẩm.
  2. Khả năng tiếp thị sản phẩm tới đối tượng khách hàng mục tiêu còn thấp, chưa mở rộng được thị trường tiếp cận.
  3. Cơ chế quản lý lưu trữ, tra cứu thông tin sản phẩm và xử lý đơn đặt hàng bằng phương pháp thủ công tiêu tốn nhiều thời gian, dễ xảy ra sai sót và hạn chế tính chính xác.

Nhằm giải quyết các vấn đề trên, đề tài tập trung vào việc nghiên cứu và xây dựng giải pháp phần mềm website bán hàng trực tuyến (E-Shop) kết hợp ứng dụng quản lý, chuyển đổi quy trình bán hàng và quản lý sang môi trường số hóa.

  • Mục tiêu nghiên cứu:
    1. Tìm hiểu các công nghệ lập trình web hiện đại để xây dựng giải pháp bán hàng trực tuyến và hỗ trợ quản lý dữ liệu 24/24.
    2. Khảo sát, thu thập và đặc tả các yêu cầu chức năng, phi chức năng của hệ thống bán hàng và quản trị.
    3. Phân tích thiết kế hệ thống bằng ngôn ngữ mô hình hóa UML, thiết kế cơ sở dữ liệu quan hệ và xây dựng giao diện hoàn chỉnh cho người dùng và người quản trị.
  • Đối tượng nghiên cứu: Quy trình vận hành, kinh doanh trực tuyến, các luồng tương tác giữa khách hàng, quản lý và quản trị viên đối với danh mục hàng hóa, đơn hàng và dữ liệu hệ thống.
  • Phạm vi nghiên cứu:
    • Không gian: Đề tài được nghiên cứu và thực hiện tại Viện Kỹ thuật Công nghệ – Trường Đại học Thủ Dầu Một (Bình Dương).
    • Thời gian thực hiện: Báo cáo 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 nền tảng công nghệ, ngôn ngữ lập trình và công cụ phần mềm chuyên dụng trong phát triển ứng dụng web:

  • Khung công nghệ và ngôn ngữ phát triển:
    • HTML / HTML5: Ngôn ngữ đánh dấu siêu văn bản theo chuẩn của tổ chức W3C, hỗ trợ xây dựng cấu trúc trang web, tích hợp các đối tượng multimedia, Application Programming Interface (API) và Document Object Model (DOM).
    • CSS (Cascading Style Sheets): Ngôn ngữ định dạng hiển thị cho tài liệu web (font chữ, kích thước, màu sắc, bố cục), hỗ trợ tính kế thừa giúp tối ưu hóa dung lượng mã nguồn.
    • Ngôn ngữ C# và .NET Framework: Ngôn ngữ lập trình hướng đối tượng do Microsoft phát triển. Mã nguồn C# được biên dịch sang mã trung gian MSIL (Microsoft Intermediate Language), sau đó được Common Language Runtime (CLR) biên dịch thành mã thực thi tương thích với hệ điều hành.
    • JavaScript & jQuery: JavaScript tuân theo chuẩn ECMAScript xử lý kịch bản phía máy khách (client-side). Thư viện jQuery (do John Resig phát triển năm 2006, kích thước tệp nén khoảng 19KB) được sử dụng để tối ưu thao tác trên cây DOM thông qua bộ chọn Sizzle, xử lý sự kiện, hỗ trợ tương tác bất đồng bộ AJAX, CSS3 Selector và cú pháp XPath.
    • Thư viện Bootstrap: Khung giao diện hỗ trợ Responsive Web Design, tích hợp hệ thống Grid System 12 cột với độ rộng mặc định 940px, cho phép giao diện tự động thích ứng với nhiều kích thước màn hình thiết bị khác nhau.
    • Hệ quản trị cơ sở dữ liệu SQL Server: RDBMS sử dụng ngôn ngữ truy vấn Transact-SQL (T-SQL), tối ưu hóa lưu trữ dữ liệu quy mô lớn và hỗ trợ xử lý đa người dùng đồng thời.
    • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2019.
  • Phương pháp nghiên cứu:
    • Phương pháp khảo sát và thu thập yêu cầu: Xác định nhu cầu người dùng, phân loại yêu cầu chức năng cho các nhóm đối tượng và các yêu cầu phi chức năng của hệ thống.
    • Phương pháp phân tích và thiết kế hướng đối tượng (OOAD): Sử dụng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) để xây dựng biểu đồ ca sử dụng (Use Case Diagram), mô tả kịch bản sự kiện chính và rẽ nhánh, cùng các biểu đồ tuần tự (Sequence Diagram) thể hiện luồng tương tác giữa các thành phần.
    • Phương pháp thiết kế cơ sở dữ liệu quan hệ: Chuẩn hóa và thiết lập danh sách các bảng dữ liệu, trường thông tin, kiểu dữ liệu, khóa chính và ràng buộc toàn vẹn.

Thiết kế và triển khai hệ thống

Phân tích tác nhân và yêu cầu hệ thống

Hệ thống phân định 3 nhóm tác nhân chính tham gia tương tác:

  • Admin (Quản trị viên): Người có toàn quyền quản trị, cấu hình website, phân quyền nhân viên, quản lý tài khoản người dùng, danh mục sản phẩm, sản phẩm, nhà cung cấp, tin tức, slide trình chiếu và đơn đặt hàng.
  • Quản lý (Nhân viên quản lý): Thực hiện các tác vụ nghiệp vụ gồm quản lý sản phẩm, danh mục, giỏ hàng, hóa đơn, chi tiết đặt hàng và theo dõi báo cáo thống kê.
  • Khách hàng (Customer) & Người dùng vãng lai (Free User): Khách vãng lai có thể tra cứu thông tin sản phẩm, xem bảng giá và tin tức. Khách hàng đăng ký tài khoản (Customer) có quyền đưa hàng vào giỏ, tạo đơn đặt hàng, xem lịch sử giao dịch và hưởng các chương trình ưu đãi.

Hệ thống đáp ứng 4 nhóm yêu cầu phi chức năng chính:

  1. Giao diện: Trực quan, bố cục rõ ràng, menu đơn giản, font chữ và màu sắc hài hòa, thân thiện với người dùng.
  2. Tốc độ xử lý: Tiếp nhận yêu cầu, xử lý giao dịch và truy xuất thông tin nhanh chóng, chính xác.
  3. Bảo mật: An toàn dữ liệu tài khoản, phân quyền chặt chẽ giữa các cấp độ người dùng.
  4. Tính tương thích: Hoạt động ổn định trên các trình duyệt web phổ biến hiện nay (như Chrome, Opera, Internet Explorer).

Mô hình hóa chức năng và luồng xử lý (UML)

Hệ thống được mô hình hóa chi tiết thông qua các biểu đồ Use Case và biểu đồ tuần tự:

  • Hệ thống Use Case: Biểu đồ Use Case tổng quát và 8 biểu đồ Use Case chi tiết gồm: Đă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. Mỗi ca sử dụng đều được đặc tả rõ ràng điều kiện tiên quyết, luồng sự kiện chính và luồng sự kiện rẽ nhánh (A1) khi dữ liệu nhập vào không hợp lệ.
  • Hệ thống biểu đồ tuần tự (Sequence Diagrams): Thể hiện chi tiết chuỗi thông điệp qua lại giữa Giao diện (Interface/Boundary), Bộ điều khiển (Controller/Handler) và Cơ sở dữ liệu (Database) cho 12 chức năng: Đă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ý nhà cung cấp, Quản lý tin tức, Quản lý Slide, Quản lý đơn đặt hàng, Quản lý kho, Quản lý ảnh bài viết và Quản lý tin tức tổng hợp.

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

Cơ sở dữ liệu của hệ thống được tổ chức thành 10 bảng thực thể, phục vụ đầy đủ cho các nghiệp vụ bán hàng và quản trị:

STT Tên bảng (Thực thể) Vai trò / Mô tả nghiệp vụ
1 ChiTietDonHang Lưu chi tiết từng sản phẩm và số lượng tương ứng trong mỗi đơn đặt hàng
2 DanhMucSanPham Lưu thông tin các nhóm/loại danh mục sản phẩm
3 DonHang Quản lý thông tin đơn hàng, khách hàng đặt, trạng thái xử lý, mã giao dịch và mã tracking
4 GioHang Lưu trữ tạm thời các mặt hàng khách hàng chọn mua kèm mã nhận diện giỏ hàng (CartGuid)
5 HinhSanPham / Orders Lưu trữ dữ liệu hình ảnh nhị phân (image) đại diện cho sản phẩm
6 NguoiDung Lưu thông tin định danh, tài khoản, mật khẩu, liên lạc của người dùng và quản trị viên
7 KieuNguoiDung Phân loại vai trò, chức vụ và cấp độ quyền hạn của người dùng
8 SanPham Quản lý dữ liệu chi tiết về sản phẩm: tên, mô tả, đơn giá, liên kết danh mục và hình ảnh
9 ThongKeTruyCap Theo dõi tổng số lượt người dùng truy cập vào hệ thống
10 TinhTrangDonHang Định nghĩa các trạng thái xử lý của đơn đặt hàng (chờ xử lý, đã xử lý,...)

Cấu trúc chi tiết của các trường dữ liệu, kiểu dữ liệu và ràng buộc được chuẩn hóa như sau:

  • Bảng ChiTietDonHang:
    • IdChiTietDonHang (int, Khóa chính)
    • IdSanPham (int, Not null): Khóa ngoại tham chiếu sản phẩm
    • IdDonHang (int, Not null): Khóa ngoại tham chiếu đơn hàng
    • SoLuongSanPham (int, Not null): Số lượng mặt hàng đặt mua
  • Bảng DanhMucSanPham:
    • IdDanhMucSanPham (int, Khóa chính)
    • TenDanhMucSanPham (nvarchar(50), Not null): Tên danh mục
  • Bảng DonHang:
    • IdDonHang (int, Khóa chính)
    • IdNguoiDung (int, Not null): Mã người dùng đặt hàng
    • IdTinhTrangDonHang (int, Not null): Mã trạng thái đơn hàng
    • IdGiaoDich (nvarchar(50), Not null): Mã giao dịch
    • NgayTaoDonHang (smalldatetime, Not null): Thời điểm khởi tạo đơn hàng
    • NgayXuLyDonHang (smalldatetime, Null): Thời điểm nhân viên xử lý đơn
    • TrackingNumber (nvarchar(50), Null): Mã theo dõi vận chuyển
  • Bảng GioHang:
    • IdGioHang (int, Khóa chính)
    • CartGuid (nvarchar(50), Not null): Chuỗi định danh phiên làm việc giỏ hàng
    • IdSanPham (int, Not null): Mã sản phẩm được chọn
    • SoLuong (int, Not null): Số lượng chọn mua
    • NgayTaoGioHang (smalldatetime, Not null): Ngày tạo giỏ
  • Bảng HinhSanPham (Orders):
    • IdHinhSanPham (int, Khóa chính)
    • DuLieuHinhSanPham (image, Not null): Dữ liệu tệp hình ảnh sản phẩm
  • Bảng NguoiDung:
    • IdNguoiDung (int, Khóa chính)
    • IdKieuNguoiDung (int, Not null): Phân quyền nhóm người dùng
    • HoTen (nvarchar(50), Not null): Họ và tên đầy đủ
    • TenDangNhap (nvarchar(50), Not null): Tài khoản đăng nhập
    • MatKhau (nvarchar(50), Not null): Mật khẩu bảo vệ
    • DiaChi (nvarchar(50), Not null): Địa chỉ liên hệ/giao hàng
    • SoDienThoai (nvarchar(50), Not null): Số điện thoại
    • SoFax (nvarchar(50), Not null): Số Fax
    • Email (nvarchar(50), Not null): Hộp thư điện tử
    • MaDienThoai (nvarchar(50), Not null): Mã vùng/mã điện thoại
  • Bảng KieuNguoiDung:
    • IdKieuNguoiDung (int, Khóa chính)
    • TenKieuNguoiDung (nvarchar(50), Not null): Tên vai trò người dùng
  • Bảng SanPham:
    • IdSanPham (int, Khóa chính)
    • IdDanhMucSanPham (int, Not null): Khóa ngoại trỏ về danh mục
    • IdHinhSanPham (int, Not null): Khóa ngoại trỏ về bảng hình ảnh
    • TenSanPham (nvarchar(50), Not null): Tên hiển thị của sản phẩm
    • MoTaSanPham (nvarchar(MAX), Not null): Nội dung chi tiết về thông số/mô tả sản phẩm
    • GiaSanPham (int, Not null): Đơn giá sản phẩm
  • Bảng ThongKeTruyCap:
    • TongSoTruyCap (int, Khóa chính): Bộ đếm tổng số lượt truy cập hệ thống
  • Bảng TinhTrangDonHang:
    • IdTinhTrangDonHang (int, Khóa chính)
    • TenTinhTrangDonHang (nvarchar(50), Not null): Tên tình trạng đơn hàng

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 xác định tên đề tài "Ứng dụng Quản Lí Sách" / "Xây dựng website bán hàng điện tử", đồng thời trình bày hệ thống cơ sở lý thuyết về các công nghệ, giao thức và nền tảng lập trình web. Tác giả phân tích cơ chế hoạt động của HTML/HTML5, cấu trúc định dạng CSS, mô hình thực thi mã nguồn C# trên .NET Framework thông qua trình thông dịch MSIL và môi trường thực thi CLR. Chương này cũng giải thích vai trò của hệ quản trị cơ sở dữ liệu quan hệ SQL Server, ngôn ngữ JavaScript theo chuẩn ECMAScript, cùng các thư viện bổ trợ Bootstrap (cấu trúc Grid 12 cột, thiết kế đáp ứng Responsive) và thư viện jQuery (kích thước gọn nhẹ 19KB, thao tác DOM với Sizzle, xử lý AJAX).

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

Chương 2 tập trung khảo sát bài toán thực tế, chỉ ra khó khă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 trực tuyến E-Shop. Tác giả xác định chi tiết 3 nhóm tác nhân (Admin, Quản lý, Khách hàng) và 4 tiêu chuẩn phi chức năng (Giao diện, Tốc độ xử lý, Bảo mật, Tương thích trình duyệt). Nội dung trọng tâm của chương là việc mô hình hóa hệ thống bằng UML với Biểu đồ Use Case tổng quát, 8 biểu đồ Use Case chi tiết có phân tích luồng sự kiện rẽ nhánh, 12 biểu đồ tuần tự mô tả tương tác chức năng và thiết kế hoàn chỉnh lược đồ cơ sở dữ liệu gồm 10 bảng thực thể.

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

Chương 3 trình bày các kết quả xây dựng giao diện thực tế của website, chia thành hai phân hệ rõ rệt:

  1. Phân hệ giao diện người dùng (Client): Bao gồm giao diện trang chủ, giao diện giới thiệu sản phẩm chi tiết, giao diện đăng nhập, giao diện đăng ký tài khoản mới, giao diện giỏ hàng, giao diện hiển thị thông tin đơn hàng và thông tin sản phẩm.
  2. Phân hệ giao diện quản trị (Admin): Bao gồm giao diện trang quản lý tổng quan, giao diện theo dõi danh sách đơn hàng, giao diện quản lý danh mục sản phẩm, giao diện cập nhật/chỉnh sửa thông tin sản phẩm và giao diện tiếp nhận/thêm mới sản phẩm.

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

  • Kết quả đạt được:
    • Khảo sát và xây dựng thành công mô hình website thương mại điện tử kết hợp chức năng quản lý, giải quyết việc mua sắm từ xa cho khách hàng 24/24.
    • Xây dựng hoàn chỉnh hồ sơ phân tích thiết kế hệ thống bằng UML gồm 9 biểu đồ Use Case và 12 biểu đồ tuần tự bao phủ các nghiệp vụ cốt lõi (đăng nhập, sản phẩm, danh mục, giỏ hàng, đặt hàng, quản lý người dùng, nhà cung cấp, kho, bài viết, tin tức).
    • Thiết kế cấu trúc cơ sở dữ liệu quan hệ hoàn chỉnh trên SQL Server với 10 bảng dữ liệu được chuẩn hóa các trường thông tin, kiểu dữ liệu, khóa chính và ràng buộc.
    • Hiện thực hóa các giao diện chức năng chính cho phía người dùng (xem sản phẩm, giỏ hàng, đặt hàng, đăng ký/đăng nhập) và phía quản trị viên (quản lý đơn hàng, danh mục, chỉnh sửa và thêm mới sản phẩm).
  • Đóng góp của đề tài:
    • Cung cấp giải pháp số hóa quy trình kinh doanh giúp đơn vị giảm thiểu chi phí nhân sự tiếp thị và quảng cáo trực tiếp.
    • Nâng cao tính chính xác và khoa học trong công tác lưu trữ, tra cứu dữ liệu sản phẩm và kiểm soát đơn hàng so với phương pháp thủ công.
    • Tạo kênh tương tác linh hoạt giữa cửa hàng và khách hàng thông qua công cụ tìm kiếm, quản lý thông tin sản phẩm và tiếp nhận phản hồi trực tuyến.

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

  • Hạn chế:
    • Hệ thống được phát triển trong điều kiện thời gian và kinh nghiệm thực tế của sinh viên còn hạn chế.
    • Một số chức năng nghiệp vụ nâng cao và tính năng bổ trợ chưa được hoàn thiện đồng bộ giữa bản thiết kế và giao diện triển khai thực tế.
  • Hướng phát triển tiếp theo:
    • Bổ sung và hoàn thiện toàn bộ các chức năng quản lý nâng cao theo đúng thiết kế UML (như quản lý nhà cung cấp, quản lý kho hàng, quản lý thống kê doanh thu chi tiết).
    • Tích hợp thêm các cổng thanh toán trực tuyến đa dạng và các dịch vụ tự động hóa gửi thông báo đơn hàng cho người dùng.
    • Tối ưu hóa hơn nữa hiệu năng xử lý và tính bảo mật của hệ thống khi mở rộng quy mô dữ liệu.

Giá trị tham khảo

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

  • Phần phân tích thiết kế hệ thống (Chương 2): Đáng tham khảo về phương pháp xây dựng kịch bản Use Case, vẽ biểu đồ tuần tự cho từng chức năng nghiệp vụ và quy trình thiết kế lược đồ bảng CSDL quan hệ.
  • Phần công nghệ và giao diện (Chương 1 & Chương 3): Là nguồn tài liệu thực tế cho việc kết hợp công nghệ C#, .NET Framework, SQL Server, Bootstrap và jQuery để xây dựng một website bán hàng trực tuyến cơ bản.

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

1. Đề tài sử dụng những công nghệ và thư viện nào để phát triển hệ thống website?
Hệ thống sử dụng ngôn ngữ C# trên nền tảng .NET Framework (MSIL, CLR), hệ quản trị cơ sở dữ liệu SQL Server (Transact-SQL), công cụ lập trình Visual Studio 2019, cùng các ngôn ngữ và thư viện giao diện: HTML5, CSS, JavaScript (ECMAScript), Bootstrap (Grid System 12 cột, Responsive) và thư viện jQuery (dung lượng 19KB gzipped).

2. Cơ sở dữ liệu của hệ thống gồm những bảng nào?
Cơ sở dữ liệu gồm 10 bảng thực thể: ChiTietDonHang, DanhMucSanPham, DonHang, GioHang, HinhSanPham (Orders), NguoiDung, KieuNguoiDung, SanPham, ThongKeTruyCap và TinhTrangDonHang.

3. Hệ thống phân chia bao nhiêu nhóm tác nhân và quyền hạn của mỗi nhóm ra sao?
Hệ thống xác định 3 tác nhân:

  • Admin: Có toàn quyền quản trị, cấu hình website, quản lý tài khoản, danh mục, sản phẩm, tin tức, slide, đơn đặt hàng và phân quyền.
  • Quản lý: Thực hiện quản lý sản phẩm, danh mục, giỏ hàng, hóa đơn, đặt hàng và xem thống kê.
  • Khách hàng / Người dùng: Khách vãng lai xem sản phẩm và quảng cáo; Khách hàng đã đăng ký tài khoản có thể thêm hàng vào giỏ, tạo đơn đặt hàng và xem lịch sử đơn hàng.

4. Kịch bản ca sử dụng (Use Case) của hệ thống xử lý luồng sự kiện rẽ nhánh (A1) như thế nào?
Trong các Use Case như Đăng nhập, Quản lý sản phẩm, Quản lý danh mục, Quản lý tin tức, Quản lý Slide,... khi người dùng nhập sai thông tin hoặc dữ liệu không hợp lệ, hệ thống kích hoạt luồng rẽ nhánh A1 để đưa ra thông báo lỗi, yêu cầu người dùng nhập lại thông tin và quay trở lại luồng sự kiện chính.

5. Các yêu cầu phi chức năng được đặt ra cho website là gì?
Báo cáo xác định 4 yêu cầu phi chức năng: Giao diện dễ sử dụng và trực quan; Tốc độ xử lý nhanh chóng và chính xác; Tính bảo mật và an toàn dữ liệu cao; Tính tương thích với đa phần các trình duyệt web hiện tại.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán hàng điện tử" (Ứng dụng Quản lí Sách) do sinh viên Trần Công Trình thực hiện tại 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ử kết hợp quản lý bán hàng. Báo cáo cung cấp đầy đủ tài liệu từ cơ sở lý thuyết công nghệ (.NET, C#, SQL Server, Bootstrap, jQuery), mô hình hóa hệ thống bằng biểu đồ Use Case và biểu đồ tuần tự UML, đến thiết kế chi tiết 10 bảng cơ sở dữ liệu và xây dựng hệ thống giao diện cho người dùng lẫn quản trị viên. Đây là công trình phản ánh đúng quy trình phát triển phần mềm chuẩn mực, mang lại giá trị tham khảo thiết thực cho các đề tài xây dựng ứng dụng web trong ngành Kỹ thuật phần mềm.