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

Trong bối cảnh kinh tế và xã hội phát triển, nhu cầu ứng dụng công nghệ thông tin vào công tác quản trị và kinh doanh ngày càng trở nên cấp thiết. Các phương thức quản lý truyền thống dần bộc lộ sự cồng kềnh, thiếu linh hoạt và khó đáp ứng được khối lượng thông tin phức tạp phát sinh từ hoạt động thực tiễn. Việc tin học hóa các quy trình quản lý và vận hành thương mại giúp rút ngắn thời gian xử lý, bảo đảm độ chính xác, tiết kiệm chi phí nhân lực và nâng cao hiệu suất hoạt động của doanh nghiệp.

Đối với ngành dịch vụ ăn uống và nhà hàng, khách hàng có nhu cầu ngày càng cao về tính tiện lợi, tốc độ và khả năng tiếp cận dịch vụ trực tuyến. Tình trạng quá tải, hết bàn vào giờ cao điểm, hủy bàn vào phút chót hoặc việc tiếp cận thực đơn tại chỗ gây ra nhiều hạn chế cho cả thực khách lẫn đơn vị vận hành. Đồ án "Xây dựng website kinh doanh nhà hàng ẩm thực Nhật Bản Nihonfood" được triển khai nhằm giải quyết các bài toán thực tiễn sau:

  1. Nhiệm vụ nghiên cứu và triển khai:

    • Nghiên cứu mô hình kinh doanh và dịch vụ ẩm thực Nhật Bản trực tuyến.
    • Ứng dụng các công nghệ lập trình web như ASP.NET MVC 5, Entity Framework, HTML, CSS, JavaScript để xây dựng website hoàn chỉnh.
    • Thiết kế cơ sở dữ liệu quan hệ phục vụ lưu trữ thông tin thực đơn, khách hàng, đơn đặt hàng và quản trị hệ thống.
    • Xây dựng giao diện tương thích đa nền tảng, đa màn hình, tối ưu hóa trải nghiệm người dùng trong việc tìm kiếm món ăn, đặt hàng và đặt bàn trực tuyến.
    • Thiết lập phân hệ quản trị (Admin) hỗ trợ kiểm soát danh mục món ăn, tin tức, tài khoản và thống kê doanh thu.
  2. Đối tượng và phạm vi nghiên cứu:

    • Đối tượng nghiên cứu: Hệ thống website thương mại điện tử và quản lý hoạt động kinh doanh cho nhà hàng ẩm thực Nhật Bản NihonFood. Nhà hàng có không gian diện tích sử dụng gần 600 m², bao gồm 3 phòng VIP (sức chứa 10 đến 30 khách) và khu nhà sàn diện tích 280 m² (sức chứa 140 khách) tại TP. Hồ Chí Minh.
    • Phạm vi không gian và thời gian: Đồ án học phần Lập trình Web thuộc 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.

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

Cơ sở lý thuyết và nền tảng công nghệ

Đồ án tổng hợp và áp dụng các nền tảng công nghệ trong phát triển ứng dụng web:

  • Mô hình kiến trúc ASP.NET MVC 5: Framework phát triển ứng dụng web trên nền tảng .NET của Microsoft, phân tách hệ thống thành ba thành phần: Models (dữ liệu và nghiệp vụ), Views (giao diện người dùng) và Controllers (điều hướng và xử lý logic). Mô hình này hỗ trợ kiểm thử đơn vị (Unit Testing) độc lập thông qua các đối tượng mô phỏng (Mock Objects) theo định hướng Test-Driven Development (TDD).
  • Mô hình Entity Framework (ORM): Công cụ ánh xạ quan hệ đối tượng mã nguồn mở, hoạt động như tầng trung gian kết nối ứng dụng .NET với cơ sở dữ liệu quan hệ. Kiến trúc Entity Framework bao gồm: Tầng ứng dụng (Application), Tầng dịch vụ đối tượng (Object Services), Tầng cung cấp dữ liệu thực thể (EntityClient Data Provider), ADO.NET Data Providers và Mô hình dữ liệu thực thể (Entity Data Model - EDM) gồm ba thành phần: CSDL (ngôn ngữ định nghĩa lược đồ khái niệm), MSL (ngôn ngữ đặc tả ánh xạ) và SSDL (ngôn ngữ định nghĩa lược đồ lưu trữ).
  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) sử dụng Transact-SQL (T-SQL). Các thành phần chính được nhóm tác giả khảo cứu gồm: Database Engine, Integration Services (sao chép, chuyển đổi dữ liệu), Analysis Services (khai thác dữ liệu - Data Mining, Multidimensional Cubes), Notification Services (xử lý và gửi thông báo), Reporting Services (tạo lập báo cáo) và Full Text Search Service (đánh chỉ mục và truy vấn dữ liệu phi cấu trúc).
  • Các thư viện và công nghệ phụ trợ: Thư viện jQuery hỗ trợ xử lý sự kiện, DOM, AJAX và hiệu ứng hoạt ảnh; Node.js trên nền V8 JavaScript Engine; React.js sử dụng cú pháp JSX; cùng các giao diện lập trình ứng dụng (Web API).

