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

Đồ án cơ sở "Giao diện web bán đồ ăn online" do sinh viên Huỳnh Trường Giang (chuyên ngành Trí tuệ nhân tạo, Khoa Công nghệ Thông tin, Trường Đại học Nguyễn Tất Thành) thực hiện dưới sự hướng dẫn của ThS. Bùi Tiến Đức. Đề tài tập trung vào việc khảo sát thực trạng kinh doanh ẩm thực và phát triển hệ thống phần mềm hỗ trợ giao dịch, quản lý bán đồ ăn trực tuyến.

1. Lý do chọn đề tài và bối cảnh thực tế

Sự phát triển của thương mại điện tử giúp tối ưu hóa thời gian mua sắm trong bối cảnh cuộc sống bận rộn. Tuy nhiên, tác giả chỉ ra rằng phần lớn các sàn thương mại điện tử hiện nay tập trung chủ yếu vào nhóm ngành may mặc, thời trang và đồ dùng sinh hoạt; mảng thực phẩm và đồ ăn vặt phục vụ học sinh, sinh viên, nhân viên văn phòng vẫn còn hạn chế. Bên cạnh đó, các vấn đề tồn tại trong thực tế bao gồm:

  • Nhu cầu tiêu dùng đồ ăn vặt cao: Các món ăn đường phố, ăn nhẹ giữa giờ giải lao rất được ưa chuộng nhưng việc mua sắm truyền thống bị cản trở do hạn chế thời gian và địa điểm làm việc/học tập xa các hàng quán.
  • Vấn đề an toàn vệ sinh thực phẩm: Tâm lý người tiêu dùng còn e ngại trước thực phẩm không rõ nguồn gốc, xuất xứ trên thị trường tự do.
  • Hạn chế của các kênh trung gian hiện có: Các nền tảng lớn (Lazada, Shopee, Sendo) vận hành theo mô hình trung gian phân phối nhưng chất lượng nguồn hàng chưa đồng đều, việc quản lý đơn và lựa chọn món của các quán ăn, quán cà phê nhỏ lẻ còn gặp nhiều khó khăn.

Từ thực tiễn trên, tác giả đề xuất xây dựng hệ thống website bán đồ ăn vặt trực tuyến nhằm tự động hóa quy trình đặt hàng, quản lý thực đơn, đơn hàng và hỗ trợ giao hàng tận nơi.

2. Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của hệ thống là tự động hóa hoàn chỉnh nghiệp vụ quản lý đơn hàng và giao dịch giữa người mua với người bán, hỗ trợ các tiện ích trực tuyến và tiếp nhận đánh giá từ khách hàng.

Nhiệm vụ cụ thể được giao trong đồ án bao gồm:

  1. Xây dựng giao diện ứng dụng trên môi trường Windows/Web thông qua các đối tượng, điều khiển và thành phần của .NET Framework.
  2. Xây dựng các sự kiện, xử lý tình huống và kết nối dữ liệu thông qua ngôn ngữ lập trình Visual C# trên nền tảng Microsoft.
  3. Thực hiện kết nối cơ sở dữ liệu qua ADO.NET và lựa chọn các đối tượng trực quan hóa dữ liệu lấy từ hệ quản trị cơ sở dữ liệu.
  4. Xây dựng chức năng kết xuất báo cáo thông qua công cụ Report sẵn có của .NET hoặc Crystal Report.
  5. Thực hiện đóng gói sản phẩm phục vụ việc triển khai ứng dụng cho khách hàng và vận hành độc lập.

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

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ bán hàng ăn uống trực tuyến, quản lý danh mục sản phẩm đồ ăn vặt, giỏ hàng, thông tin khách hàng, đơn đặt hàng và phiếu nhập hàng.
  • Phạm vi không gian và ứng dụng: Hệ thống áp dụng cho các mô hình quán cà phê, quán ăn, quán nước hoặc chuỗi phân phối đồ ăn vặt.
  • Phạm vi thời gian: Đồ án được hoàn thành và nghiệm thu vào tháng 09 năm 2022.

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

