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

Trong bối cảnh của cuộc Cách mạng Công nghiệp 4.0, công nghệ thông tin đã tác động sâu sắc đến mọi lĩnh vực đời sống và hoạt động sản xuất kinh doanh, bao gồm cả ngành dịch vụ ăn uống (F&B). Tại Việt Nam, nhiều nhà hàng vẫn đang duy trì phương thức quản trị truyền thống dựa trên sổ sách, chứng từ viết tay. Phương thức thủ công này bộc lộ nhiều điểm bất cập như tốn kém thời gian, lãng phí nhân lực, dữ liệu bị trùng lặp cục bộ giữa các khâu, dễ xảy ra sai sót trong quá trình tính tiền, lập báo cáo và gây thất thoát tài chính.

Trước thực trạng đó, đề tài "Phân tích và thiết kế hệ thống quản lý nhà hàng trong nước" được thực hiện nhằm nghiên cứu quy trình vận hành và thiết lập mô hình hệ thống thông tin phục vụ quản trị nhà hàng.

Nhiệm vụ và mục tiêu cụ thể của đề tài bao gồm:

  1. Khảo sát hiện trạng hoạt động thực tế, phân tích cơ cấu tổ chức và luồng luân chuyển thông tin tại các bộ phận trong nhà hàng.
  2. Xác định các yêu cầu chức năng và phi chức năng phục vụ việc tin học hóa quy trình quản lý.
  3. Chuẩn hóa mô hình nghiệp vụ phục vụ: từ khâu chuẩn bị trước khi đón khách, tiếp đón, ghi nhận thực đơn (order), phục vụ món đến thanh toán và dọn dẹp bàn ăn.
  4. Xây dựng mô hình phân tích hệ thống hoàn chỉnh thông qua biểu đồ phân cấp chức năng, sơ đồ ca sử dụng (Use Case), đặc tả chi tiết từng Use Case và biểu đồ tuần tự (Sequence Diagram).
  5. Thiết kế cơ sở dữ liệu bao gồm biểu đồ lớp (Class Diagram), mô hình thực thể liên kết (E-R) và mô hình dữ liệu quan hệ.

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

  • Đối tượng: Toàn bộ quy trình quản lý hoạt động kinh doanh nhà hàng ẩm thực (kho hàng, bán hàng, nhà bếp, nhân viên, công nợ, chăm sóc khách hàng và báo cáo thống kê).
  • Phạm vi không gian và quy mô: Khảo sát và phân tích tập trung vào các nhà hàng phục vụ ăn uống trong nước có quy mô vừa và nhỏ, đồng thời có khả năng mở rộng ứng dụng cho mô hình chuỗi nhà hàng lớn.
  • Phạm vi kỹ thuật: Đề tài dừng lại ở việc áp dụng lý thuyết phân tích và thiết kế hệ thống thông tin để xây dựng mô hình nghiệp vụ, mô hình hóa phần mềm và cấu trúc cơ sở dữ liệu; chưa bước sang giai đoạn lập trình (code) để phát triển thành ứng dụng hoàn chỉnh.

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

Đề tài áp dụng các lý thuyết nền tảng trong môn học Phân tích và Thiết kế hệ thống thông tin thuộc Viện Toán ứng dụng và Tin học (Trường Đại học Bách Khoa Hà Nội), bao gồm:

  • Phương pháp mô hình hóa nghiệp vụ: Chuẩn hóa chu trình làm việc của nhà hàng theo các mốc thời gian và tương tác của khách hàng.
  • Phương pháp phân tích hướng đối tượng với UML: Sử dụng biểu đồ phân cấp chức năng (BFD), biểu đồ Use Case, biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp (Class Diagram) để mô tả cấu trúc tĩnh và hành vi động của hệ thống.
  • Mô hình hóa dữ liệu: Sử dụng mô hình thực thể liên kết E-R (Entity-Relationship Model) và chuyển đổi sang mô hình quan hệ (Relational Model) để xác định các bảng, thuộc tính và khóa chính/khóa ngoại.