Phương pháp nghiên cứu và phát triển

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

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

Phân loại người dùng và yêu cầu chức năng

Hệ thống phân định rõ ba nhóm người dùng với các quyền hạn và yêu cầu chức năng tương ứng:

Nhóm người dùng Mô tả quyền hạn và chức năng
Khách vãng lai (Chưa có tài khoản) - Xem thông tin thực đơn, tìm kiếm món ăn theo danh mục.
- Xem bài viết tin tức văn hóa ẩm thực Nhật Bản.
- Thêm món ăn vào giỏ hàng và thực hiện đặt hàng cơ bản.
Khách hàng thành viên (Đã đăng ký) - Sử dụng toàn bộ chức năng của khách vãng lai.
- Đăng nhập, thay đổi thông tin cá nhân và mật khẩu.
- Quản lý giỏ hàng chi tiết, theo dõi tình trạng đơn hàng.
- Hưởng các chính sách ưu đãi, giảm giá và rút thăm trúng thưởng.
Quản trị viên (Admin) - Toàn quyền truy cập và kiểm soát hệ thống quản trị.
- Quản lý danh mục, thêm/sửa/xóa thông tin món ăn và giá bán.
- Quản lý bài viết tin tức, nội dung media và kiểm duyệt bình luận.
- Quản lý tài khoản người dùng, phân quyền quản trị.
- Thống kê đơn hàng và doanh thu theo tuần, tháng.

Cấu trúc cơ sở dữ liệu hệ thống

Cơ sở dữ liệu của website NihonFood được thiết kế gồm 7 bảng thực thể chính với các thuộc tính và ràng buộc toàn vẹn như sau:

Tên bảng Tên thuộc tính Diễn giải Kiểu dữ liệu Ràng buộc
Khách hàng (KHACHHANG) MAKH
TENKHACH
EMAILKHACH
SDTKHACH
USERKHACH
PASSKHACH
NGAYSINH
Mã khách hàng
Họ và tên khách hàng
Địa chỉ thư điện tử
Số điện thoại liên lạc
Tên tài khoản đăng nhập
Mật khẩu đăng nhập
Ngày tháng năm sinh
int
nvarchar(50)
varchar(100)
varchar(10)
varchar(50)
varchar(50)
datetime
Khóa chính
-
-
-
-
-
-
Nhà hàng (NHAHANG) IDNH
TENNH
DIACHINH
SDTNH
Mã định danh nhà hàng
Tên nhà hàng
Địa chỉ nhà hàng
Số điện thoại liên lạc
int
nvarchar(20)
nvarchar(100)
varchar(10)
Khóa chính
-
-
-
Món ăn (MONAN) MAMONAN
MALOAI
TENMONAN
GIA
ANHMONANH
MOTA
NGAYCAPNHAT
Mã món ăn
Mã phân loại món ăn
Tên món ăn
Đơn giá món ăn
Đường dẫn hình ảnh
Mô tả chi tiết món ăn
Thời gian cập nhật
int
nvarchar(50)
nvarchar(100)
varchar(10)
varchar(50)
varchar(50)
datetime
Khóa chính
Khóa ngoại
-
-
-
-
-
Loại món (LOAIMON) MALOAI
TENLM
Mã loại món ăn
Tên loại món ăn
int
nvarchar(30)
Khóa chính
-
Quản trị viên (ADMIN) USERADMIN
PASSADMIN
HOTENADMIN
Tên đăng nhập Admin
Mật khẩu quản trị
Họ tên người quản trị
varchar(50)
varchar(50)
nvarchar(100)
Khóa chính
-
-
Đặt hàng (DATHANG) MADH
MAKH
NGAYDH
SDTNHAHANG
DCNHAHANG
IDNH
DATHANHTOAN
TINHTRANGGIAOHANG
TENNGUOINHAN
Mã đơn đặt hàng
Mã khách hàng
Thời điểm đặt hàng
Số điện thoại chi nhánh
Địa chỉ chi nhánh nhận
Mã định danh nhà hàng
Trạng thái thanh toán
Trạng thái giao hàng
Họ tên người nhận
int
int
datetime
varchar(10)
nvarchar(200)
int
bit
bit
nvarchar(50)
Khóa chính
Khóa ngoại
-
-
-
Khóa ngoại
-
-
-
Chi tiết đặt hàng (CHITIETDATHANG) MAMONAN
MADH
SOLUONG
DONGIA
Mã món ăn
Mã đơn đặt hàng
Số lượng món đặt
Đơn giá/Phí giao
int
int
int
money
Khóa chính, Khóa ngoại
Khóa chính, Khóa ngoại
-
-

