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

Trong bối cảnh nền kinh tế và xã hội ngày càng phát triển, nhu cầu ứng dụng công nghệ thông tin vào các hoạt động quản lý, kinh doanh và trao đổi mua bán đã trở thành một xu thế tất yếu. Các phương thức quản lý thủ công truyền thống dần bộc lộ nhiều hạn chế, trở nên cồng kềnh và khó đáp ứng được khối lượng dữ liệu cũng như tốc độ xử lý thông tin phức tạp. Việc triển khai các phần mềm và ứng dụng web giúp chuẩn hóa dữ liệu, tiết kiệm chi phí nhân lực và gia tăng hiệu suất vận hành của các mô hình kinh doanh dịch vụ ăn uống.

Đề tài "Xây dựng website kinh doanh nhà hàng ẩm thực Nhật Bản NihonFood" được nhóm tác giả lựa chọn nghiên cứu và triển khai xuất phát từ các lý do thực tiễn:

  • Đáp ứng nhu cầu tiếp cận ẩm thực và văn hóa Nhật Bản tại Việt Nam ngày càng gia tăng.
  • Giải quyết bài toán đặt món ăn trực tuyến nhanh chóng, tiện lợi, cho phép khách hàng chọn món từ xa chỉ qua vài thao tác đơn giản.
  • Khắc phục tình trạng quá tải, hết bàn vào giờ cao điểm, hủy bàn hoặc hủy lịch hẹn tụ tập bạn bè bằng cơ chế đặt trước bàn và nhận thông báo điều phối sang các chi nhánh phù hợp.
  • Giúp chủ nhà hàng mở rộng kênh tiếp cận khách hàng trên không gian số, tăng trưởng doanh thu bán hàng với cùng một mức chi phí đầu tư mặt bằng.

Nhóm tác giả xác định các mục tiêu nghiên cứu và triển khai cụ thể bao gồm:

  1. Mang văn hóa và ẩm thực Nhật Bản đến gần hơn với người tiêu dùng Việt Nam.
  2. Xây dựng và cung cấp giải pháp vận hành chuỗi nhà hàng ẩm thực tiện lợi mang phong cách Nhật Bản.
  3. Hỗ trợ nhà hàng mở rộng quy mô kinh doanh và định vị thương hiệu đặc trưng trên thị trường.
  4. Củng cố và vận dụng các kiến thức nền tảng về lập trình web hiện đại.
  5. Nghiên cứu, ứng dụng các công nghệ ASP.NET MVC, Entity Framework, HTML, CSS vào xây dựng website thương mại điện tử.
  6. Đảm bảo an toàn, bảo mật thông tin tài khoản và dữ liệu cá nhân của người dùng trên hệ thống.
  7. Xây dựng giao diện trực quan, màu sắc hài hòa, thân thiện và hỗ trợ hiển thị tương thích trên nhiều kích thước màn hình, thiết bị và trình duyệt khác nhau.

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

  • Đối tượng nghiên cứu: Quy trình vận hành, quản lý thực đơn, đặt món ăn trực tuyến và quản trị dữ liệu của hệ thống nhà hàng ẩm thực Nhật Bản NihonFood (mô hình nhà hàng có diện tích gần 600 m², bao gồm 3 phòng VIP sức chứa 10–30 khách và khu vực nhà sàn diện tích 280 m² có sức chứa 140 khách tại TP. Hồ Chí Minh).
  • Phạm vi nghiên cứu: Đồ án học phần Lập trình Web tại Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP.HCM (HUTECH), hoàn thành vào tháng 04/2022. Phạm vi kỹ thuật tập trung vào việc thiết kế cơ sở dữ liệu, xây dựng các module chức năng phía người dùng (Client) và module quản trị (Admin) trên nền tảng web.

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