Phương pháp thu thập và xử lý dữ liệu phục vụ đề tài gồm:

  • Phương pháp phỏng vấn chuyên gia và người dùng: Phỏng vấn trực tiếp nhân sự có chuyên môn nghiệp vụ tại nhà hàng và những người đang sử dụng các hệ thống sẵn có để ghi nhận yêu cầu thực tế.
  • Phương pháp nghiên cứu tài liệu: Khảo sát sổ sách, chứng từ giấy tờ, hóa đơn, tệp lưu trữ trên máy tính và các nguồn thông tin trên Internet nhằm xác định luồng dữ liệu và giao dịch phát sinh.
  • Nguồn dữ liệu: Dữ liệu khảo sát cơ cấu tổ chức gồm 8 bộ phận: Ban giám đốc, Quản lý nhà hàng, Bộ phận kinh doanh, Bộ phận bếp, Bộ phận kế toán/thu ngân, Bộ phận phục vụ khách hàng (lễ tân, phục vụ bàn), Bộ phận an ninh, Bộ phận quầy Bar và Bộ phận vệ sinh.

Nội dung chính theo từng phần của đề tài

Phần I: Phát biểu bài toán về quản lý hệ thống kinh doanh nhà hàng trong nước

Phần này tập trung phân tích hiện trạng hoạt động và xác lập mục tiêu thiết kế phần mềm. Khảo sát thực tế chỉ ra cơ cấu nhân sự nhà hàng gồm các bộ phận phối hợp chặt chẽ: Ban giám đốc điều hành chung; Quản lý theo dõi ngân sách và xếp lịch; Kế toán/thu ngân xử lý hóa đơn, công nợ và thu chi; Bếp chế biến và quản lý công thức món; Phục vụ/lễ tân đại diện đón tiếp và ghi nhận order; Bar pha chế; An ninh bảo đảm an toàn; Vệ sinh chuẩn bị không gian.

Hệ thống quản lý cũ bộc lộ nhiều hạn chế: phụ thuộc vào giấy tờ, thông tin bàn ăn và đặt bàn bị cập nhật trùng lặp ở nhiều nơi, tính toán thu ngân thủ công gây sai sót và tiêu tốn thời gian. Tác giả đề xuất giải pháp xây dựng hệ thống phần mềm dùng chung cơ sở dữ liệu trên mạng nội bộ để luân chuyển thông tin nhanh chóng, chính xác.

Đặc tả yêu cầu của hệ thống bao gồm:

  • Môi trường hoạt động: Ứng dụng web truy cập qua trình duyệt (Google Chrome, Cốc Cốc, Safari...) trên máy tính hoặc thiết bị di động, có kết nối Internet.
  • Yêu cầu chức năng: Đăng nhập và phân quyền người dùng; lập, in, chỉnh sửa và xóa hóa đơn; thêm, xóa, sửa thông tin nhân viên, thực đơn, phân công ca làm việc; thống kê doanh thu theo ngày, tháng, năm, khoảng ngày; tính toán công nợ và chi trả nguồn thực phẩm; tra cứu thực đơn.
  • Yêu cầu phi chức năng: Giao diện thân thiện; thời gian tải hệ thống không quá 10 giây, thời gian xử lý truy vấn dữ liệu không quá 5 giây; bảo mật bằng phân quyền tài khoản, hỗ trợ đăng nhập qua tài khoản hệ thống (mã hóa mật khẩu) hoặc qua Gmail, Facebook; cơ chế khóa tài khoản 30 phút nếu đăng nhập sai 5 lần liên tiếp.

Phần II: Phân tích hệ thống

