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

Trong bối cảnh kỷ nguyên số và sự phát triển của công nghệ thông tin, nhu cầu sử dụng các dịch vụ đặt và giao đồ ăn trực tuyến (F&B) ngày càng gia tăng. Người tiêu dùng có xu hướng tìm kiếm các giải pháp nhanh chóng, tiện lợi nhằm đặt thức ăn từ các nhà hàng yêu thích mà không cần phải đến trực tiếp địa điểm kinh doanh. Mặc dù thị trường đã có nhiều nền tảng đặt thức ăn hoạt động, người dùng vẫn gặp phải một số hạn chế như: thời gian giao hàng kéo dài, giao diện người dùng phức tạp khó thao tác, và quy trình theo dõi trạng thái đơn hàng chưa thực sự rõ ràng, minh bạch.

Xuất phát từ thực tiễn trên, đề tài "Báo cáo Đồ án Phần mềm: Web Bán Thức Ăn Nhanh" được nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Ngoại ngữ - Tin học TP. Hồ Chí Minh (HUFLIT) thực hiện nhằm xây dựng một hệ thống website thương mại điện tử chuyên biệt cho việc kinh doanh thức ăn nhanh.

Hệ thống đặt ra 6 mục tiêu cụ thể:

  1. Mang lại sự thuận tiện cho khách hàng: Xây dựng giao diện trực quan, tối ưu hóa quy trình tìm kiếm và đặt món; hỗ trợ lưu trữ thông tin địa chỉ, phương thức thanh toán, lịch sử giao dịch và gợi ý món ăn mới.
  2. Giao hàng nhanh chóng và hiệu quả: Đảm bảo thời gian giao hàng tối ưu nhằm duy trì chất lượng món ăn; tích hợp cơ chế theo dõi tiến trình đơn hàng theo thời gian thực.
  3. Tích hợp thanh toán an toàn và đa dạng: Cung cấp nhiều phương thức chi trả (thẻ tín dụng, ví điện tử, thanh toán khi nhận hàng - COD) với yêu cầu bảo mật thông tin cá nhân và dữ liệu giao dịch.
  4. Nâng cao mức độ tương tác và giữ chân khách hàng: Triển khai các chính sách ưu đãi, mã giảm giá (voucher) thường xuyên; tích hợp tính năng nhận xét, chấm điểm đánh giá chất lượng sản phẩm và dịch vụ.
  5. Cung cấp công cụ quản trị hiệu quả cho nhà hàng: Hỗ trợ tiếp nhận, xử lý đơn đặt hàng nhanh chóng, theo dõi doanh thu và phản hồi từ khách hàng để cải tiến chất lượng phục vụ.
  6. Hướng tới các mục tiêu bảo vệ môi trường: Khuyến khích sử dụng bao bì thân thiện với môi trường và hỗ trợ các dịch vụ vận chuyển phát thải thấp.

Phạm vi và đối tượng nghiên cứu của đồ án:

  • Đối tượng sử dụng: Bao gồm hai nhóm chính là khách hàng (người mua hàng) và nhà hàng (nhân viên tiếp nhận đơn, ban quản trị hệ thống).
  • Phạm vi hệ thống: Cung cấp đầy đủ các tính năng duyệt thực đơn, tìm kiếm món ăn, quản lý giỏ hàng, đặt hàng, quản lý hồ sơ cá nhân, đánh giá món ăn và thanh toán đơn hàng trực tuyến.
  • Phạm vi công nghệ: Đồ án tập trung phát triển trên nền tảng ứng dụng Web. Trong giai đoạn tương lai, dự án định hướng mở rộng thêm ứng dụng di động trên hai hệ điều hành iOS và Android.
  • Giới hạn hệ thống: Hệ thống giới hạn phạm vi giao hàng trong khu vực địa lý một thành phố cụ thể; chưa xử lý giao dịch thanh toán trực tiếp qua cổng tài chính nội bộ mà định hướng kết nối qua dịch vụ trung gian thanh toán của bên thứ ba.

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