Đồ án tổng hợp và ứng dụng các nền tảng lý thuyết phát triển phần mềm cùng các công nghệ lập trình web hiện đại:

  • Mô hình kiến trúc MVC (Model - View - Controller): Phương pháp phân rã ứng dụng thành ba thành phần độc lập: Models (quản lý dữ liệu và business logic), Views (giao diện hiển thị người dùng), Controllers (điều hướng và tiếp nhận yêu cầu). Mô hình giúp tách bạch logic nghiệp vụ, hỗ trợ kiểm thử đơn vị (Unit Test) thông qua các đối tượng mô phỏng (Mock Objects) mà không cần chạy trực tiếp controller trong tiến trình ASP.NET.
  • ASP.NET MVC 5: Framework phát triển ứng dụng web động của Microsoft xây dựng trên nền tảng .NET Framework, thay thế cho kiến trúc ASP.NET Web Forms truyền thống.
  • Entity Framework (ORM): Công cụ ánh xạ quan hệ đối tượng giữa mã nguồn .NET và cơ sở dữ liệu quan hệ. Kiến trúc của Entity Framework gồm các tầng chính: Application, Object Services, EntityClient Data Provider, .NET Data Providers và Entity Data Model (EDM - gồm mô hình khái niệm CSDL, mô hình lưu trữ SSDL, mô hình ánh xạ MSL).
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server: Sử dụng Transact-SQL (T-SQL) để quản lý dữ liệu quan hệ, tích hợp các dịch vụ như Database Engine, Integration Services (SSIS), Analysis Services (SSAS), Notification Services, Reporting Services (SSRS) và Full Text Search Service.
  • Thư viện và công nghệ phụ trợ:
    • jQuery: Hỗ trợ duyệt tài liệu HTML, xử lý sự kiện, tạo hoạt ảnh và thao tác AJAX.
    • NodeJS và ReactJS (JSX): Khảo sát các nền tảng JavaScript mã nguồn mở cho xây dựng giao diện tương tác và ứng dụng thời gian thực.
    • Web API: Phương thức trung gian kết nối và trao đổi dữ liệu, tích hợp các dịch vụ bên ngoài như Google Maps API, Plugin bình luận Facebook và các cổng thanh toán điện tử (VNPay, MoMo).

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

  • Phương pháp khảo sát và thu thập yêu cầu: Khảo sát các tiêu chuẩn thiết kế của các hệ thống website ẩm thực hiện hành, kết hợp thu thập ý kiến đóng góp từ người dùng dịch vụ mua hàng trực tuyến.
  • Phương pháp phân tích và thiết kế hệ thống hướng đối tượng (OOAD): Xây dựng các sơ đồ Use Case tổng quát, Use Case phân rã nghiệp vụ và sơ đồ lớp (Class Diagram).
  • Phương pháp mô hình hóa dữ liệu quan hệ: Chuẩn hóa các bảng dữ liệu, xác định các trường khóa chính, khóa ngoại và thiết lập quan hệ thực thể.

Thiết kế và triển khai

Hệ thống được thiết kế phục vụ 3 nhóm đối tượng người dùng:

  1. Khách vãng lai (chưa đăng ký tài khoản): Xem danh mục món ăn, tìm kiếm thông tin, xem tin tức văn hóa ẩm thực Nhật Bản, đặt món ăn trực tiếp.
  2. Khách hàng thành viên (có tài khoản): Đăng nhập, quản lý thông tin cá nhân, đặt món ăn, tham gia các chương trình khuyến mãi, giảm giá.
  3. Quản trị viên (Admin): Toàn quyền quản trị nội dung website, quản lý danh mục, quản lý món ăn, duyệt đơn đặt hàng, quản lý người dùng và theo dõi thống kê.

Bảng phân công nhiệm vụ thành viên

STT MSSV Họ và tên Nội dung công việc thực hiện Tỷ lệ Điểm đánh giá
1 1911061254 Trần Ngọc Hưng Sản phẩm và chi tiết; Đăng ký, đăng nhập; Đăng nhập admin, trang chủ admin; Các chức năng của Admin; Báo cáo Chương I, II 30% 8.5
2 1911062471 Trương Thiên Lảnh Thiết kế giao diện; Trang chủ; Phân trang; Giao diện Form News; Giao diện Form About; Nhúng API; Báo cáo Chương V 40% 9.0
3 1911060646 Võ Thị Cẩm Vy Xây dựng các sơ đồ Use Case; Thiết kế cơ sở dữ liệu; Chức năng Giỏ hàng; Chức năng Đặt hàng; Báo cáo Chương III, IV 30% 8.5