Tích hợp dịch vụ mở rộng

  • API Google Maps: Nhúng bản đồ tương tác hiển thị vị trí địa lý của nhà hàng NihonFood, hỗ trợ người dùng định vị và tìm đường đi trực tiếp.
  • Plugin Facebook: Tích hợp khung bình luận và đánh giá từ mạng xã hội Facebook tại các bài viết và trang sản phẩm.
  • Cổng thanh toán điện tử: Định hướng kết nối các cổng thanh toán trực tuyến như VNPay và Ví MoMo bên cạnh phương thức thanh toán trực tiếp khi nhận 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 lý do lựa chọn đề tài, mục tiêu tổng quát của nhóm nghiên cứu và thông tin tổng quan về nhà hàng NihonFood. Nội dung đi sâu phân tích cơ sở lý thuyết của các công nghệ phần mềm được lựa chọn, bao gồm: kiến trúc ASP.NET MVC 5 với mô hình kiểm thử TDD; thư viện jQuery; môi trường thực thi Node.js; thư viện React.js; khái niệm và cơ chế hoạt động của Web API; hệ quản trị cơ sở dữ liệu Microsoft SQL Server cùng các thành phần chuyên sâu (SSIS, SSAS, SSRS, Full Text Search); và kiến trúc 5 tầng của Entity Framework. Chương này cũng xác định rõ phạm vi ứng dụng đa nền tảng và thiết lập bảng yêu cầu chức năng, phi chức năng cho hệ thống.

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

Chương II tập trung vào công tác phân tích yêu cầu nghiệp vụ và mô hình hóa hệ thống. Nhóm tác giả mô tả chi tiết các luồng chức năng trên trang người dùng (tìm kiếm món ăn mới/bán chạy, xem menu chi tiết, giỏ hàng, đặt bàn trực tuyến, thanh toán) và trang quản trị (quản lý danh mục, quản lý món ăn, bộ soạn thảo viết bài chuẩn SEO, quản lý thư viện hình ảnh, phân quyền tài khoản, thống kê doanh thu). Hệ thống được chuẩn hóa qua các sơ đồ Use Case cụ thể:

  • Sơ đồ Use Case quản lý nghiệp vụ (Hình 2.1): Thể hiện quy trình tương tác đặt hàng của khách và xử lý lập hóa đơn/phiếu giao hàng của Admin.
  • Sơ đồ Use Case quản lý đối tượng cơ bản (Hình 2.2): Thể hiện việc tra cứu món ăn của khách và tác vụ cập nhật danh mục của Admin.
  • Sơ đồ Use Case quản lý đối tượng ngoài (Hình 2.3): Thể hiện hoạt động quản lý thông tin khách hàng.
  • Sơ đồ Use Case phân rã chức năng quản lý giỏ hàng (Hình 2.4): Chi tiết hóa các thao tác xem giỏ, sửa số lượng và xóa món ăn.
  • Sơ đồ lớp chi tiết (Class Diagram - Hình 2.5).

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