1. Khung kỹ thuật và công nghệ

Hệ thống được phát triển dựa trên các công nghệ và nền tảng kỹ thuật sau:

  • Môi trường phát triển: Microsoft .NET Framework, ngôn ngữ lập trình Visual C#.
  • Cơ chế truy xuất dữ liệu: Công nghệ kết nối dữ liệu ADO.NET.
  • Hệ quản trị cơ sở dữ liệu: SQL Server hoặc MySQL, phục vụ việc lưu trữ thông tin có cấu trúc và tần suất truy cập cao.
  • Công cụ báo cáo: Chức năng Report tích hợp trong .NET hoặc Crystal Report.
  • Cơ chế quản lý phiên: Sử dụng đối tượng Session để lưu trữ trạng thái giỏ hàng và định danh sản phẩm khi người dùng thao tác mua sắm.

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

  • Phương pháp khảo sát thực tế: Khảo sát hành vi tiêu dùng đồ ăn vặt và phân tích ưu - nhược điểm của các sàn thương mại điện tử hiện hữu (Lazada, Shopee, Sendo).
  • Phương pháp phân tích thiết kế hướng đối tượng (OOAD):
    • Đặc tả yêu cầu chức năng (Functional Requirements) và phi chức năng.
    • Xây dựng mô hình tương tác và hành vi bằng hệ thống biểu đồ UML: Biểu đồ ca sử dụng (Use Case Diagram), Biểu đồ tuần tự (Sequence Diagram), Biểu đồ hoạt động (Activity Diagram), Biểu đồ cộng tác (Communication Diagram) và Sơ đồ lớp (Class Diagram).
  • Phương pháp mô hình hóa dữ liệu: Thiết kế cơ sở dữ liệu quan hệ, chuẩn hóa các thực thể nhằm đáp ứng toàn vẹn dữ liệu cho các giao dịch đơn hàng và quản lý phân quyền.

3. Yêu cầu và thông số kỹ thuật hệ thống

Tác giả xác định cấu hình phần cứng và phần mềm tối thiểu phục vụ vận hành:

Thành phần Yêu cầu cấu hình tối thiểu
Máy chủ (Server) CPU Intel Pentium III 500 MHz, RAM > 256 MB, Dung lượng ổ cứng > 10 GB
Hệ quản trị CSDL Microsoft SQL Server hoặc MySQL
Máy trạm (Client) CPU Celeron 433 MHz, RAM > 64 MB, Trình duyệt Internet Explorer 4 trở lên

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

1. Phân tích tác nhân và các gói ca sử dụng (Use Case)

Hệ thống xác định hai tác nhân chính tham gia tương tác: Khách hàng (người dùng trực tuyến) và Admin (quản trị viên hệ thống).

Tác nhân Ca sử dụng nghiệp vụ Kết quả mang lại
Khách hàng Đăng ký, Đăng nhập, Đăng xuất Khởi tạo và xác thực tài khoản cá nhân trên hệ thống
Cập nhật thông tin cá nhân Thay đổi thông tin cá nhân đã lưu trong cơ sở dữ liệu
Quản lý giỏ hàng (Thêm, Xóa, Xem) Lưu thông tin món ăn vào Session/CSDL, hiển thị chi tiết giỏ hàng
Tìm kiếm món ăn Hiển thị danh sách món ăn phù hợp điều kiện tìm kiếm
Mua hàng, Hủy đơn hàng Tạo đơn đặt hàng mới hoặc loại bỏ đơn hàng chưa hoàn tất
Admin Xóa, Tìm kiếm khách hàng Quản lý danh sách người dùng, in thông tin chi tiết
Quản lý món ăn (Thêm, Sửa, Xóa, Phân nhóm) Cập nhật dữ liệu thực đơn, phân loại danh mục, cập nhật giá
Quản lý đơn hàng Kiểm tra trạng thái: đơn chờ, đã thanh toán, chưa thanh toán, gửi hàng
Quản lý nhập hàng Theo dõi phiếu nhập, kiểm tra danh sách sản phẩm sắp hết hàng
Quản lý phân quyền và thành viên Cấp quyền truy cập, sửa quyền và quản lý nhóm thành viên