Tác giả mô hình hóa chi tiết quy trình nghiệp vụ phục vụ qua 4 giai đoạn nối tiếp:

  1. Chuẩn bị trước khi khách đến: Kiểm tra vệ sinh khu vực bàn ăn, sắp xếp bàn ghế theo tiêu chuẩn hoặc thông tin đặt trước, kiểm tra cơ sở vật chất (máy lạnh, đèn, toilet), chuẩn bị sẵn sàng dụng cụ ăn uống và đồ dự phòng.
  2. Khi khách đến: Lễ tân chào đón, hỏi thông tin đặt bàn hoặc số lượng khách, vị trí mong muốn; hướng dẫn khách vào bàn (dùng lòng bàn tay mở hướng về bàn), kéo ghế theo thứ tự ưu tiên (người lớn tuổi, phụ nữ, trẻ em, nam giới).
  3. Nhận order và phục vụ món: Nhân viên đứng sau khách 1–1,5m, nghiêng người 30 độ đưa thực đơn từ bên phải; tiếp nhận món, xác nhận lại yêu cầu đặc biệt; chuyển thông tin order đến bếp, bar, thu ngân; phục vụ đồ uống trong vòng 3–5 phút; kiểm tra món đúng order trước khi bưng ra; hỏi thăm khách khi dùng được 1/3 món; gợi ý món tráng miệng sau bữa chính; chuyển thông tin thanh toán cho thu ngân.
  4. Tiễn khách và dọn dẹp: Bàn giao việc tiễn khách cho lễ tân, kiểm tra đồ bỏ quên, thu dọn dụng cụ, lau chùi bàn ghế và bố trí bàn mới cho lượt khách tiếp theo.

Về phân cấp chức năng, hệ thống được chia thành 7 khối nghiệp vụ: Quản lý kho hàng (nhập/xuất/chuyển kho, kiểm kê); Quản lý bán hàng (phục vụ theo khu vực, theo dõi bàn, quản lý chi phí đồ uống miễn phí); Theo dõi công nợ (công nợ khách hàng và nhà cung cấp); Quản lý nhà bếp (xây dựng thực đơn, tính toán nguyên liệu theo công thức, lập danh sách hàng hỏng); Chăm sóc khách hàng (lập danh sách khách quen, cấp thẻ VIP, thu thập phản hồi); Quản lý nhân viên (hồ sơ, xếp lịch ca, tính lương, chế độ nâng lương); Thống kê - Báo cáo (doanh thu, hàng tồn, nhập hàng).

Tác giả phân tích và đặc tả hệ thống Use Case tổng quan cùng các Use Case chi tiết với các kịch bản ngoại lệ:

  • Đăng nhập / Đăng xuất: Xác thực tài khoản, hỗ trợ đăng nhập qua Google/Facebook, ghi nhật ký Activity Log, khóa tài khoản nếu sai 5 lần.
  • Lập hóa đơn: Hiển thị danh mục bàn đã gọi món, tính tổng tiền, in hóa đơn và lưu thông tin người phục vụ/thu ngân.
  • Tra cứu thực đơn: Tìm kiếm thông tin món ăn, thành phần, giá tiền theo từ khóa.
  • Thống kê doanh thu: Tổng hợp dữ liệu theo tiêu chí tùy chọn và mốc thời gian (ngày, tháng, năm, khoảng ngày).
  • Quản lý thực đơn: Thêm món mới (kiểm tra trùng lặp, ràng buộc kiểu dữ liệu số nguyên cho đơn giá, định dạng ngày tháng áp dụng), Cập nhật và Xóa thực đơn (chặn xóa nếu món ăn đã nằm trong danh sách order hoặc hóa đơn).
  • Quản lý nhân viên: Thêm, sửa, xóa hồ sơ nhân viên (ràng buộc tên đăng nhập từ 6 ký tự trở lên, kiểm tra đầy đủ họ tên, ngày sinh, số điện thoại, địa chỉ, chức vụ; ngăn chặn việc xóa tài khoản Admin), Phân công lịch làm việc theo ca và bàn ăn.