Chương III đặc tả chi tiết mô hình dữ liệu quan hệ của hệ thống. Tác giả trình bày sơ đồ quan hệ thực thể tổng quát (Hình 3.1) và thiết lập cấu trúc 7 bảng dữ liệu quan hệ (KHACHHANG, NHAHANG, MONAN, LOAIMON, ADMIN, DATHANG, CHITIETDATHANG). Mỗi bảng được định nghĩa rõ ràng về tên thuộc tính, ý nghĩa nghiệp vụ, kiểu dữ liệu và các ràng buộc khóa chính/khóa ngoại nhằm bảo đảm tính toàn vẹn dữ liệu trong suốt quá trình vận hành.

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

Chương IV trình bày kết quả xây dựng và cài đặt giao diện thực tế của website NihonFood:

  • Phân hệ người dùng: Triển khai giao diện trang chủ với danh sách món ăn cập nhật liên tục; giao diện Menu phân loại theo từng nhóm món (như Cơm, Cháo); giao diện chi tiết món ăn kèm mô tả và gợi ý món liên quan; giao diện giỏ hàng hỗ trợ tùy chỉnh số lượng và trạng thái giỏ trống; chức năng phân trang dữ liệu; hệ thống bảng tin tin tức và chi tiết tin tức; trang giới thiệu "About Us" tích hợp video; giao diện thanh toán in đầy đủ thông tin giao nhận kèm trang cảm ơn; khung bình luận qua Facebook Plugin và bản đồ chỉ đường Google Maps API.
  • Phân hệ quản trị: Triển khai giao diện đăng nhập bảo mật dành riêng cho Admin và các màn hình quản lý, cập nhật danh mục món ăn.

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

Chương cuối đánh giá mức độ hoàn thành so với các mục tiêu ban đầu đã đề ra và vạch ra các định hướng hoàn thiện hệ thống trong các giai đoạn tiếp theo.

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

Kết quả đạt được

  1. Xây dựng hoàn chỉnh hệ thống website: Thiết kế và triển khai thành công website kinh doanh nhà hàng ẩm thực Nhật Bản NihonFood với 2 phân hệ độc lập: phân hệ người dùng (User Interface) và phân hệ quản trị (Admin Interface).
  2. Hiện thực hóa quy trình nghiệp vụ ẩm thực trực tuyến: Xây dựng đầy đủ các chức năng xem thực đơn, lọc món ăn theo danh mục, quản lý giỏ hàng, đặt hàng trực tuyến, tích hợp bản đồ Google Maps và bình luận tương tác qua Facebook Plugin.
  3. Chuẩn hóa cơ sở dữ liệu và kiến trúc phần mềm: Thiết lập hệ thống cơ sở dữ liệu gồm 7 bảng quan hệ trên SQL Server, ứng dụng thành công mô hình Entity Framework và ASP.NET MVC 5 trong việc xử lý và ánh xạ dữ liệu.
  4. Phân công và đánh giá thực hiện dự án: Đồ án ghi nhận sự tham gia và phân chia công việc minh bạch giữa các thành viên:
Họ và tên MSSV Lớp Nội dung công việc đảm nhiệm Tỷ lệ đóng góp Điểm tự đánh giá
Trần Ngọc Hưng 1911061254 19DTHJA4 - Quản lý sản phẩm và chi tiết sản phẩm.
- Xây dựng chức năng đăng ký, đăng nhập.
- Xây dựng trang chủ và chức năng Admin.
- Viết báo cáo Chương 1 và Chương 2.
30% 8.5
Trương Thiên Lảnh 1911062471 19DTHJA1 - Thiết kế giao diện trang chủ, phân trang.
- Xây dựng Form News (Tin tức) và Form About.
- Nhúng API (Google Maps, Facebook).
- Viết báo cáo Chương 5.
40% 9.0
Võ Thị Cẩm Vy 1911060646 19DTHJA6 - Thiết kế các sơ đồ Use Case và Class Diagram.
- Thiết kế và cài đặt cơ sở dữ liệu.
- Xây dựng chức năng giỏ hàng và đặt hàng.
- Viết báo cáo Chương 3 và Chương 4.
30% 8.5

Đóng góp thực tiễn

  • Cung cấp giải pháp số hóa quy trình bán hàng và đặt bàn cho mô hình nhà hàng ẩm thực Nhật Bản quy mô vừa và lớn (diện tích 600 m²).
  • Đưa ra giải pháp giảm thiểu tình trạng quá tải, hủy bàn phút chót thông qua kênh đặt bàn trực tuyến có thông báo xác nhận.

Hạn chế và hướng phát triển