2. Danh mục mã hóa các ca sử dụng (Use Case Index)

Hệ thống được chuẩn hóa qua 20 ca sử dụng chính:

  • Gói khách hàng: UC1 (Đăng ký), UC2 (Sửa khách hàng), UC3 (Xóa khách hàng), UC4 (Tìm kiếm khách hàng).
  • Gói quản lý mặt hàng: UC5 (Phân nhóm mặt hàng), UC6 (Thêm mặt hàng), UC7 (Sửa mặt hàng), UC8 (Xóa mặt hàng), UC9 (Tìm kiếm mặt hàng).
  • Gói quản lý giỏ hàng: UC10 (Thêm hàng vào giỏ), UC11 (Xóa hàng khỏi giỏ), UC12 (Xem thông tin giỏ hàng).
  • Gói quản lý đơn hàng: UC13 (Xác nhận đơn hàng), UC14 (Hủy đơn hàng), UC15 (Xem tình trạng đơn hàng).
  • Gói quản lý nhập hàng: UC16 (Xem sản phẩm sắp hết hàng), UC17 (Nhập hàng).
  • Gói quản lý quyền và thành viên: UC18 (Thêm quyền), UC19 (Quản lý phân quyền), UC20 (Quản lý thành viên).

3. Thiết kế luồng xử lý qua biểu đồ hoạt động và cộng tác

  • Quy trình đăng ký và đăng nhập: Kiểm tra tính hợp lệ của dữ liệu đầu vào; kiểm tra trùng lặp thông tin với cơ sở dữ liệu trước khi lưu trữ hoặc thông báo lỗi nếu tài khoản không tồn tại.
  • Quy trình mua hàng và giỏ hàng: Khi người dùng chọn mua món ăn, hệ thống kiểm tra số lượng tồn trong kho. Nếu còn hàng, mã sản phẩm (id) được lưu trữ vào biến Session và đưa vào giỏ hàng.
  • Quy trình xóa món ăn (Admin): Hệ thống kiểm tra ràng buộc toàn vẹn; nếu sản phẩm đang tồn tại trong các đơn đặt hàng chưa hoàn tất thì đưa ra thông báo không thể xóa.
  • Quy trình kiểm tra và duyệt đơn hàng: Quản trị viên duyệt trạng thái đơn hàng theo chu trình: Đơn hàng mới $\rightarrow$ Kiểm tra thanh toán $\rightarrow$ Gửi hàng cho khách $\rightarrow$ Thông báo xác nhận tới khách hàng.

4. Cấu trúc cơ sở dữ liệu

Cơ sở dữ liệu được tổ chức thành 12 bảng liên kết chặt chẽ:

  1. SanPham: Quản lý thông tin chi tiết các món ăn, đơn giá, hình ảnh, mã loại.
  2. KhachHang: Lưu trữ thông tin cá nhân, địa chỉ, số điện thoại người mua.
  3. NhaCungCap: Lưu thông tin các đối tác cung cấp thực phẩm.
  4. NhaSanXuat: Quản lý nguồn gốc xuất xứ của nguyên liệu/sản phẩm.
  5. LoaiSanPham: Phân nhóm danh mục món ăn (đồ ăn vặt, nước uống, bánh ngọt...).
  6. LoaiThanhVien: Định nghĩa các nhóm tài khoản (khách hàng, nhân viên, quản trị).
  7. LoaiThanhVienQuyen (hoặc PhanQuyen): Thiết lập bảng trung gian phân quyền truy cập chức năng.
  8. ChiTietDonDatHang: Lưu chi tiết danh sách món ăn, số lượng và đơn giá theo từng mã đơn hàng.
  9. ChiTietPhieuNhap: Lưu chi tiết các mặt hàng và số lượng trong mỗi lần nhập kho.
  10. PhieuNhap: Quản lý các đợt nhập hàng từ nhà cung cấp.
  11. DonDatHang: Quản lý thông tin chung về đơn mua, ngày đặt, trạng thái xử lý và phương thức giao nhận.
  12. ThanhVien: Quản lý thông tin tài khoản đăng nhập, mật khẩu và khóa ngoại liên kết với loại thành viên.