Hệ thống biểu đồ tuần tự (Sequence Diagram) được xây dựng tương ứng cho các hành vi: Đăng nhập, Đăng xuất, Tra cứu thực đơn, Thống kê doanh thu, Quản lý nhân viên, Phân công nhân viên, Đăng ký lịch làm và Nhận order từ khách.

Phần III: Thiết kế cơ sở dữ liệu

Phần cuối của báo cáo trình bày cấu trúc dữ liệu của hệ thống, bao gồm:

  • Xây dựng biểu đồ lớp (Class Diagram) phản ánh các đối tượng thực thể và mối quan hệ giữa chúng trong mô hình phần mềm.
  • Xác định các kiểu thực thể, tập thuộc tính và các thuộc tính khóa (khóa chính).
  • Xây dựng mô hình thực thể liên kết (E-R) tổng quát.
  • Chuyển đổi mô hình E-R sang biểu đồ mô hình dữ liệu quan hệ, làm cơ sở cho việc hiện thực hóa cơ sở dữ liệu trên các hệ quản trị sau này.

Thiết kế và đặc tả hệ thống

Phân công tác nhân và mục tiêu Use Case

Tác nhân (Actor) Mục tiêu và chức năng tương tác
Quản lý (Manager) Đăng nhập/Đăng xuất; Tra cứu thực đơn, tra cứu nhân viên; Thống kê doanh thu theo ngày/tháng/năm/khoảng ngày; Quản lý thực đơn (thêm, xóa, sửa); Quản lý nhân viên (thêm, xóa, sửa thông tin); Phân công ca làm việc và khu vực bàn; Xóa hóa đơn khi cần thiết.
Thu ngân (Cashier) Đăng nhập/Đăng xuất; Lập và in hóa đơn thanh toán; Chỉnh sửa thông tin hóa đơn khi có sai sót từ phản hồi của khách; Tra cứu thực đơn; Thống kê doanh thu theo ngày/tháng/năm/khoảng ngày.
Nhân viên (Staff) Đăng nhập/Đăng xuất; Tra cứu thực đơn; Tiếp nhận và ghi nhận order từ khách hàng; Đăng ký lịch làm việc cá nhân.
Khách hàng (Customer) Xem thông tin hóa đơn; Ký xác nhận thanh toán.

Tổng hợp quy tắc nghiệp vụ và ràng buộc hệ thống