Hạn chế

  • Đề tài được thực hiện trong khuôn khổ đồ án học phần Lập trình Web nên kinh nghiệm nghiên cứu và thực hành chuyên sâu của nhóm sinh viên còn một số mặt hạn chế.
  • Các chức năng thanh toán qua ví điện tử (VNPay, MoMo) mới dừng ở mức định hướng và thiết kế giao diện tiếp nhận thông tin, chưa hoàn thiện tích hợp cổng thanh toán trực tiếp qua API ngân hàng trong môi trường production.

Hướng phát triển

  • Mở rộng quy mô hệ thống để quản lý chuỗi nhiều chi nhánh nhà hàng cùng lúc.
  • Tối ưu hóa và tích hợp sâu các cổng thanh toán trực tuyến đa dạng.
  • Phát triển hệ thống khai thác quảng cáo và mở rộng liên kết đối tác thương mại trên nền tảng web.

Giá trị tham khảo

Tài liệu đồ án là nguồn 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 khi thực hiện các đồ án học phần Lập trình Web hoặc đồ án phát triển ứng dụng thương mại điện tử trên nền tảng Microsoft .NET.

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

  • Thiết kế cơ sở dữ liệu quan hệ chuẩn hóa cho hệ thống quản lý bán hàng và dịch vụ ăn uống (7 bảng thực thể).
  • Phương pháp phân tích và mô hình hóa các ca sử dụng (Use Case Diagram) từ mức tổng quát đến phân rã chi tiết luồng nghiệp vụ giỏ hàng.
  • Quy trình tích hợp các dịch vụ bên ngoài như Google Maps API và Facebook Plugin vào ứng dụng web ASP.NET MVC 5.

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

1. Đề tài xây dựng website cho nhà hàng nào và có quy mô thực tế ra sao?
Website được xây dựng cho nhà hàng ẩm thực Nhật Bản NihonFood. Nhà hàng có không gian diện tích sử dụng gần 600 m², bao gồm 3 phòng VIP lớn (sức chứa từ 10 đến 30 khách) và khu nhà sàn diện tích 280 m² (sức chứa 140 khách) tại TP. Hồ Chí Minh.

2. Công nghệ chính được sử dụng để xây dựng hệ thống website là gì?
Hệ thống sử dụng kiến trúc ASP.NET MVC 5 kết hợp cùng ORM Entity Framework để quản lý truy vấn dữ liệu, hệ quản trị cơ sở dữ liệu Microsoft SQL Server, ngôn ngữ thiết kế giao diện HTML/CSS, thư viện JavaScript jQuery, cùng việc tích hợp Google Maps API và Facebook Plugin.

3. Cơ sở dữ liệu của website NihonFood gồm những bảng nào?
Cơ sở dữ liệu hệ thống gồm 7 bảng thực thể: KHACHHANG (Khách hàng), NHAHANG (Nhà hàng), MONAN (Món ăn), LOAIMON (Loại món), ADMIN (Quản trị viên), DATHANG (Đơn đặt hàng) và CHITIETDATHANG (Chi tiết đơn đặt hàng).

4. Hệ thống phân quyền cho những nhóm người dùng nào?
Hệ thống phân thành 3 nhóm người dùng: Khách vãng lai không có tài khoản (xem tin tức, tìm món, đặt đồ ăn cơ bản), Khách hàng có tài khoản (sử dụng đầy đủ tính năng giỏ hàng, 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 trị danh mục món ăn, bài viết, tài khoản và thống kê doanh thu).

5. Đồ án được thực hiện bởi những ai và dưới sự hướng dẫn của giảng viên nào?
Đồ án 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) 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.

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 việc thiết kế và triển khai một hệ thống web thương mại điện tử ẩm thực hoàn chỉnh trên nền tảng ASP.NET MVC 5 và Entity Framework. Hệ thống đáp ứng tốt các yêu cầu chức năng về tra cứu thực đơn, quản lý giỏ hàng, đặt hàng trực tuyến, tích hợp bản đồ số và quản trị nội dung. Đồ án phản ánh quá trình phân tích thiết kế hệ thống hướng đối tượng bài bản, thiết lập cơ sở dữ liệu chặt chẽ và cung cấp tài liệu tham khảo thực tiễn cho sinh viên chuyên ngành Công nghệ thông tin trong lĩnh vực phát triển ứng dụng web.