Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển và được ứng dụng sâu rộng vào nhiều lĩnh vực khoa học, kỹ thuật, quân sự, y tế và quản lý kinh tế, việc hiện đại hóa quy trình vận hành nhà hàng trở thành một yêu cầu cấp thiết. Trước đây, hầu hết các khâu quản lý nhà hàng đều được tiến hành thủ công thông qua sổ sách và trí nhớ của nhân viên, dẫn đến tình trạng mất nhiều thời gian, tốn kém chi phí nhân sự và tài chính, đồng thời dễ phát sinh sai sót trong quá trình theo dõi doanh thu, chấm công và điều phối dịch vụ.
Đề tài "Quản lý nhà hàng" được nhóm sinh viên thuộc Khoa Công nghệ Thông tin, Trường Đại học Công nghiệp Hà Nội thực hiện dưới dạng Báo cáo bài tập lớn môn Phân tích thiết kế hệ thống (năm 2020) dưới sự hướng dẫn của ThS. Nguyễn Thị Hương Lan.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:
- Khảo sát thực tế các khó khăn, vướng mắc trong khâu quản lý nhân sự, khách hàng, thực đơn, đặt bàn, gọi món và thanh toán tại cơ sở kinh doanh ăn uống.
- Thu thập dữ liệu hiện trạng thông qua các phương pháp phỏng vấn, điều tra bằng bảng hỏi và quan sát trực tiếp.
- Xác định các yêu cầu chức năng và phi chức năng cho hệ thống phần mềm quản lý nhà hàng.
- Xây dựng mô hình use case, đặc tả chi tiết các luồng sự kiện chính và luồng sự kiện rẽ nhánh cho từng tác vụ.
- Tiến hành phân tích hệ thống hướng đối tượng: lập biểu đồ lớp thực thể (Entity), biểu đồ trình tự (Sequence Diagram) và biểu đồ lớp phân tích cho từng ca sử dụng.
- Thiết kế giao diện người dùng: phác thảo màn hình, xây dựng biểu đồ lớp màn hình, biểu đồ cộng tác và biểu đồ điều hướng màn hình.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý nhà hàng bao gồm hoạt động của các bộ phận: chủ nhà hàng, kế toán/thu ngân, bếp, lễ tân, bồi bàn và bảo vệ.
- Phạm vi không gian: Khảo sát thực tế tại một số nhà hàng trên địa bàn khu vực Cầu Giấy, Hà Nội; đối tượng khảo sát trọng điểm là Nhà hàng Kiều Hoa (địa chỉ: số 291 Tô Hiệu, Cầu Giấy, Hà Nội).
- Phạm vi thời gian: Đề tài được thực hiện và hoàn thành trong năm 2020, đợt khảo sát thực tế diễn ra vào tháng 9 năm 2020.
Cơ sở lý thuyết và phương pháp
Đề tài vận dụng phương pháp phân tích và thiết kế hệ thống hướng đối tượng (Object-Oriented Analysis and Design - OOAD) thông qua ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language), tập trung vào mô hình hóa hành vi (Use Case Diagram, Sequence Diagram, Collaboration Diagram) và mô hình hóa cấu trúc tĩnh (Class Diagram, Entity Classes, Boundary-Control-Entity).
Nhóm tác giả đã kết hợp ba phương pháp thu thập dữ liệu sơ cấp và thứ cấp trong giai đoạn khảo sát:
| Phương pháp |
Quy cách thực hiện |
Đối tượng và nội dung thu thập |
| Phỏng vấn |
Phỏng vấn bán cấu trúc theo phiếu phỏng vấn chuẩn bị trước (thời lượng 25 phút, thực hiện từ 15h00 đến 15h30 ngày 23/09/2020). |
Người được hỏi: Chị Nguyễn Thị Hoa tại Nhà hàng Kiều Hoa. Bộ câu hỏi gồm 10 nội dung về: quản lý hạn nguyên liệu, thời gian làm việc của nhân viên, kiểm soát doanh số, báo cáo kinh doanh, quản lý thông tin khách hàng, thống kê thực đơn, xử lý thanh toán không dùng tiền mặt và giải quyết khiếu nại lương. |
| Điều tra bằng bảng hỏi |
Phiếu điều tra gồm 8 câu hỏi trắc nghiệm và tự luận. |
Thu thập ý kiến về: độ dễ sử dụng và tính hiệu quả của phần mềm quản lý nhân viên; mức độ chặt chẽ của quản lý tài chính; tầm quan trọng của quản lý hàng hóa; tốc độ xử lý sự cố; tính tiện dụng của quản lý đặt bàn; tính cần thiết của điều hành công việc hàng ngày; hiệu quả đánh giá phục vụ. |
| Quan sát |
Phương pháp lấy mẫu theo thời gian: tiến hành trong 3 ngày, mỗi ngày 10 phút ngẫu nhiên trong khung giờ làm việc 8 tiếng. |
Quan sát tác vụ thực tế của: Nhân viên lễ tân (đặt bàn qua điện thoại); Nhân viên kế toán (thống kê doanh thu hàng ngày qua sổ giấy); Ban quản lý (chấm công thủ công trên sổ). |
Nguồn dữ liệu hiện vật thu thập từ thực địa gồm có: Thực đơn món ăn (Menu nhà hàng) và Bảng chấm công nhân viên.
Nội dung chính theo từng chương
Chương 1. Khảo sát hệ thống
Chương 1 trình bày tổng quan về mục tiêu khảo sát, phương pháp luận tiếp cận và kết quả sơ bộ tại cơ sở khảo sát thực tế (Nhà hàng Kiều Hoa, 291 Tô Hiệu, Cầu Giấy, do anh Nguyễn Văn Trung và cộng sự sáng lập). Chương này làm rõ cơ cấu tổ chức và chức năng, nhiệm vụ của từng bộ phận:
- Chủ nhà hàng: Điều hành, giám sát và quản lý chung toàn bộ hoạt động kinh doanh và nhân sự.
- Bộ phận Bếp: Tiếp nhận thông tin gọi món, chế biến món ăn bảo đảm chất lượng và tính thẩm mỹ.
- Bộ phận Kế toán / Thu ngân: Kiểm soát hóa đơn, tiếp nhận chứng từ, kiểm tra giá nhập hàng, quản lý định mức tồn kho, quản lý tài sản - công cụ dụng cụ, lập thang bảng lương và báo cáo tài chính.
- Bộ phận Quản lý và Phục vụ: Lễ tân đón/tiễn khách và tiếp nhận đặt bàn; Bồi bàn sắp xếp chỗ ngồi, ghi nhận yêu cầu gọi món và dọn dẹp; Bảo vệ giữ gìn trật tự và bảo vệ tài sản.
Trên cơ sở phân tích hiện trạng ghi chép sổ sách thủ công, chương 1 xác lập hệ thống yêu cầu:
- Yêu cầu chức năng: Đăng nhập cho thành viên nhà hàng; Quản lý thông tin Nhân viên; Quản lý thông tin Món ăn; Gọi món theo yêu cầu của Khách hàng; Đặt bàn theo yêu cầu của Khách hàng; Thanh toán.
- Yêu cầu phi chức năng: Độ tin cậy cao; Khả năng tương tác và tiếp nhận thông tin nhanh; Bảo mật thông tin nhân viên; Dễ dàng bảo trì; Khả năng lưu trữ khối lượng lớn dữ liệu; Tiện lợi cho công tác quản lý.
Chương 2. Mô hình hóa use case
Chương 2 mô tả cấu trúc chức năng của hệ thống dưới dạng sơ đồ ca sử dụng (Use Case Diagram), phân tách các use case chính, use case thứ cấp và sơ đồ phân rã chức năng.
Tài liệu cung cấp bảng đặc tả chi tiết 12 use case nghiệp vụ cốt lõi:
- Đăng nhập: Xác thực người dùng thông qua bảng dữ liệu Tài Khoản.
- Thêm nhân viên: Nhập thông tin nhân sự (Tên, Địa chỉ, Ngày sinh, Giới tính, SĐT, Chức vụ) và lưu vào bảng Nhân Viên.
- Xóa nhân viên: Tra cứu nhân sự và xóa bản ghi khỏi bảng Nhân Viên.
- Chỉnh sửa thông tin nhân viên: Hiển thị dữ liệu cũ, tiếp nhận thông tin chỉnh sửa và cập nhật bảng Nhân Viên.
- Xem thông tin nhân viên: Hiển thị chi tiết các trường dữ liệu của nhân viên được chọn.
- Thêm món ăn: Nhập thông tin món mới (Tên món, Mô tả, Giá) và ghi vào bảng Món Ăn.
- Xóa món ăn: Xóa bản ghi món ăn khỏi cơ sở dữ liệu.
- Chỉnh sửa thông tin món ăn: Cập nhật thông tin mô tả, giá cả của món ăn vào bảng Món Ăn.
- Xem thông tin món ăn: Tra cứu thông tin chi tiết của món ăn trong thực đơn.
- Đặt bàn: Kiểm tra trạng thái bàn tại bảng Bàn (trống/đã đặt), chuyển trạng thái sang "Đã Đặt", lưu thông tin khách hàng vào bảng Khách Hàng và lưu lịch hẹn vào bảng Bàn Đặt.
- Thanh toán: Truy xuất thông tin tiêu dùng từ bảng HOA DON, hiển thị chi tiết các món đã gọi và thực hiện in hóa đơn thanh toán.
- Gọi món: Lựa chọn bàn có trạng thái "Đã Đặt" từ bảng Bàn Đặt, chọn món từ bảng Món Ăn và ghi nhận danh mục vào bảng Chi Tiết Gọi Món.
Tất cả các use case đều được xây dựng với luồng sự kiện cơ bản, các bước xác nhận và luồng sự kiện rẽ nhánh (xử lý sự cố ngắt kết nối cơ sở dữ liệu hoặc thông tin không hợp lệ).
Chương 3. Phân tích use case
Chương 3 đi sâu vào thiết kế logic hướng đối tượng thông qua việc mô hình hóa biểu đồ các lớp thực thể (Entity Class Diagram) và phân tích hành vi từng use case. Mỗi use case được phân tích cụ thể qua hai thành phần: Biểu đồ trình tự (Sequence Diagram) thể hiện sự tương tác theo thời gian giữa các đối tượng Boundary, Control và Entity; và Biểu đồ lớp phân tích (Analysis Class Diagram).
Nhóm nghiên cứu đã phân công nhiệm vụ cụ thể cho từng thành viên chịu trách nhiệm phân tích:
- Nguyễn Xuân Kiên: Phân tích use case Đăng nhập và use case Đặt bàn.
- Phạm Hoài Nam: Phân tích nhóm use case quản lý nhân sự gồm: Thêm nhân viên, Xóa nhân viên, Chỉnh sửa thông tin nhân viên và Xem thông tin nhân viên.
- Nguyễn Bảo Lâm: Phân tích nhóm use case quản lý thực đơn gồm: Thêm món ăn, Xóa món ăn, Chỉnh sửa món ăn và Xem thông tin món ăn.
- Khổng Ngọc Lâm: Phân tích nhóm use case phục vụ gồm: Thanh toán và Gọi món.
Chương này cũng tổng hợp Biểu đồ các lớp phân tích cho toàn bộ hệ thống, chia theo nhóm use case chính và nhóm use case thứ cấp.
Chương 4. Thiết kế giao diện
Chương 4 hoàn thiện quy trình phân tích thiết kế bằng việc cụ thể hóa mô hình lớp thành các giao diện tương tác người dùng. Đối với mỗi use case trong số 12 use case, báo cáo xây dựng:
- Hình dung màn hình (Screen Mockup): Phác thảo trực quan các nút bấm, trường nhập dữ liệu (Form) và bảng hiển thị.
- Biểu đồ lớp màn hình (Screen Class Diagram): Định nghĩa cấu trúc các lớp giao diện và các phương thức xử lý sự kiện tương ứng.
- Biểu đồ cộng tác màn hình (Screen Collaboration Diagram): Thể hiện mối liên kết và thông điệp truyền tải giữa các thành phần giao diện khi người dùng thao tác.
Cuối chương, báo cáo trình bày Biểu đồ điều hướng giữa các màn hình (Screen Navigation Diagram) cho cả nhóm use case chính và nhóm use case thứ cấp, mô tả luồng di chuyển của người dùng giữa màn hình đăng nhập, menu chính, các phân hệ quản trị và phân hệ nghiệp vụ thu ngân/phục vụ.
Thiết kế và triển khai
Hệ thống quản lý nhà hàng được nhóm tác giả thiết kế dựa trên mô hình ba lớp phân tích (Boundary - Control - Entity) với các thực thể dữ liệu chính được trích xuất từ các bảng cơ sở dữ liệu:
| Bảng dữ liệu / Thực thể |
Các thuộc tính dữ liệu quản lý |
Chức năng nghiệp vụ liên quan |
| Tài Khoản |
Tên đăng nhập, Mật khẩu, Quyền hạn |
Xác thực và phân quyền người dùng trong hệ thống. |
| Nhân Viên |
Mã nhân viên, Tên nhân viên, Địa chỉ, Ngày sinh, Giới tính, Số điện thoại, Chức vụ |
Quản lý hồ sơ nhân sự, hiển thị danh sách, chấm công và phân quyền. |
| Món Ăn |
Mã món ăn, Tên món ăn, Mô tả, Đơn giá |
Quản lý danh mục thực đơn, cập nhật giá và thông tin món. |
| Bàn |
Số hiệu bàn, Trạng thái (Trống / Đã đặt) |
Quản lý sơ đồ bàn và tình trạng sử dụng bàn trong nhà hàng. |
| Khách Hàng |
Mã khách hàng, Tên khách hàng, Số điện thoại, Địa chỉ |
Lưu trữ thông tin phục vụ cho việc đặt bàn và xuất hóa đơn. |
| Bàn Đặt |
Mã đặt bàn, Số hiệu bàn, Mã khách hàng, Ngày đặt bàn, Trạng thái |
Theo dõi lịch hẹn đặt bàn của thực khách. |
| Chi Tiết Gọi Món |
Mã gọi món, Mã đặt bàn / Số bàn, Mã món ăn, Số lượng, Thời gian |
Ghi nhận chi tiết các món ăn khách đã gọi để chuyển cho bộ phận bếp. |
| HOA DON |
Mã hóa đơn, Số hiệu bàn, Mã nhân viên, Tên khách hàng, Số điện thoại, Địa chỉ, Mã món, Tên món, Ngày lập, Số lượng, Đơn giá, Thành tiền |
Tổng hợp dữ liệu tiêu dùng, tính toán tiền thanh toán và in hóa đơn. |
Về mặt xử lý ngoại lệ, thiết kế hệ thống quy định rõ các điểm kiểm soát:
- Nếu mất kết nối cơ sở dữ liệu tại bất kỳ thời điểm nào của luồng xử lý, hệ thống đưa ra thông báo lỗi và kết thúc use case an toàn.
- Khi nhập sai thông tin đăng nhập, hệ thống phát cảnh báo và điều hướng người dùng quay lại biểu mẫu nhập liệu.
- Trong các thao tác thay đổi dữ liệu nhạy cảm (Xóa nhân viên, Xóa món ăn), hệ thống luôn hiển thị màn hình xác nhận trung gian và cho phép người dùng chọn nút "Hủy" để khôi phục trạng thái ban đầu.
Kết quả và đóng góp
Báo cáo bài tập lớn đã đạt được các kết quả cụ thể:
- Tài liệu khảo sát hiện trạng chi tiết: Cung cấp hồ sơ khảo sát hoàn chỉnh về quy trình vận hành nhà hàng tại địa bàn Cầu Giấy, Hà Nội, bao gồm kế hoạch phỏng vấn, phiếu phỏng vấn 10 câu, phiếu điều tra 8 câu và nhật ký quan sát 3 ngày tại Nhà hàng Kiều Hoa.
- Hệ thống đặc tả use case hoàn chỉnh: Xây dựng chi tiết 12 use case nghiệp vụ bao phủ các chức năng cốt lõi (Đăng nhập, Quản lý nhân sự 4 chức năng, Quản lý món ăn 4 chức năng, Đặt bàn, Gọi món, Thanh toán).
- Mô hình hóa hướng đối tượng chuẩn UML: Hoàn thành 12 biểu đồ trình tự, 12 biểu đồ lớp phân tích, sơ đồ lớp thực thể Entity và biểu đồ điều hướng màn hình.
- Thiết kế giao diện người dùng: Cung cấp đầy đủ thiết kế phác thảo màn hình, biểu đồ lớp màn hình và biểu đồ cộng tác cho toàn bộ các chức năng.
- Đóng góp về mặt nghiệp vụ: Đề xuất phương án số hóa quy trình quản lý nhà hàng, khắc phục triệt để các nhược điểm của phương pháp ghi chép thủ công trên sổ sách (chấm công thủ công, tính doanh thu thủ công, nhận đặt bàn qua điện thoại không có cơ sở dữ liệu đồng bộ).
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Phạm vi khảo sát thực tế mới chỉ tập trung vào một số nhà hàng đơn lẻ tại khu vực Cầu Giấy (chủ yếu là Nhà hàng Kiều Hoa), chưa mở rộng khảo sát trên các mô hình chuỗi nhà hàng quy mô lớn.
- Nội dung tài liệu dừng lại ở giai đoạn khảo sát, phân tích hệ thống và thiết kế giao diện/lớp màn hình; chưa bao gồm giai đoạn lập trình mã nguồn (implementation), xây dựng cơ sở dữ liệu vật lý và kiểm thử phần mềm trên môi trường thực tế.
- Hướng nghiên cứu tiếp:
- Lập trình hoàn thiện hệ thống ứng dụng phần mềm dựa trên các biểu đồ thiết kế đã xây dựng.
- Bổ sung các phân hệ mở rộng theo gợi ý từ phiếu khảo sát: quản lý thời hạn nguyên liệu thực phẩm nhập kho, tích hợp hình thức thanh toán không dùng tiền mặt và chức năng đánh giá chất lượng phục vụ của nhân viên.
Giá trị tham khảo
Tài liệu là nguồn tham khảo trực tiếp cho sinh viên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm đang thực hiện bài tập lớn, đồ án môn học Phân tích thiết kế hệ thống hoặc Đồ án tốt nghiệp:
- Tham khảo phương pháp xây dựng kế hoạch và bộ công cụ khảo sát hiện trạng (phiếu phỏng vấn, phiếu điều tra, quan sát lấy mẫu theo thời gian).
- Tham khảo cấu trúc đặc tả use case chuẩn mực, kết hợp đầy đủ luồng cơ bản, luồng rẽ nhánh và các điều kiện ràng buộc.
- Cung cấp mô hình tham chiếu hoàn chỉnh về việc chuyển đổi từ use case sang Biểu đồ trình tự, Biểu đồ lớp phân tích (Boundary - Control - Entity) và Biểu đồ lớp màn hình trong bài toán quản lý nhà hàng.
Câu hỏi thường gặp
Đề tài thực hiện khảo sát thực tế tại địa điểm cụ thể nào và thu thập những tài liệu gì?
Đề tài khảo sát trực tiếp tại Nhà hàng Kiều Hoa (địa chỉ: 291 Tô Hiệu, Cầu Giấy, Hà Nội) vào ngày 23/09/2020. Các tài liệu hiện vật thu thập được gồm có Menu thực đơn nhà hàng và Bảng chấm công nhân viên.
Nhiệm vụ phân tích thiết kế giữa các thành viên trong nhóm sinh viên được phân công như thế nào?
Nhóm gồm 4 sinh viên lớp CNTT5K13: Nguyễn Xuân Kiên phụ trách use case Đăng nhập và Đặt bàn; Phạm Hoài Nam phụ trách nhóm use case Quản lý nhân viên (Thêm, Xóa, Sửa, Xem); Nguyễn Bảo Lâm phụ trách khảo sát phỏng vấn và nhóm use case Quản lý món ăn (Thêm, Xóa, Sửa, Xem); Khổng Ngọc Lâm phụ trách use case Gọi món và Thanh toán.
Use case "Đặt bàn" ghi nhận và cập nhật những thông tin gì vào hệ thống?
Use case "Đặt bàn" truy cập bảng Bàn để kiểm tra các bàn có trạng thái trống, chuyển trạng thái bàn sang "Đã Đặt", lưu thông tin khách hàng (Tên khách hàng, Số điện thoại, Địa chỉ) vào bảng Khách Hàng, đồng thời lưu ngày đặt và thông tin bàn vào bảng Bàn Đặt.
Use case "Thanh toán" hiển thị những thông tin chi tiết nào trên hóa đơn?
Hệ thống truy xuất từ bảng HOA DON để hiển thị và in hóa đơn gồm: Mã hóa đơn, Số hiệu bàn, Mã nhân viên, Tên khách hàng, Số điện thoại, Địa chỉ, Mã món, Tên món, Ngày lập, Số lượng, Đơn giá và Thành tiền.
Phương pháp quan sát hiện trạng tại nhà hàng được thực hiện theo quy cách nào?
Nhóm tác giả sử dụng phương pháp quan sát lấy mẫu theo thời gian trong 3 ngày, mỗi ngày 10 phút ngẫu nhiên từ ca làm việc 8 giờ, tập trung theo dõi hoạt động của nhân viên lễ tân (đặt bàn qua điện thoại), kế toán (thống kê doanh thu qua sổ) và ban quản lý (chấm công qua sổ).
Kết luận
Báo cáo bài tập lớn "Phân tích thiết kế hệ thống Quản lý nhà hàng" của nhóm sinh viên Trường Đại học Công nghiệp Hà Nội đã thực hiện đầy đủ quy trình nghiên cứu khảo sát và mô hình hóa hướng đối tượng cho bài toán tin học hóa quản trị nhà hàng. Thông qua việc ứng dụng công cụ UML, đề tài đã đặc tả chi tiết 12 use case nghiệp vụ, xây dựng hệ thống biểu đồ trình tự, biểu đồ lớp phân tích và phác thảo hoàn chỉnh các lớp giao diện tương tác. Đây là tài liệu mang giá trị học thuật và thực tiễn cao, đóng vai trò làm nền tảng vững chắc cho quá trình hiện thực hóa phần mềm quản lý nhà hàng hoàn chỉnh.