Đồ án ứng dụng các nguyên lý phát triển phần mềm theo mô hình hướng đối tượng kết hợp kiến trúc phân tầng Model-View-Controller (MVC) trên nền tảng ASP.NET. Phương pháp luận nghiên cứu và phân tích thiết kế hệ thống bao gồm:

  • Phương pháp phân tích hiện trạng kinh doanh và kỹ thuật: Khảo sát các tiêu chuẩn về trải nghiệm người dùng (UX/UI), tính tương thích giao diện (Responsive Design), tốc độ tải trang, tối ưu hóa công cụ tìm kiếm (SEO) và bảo mật dữ liệu qua giao thức SSL.
  • Phương pháp mô hình hóa hướng đối tượng bằng UML: Sử dụng sơ đồ ca sử dụng (Use Case Diagram), đặc tả chi tiết ca sử dụng (Use Case Specification), sơ đồ tuần tự (Sequence Diagram) và sơ đồ lớp (Class Diagram) để mô hình hóa hành vi và cấu trúc dữ liệu của hệ thống.
  • Phương pháp thiết kế cơ sở dữ liệu quan hệ (RDBMS): Phân tích các thực thể, xác định thuộc tính, chuẩn hóa quan hệ bảng và thiết lập khóa chính (Primary Key), khóa ngoại (Foreign Key) trên hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
  • Nguồn dữ liệu: Dữ liệu thực đơn mẫu (món chính, thức uống, ăn vặt, combo), thông tin danh mục, tài khoản người dùng và thông tin giao dịch giả lập phục vụ cho quá trình kiểm thử phần mềm trên môi trường máy chủ cục bộ.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc ba phân vùng chính: Giao diện người dùng (Frontend), Hệ thống xử lý nghiệp vụ (Backend) và Cơ sở dữ liệu (Database).

Kiến trúc tổng thể hệ thống

  1. Giao diện người dùng: Cung cấp các trang chức năng bao gồm Trang chủ, Trang sản phẩm, Trang chi tiết sản phẩm, Giỏ hàng, Trang đặt hàng, Lịch sử mua hàng và Hồ sơ tài khoản người dùng.
  2. Hệ thống Backend: Xử lý các luồng nghiệp vụ cốt lõi gồm xử lý đơn hàng, điều phối thông tin giỏ hàng, quản lý kho sản phẩm, phân quyền người dùng (Admin, Nhân viên, Khách hàng) và quản trị mã voucher khuyến mãi.
  3. Cơ sở dữ liệu: Cơ sở dữ liệu quan hệ mang tên DAPM đảm nhận lưu trữ thông tin thực thể và các mối quan hệ nghiệp vụ.
Cơ cấu tổ chức hệ thống:
Giao Diện Người Dùng <---> Hệ Thống Backend <---> Cơ Sở Dữ Liệu (DAPM)
- Trang Chủ / Sản Phẩm     - Xử Lý Đặt Hàng      - AdminUser / Customer
- Giỏ Hàng / Đặt Hàng      - Quản Lý Sản Phẩm    - Products / Category
- Hồ Sơ / Lịch Sử          - Quản Lý Voucher     - OrderPro / OrderDetails

Cấu trúc cơ sở dữ liệu quan hệ

Cơ sở dữ liệu của đồ án gồm 7 bảng thực thể chính, được liên kết chặt chẽ nhằm đảm bảo toàn vẹn dữ liệu:

Tên bảng Khóa chính Khóa ngoại Các trường thuộc tính chính Chức năng lưu trữ
AdminUser ID Không NameUser, RoleUser, PasswordUser Thông tin tài khoản quản trị và phân quyền hệ thống
Customer IDCus Không NameCus, PhoneCus, EmailCus, PassCus, AddressCus Thông tin định danh và địa chỉ của khách hàng
Category IDCate Không NameCate Danh mục phân loại món ăn, đồ uống, thức ăn vặt
Products ProductID IDCate NamePro, DescriptionPro, Price, ImagePro Chi tiết món ăn, đơn giá, hình ảnh và mô tả
OrderPro ID IDCus DateOrder, AddressDelivery Thông tin tổng quát về đơn hàng và địa chỉ giao
OrderDetails ID IDProduct, IDOrder Quantity, UnitPrice Chi tiết từng món ăn và số lượng trong đơn hàng
Voucher VoucherID Không Code, DiscountPercent Mã khuyến mãi và tỷ lệ chiết khấu giảm giá