Yêu cầu chức năng và phân tích hệ thống

Hệ thống được chuẩn hóa qua các bảng mô tả chức năng chi tiết:

Nhóm chức năng Tên chức năng Mô tả chi tiết
Người dùng Đăng ký / Đăng nhập Tạo tài khoản mới, xác thực thông tin đăng nhập để đặt hàng và lưu lịch sử đơn hàng.
Đổi thông tin / Mật khẩu Cho phép người dùng tự thay đổi thông tin cá nhân, ảnh đại diện và mật khẩu.
Đặt hàng & Giỏ hàng Thêm món ăn vào giỏ, cập nhật số lượng, xóa món, xem tổng tiền và tiến hành đặt hàng.
Thanh toán trực tuyến Hỗ trợ phương thức thanh toán khi nhận hàng hoặc tích hợp thanh toán qua VNPay, MoMo.
Xem tin tức & Về chúng tôi Xem các bài viết về văn hóa ẩm thực Nhật Bản, video giới thiệu nhà hàng và liên hệ.
Quản trị (Admin) Phân quyền hệ thống Quản trị viên toàn quyền thao tác; kiểm soát và phân quyền tài khoản thành viên.
Quản lý sản phẩm Xem danh sách, tạo mới, chỉnh sửa thông tin món ăn, giá bán, hình ảnh và danh mục.
Quản lý bài viết Tích hợp bộ soạn thảo văn bản, tải hình ảnh, chèn liên kết, tối ưu tiêu đề SEO.
Quản lý bình luận Kiểm duyệt danh sách bình luận trên hệ thống, xóa các bình luận vi phạm.
Thống kê doanh thu Thống kê số lượng đơn hàng và doanh thu bán hàng theo tuần, theo tháng và tổng doanh thu.
Quản lý thương hiệu Xem danh sách, thêm, xóa, sửa thông tin các đối tác, thương hiệu liên kết.

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

Cơ sở dữ liệu của hệ thống gồm 7 bảng quan hệ được thiết kế chi tiết:

  1. Bảng Khách hàng (KHACHHANG)

    • MAKH (int, Khóa chính): Mã định danh khách hàng.
    • TENKHACH (nvarchar(50)): Họ tên khách hàng.
    • EMAILKHACH (varchar(100)): Địa chỉ email.
    • SDTKHACH (varchar(10)): Số điện thoại liên hệ.
    • USERKHACH (varchar(50)): Tên đăng nhập.
    • PASSKHACH (varchar(50)): Mật khẩu đăng nhập.
    • NGAYSINH (DATETIME): Ngày tháng năm sinh.
  2. Bảng Nhà hàng (NHAHANG)

    • IDNH (int, Khóa chính): Mã nhà hàng/chi nhánh.
    • TENNH (nvarchar(20)): Tên nhà hàng.
    • DIACHINH (nvarchar(100)): Địa chỉ nhà hàng.
    • SDTNH (varchar(10)): Số điện thoại nhà hàng.
  3. Bảng Món ăn (MONAN)

    • MAMONAN (int, Khóa chính): Mã định danh món ăn.
    • MALOAI (nvarchar(50), Khóa ngoại): Mã loại món ăn liên kết.
    • TENMONAN (nvarchar(100)): Tên gọi món ăn.
    • GIA (varchar(10)): Đơn giá món ăn.
    • ANHMONANH (varchar(50)): Đường dẫn ảnh minh họa món ăn.
    • MOTA (varchar(50)): Mô tả ngắn về món ăn.
    • NGAYCAPNHAT (DATETIME): Thời gian cập nhật thông tin món.
  4. Bảng Loại món (LOAIMON)

    • MALOAI (int, Khóa chính): Mã danh mục loại món ăn.
    • TENLM (nvarchar(30)): Tên danh mục loại món ăn.
  5. Bảng Quản trị viên (ADMIN)

    • USERADMIN (varchar(50), Khóa chính): Tên đăng nhập quản trị.
    • PASSADMIN (varchar(50)): Mật khẩu tài khoản quản trị.
    • HOTENADMIN (nvarchar(100)): Họ tên đầy đủ của quản trị viên.
  6. Bảng Đặt hàng (DATHANG)

    • MADH (int, Khóa chính): Mã đơn đặt hàng.
    • MAKH (int): Mã khách hàng thực hiện đặt hàng.
    • NGAYDH (Datetime): Thời điểm đặt hàng.
    • SDTNHAHANG (varchar(10)): Số điện thoại của nhà hàng tiếp nhận.
    • DCNHAHANG (nvarchar(200)): Địa chỉ nhà hàng tiếp nhận.
    • IDNH (int): Mã nhà hàng.
    • DATHANHTOAN (Bit): Trạng thái thanh toán (0: Chưa thanh toán, 1: Đã thanh toán).
    • TINHTRANGGIAOHANG (Bit): Trạng thái giao hàng (0: Chưa giao, 1: Đã giao).
    • TENNGUOINHAN (nvarchar(50)): Tên người nhận hàng.
  7. Bảng Chi tiết đặt hàng (CHITIETDATHANG)

    • MAMONAN (int, Khóa chính): Mã món ăn được chọn.
    • MADH (int, Khóa ngoại): Mã đơn hàng tương ứng.
    • SOLUONG (int): Số lượng món ăn đặt mua.
    • DONGIA (MONEY): Giá bán tại thời điểm đặt hàng.

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

