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

Đề tài "Xây dựng website kinh doanh thức ăn nhanh sử dụng .NET Framework và AngularJS" được thực hiện bởi sinh viên Phan Vũ Minh Hiển và Bùi Công Hiếu, dưới sự hướng dẫn của TS. Lê Văn Vinh tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa học 2016–2020).

Lý do chọn đề tài xuất phát từ sự phát triển của nền ẩm thực và nhu cầu ăn uống ngày càng gia tăng trong xã hội hiện đại. Tình trạng ùn tắc giao thông tại các đô thị lớn khiến việc trực tiếp đến cửa hàng để mua sắm thực phẩm tiêu tốn nhiều thời gian, đặc biệt đối với đối tượng sinh viên và người đi làm. Nhóm tác giả nhận định cơ hội kinh doanh cho website đặt thức ăn trực tuyến là rất lớn, do số lượng sản phẩm chuyên biệt trên thị trường tại thời điểm nghiên cứu còn ít và tính năng của các ứng dụng hiện có còn nhiều mặt hạn chế. Đồng thời, chi phí triển khai hệ thống web đưa vào kinh doanh không quá cao, chủ yếu tập trung vào chi phí tiếp thị đưa sản phẩm ra thị trường. Hệ thống được xây dựng nhằm tạo môi trường kết nối trực tiếp giữa các cửa hàng kinh doanh thức ăn và khách hàng tiềm năng, giúp người mua tiết kiệm thời gian và hỗ trợ người bán tối ưu hóa doanh thu.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể gồm hai nhiệm vụ chính:

  1. Tìm hiểu về quy trình xây dựng ứng dụng website trên nền tảng .NET Framework.
  2. Xây dựng hoàn chỉnh website đặt thức ăn nhanh bằng công nghệ ASP.NET MVC kết hợp Entity Framework, AngularJS, KendoUI và hệ quản trị cơ sở dữ liệu SQL Server.

Hệ thống hướng đến ba nhóm đối tượng người dùng (tác nhân) với các nhiệm vụ chức năng được phân định rõ ràng:

  • Khách vãng lai (Guest): Đăng ký tài khoản, đăng nhập, tìm kiếm thức ăn, đặt món ăn chính kèm theo các món phụ hoặc món ăn kèm, quản lý giỏ hàng và xem nội dung trang chủ.
  • Khách hàng thành viên (User): Kế thừa toàn bộ chức năng của khách vãng lai, đồng thời có quyền cập nhật thông tin cá nhân (họ tên, số điện thoại), tra cứu lịch sử các đơn hàng đã đặt, thực hiện đánh giá và nhận xét món ăn.
  • Quản trị viên / Chủ cửa hàng (Admin): Quản lý danh mục món ăn (thêm, sửa, xóa thức ăn và combo món ăn), quản lý hóa đơn (xác nhận đơn hàng, hủy đơn hàng quá hạn), quản lý khách hàng, tạo mã code giảm giá, quản lý tin tức bài viết, tiếp nhận thông báo đơn hàng mới, chat trực tuyến và theo dõi thống kê doanh thu.

Về đố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ế hệ thống thông tin; mô hình kiến trúc MVC; các công nghệ lập trình web bao gồm ASP.NET MVC, C#, Entity Framework, AngularJS, KendoUI, HTML, CSS, JavaScript, jQuery, Bootstrap, Ajax, Session; và hệ quản trị cơ sở dữ liệu quan hệ SQL Server.
  • Phạm vi nghiên cứu: Đề tài tập trung vào mô hình bán lẻ thức ăn nhanh trực tuyến cho một cửa hàng/chuỗi cửa hàng; thời gian thực hiện khóa luận diễn ra từ ngày 31/03/2020 đến ngày 26/07/2020.

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