Môi trường và công nghệ thực thi

  • Môi trường phát triển: Microsoft Visual Studio, hệ điều hành Windows, máy chủ IIS Express chạy tại cổng kiểm thử cục bộ (localhost:44324).
  • Ngôn ngữ & Khung phát triển: C#, ASP.NET MVC, Razor View Engine (.cshtml), HTML5, CSS3, JavaScript.
  • Cơ chế bảo mật & Dữ liệu: Sử dụng mã thông báo xác thực chống tấn công giả mạo yêu cầu chéo trang (@Html.AntiForgeryToken()), ràng buộc dữ liệu đầu vào qua Data Annotations (@Html.ValidationMessageFor, @Html.ValidationSummary), xử lý tải tệp hình ảnh sản phẩm với giao thức multipart/form-data.

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

CHƯƠNG 1: GIỚI THIỆU

Chương 1 trình bày tổng quan về tính cấp thiết của việc xây dựng website bán thức ăn nhanh trong kỷ nguyên số. Tác giả phân tích các trở ngại thực tế của người dùng đối với các dịch vụ giao đồ ăn hiện hành, từ đó xác định rõ 6 mục tiêu phát triển hệ thống. Chương này cũng phân định cụ thể phạm vi chức năng, đối tượng phục vụ và các giới hạn công nghệ của dự án trong giai đoạn đầu.

CHƯƠNG 2: PHÂN TÍCH HIỆN TRẠNG

Chương 2 tập trung phân tích toàn diện các yếu tố cấu thành một nền tảng thương mại điện tử ẩm thực hiệu quả:

  • Hiệu suất kinh doanh: Đánh giá mối quan hệ giữa doanh thu, lợi nhuận, lưu lượng truy cập và tỷ lệ chuyển đổi đơn hàng.
  • Trải nghiệm người dùng (UX/UI): Đặt ra các tiêu chí về thiết kế bố cục trực quan, tính tương thích đa thiết bị di động, tối ưu hóa thời gian tải trang và tinh giản các bước thanh toán nhằm giảm tỷ lệ từ bỏ giỏ hàng.
  • Hiệu suất kỹ thuật và bảo mật: Phân tích vai trò của tối ưu hóa công cụ tìm kiếm (SEO), chứng chỉ bảo mật mã hóa SSL và khả năng tích hợp công cụ hỗ trợ trực tuyến.
  • Marketing, hậu mãi và đối thủ: Đề xuất các kênh quảng bá qua mạng xã hội (Facebook, Instagram, TikTok), email marketing, chính sách giao hàng đúng hẹn, xử lý hoàn trả và đánh giá mức độ hài lòng của khách hàng.

MÔ HÌNH HÓA VÀ THIẾT KẾ HỆ THỐNG

Nội dung phần này mô tả chi tiết các thành phần kỹ thuật của hệ thống:

  • Hệ thống ca sử dụng (Use Case): Thiết lập bảng mã Use Case và kịch bản luồng sự kiện chi tiết cho các chức năng trọng yếu:
    • UC04 - Quên mật khẩu: Xử lý xác thực người dùng qua số điện thoại/email để gửi đường dẫn đặt lại mật khẩu mới.
    • UC12 - Đặt hàng: Kiểm tra số lượng món trong giỏ, địa chỉ giao hàng, áp dụng voucher và ghi nhận đơn hàng vào cơ sở dữ liệu.
    • UC13 & UC16 - Nhận đơn hàng & Thông báo hoàn thành: Cho phép nhân viên tiếp nhận đơn mới, cập nhật trạng thái chế biến và phát thông báo để khách hàng đến nhận món.
    • UC20 & UC22 - Xem voucher & Xem doanh thu: Cho phép khách hàng tra cứu mã giảm giá hiện có; cung cấp công cụ cho Admin thống kê doanh thu theo ngày, tuần, tháng.
    • UC26, UC28, UC51: Xử lý lựa chọn phương thức thanh toán, gửi đánh giá nhận xét về món ăn/dịch vụ, và tra cứu lịch sử mua hàng cá nhân.
  • Biểu đồ tuần tự (Sequence Diagram): Mô tả chi tiết trình tự truyền thông điệp giữa các đối tượng Actor, Giao diện, Controller và Cơ sở dữ liệu cho 6 quy trình: Đăng nhập hệ thống, Quản lý món ăn, Đặt hàng, Xem doanh thu, Gửi đánh giá và Xem lịch sử mua hàng.
  • Thiết kế giao diện và kiểm thử màn hình: Xây dựng và kiểm thử 11 màn hình giao diện chính gồm: Chi tiết sản phẩm, Giỏ hàng, Đặt hàng, Xác nhận giao dịch thành công, Lịch sử mua hàng, Hủy đơn hàng, Báo hủy thành công, Trang liên hệ, Xem voucher, Danh sách 5 sản phẩm bán chạy nhất (Top 5 Best-sellers) và Quản lý thông tin tài khoản.

CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ

Chương 4 tổng kết các kết quả kỹ thuật đã đạt được trên hệ thống thực tế:

  • Phân quyền người dùng: Phân định rõ ràng giữa khu vực Quản trị (Admin) và khu vực Khách hàng (Customer).
  • Chức năng Quản trị: Admin thực hiện thành công các thao tác thêm, sửa, xóa danh mục và sản phẩm; quản lý hồ sơ khách hàng; thiết lập mã voucher; tra cứu danh sách đơn đặt hàng và thông tin người mua.
  • Chức năng Khách hàng: Khách hàng tìm kiếm món ăn thuận tiện, thao tác thêm/bớt món trong giỏ hàng, áp dụng mã voucher chiết khấu, theo dõi lịch sử đơn hàng, thực hiện hủy đơn và gửi nhận xét đánh giá.
  • Điểm còn hạn chế: Hệ thống chưa hỗ trợ cơ chế theo dõi vị trí giao hàng theo thời gian thực; quy trình thanh toán chưa kết nối tự động với các cổng ngân hàng/ví điện tử mà vẫn dựa trên phương thức xác nhận tiền mặt do nhân viên thực hiện.

CHƯƠNG 5: KẾT LUẬN VÀ KHUYẾN NGHỊ

Chương 5 khẳng định đồ án đã hoàn thành các mục tiêu nền tảng phục vụ nghiệp vụ bán thức ăn nhanh trực tuyến. Đồng thời, tác giả đưa ra các khuyến nghị nâng cấp:

  1. Tiếp tục tối ưu hóa giao diện và trải nghiệm người dùng, đặc biệt là phiên bản hiển thị trên thiết bị di động.
  2. Tích hợp cổng thanh toán trực tuyến đa kênh nhằm đa dạng hóa phương thức thanh toán.
  3. Tăng cường tối ưu hóa SEO và đẩy mạnh các chiến dịch truyền thông đa nền tảng.
  4. Phát triển kênh tiếp nhận phản hồi tức thời để liên tục cải thiện chất lượng phục vụ.

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

  • Kết quả kỹ thuật: Đồ án đã thiết kế, lập trình và triển khai hoàn chỉnh một website bán thức ăn nhanh với đầy đủ các phân hệ chức năng cho khách hàng và ban quản trị trên nền tảng ASP.NET MVC và cơ sở dữ liệu SQL Server (DAPM).
  • Chuẩn hóa mô hình nghiệp vụ: Xây dựng hệ thống 11 màn hình tương tác người dùng chuẩn hóa cùng hệ thống đặc tả Use Case đầy đủ các luồng xử lý chính, luồng phụ và luồng ngoại lệ.
  • Giải pháp đề xuất: Đưa ra giải pháp tổ chức cơ sở dữ liệu phân tách rõ rệt giữa thực thể tài khoản quản trị, khách hàng, danh mục sản phẩm, đơn hàng, chi tiết đơn hàng và hệ thống voucher khuyến mãi, giúp hệ thống vận hành ổn định và dễ bảo trì.

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

Hạn chế của đề tài:

  • Hệ thống mới dừng lại ở phiên bản ứng dụng Web, chưa có ứng dụng native dành riêng cho thiết bị di động.
  • Phương thức thanh toán chưa được tự động hóa qua các cổng thanh toán trực tuyến của bên thứ ba, hiện chỉ áp dụng thanh toán tiền mặt.
  • Chưa triển khai tính năng theo dõi tiến trình giao hàng theo thời gian thực trên bản đồ số.
  • Phạm vi phục vụ của hệ thống chỉ giới hạn trong phạm vi một khu vực đô thị nhất định.

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

  • Phát triển ứng dụng di động trên hai nền tảng Android và iOS để tối ưu hóa khả năng tiếp cận người dùng.
  • Tích hợp các cổng thanh toán điện tử phổ biến (Ví điện tử MoMo, ZaloPay, VNPay, cổng quốc tế PayPal).
  • Tích hợp dịch vụ bản đồ (Google Maps API) để theo dõi lộ trình của nhân viên giao hàng theo thời gian thực.
  • Mở rộng các thuật toán gợi ý món ăn tự động dựa trên thói quen và lịch sử mua sắm của khách hàng.