5. Thiết kế giao diện website

Đồ án thiết kế 6 giao diện chính:

  • Giao diện trang chủ: Trình bày danh mục món ăn nổi bật, thanh điều hướng tìm kiếm và banner quảng bá.
  • Giao diện trang đăng ký: Biểu mẫu tiếp nhận thông tin người dùng với các ràng buộc kiểm tra hợp lệ.
  • Giao diện trang quản lý sản phẩm: Màn hình chức năng dành cho quản trị viên thực hiện thêm, sửa, xóa món ăn.
  • Giao diện trang giỏ hàng: Bảng hiển thị danh sách món đã chọn, cho phép thay đổi số lượng, xóa món và tổng tiền.
  • Giao diện chi tiết sản phẩm: Trình bày hình ảnh, mô tả thành phần, giá bán và nút đặt mua món ăn.
  • Giao diện trang tìm kiếm: Khu vực lọc và hiển thị danh sách sản phẩm theo từ khóa tên món hoặc danh mục.

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

Chương 1: Tổng quan đề tài và khảo sát thực tế

Chương này phản ánh toàn diện thực trạng thị trường thương mại điện tử và nhu cầu ẩm thực đường phố:

  • Phân tích sự chuyển dịch tiêu dùng từ mua sắm truyền thống sang trực tuyến; làm rõ khoảng trống thị trường khi các sàn lớn (Lazada, Shopee, Sendo) chủ yếu phân phối hàng tiêu dùng dài hạn, thiếu vắng các dịch vụ chuyên biệt cho thực phẩm ăn vặt chế biến nhanh.
  • Xác định 4 yếu tố then chốt thúc đẩy đề tài: Nhu cầu ăn vặt giải lao lớn; thực đơn món ăn đường phố ngày càng phong phú; yêu cầu cấp thiết về minh bạch nguồn gốc an toàn thực phẩm; quỹ thời gian eo hẹp của nhóm khách hàng văn phòng, học sinh, sinh viên.
  • Đề xuất các nhóm giải pháp: Hoàn chỉnh tính năng giao dịch cơ bản, xây dựng kênh phản hồi/đánh giá chất lượng, tích hợp thông báo xác nhận đơn hàng qua email, và lựa chọn hệ quản trị CSDL phù hợp (SQL Server/MySQL).

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

Chương 2 là nội dung trọng tâm của đồ án, trình bày chi tiết quy trình kỹ thuật phần mềm:

  • Đặc tả chi tiết các gói yêu cầu chức năng từ R1 đến R7 (khách hàng, món ăn, giỏ hàng, đơn đặt hàng, tìm kiếm).
  • Mô hình hóa hệ thống bằng ngôn ngữ UML thông qua 33 biểu đồ chi tiết:
    • Hệ thống 8 biểu đồ Use Case (tổng quan và chi tiết cho từng phân hệ).
    • 8 biểu đồ tuần tự mô tả tương tác giữa các đối tượng trong các ca sử dụng then chốt (tìm kiếm, đăng ký, đăng nhập, thêm/sửa/xóa sản phẩm, mua hàng, duyệt đơn hàng).
    • 9 biểu đồ hoạt động thể hiện luồng điều khiển của các chức năng (đăng ký, đăng nhập, đăng xuất, mua hàng với Session, thêm/xóa/xem sản phẩm, tìm kiếm và duyệt đơn).
    • 5 biểu đồ cộng tác làm rõ sự truyền thông điệp giữa các đối tượng giao diện, điều khiển và cơ sở dữ liệu.
  • Thiết kế dữ liệu với sơ đồ lớp tổng quan, biểu đồ triển khai và 12 bảng cơ sở dữ liệu quan hệ chuẩn hóa.

Chương 3: Cài đặt chương trình