Nhóm nghiệp vụ Ràng buộc dữ liệu & Quy tắc xử lý Kịch bản ngoại lệ (Extension Flow)
Xác thực hệ thống - Bắt buộc nhập đầy đủ tên đăng nhập và mật khẩu.
- Hỗ trợ đăng nhập qua bên thứ ba (Gmail, Facebook).
- Mật khẩu lưu trữ phải được mã hóa.
- Nhập sai thông tin 5 lần liên tiếp: Khóa tài khoản trong 30 phút.
- Mất kết nối mạng: Hủy bỏ thao tác, yêu cầu kết nối lại Internet.
Quản lý thực đơn - Đơn giá phải là số nguyên (Int > 0), tính bằng VNĐ.
- Ngày áp dụng giá có định dạng Date/Time.
- Không được để trống tên món, đơn giá, đơn vị tính, mô tả.
- Trùng tên món: Hệ thống báo lỗi "Thực đơn này đã có".
- Món đang có trong order/hóa đơn: Hệ thống chặn thao tác xóa món.
Quản lý nhân sự - Tên đăng nhập tối thiểu 6 ký tự.
- Ngày sinh, ngày vào làm định dạng Date/Time.
- Bắt buộc có họ tên, SĐT, địa chỉ, chức vụ.
- Xóa tài khoản có quyền Admin: Hệ thống từ chối và báo lỗi "Không thể xóa Admin".
Phân công ca làm - Dựa trên bảng đăng ký lịch làm của nhân viên.
- Phân bổ đều nhân sự theo từng ca và từng bàn.
- Phân công bị trùng lặp: Báo lỗi "Phân công này đã tồn tại".
- Thiếu người trong ca: Quản lý thông báo và chỉ định bổ sung.
Lập hóa đơn - Chỉ lập hóa đơn cho bàn đã có order và có đơn giá.
- Phải qua bước tính tổng tiền trước khi in.
- Chưa chọn tính tổng tiền: Báo lỗi "Chưa tính tổng tiền".
- Bàn chưa có thông tin gọi món: Chuyển sang chức năng gọi món.

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

  1. Kết quả nghiên cứu:

    • Hệ thống hóa toàn bộ chu trình nghiệp vụ thực tế của một nhà hàng ẩm thực trong nước, phân tách rõ ràng trách nhiệm của 8 bộ phận cấu thành.
    • Xây dựng thành công bộ đặc tả yêu cầu chi tiết, bao gồm các chỉ số vận hành phi chức năng (thời gian tải dưới 10 giây, thời gian xử lý truy vấn dưới 5 giây, bảo mật xác thực tài khoản).
    • Thiết lập đầy đủ các sơ đồ phân tích hệ thống: Biểu đồ phân cấp chức năng (7 khối nghiệp vụ), biểu đồ Use Case tổng quan và chi tiết cho 4 nhóm tác nhân, các kịch bản tuần tự (Sequence Diagram), biểu đồ lớp (Class Diagram), mô hình E-R và mô hình dữ liệu quan hệ.
  2. Giải pháp đề xuất:

    • Đề xuất thay thế phương thức quản lý thủ công bằng giải pháp phần mềm quản lý tập trung trên mạng nội bộ, kết nối dữ liệu thống nhất giữa quầy thu ngân, bếp, kho, bộ phận phục vụ và cấp quản lý.
    • Chuẩn hóa quy trình phục vụ thực khách thành 4 bước rõ ràng nhằm nâng cao tính chuyên nghiệp và giảm thiểu nhầm lẫn trong quá trình ghi nhận order.
  3. Đóng góp của đề tài:

    • Cung cấp tài liệu phân tích thiết kế hệ thống hoàn chỉnh theo đúng chuẩn phương pháp luận môn học, làm cơ sở lý thuyết vững chắc cho giai đoạn lập trình và phát triển phần mềm ứng dụng thực tế.

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

  • Hạn chế:

    • Báo cáo mới dừng lại ở phạm vi nghiên cứu lý thuyết cơ bản về phân tích thiết kế hệ thống và tổ chức dữ liệu; chưa thực hiện giai đoạn lập trình (coding) để xây dựng ứng dụng phần mềm hoàn chỉnh chạy trên thực tế.
    • Phạm vi khảo sát và phân tích chủ yếu tập trung vào mô hình nhà hàng vừa và nhỏ trong nước.
    • Do hạn chế về kinh nghiệm thực tế của sinh viên, một số quy trình có thể chưa bao quát hết các tình huống phát sinh phức tạp tại các chuỗi nhà hàng lớn.
  • Hướng nghiên cứu tiếp:

    • Triển khai giai đoạn lập trình mã nguồn, xây dựng giao diện web và cơ sở dữ liệu thực tế dựa trên các biểu đồ thiết kế đã xây dựng.
    • Mở rộng các mô-đun chức năng để áp dụng thử nghiệm cho các hệ thống nhà hàng có quy mô lớn hoặc chuỗi nhiều chi nhánh tại các địa điểm khác nhau.