Giá trị tham khảo

Báo cáo đồ án này là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện đồ án môn học, đồ án chuyên ngành hoặc khóa luận tốt nghiệp về đề tài thương mại điện tử.
  • Các lập trình viên mới bắt đầu tiếp cận phương pháp xây dựng ứng dụng Web hướng đối tượng theo mô hình MVC sử dụng C# và ASP.NET.
  • Người nghiên cứu quy trình phân tích thiết kế hệ thống có thể tham khảo cách thức xây dựng đặc tả Use Case, thiết kế biểu đồ tuần tự và chuẩn hóa cơ sở dữ liệu quan hệ cho bài toán bán lẻ F&B.

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

1. Đồ án sử dụng công nghệ và kiến trúc phần mềm nào để xây dựng hệ thống?

Đồ án sử dụng ngôn ngữ lập trình C#, khung phát triển ASP.NET MVC kết hợp Razor View Engine (.cshtml), công cụ phát triển Microsoft Visual Studio và máy chủ thử nghiệm IIS Express. Cơ sở dữ liệu quan hệ được xây dựng và quản trị trên Microsoft SQL Server.

2. Cơ sở dữ liệu của hệ thống gồm những bảng thực thể nào?

Cơ sở dữ liệu DAPM bao gồm 7 bảng dữ liệu chính: AdminUser (quản trị viên), Customer (khách hàng), Category (danh mục món), Products (món ăn), OrderPro (đơn hàng), OrderDetails (chi tiết đơn hàng) và Voucher (mã giảm giá).

3. Khách hàng có thể thực hiện những thao tác nghiệp vụ nào trên website?

Khách hàng có thể đăng ký, đăng nhập, đặt lại mật khẩu khi quên; tìm kiếm và xem chi tiết món ăn; thêm/xóa món trong giỏ hàng; áp dụng mã voucher giảm giá; chọn phương thức thanh toán; đặt mua hàng; xem lại lịch sử các đơn hàng đã đặt; thực hiện hủy đơn hàng và gửi đánh giá nhận xét.

4. Hệ thống hiện tại có những hạn chế kỹ thuật nào về mặt thanh toán và giao hàng?

Hệ thống chỉ hỗ trợ phạm vi giao hàng trong khu vực thành phố cụ thể; chưa tích hợp tự động các cổng thanh toán điện tử trực tuyến (như thẻ ngân hàng hay ví điện tử) mà áp dụng phương thức xác nhận tiền mặt do nhân viên thực hiện; đồng thời chưa có tính năng định vị theo dõi đơn hàng thời gian thực.

5. Phân hệ Quản trị (Admin) cung cấp những công cụ quản lý nào?

Phân hệ Quản trị cho phép người quản lý thêm, sửa, xóa danh mục và thông tin món ăn; quản lý hồ sơ và tài khoản khách hàng; khởi tạo và quản lý mã voucher khuyến mãi; theo dõi chi tiết các đơn đặt hàng; xem danh sách 5 sản phẩm bán chạy nhất và thống kê doanh thu theo ngày, tuần, tháng.


Kết luận

Đồ án phần mềm "Web Bán Thức Ăn Nhanh" đã giải quyết thành công bài toán xây dựng nền tảng đặt món ăn trực tuyến cơ bản, đáp ứng tốt nhu cầu của cả khách hàng và ban quản lý nhà hàng. Hệ thống hoàn thiện đầy đủ từ khâu phân tích hiện trạng, mô hình hóa UML, thiết kế cơ sở dữ liệu quan hệ đến triển khai giao diện và lập trình chức năng trên nền tảng ASP.NET MVC. Các kết quả đạt được cùng những khuyến nghị nâng cấp về thanh toán trực tuyến và ứng dụng di động tạo tiền đề vững chắc cho việc phát triển và hoàn thiện hệ thống trong các giai đoạn tiếp theo.