Chương 3 trình bày việc hiện thực hóa các mô hình phân tích thành phần mềm cụ thể:

  • Hiện thực hóa các chức năng tương tác trên nền tảng .NET và ngôn ngữ C#.
  • Thiết lập kết nối cơ sở dữ liệu ADO.NET phục vụ các thao tác CRUD (Create, Read, Update, Delete) trên danh mục món ăn và đơn hàng.
  • Trình bày 6 giao diện màn hình chính của website bán đồ ăn vặt.
  • Ghi nhận kết quả thực nghiệm về tính tương tác và xử lý luồng đặt hàng.

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

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

  • Xây dựng hoàn chỉnh mô hình phân tích thiết kế hệ thống bán đồ ăn trực tuyến từ yêu cầu thực tế đến thiết kế UML và lược đồ cơ sở dữ liệu quan hệ gồm 12 thực thể.
  • Xây dựng giao diện ứng dụng web đáp ứng đầy đủ các chức năng nghiệp vụ: Cho phép người dùng đăng ký, đăng nhập, tìm kiếm món ăn, quản lý giỏ hàng bằng biến phiên Session, và đặt hàng.
  • Xây dựng phân hệ quản trị (Admin) hỗ trợ thêm, sửa, xóa, phân nhóm món ăn, kiểm tra danh mục sản phẩm sắp hết hàng và theo dõi duyệt đơn hàng theo trạng thái thanh toán và vận chuyển.

2. Giải pháp tác giả đề xuất

  • Ứng dụng quy trình tự động hóa tiếp nhận và xử lý đơn đặt hàng nhằm giảm thiểu sai sót giữa việc đặt món và giao nhận.
  • Đề xuất tích hợp xác nhận đơn hàng qua hệ thống email tự động nhằm tăng tính minh bạch về thời gian và phương thức thanh toán.
  • Thiết lập cơ chế kiểm soát chất lượng thực phẩm thông qua việc lưu trữ chứng nhận của cơ quan chức năng và công khai phản hồi đánh giá từ người dùng.

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

  • Hệ thống hóa quy trình nghiệp vụ chuyên biệt cho mảng kinh doanh đồ ăn vặt trực tuyến – một phân khúc thị trường nhỏ nhưng có tần suất giao dịch cao.
  • Cung cấp bộ tài liệu phân tích thiết kế chi tiết (Use Case, Sequence, Activity, Communication Diagram) làm tài liệu mẫu cho việc xây dựng các ứng dụng thương mại điện tử quy mô vừa và nhỏ bằng công nghệ Microsoft .NET và C#.

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

1. Hạn chế của đồ án

  • Phạm vi triển khai dừng lại ở mức độ đồ án cơ sở môn học, các kịch bản thực nghiệm chủ yếu thực hiện trong môi trường kiểm thử cục bộ.
  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến tự động (ví điện tử, thẻ ngân hàng) mà quy trình thanh toán vẫn phụ thuộc vào xác nhận thủ công của quản trị viên.
  • Chức năng liên kết với đơn vị vận chuyển bên ngoài (logistics) và hệ thống định vị giao hàng thời gian thực chưa được phát triển.

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

  • Hoàn thiện và tích hợp các cổng thanh toán điện tử trực tuyến.
  • Mở rộng chức năng kết nối nhiều nhà phân phối/chi nhánh quán ăn trên cùng hệ thống để đa dạng hóa thực đơn và tối ưu hóa khoảng cách giao hàng.
  • Nâng cao tính năng bảo mật dữ liệu người dùng và phát triển ứng dụng di động hỗ trợ tương tác trực tiếp giữa khách hàng và tài xế giao hàng.

Giá trị tham khảo