Khóa luận áp dụng các nền tảng lý thuyết và công nghệ phần mềm tiêu chuẩn trong môi trường phát triển của Microsoft và mã nguồn mở:

  • Kiến trúc ASP.NET MVC: Mô hình phân chia ứng dụng thành ba thành phần gồm Model (lưu trữ dữ liệu và trạng thái nghiệp vụ), View (giao diện hiển thị người dùng) và Controller (tiếp nhận yêu cầu, xử lý nghiệp vụ và điều phối dữ liệu giữa Model và View). Mã nguồn được biên dịch dưới dạng Common Language Runtime (CLR) giúp tăng tốc độ thực thi, phân tách độc lập giữa tầng giao diện và mã nguồn xử lý logic.
  • Khung giao diện AngularJS: Framework mã nguồn mở trên nền tảng JavaScript (được khởi xướng bởi Misko Hevery, Adam Abrons và duy trì bởi Google), vận hành theo mô hình biến thể MVVM (Model-View-ViewModel). Tác giả ứng dụng các cơ chế cốt lõi của AngularJS gồm Two-way Data Binding (đồng bộ hóa dữ liệu tự động giữa Model và View), Dependency Injection, Module, Scope, Controller, Service (giao tiếp API), Filter, Directive và Routing.
  • Hệ quản trị cơ sở dữ liệu SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ dựa trên ngôn ngữ truy vấn có cấu trúc SQL (kế thừa từ ngôn ngữ SEQUEL2 của IBM theo mô hình Codd), đóng vai trò lưu trữ toàn bộ dữ liệu người dùng, danh mục món ăn, đơn hàng và các bảng nhật ký hệ thống.
  • Thư viện bổ trợ: Sử dụng KendoUI và Bootstrap UI nhằm xây dựng giao diện tương thích responsive trên nhiều kích thước màn hình thiết bị khác nhau.

Phương pháp nghiên cứu thực tế bao gồm:

  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng: Sử dụng biểu đồ Use Case để nắm bắt yêu cầu chức năng, biểu đồ tuần tự (Sequence Diagram) mô tả luồng tương tác giữa các đối tượng và cơ sở dữ liệu, biểu đồ lớp (Class Diagram) đặc tả cấu trúc thực thể và quan hệ nghiệp vụ, và mô hình thực thể kết hợp (ERD) cho tầng dữ liệu.
  • Phương pháp khảo sát, phân tích so sánh hiện trạng: Khảo sát thực tế 5 hệ thống website kinh doanh thức ăn nhanh đang hoạt động trên thị trường để rút ra các ưu điểm cần kế thừa và nhược điểm cần khắc phục.
  • Phương pháp kiểm thử phần mềm: Áp dụng quy trình kiểm thử chức năng theo kịch bản (test case), kiểm thử giao diện và khả năng tương thích trên các trình duyệt web khác nhau.
  • Nguồn dữ liệu: Dữ liệu thực nghiệm của hệ thống do nhóm tác giả tự khởi tạo và cấu trúc trong cơ sở dữ liệu SQL Server nhằm phục vụ các kịch bản kiểm thử luồng đặt hàng và quản trị.

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

Hệ thống được thiết kế theo mô hình phân tầng kết hợp giữa ASP.NET MVC ở phía máy chủ và AngularJS ở phía máy khách, giúp giảm tải băng thông và nâng cao tốc độ phản hồi giao diện.

Thành phần hệ thống Công nghệ / Nền tảng Chức năng chi tiết
Tầng giao diện (Frontend) HTML, CSS, Bootstrap UI, AngularJS, KendoUI, jQuery Hiển thị giao diện người dùng, xử lý ràng buộc dữ liệu hai chiều (data-binding), lọc tìm kiếm sản phẩm tức thì, điều hướng trang (routing).
Tầng logic nghiệp vụ (Backend) ASP.NET MVC, C# (.NET Framework) Tiếp nhận yêu cầu HTTP, xử lý xác thực/phân quyền, điều phối luồng nghiệp vụ thông qua Controller, xử lý Session và tương tác Ajax.
Tầng truy cập dữ liệu (ORM) Entity Framework Ánh xạ các bảng quan hệ sang các lớp thực thể C# (Class Entity), thực thi truy vấn và thao tác dữ liệu với SQL Server.
Tầng cơ sở dữ liệu (Database) Microsoft SQL Server Lưu trữ tập trung dữ liệu tài khoản, phân quyền, sản phẩm, đơn hàng, mã giảm giá và nội dung tin tức.
Môi trường phát triển Microsoft Visual Studio (từ bản 2014 trở lên) Công cụ biên dịch, quản lý mã nguồn và hỗ trợ gỡ lỗi toàn bộ dự án.