Chương I: Giới thiệu đề tài

Chương mở đầu trình bày tính cấp thiết của việc số hóa dịch vụ ẩm thực, lý do thành lập website cho nhà hàng NihonFood và các mục tiêu cụ thể của nhóm thực hiện. Chương này tổng hợp nghiên cứu cơ sở lý thuyết về các công nghệ: mô hình MVC, ASP.NET MVC 5, Entity Framework (phân tích chi tiết kiến trúc tầng EDM, Object Services, Data Providers), hệ quản trị SQL Server cùng các dịch vụ tích hợp, thư viện jQuery, NodeJS, ReactJS và Web API. Đồng thời, chương I phân loại 3 nhóm người dùng, xác định các yêu cầu chức năng, yêu cầu phi chức năng (tính bảo mật, tốc độ xử lý, độ chính xác trong tính toán dữ liệu) và phạm vi ứng dụng của đề tài.

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

Chương II tập trung xây dựng tài liệu đặc tả chức năng chi tiết cho hai phân hệ chính: Trang người dùng và Trang quản trị (Admin). Hệ thống các sơ đồ Use Case được xây dựng bao gồm:

  • Use Case quản lý nghiệp vụ: Thao tác đặt hàng, thanh toán của khách hàng và quy trình kiểm tra đơn, lập phiếu giao hàng, lập hóa đơn của Admin.
  • Use Case quản lý đối tượng cơ bản: Khách hàng tra cứu món ăn, quản lý giỏ hàng; Admin cập nhật danh mục và món ăn.
  • Use Case quản lý đối tượng ngoài: Khách hàng quản lý thông tin tài khoản; Admin quản lý dữ liệu người dùng.
  • Use Case phân rã chức năng quản lý giỏ hàng: Quy trình thêm, bớt số lượng, xóa món trong giỏ hàng và sơ đồ lớp (Class Diagram) tổng thể của ứng dụng.

Chương III: Cơ sở dữ liệu

Chương III trình bày thiết kế chi tiết lược đồ quan hệ và cấu trúc lưu trữ dữ liệu của website NihonFood. Nhóm tác giả định nghĩa đầy đủ 7 thực thể bảng: Khách hàng, Nhà hàng, Món ăn, Loại món, Admin, Đặt hàng, Chi tiết đặt hàng, đi kèm các kiểu dữ liệu tương ứng (int, nvarchar, varchar, DATETIME, Bit, MONEY) và các ràng buộc toàn vẹn khóa chính, khóa ngoại.

Chương IV: Thực hiện sản phẩm