Tài liệu đồ án cơ sở này mang lại giá trị tham khảo cụ thể cho các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo thực tế về cách trình bày một báo cáo đồ án cơ sở, phương pháp xây dựng hệ thống biểu đồ UML (đặc biệt là biểu đồ hoạt động, biểu đồ cộng tác) và quy trình chuẩn hóa cơ sở dữ liệu quan hệ cho bài toán thương mại điện tử.
  • Người phát triển ứng dụng web trên nền tảng Microsoft .NET: Tham khảo cách thức tổ chức các lớp nghiệp vụ, thao tác cơ sở dữ liệu qua ADO.NET và quản lý giỏ hàng thông qua biến phiên Session.
  • Nhà phát triển đề tài quản lý bán hàng: Cung cấp khung phân tích nghiệp vụ, danh mục bảng dữ liệu và cấu trúc bảng phân quyền (LoaiThanhVien, LoaiThanhVienQuyen) có thể tái sử dụng cho các hệ thống quản lý quán cà phê, quán ăn hoặc cửa hàng bán lẻ.

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

1. Hệ thống đưa ra yêu cầu cấu hình phần cứng tối thiểu như thế nào đối với máy chủ và máy trạm?

Theo tài liệu đồ án, cấu hình tối thiểu được xác định như sau:

  • Máy chủ: Vi xử lý Intel Pentium III 500 MHz, dung lượng RAM lớn hơn 256 MB, ổ cứng trống trên 10 GB, cài đặt hệ quản trị cơ sở dữ liệu SQL Server hoặc MySQL.
  • Máy trạm: Vi xử lý Celeron 433 MHz, RAM trên 64 MB, cài đặt trình duyệt Internet Explorer từ phiên bản 4.0 trở lên.

2. Cơ chế lưu trữ thông tin món ăn trong giỏ hàng được thiết kế như thế nào?

Khi người dùng chọn món ăn và nhấn mua hàng, hệ thống tiến hành kiểm tra số lượng tồn kho của sản phẩm. Nếu sản phẩm còn hàng, hệ thống sẽ thực hiện lưu trữ mã định danh của sản phẩm (id) vào biến phiên (Session) để duy trì trạng thái giỏ hàng trong suốt phiên làm việc của người dùng.

3. Đồ án xây dựng những loại biểu đồ UML nào trong quá trình phân tích thiết kế?

Đồ án đã thiết kế tổng cộng 33 biểu đồ UML bao gồm:

  • Biểu đồ Use Case (biểu đồ tổng quan và các biểu đồ phân hệ).
  • Biểu đồ tuần tự (Sequence Diagram) cho các chức năng đăng ký, đăng nhập, tìm kiếm, thêm/sửa/xóa sản phẩm, mua hàng và duyệt đơn hàng.
  • Biểu đồ hoạt động (Activity Diagram) mô tả chi tiết luồng xử lý dữ liệu.
  • Biểu đồ cộng tác (Communication Diagram).
  • Sơ đồ lớp tổng quan (Class Diagram) và Biểu đồ triển khai (Deployment Diagram).

4. Bảng phân quyền trong cơ sở dữ liệu của hệ thống được tổ chức qua các thực thể nào?

Hệ thống quản lý người dùng và phân quyền thông qua cấu trúc 3 bảng dữ liệu liên kết: bảng ThanhVien (chứa tài khoản đăng nhập), bảng LoaiThanhVien (định nghĩa các vai trò trong hệ thống) và bảng trung gian LoaiThanhVienQuyen (hoặc PhanQuyen - thiết lập các quyền hạn tương ứng cho từng loại thành viên).


Kết luận

Đồ án cơ sở "Giao diện web bán đồ ăn online" của sinh viên Huỳnh Trường Giang đã hoàn thành các nhiệm vụ phân tích, thiết kế và xây dựng một hệ sinh thái thương mại điện tử chuyên biệt cho ngành hàng ăn uống quy mô nhỏ. Nghiên cứu giải quyết bài toán thực tế về nhu cầu tiêu dùng đồ ăn vặt và quản lý bán hàng thông qua việc áp dụng chuẩn mực công nghệ phần mềm với nền tảng .NET Framework, C#, ADO.NET và hệ quản trị cơ sở dữ liệu quan hệ. Báo cáo cung cấp cấu trúc phân tích UML chặt chẽ cùng thiết kế cơ sở dữ liệu 12 bảng hoàn chỉnh, đóng vai trò là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc phát triển các ứng dụng quản lý bán hàng trực tuyến.