Cơ sở dữ liệu của hệ thống được chuẩn hóa với các bảng thực thể trọng tâm:

  • AspNetUsers: Lưu trữ thông tin tài khoản đăng nhập, mật khẩu đã mã hóa, email, số điện thoại và trạng thái khóa tài khoản.
  • Customers: Chứa thông tin hồ sơ chi tiết của khách hàng bao gồm họ tên, địa chỉ nhận hàng và thông tin liên hệ.
  • Categories: Lưu trữ phân loại danh mục món ăn (thức ăn nhanh, đồ uống, combo).
  • BlogPS và TopicPS: Quản lý các bài viết tin tức, khuyến mãi và các chủ đề tin tức trên hệ thống.
  • Codes: Lưu trữ danh sách mã giảm giá, mức giảm và trạng thái sử dụng của mã (ràng buộc áp dụng một lần).
  • Orders: Ghi nhận dữ liệu đơn đặt hàng, ngày đặt, thông tin giao hàng, tổng tiền, mã giảm giá áp dụng và trạng thái xử lý đơn hàng.
  • OrderDetails: Lưu thông tin chi tiết từng món ăn trong đơn hàng, bao gồm mã món ăn, số lượng đặt, đơn giá và các tùy chọn món ăn kèm.

Hệ thống triển khai quy trình nghiệp vụ kiểm duyệt đơn hàng: Khi khách hàng hoàn tất đặt đơn, hệ thống gửi email xác nhận cho khách hàng và phát thông báo tức thì đến quản trị viên. Quản trị viên tiến hành liên hệ xác minh qua số điện thoại; nếu quá thời hạn quy định 10 phút mà đơn hàng không được xác thực, trạng thái đơn hàng sẽ tự động chuyển sang hủy bỏ nhằm hạn chế tình trạng đơn ảo.

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

Chương 1: Cơ sở lý thuyết

Chương này tập trung trình bày tổng quan về nền tảng ASP.NET MVC, hệ quản trị cơ sở dữ liệu SQL Server và framework AngularJS. Tác giả làm rõ cơ chế hoạt động của mô hình MVC, sự tách biệt giữa giao diện (.aspx/.cshtml) và mã nguồn C# (.cs), cùng ưu thế bảo mật và khả năng biên dịch sang file DLL trên môi trường Windows. Đồng thời, chương 1 phân tích các đặc trưng kỹ thuật của AngularJS như cơ chế Two-way Data Binding, Module, Scope, Controller, Service, Filters, Directives, Dependency Injection, cũng như chỉ ra các điểm hạn chế về bảo mật phía client và sự phụ thuộc vào trình duyệt khi bật/tắt JavaScript.

Chương 2: Khảo sát hiện trạng

Chương 2 tiến hành phân tích ưu điểm và nhược điểm của 5 website kinh doanh đồ ăn nhanh lớn trên thị trường để định hình yêu cầu cho hệ thống:

Website khảo sát Ưu điểm ghi nhận Nhược điểm ghi nhận
KFC Tốc độ tải trang nhanh, giao diện đơn giản, hỗ trợ thanh toán thẻ tín dụng, giao hàng tận nơi, responsive tốt, đăng nhập qua Facebook, kết nối mạng xã hội. Không hỗ trợ tiện ích chat tư vấn trực tuyến.
Lotteria Bố cục sản phẩm hợp lý, giao diện bắt mắt, thanh tìm kiếm hỗ trợ từ khóa nhanh, có dịch vụ hỗ trợ trên di động, thanh toán thẻ đa dạng. Không hỗ trợ chat trực tuyến, thanh tìm kiếm chưa nhạy với từ khóa nhập vào.
Total chicken Giao diện hiện đại, có bộ lọc theo sản phẩm và giá, hỗ trợ đa ngôn ngữ, responsive tốt, hỗ trợ kết nối mạng xã hội và dịch vụ di động. Không hỗ trợ chat trực tuyến, thanh tìm kiếm chưa nhạy với từ khóa.
Pizza Hut Tốc độ tải trang tương đối nhanh (4 giây), có bộ lọc món ăn theo giá, hỗ trợ giao hàng tận nơi, responsive đa thiết bị. Bố cục trang chủ chưa hợp lý, giao diện khó nhìn, không hỗ trợ thanh toán thẻ tín dụng, không có chat tư vấn.
Domino's Pizza Hỗ trợ giao hàng online, có nhiều hiệu ứng giao diện nút bấm và slide, có dịch vụ hỗ trợ di động. Tốc độ tải trang rất chậm (25 giây), không hiển thị thanh tìm kiếm, thiết kế gây khó chịu khi xem, không có chat tư vấn.

Từ khảo sát, nhóm tác giả rút ra các tiêu chuẩn cần học tập: tối ưu tốc độ tải trang, đơn giản hóa quy trình tìm kiếm sản phẩm, mở chi tiết sản phẩm hợp lý, hỗ trợ thanh toán trực tuyến, tích hợp khung chat tư vấn trực tuyến, tiếp nhận đặt hàng qua điện thoại, và bổ sung chức năng đánh giá, nhận xét từ người dùng.

Chương 3: Xác định yêu cầu

Chương này xây dựng biểu đồ Use Case tổng thể và thiết lập chi tiết bảng quy định nghiệp vụ cho từng tác nhân:

  • Nghiệp vụ khách vãng lai (Guest): Quy định đăng ký tài khoản (QD_Guest_DK yêu cầu tên tài khoản chỉ gồm chữ và số phân biệt hoa thường, mật khẩu tối thiểu 8 ký tự và nhập hai lần); quy định đăng nhập (QD_Guest_DN); quy định khôi phục mật khẩu qua việc nhập đúng username, số điện thoại và email (QD_Guest_QuenMK); xem chi tiết thức ăn (QD_Guest_XemTTThucAn); thêm thức ăn chính và món phụ vào giỏ hàng (QD_Guest_ThemThucAnVG); quản lý giỏ hàng (QD_Guest_QLGH); và xem trang chủ (QD_Guest_XemTC).
  • Nghiệp vụ khách hàng thành viên (User): Xem và sửa thông tin cá nhân (QD_User_XemTTCN); tìm kiếm món ăn bằng chuỗi từ khóa (QD_User_TimMonAn); xem lịch sử đặt hàng; và thực hiện đánh giá, viết nhận xét về món ăn (QD_User_DG&NX).
  • Nghiệp vụ quản trị viên (Admin): Đăng nhập hệ thống quản trị (QD_Admin_DN); tạo mã code giảm giá với quy định mỗi mã chỉ dùng một lần (QD_Admin_TaoCode); quản lý món ăn và combo (QD_Admin_QLFood); quản lý bài viết tin tức (QD_Admin_QLNews); quản lý đơn hàng (QD_Admin_QLDonHang); xem báo cáo doanh thu theo ngày, tháng, năm (QD_Admin_XemDoanhThu); tiếp nhận thông báo đơn hàng mới (QD_Admin_NhanThongBao); khung chat trực tuyến với khách hàng (QD_Admin_Chat); và quy trình xác nhận đơn hàng (QD_Admin_XacnNhanDonHang) yêu cầu liên hệ xác thực trong vòng 10 phút, nếu quá hạn phải hủy đơn.