Chương này minh họa kết quả triển khai giao diện và chức năng thực tế của website:

  • Phân hệ người dùng: Giao diện trang chủ hiển thị các món ăn mới nhất và bán chạy nhất; giao diện Menu phân loại món theo chuyên mục (như Cơm, Cháo...); giao diện chi tiết món ăn kèm các sản phẩm liên quan; giao diện giỏ hàng hỗ trợ thay đổi số lượng trực tiếp và hiển thị khi giỏ hàng trống; chức năng phân trang danh sách món; giao diện đăng ký, đăng nhập tài khoản; chuyên mục Bảng tin và Chi tiết tin tức văn hóa ẩm thực; trang Giới thiệu (About Us) kèm video minh họa; form xác nhận thông tin thanh toán và trang cảm ơn; tích hợp Plugin Facebook để bình luận và nhúng API Google Maps hiển thị vị trí nhà hàng.
  • Phân hệ quản trị (Admin): Màn hình đăng nhập quản trị bảo mật; giao diện quản lý danh mục món ăn, cập nhật giá và mô tả sản phẩm; hệ thống soạn thảo bài viết và công cụ theo dõi đơn hàng.

Chương V: Kết luận và hướng phát triển

Chương tổng kết các kết quả đã hoàn thành trong khuôn khổ đồ án môn học, đối chiếu với mục tiêu ban đầu về mặt xây dựng giao diện và triển khai chức năng. Đồng thời, chương V đưa ra các định hướng hoàn thiện hệ thống trong tương lai nhằm nâng cao tính tiện ích và khả năng ứng dụng thực tế.


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

  • Kết quả thực tế đạt được:
    • Hoàn thành xây dựng website kinh doanh nhà hàng ẩm thực Nhật Bản NihonFood với đầy đủ hai phân hệ độc lập: Người dùng và Quản trị viên.
    • Xây dựng thành công hệ thống thực đơn trực tuyến, hỗ trợ lọc theo danh mục món ăn, phân trang dữ liệu, quản lý giỏ hàng linh hoạt và hoàn tất quy trình đặt hàng.
    • Tích hợp thành công các tiện ích mở rộng từ bên thứ ba bao gồm API bản đồ vị trí Google Maps và Plugin mạng xã hội Facebook.
    • Thiết kế và chuẩn hóa hệ thống cơ sở dữ liệu quan hệ gồm 7 bảng trên SQL Server, đáp ứng đầy đủ các mối quan hệ logic trong quản lý bán hàng.
  • Đóng góp của đồ án:
    • Đề xuất mô hình ứng dụng web thương mại điện tử kết hợp giữa đặt món ăn trực tuyến và giới thiệu nét đẹp văn hóa ẩm thực Nhật Bản.
    • Cung cấp tài liệu thiết kế hệ thống hoàn chỉnh từ khâu khảo sát, mô hình hóa Use Case, thiết kế cơ sở dữ liệu đến cài đặt giao diện bằng công nghệ ASP.NET MVC 5 và Entity Framework.

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

  • Hạn chế:
    • Nhóm tác giả tự nhìn nhận trong lời cảm ơn rằng do chưa có nhiều kinh nghiệm nghiên cứu và thực hành thực tế, đề tài vẫn còn những thiếu sót nhất định trong quá trình triển khai và tối ưu hệ thống.
    • Các chức năng thanh toán trực tuyến qua cổng điện tử (VNPay, MoMo) mới dừng lại ở mức độ phân tích thiết kế giao diện và tích hợp ban đầu.
  • Hướng phát triển tiếp:
    • Hoàn thiện đầy đủ các chức năng quản trị nâng cao và tối ưu hóa hệ thống thống kê báo cáo tài chính, doanh thu chi tiết.
    • Nâng cấp trải nghiệm người dùng trên các thiết bị di động, tối ưu hóa tốc độ tải trang và dung lượng hệ thống.
    • Tích hợp sâu hơn các cổng thanh toán trực tuyến chính thức và hệ thống thông báo trạng thái đơn hàng thời gian thực.

Giá trị tham khảo