Giá trị tham khảo

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

  • Sinh viên chuyên ngành Toán Tin, Công nghệ thông tin, Hệ thống thông tin quản lý khi thực hiện đồ án môn học Phân tích và Thiết kế hệ thống.
  • Người nghiên cứu cần tài liệu mẫu về cách xây dựng đặc tả Use Case chi tiết, xử lý các luồng ngoại lệ (Extension Flow/Exception Flow) và các ràng buộc nghiệp vụ (Business Rules) trong lĩnh vực dịch vụ ăn uống (F&B).
  • Các nhà quản lý nhà hàng vừa và nhỏ muốn tham khảo sơ đồ tổ chức nhân sự và quy trình chuẩn hóa phục vụ bàn ăn 4 giai đoạn.

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

1. Hệ thống quản lý nhà hàng trong đề tài phục vụ những nhóm người dùng nào?
Hệ thống xác định 4 tác nhân tương tác chính gồm: Quản lý (toàn quyền quản trị nhân sự, thực đơn, phân công, báo cáo), Thu ngân (lập, in, sửa hóa đơn, thống kê), Nhân viên (tra cứu món, nhận order, đăng ký ca làm) và Khách hàng (xem hóa đơn, ký xác nhận thanh toán).

2. Đề tài xử lý vấn đề bảo mật và an toàn tài khoản như thế nào?
Hệ thống phân quyền theo chức vụ, mật khẩu người dùng được mã hóa trước khi lưu trữ vào cơ sở dữ liệu. Đồng thời, hệ thống áp dụng quy tắc khóa tài khoản trong 30 phút nếu người dùng nhập sai thông tin đăng nhập 5 lần liên tiếp, hỗ trợ đăng nhập liên kết qua Gmail và Facebook.

3. Các ràng buộc khi thêm mới hoặc xóa một món ăn trong thực đơn là gì?
Khi thêm món, đơn giá bắt buộc phải có kiểu dữ liệu số nguyên (Int) lớn hơn 0 và tính bằng VNĐ, ngày áp dụng giá theo định dạng Date/Time, tên món không được trùng với món sẵn có. Khi xóa món, hệ thống sẽ chặn thao tác nếu món ăn đó đang nằm trong danh sách order của bàn hoặc đã có trong chi tiết hóa đơn.

4. Điểm giới hạn về mặt kỹ thuật của đề tài này là gì?
Đề tài chỉ thực hiện phân tích nghiệp vụ, mô hình hóa Use Case, vẽ biểu đồ tuần tự và thiết kế cơ sở dữ liệu (Class Diagram, E-R, dữ liệu quan hệ) trên cơ sở lý thuyết; chưa tiến hành viết mã nguồn (code) để phát triển thành phần mềm hoàn chỉnh.

5. Quy trình phục vụ khách hàng tại bàn được chuẩn hóa qua các bước nào?
Quy trình gồm 4 bước: (1) Chuẩn bị bàn ghế, vệ sinh và dụng cụ ăn uống trước khi khách đến; (2) Đón khách, hỏi thông tin, dẫn vào bàn theo thứ tự ưu tiên; (3) Đưa menu bên tay phải, ghi nhận order, chuyển cho bếp/bar/thu ngân, phục vụ đồ uống (sau 3–5 phút) và món ăn, chăm sóc trong bữa ăn; (4) Bàn giao cho lễ tân tiễn khách, dọn dẹp bàn và chuẩn bị cho lượt tiếp theo.


Kết luận

Bài tập lớn "Phân tích và thiết kế hệ thống quản lý nhà hàng trong nước" của sinh viên Nông Thị Thủy đã giải quyết trọn vẹn bài toán khảo sát hiện trạng, mô hình hóa nghiệp vụ và thiết kế hệ thống thông tin cho mô hình nhà hàng vừa và nhỏ. Báo cáo cung cấp hệ thống tài liệu đặc tả hoàn chỉnh từ yêu cầu chức năng, phi chức năng, biểu đồ Use Case kèm luồng xử lý ngoại lệ đến thiết kế cấu trúc cơ sở dữ liệu quan hệ. Đây là nền tảng kỹ thuật trực tiếp phục vụ cho việc lập trình và triển khai ứng dụng quản lý nhà hàng trong thực tế.