Chương 4: Thiết kế phần mềm

Chương 4 hiện thực hóa các yêu cầu thông qua hệ thống sơ đồ kỹ thuật chi tiết:

  • Lược đồ phía client và admin: Xác định ranh giới chức năng giữa giao diện người dùng và bảng điều khiển quản trị.
  • Biểu đồ lớp (Class Diagram): Thiết kế các lớp thực thể (Entity) tương ứng với mô hình dữ liệu quan hệ và áp dụng mẫu thiết kế (Design Pattern) trong phân chia module.
  • Biểu đồ tuần tự (Sequence Diagram): Xây dựng 11 biểu đồ tuần tự cho các chức năng trọng yếu gồm đăng ký, đăng nhập, khôi phục mật khẩu, tìm kiếm món ăn, xem chi tiết món ăn, thêm vào giỏ hàng, quản lý giỏ hàng, xem thông tin cá nhân, xem lịch sử đặt hàng, tạo mới món ăn và cập nhật thông tin món ăn.
  • Thiết kế cơ sở dữ liệu: Đặc tả cấu trúc chi tiết của 8 bảng dữ liệu quan hệ (AspNetUsers, Customers, Categories, BlogPS, TopicPS, Codes, Orders, OrderDetails) cùng các ràng buộc khóa chính và khóa ngoại.

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

Chương này mô tả chi tiết giao diện người dùng kèm theo các bảng đặc tả đối tượng điều khiển (nút bấm, ô nhập liệu, bảng dữ liệu) cho từng màn hình:

  • Giao diện người dùng: Màn hình đăng ký, đăng nhập, trang chủ, thực đơn món ăn, chi tiết món ăn, giỏ hàng, quản lý thông tin cá nhân, danh sách đơn hàng đã mua và chi tiết đơn hàng đã mua.
  • Giao diện quản trị viên: Trang chủ admin, màn hình quản lý sản phẩm, tạo mới thức ăn, quản lý đơn đặt hàng, quản lý khách hàng, quản lý code giảm giá, quản lý loại món ăn, tạo mới loại món ăn, tạo loại tin tức và tạo bài viết mới.

Chương 6: Cài đặt và kiểm thử phần mềm

Chương 6 hướng dẫn môi trường cài đặt phần mềm (Visual Studio phiên bản từ 2014 trở lên, Entity Framework, SQL Server) và xây dựng kế hoạch kiểm thử hệ thống. Nội dung bao gồm:

  • Chiến thuật và mục tiêu kiểm thử: Đảm bảo tính đúng đắn của toàn bộ luồng nghiệp vụ mua hàng và tính ổn định của hệ thống quản trị.
  • Bảng tính năng cần kiểm thử: Lập danh mục các chức năng đăng nhập, đăng ký, giỏ hàng, đặt hàng, xử lý đơn và phân quyền để thực hiện kiểm thử.
  • Bảng phân tích rủi ro và vấn đề: Đánh giá các rủi ro phát sinh trong quá trình vận hành dữ liệu và xử lý đồng thời.
  • Kế hoạch tài nguyên và nhân lực: Phân bổ tài nguyên phần cứng, phần mềm và phân công nhân lực thực hiện kiểm thử gồm 2 thành viên trong nhóm dự án, kết hợp thử nghiệm khả năng tương thích trên các trình duyệt web khác nhau.

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

Kết quả chính của đề tài bao gồm:

  • Xây dựng hoàn chỉnh website thương mại điện tử phục vụ kinh doanh thức ăn nhanh với đầy đủ hai phân hệ độc lập: cổng thông tin đặt hàng cho khách hàng (Client) và hệ thống quản trị vận hành (Admin).
  • Hiện thực hóa thành công các tính năng đặt hàng phức hợp: Cho phép khách vãng lai và thành viên chọn món chính kèm các tùy chọn món ăn phụ/món ăn kèm, tích hợp cơ chế áp dụng mã giảm giá một lần (Codes), cập nhật giỏ hàng theo thời gian thực nhờ cơ chế binding của AngularJS, tự động gửi email thông báo khi đơn hàng được tạo thành công.
  • Xây dựng quy trình quản trị đơn hàng với mốc thời gian kiểm soát xác thực trong vòng 10 phút, hỗ trợ xem thống kê doanh thu theo ngày, tháng, năm, quản lý bài viết tin tức và danh mục sản phẩm linh hoạt.