Đồ án là tài liệu học thuật 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 nghiên cứu học phần Lập trình Web hoặc thực hiện các đồ án xây dựng ứng dụng thương mại điện tử.

Các nội dung có giá trị tham khảo cụ thể gồm:

  • Cấu trúc tài liệu phân tích thiết kế hệ thống theo mô hình Use Case chuẩn.
  • Phương pháp thiết kế cơ sở dữ liệu quan hệ cho bài toán quản lý nhà hàng và đặt món trực tuyến.
  • Cách tiếp cận xây dựng ứng dụng web động trên nền tảng ASP.NET MVC 5 kết hợp Entity Framework và SQL Server.

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

1. Đề tài đồ án do nhóm tác giả nào thực hiện và thuộc đơn vị đào tạo nào?
Đề tài do nhóm sinh viên gồm Võ Thị Cẩm Vy (MSSV: 1911060646), Trương Thiên Lảnh (MSSV: 1911062471) và Trần Ngọc Hưng (MSSV: 1911061254), lớp 19DTHJA2 thuộc Khoa Công nghệ Thông tin - Trường Đại học Công nghệ TP.HCM (HUTECH) thực hiện dưới sự hướng dẫn của ThS. Dương Thành Phết vào tháng 04/2022.

2. Nhà hàng NihonFood trong đề tài được mô tả với quy mô không gian và dịch vụ như thế nào?
Nhà hàng NihonFood có tổng diện tích sử dụng gần 600 m², bao gồm 3 phòng VIP phục vụ từ 10 đến 30 khách và khu vực nhà sàn diện tích 280 m² có sức chứa 140 khách tại TP. Hồ Chí Minh. Thực đơn của nhà hàng chuyên về sushi, sashimi tươi sống cùng khu Yakitori & Beer Kitchen phục vụ món nướng than hoa với các nguyên liệu như bò Wagyu, bò Angus.

3. Cơ sở dữ liệu của website NihonFood gồm những bảng nào?
Hệ thống sử dụng cơ sở dữ liệu SQL Server gồm 7 bảng quan hệ chính: Bảng khách hàng (KHACHHANG), Bảng nhà hàng (NHAHANG), Bảng món ăn (MONAN), Bảng loại món (LOAIMON), Bảng Admin (ADMIN), Bảng đặt hàng (DATHANG) và Bảng chi tiết đặt hàng (CHITIETDATHANG).

4. Hệ thống phân quyền cho những đối tượng người dùng nào?
Hệ thống phân chia thành 3 nhóm người dùng: Người dùng vãng lai chưa có tài khoản (tra cứu món ăn, xem tin tức, đặt hàng trực tiếp), Người dùng thành viên có tài khoản (đăng nhập, quản lý thông tin, nhận ưu đãi giảm giá) và Quản trị viên Admin (toàn quyền quản lý danh mục, món ăn, bài viết, tài khoản và thống kê doanh thu).

5. Những công nghệ chính nào được nhóm tác giả nghiên cứu và sử dụng trong đồ án?
Nhóm tác giả sử dụng ASP.NET MVC 5, Entity Framework, Microsoft SQL Server, HTML, CSS kết hợp thư viện jQuery, tích hợp API Google Maps, Plugin bình luận Facebook và khảo sát các nền tảng NodeJS, ReactJS.


Kết luận

Đồ án "Xây dựng website kinh doanh nhà hàng ẩm thực Nhật Bản NihonFood" đã hoàn thành mục tiêu xây dựng một nền tảng web thương mại điện tử hoàn chỉnh phục vụ hoạt động quảng bá và đặt món ăn trực tuyến. Bằng việc ứng dụng mô hình ASP.NET MVC 5, Entity Framework và cơ sở dữ liệu SQL Server, hệ thống đã giải quyết hiệu quả các yêu cầu về quản lý thực đơn, giỏ hàng, thông tin khách hàng và phân quyền quản trị. Đồ án cung cấp một tài liệu tham khảo có cấu trúc rõ ràng về phương pháp phân tích thiết kế và triển khai ứng dụng web bán hàng trong lĩnh vực dịch vụ ăn uống.