Đóng góp so với các hệ thống khảo sát thực tế:

  • Tích hợp thành công tính năng khung chat trực tuyến giữa khách hàng và quản trị viên, giải quyết trực tiếp nhược điểm thiếu vắng kênh tư vấn tức thì mà cả 5 website lớn (KFC, Lotteria, Total chicken, Pizza Hut, Domino's Pizza) đều mắc phải tại thời điểm khảo sát.
  • Bổ sung cơ chế đánh giá và nhận xét món ăn cho thành viên, khắc phục sự thiếu hụt tương tác người dùng so với các hệ thống khảo sát.
  • Khắc phục tình trạng tải trang chậm (điển hình như trường hợp Domino's Pizza với thời gian tải lên đến 25 giây) bằng giải pháp kết hợp ASP.NET MVC biên dịch CLR và AngularJS xử lý bất đồng bộ phía client.

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

Hạn chế của hệ thống được ghi nhận theo văn bản:

  • Nền tảng công nghệ ASP.NET MVC thời điểm thực hiện không hỗ trợ vận hành trên hệ điều hành Linux và đòi hỏi chi phí bản quyền cũng như tài nguyên máy chủ cao hơn so với các giải pháp mã nguồn mở.
  • Phía máy khách phụ thuộc vào JavaScript; nếu người dùng vô hiệu hóa JavaScript trên trình duyệt thì hệ thống không thể hoạt động bình thường; tính bảo mật phía máy khách đòi hỏi máy chủ phải liên tục thẩm định quyền truy cập.
  • Quy mô kiểm thử thực tế được thực hiện bởi nhóm tác giả (2 nhân sự) trong khung thời gian từ tháng 3 đến tháng 7/2020 trên môi trường thử nghiệm cục bộ, chưa đo lường tải thực tế khi số lượng người truy cập đồng thời tăng cao.

Hướng phát triển tiếp theo của đề tài:

  • Mở rộng cổng thanh toán trực tuyến qua thẻ tín dụng và các ví điện tử phổ biến thay vì chỉ dừng lại ở quy trình xác nhận thủ công qua điện thoại/email.
  • Tối ưu hóa thuật toán tìm kiếm món ăn để tăng độ nhạy đối với các từ khóa không dấu hoặc viết tắt.
  • Nâng cấp phiên bản phần mềm lên các nền tảng .NET Core nhằm hỗ trợ triển khai đa nền tảng (chạy được trên máy chủ Linux) giúp giảm thiểu chi phí vận hành.

Giá trị tham khảo

Đồ án tốt nghiệp này mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Công nghệ phần mềm: Có thể sử dụng tài liệu làm mẫu chuẩn về quy trình thực hiện một đồ án kỹ sư phần mềm hoàn chỉnh, từ bước lập kế hoạch thời gian (tiến độ 12 bước chi tiết), khảo sát hiện trạng thực tế, mô hình hóa nghiệp vụ bằng Use Case và biểu đồ tuần tự, cho đến thiết kế cơ sở dữ liệu quan hệ chuẩn hóa.
  • Lập trình viên xây dựng hệ thống web F&B / Thương mại điện tử: Tham khảo phương pháp phân tách bảng dữ liệu giữa tài khoản hệ thống (AspNetUsers) và thông tin nghiệp vụ khách hàng (Customers), thiết kế chi tiết đơn hàng (OrderDetails), cũng như logic xử lý nghiệp vụ đơn hàng gắn với thời gian thực (xác nhận đơn hàng trong vòng 10 phút, mã giảm giá dùng một lần).

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

1. Hệ thống xử lý quy trình xác nhận đơn hàng của Admin như thế nào để tránh đơn hàng ảo?

Theo quy định nghiệp vụ QD_Admin_XacnNhanDonHang tại Chương 3, sau khi khách hàng hoàn tất đặt đơn, hệ thống sẽ gửi thông báo đến Admin. Admin có nhiệm vụ xác minh tính xác thực của đơn hàng bằng cách gọi điện thoại trực tiếp vào số điện thoại đặt hàng hoặc gửi email xác nhận. Quy định nêu rõ nếu quá 10 phút mà không xác nhận được thì trạng thái đơn hàng sẽ được cập nhật thành hủy bỏ.

2. Quy tắc đăng ký tài khoản đối với người dùng (Guest) được văn bản quy định cụ thể ra sao?

Căn cứ theo bảng quy định QD_Guest_DK, người dùng khi đăng ký phải nhập tài khoản là chuỗi ký tự phân biệt chữ hoa, chữ thường và chữ số, không chứa ký tự đặc biệt. Mật khẩu phải bao gồm cả chữ hoa, chữ thường và chữ số, không chứa ký tự đặc biệt, có độ dài tối thiểu là 8 ký tự và bắt buộc phải nhập lại hai lần để xác thực.

3. Nhược điểm chung lớn nhất của các website kinh doanh đồ ăn nhanh được khảo sát trong đề tài là gì?

Qua kết quả khảo sát thực tế tại Chương 2 đối với cả 5 website (KFC, Lotteria, Total chicken, Pizza Hut, Domino's Pizza), nhược điểm chung nổi bật nhất được nhóm tác giả chỉ ra là tất cả các website này đều không hỗ trợ chức năng chat tư vấn trực tuyến cho khách hàng ngay trên giao diện web.

4. Cơ chế hoạt động của mã giảm giá (Code) được thiết kế trong hệ thống như thế nào?

Theo quy định QD_Admin_TaoCode và cấu trúc bảng Codes tại Chương 4, Admin là người tạo và lưu mã giảm giá vào hệ thống. Khi khách hàng mua hàng và nhập mã hợp lệ, hệ thống sẽ tự động trừ số tiền giảm giá tương ứng vào tổng giá trị đơn hàng, với quy định bắt buộc là mỗi mã giảm giá chỉ được phép sử dụng duy nhất một lần.

5. Cơ sở dữ liệu của đồ án bao gồm những bảng dữ liệu chính nào?

Hệ thống sử dụng hệ quản trị SQL Server với 8 bảng dữ liệu chính được đặc tả chi tiết tại Chương 4: AspNetUsers (tài khoản hệ thống), Customers (thông tin khách hàng), Categories (danh mục món ăn), BlogPS (bài viết tin tức), TopicPS (chủ đề tin tức), Codes (mã giảm giá), Orders (đơn đặt hàng) và OrderDetails (chi tiết món ăn trong đơn hàng).

Kết luận

Đồ án tốt nghiệp "Xây dựng website kinh doanh thức ăn nhanh sử dụng .NET Framework và AngularJS" của sinh viên Phan Vũ Minh Hiển và Bùi Công Hiếu đã hoàn thành đầy đủ mục tiêu thiết kế và cài đặt một hệ thống thương mại điện tử chuyên ngành ẩm thực. Đề tài kết hợp thành công kiến trúc ASP.NET MVC ở phía máy chủ với framework AngularJS ở phía máy khách, mang lại khả năng xử lý dữ liệu đồng bộ và khắc phục được các hạn chế về giao tiếp trực tuyến, đánh giá sản phẩm của các hệ thống khảo sát thực tế. Khóa luận cung cấp một tài liệu tham khảo hoàn chỉnh về phương pháp luận phân tích thiết kế hệ thống thông tin, mô hình hóa cơ sở dữ liệu quan hệ và quy trình phát triển phần mềm trong môi trường công nghệ của Microsoft.