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 mạnh mẽ và trở thành công cụ không thể thiếu trong mọi hoạt động sản xuất kinh doanh, việc số hóa quy trình vận hành ngành dịch vụ ăn uống (F&B) ngày càng trở nên cấp thiết. Tại các cơ sở kinh doanh ẩm thực, phương thức quản lý thủ công truyền thống qua sổ sách thường bộc lộ nhiều hạn chế như: dễ nhầm lẫn thông tin gọi món, chậm trễ trong khâu thanh toán, khó khăn trong việc kiểm soát thất thoát nguyên vật liệu, quản lý nhân sự phức tạp và tốn nhiều thời gian tổng hợp báo cáo doanh thu cuối ngày.

Đề tài "Xây dựng phần mềm quản lý nhà hàng cho nhà hàng Phương Nam tại thành phố Thủ Dầu Một" được nhóm sinh viên Bùi Chí Thiện, Nguyễn Thị Huyền và Nguyễn Vĩnh Hưng (thuộc Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một) thực hiện dưới sự hướng dẫn của ThS. Trần Văn Tài vào tháng 7 năm 2022. Đề tài tập trung giải quyết bài toán tự động hóa quy trình quản lý thực tế tại Nhà hàng Phương Nam.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Khảo sát và chuẩn hóa quy trình nghiệp vụ thực tế tại Nhà hàng Phương Nam (thực đơn, phục vụ, thu ngân, kho, nhân sự, tài chính).
  2. Phân tích và thiết kế hệ thống thông tin quản lý nhà hàng hoàn chỉnh, bao gồm sơ đồ ca sử dụng (Use Case), sơ đồ tuần tự và cơ sở dữ liệu quan hệ.
  3. Xây dựng và triển khai phần mềm quản lý trên nền tảng máy tính để bàn (Desktop Application) với giao diện trực quan, dễ thao tác, đảm bảo tính chính xác và an toàn dữ liệu.
  4. Tích hợp các phân hệ chức năng chuyên biệt: quản lý thực đơn, đặt bàn - chuyển bàn, lập hóa đơn thanh toán, quản lý kho nguyên liệu, chấm công - tính lương nhân viên và xuất báo cáo thống kê doanh thu.

Đối tượng nghiên cứu là chương trình phần mềm quản lý nhà hàng trên môi trường Windows. Phạm vi nghiên cứu về mặt không gian được giới hạn tại Nhà hàng Phương Nam ở thành phố Thủ Dầu Một, tỉnh Bình Dương; phạm vi thời gian hoạt động của mô hình là khung giờ từ 7h00 đến 23h00 hàng ngày, phục vụ các đối tượng người dùng nội bộ gồm: quản lý, kế toán, lễ tân, thủ kho và nhân viên bán hàng.

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

Về mặt công nghệ và lý thuyết, đề tài ứng dụng các nền tảng kỹ thuật lập trình hướng đối tượng và cơ sở dữ liệu quan hệ:

  • Ngôn ngữ lập trình C#: Ngôn ngữ thuần hướng đối tượng do Microsoft phát triển từ năm 2000 (dưới sự dẫn dắt của Anders Hejlsberg và Scott Wiltamuth), vận hành trên môi trường Common Language Infrastructure (CLI) và .NET Framework. C# cung cấp các cấu trúc hiện đại như kiểu var, generic, collection, biểu thức lambda, lập trình không đồng bộ và hỗ trợ thiết kế Windows Forms tối ưu.
  • Môi trường phát triển tích hợp (IDE): Microsoft Visual Studio 2019.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) hoạt động theo mô hình Máy khách – Máy chủ (Client - Server), hỗ trợ lưu trữ dữ liệu có cấu trúc, phân quyền và truy vấn SQL hiệu năng cao.
  • Bộ công cụ thành phần DevExpress: Thư viện giao diện người dùng chuyên nghiệp cho Windows Forms (.NET), cung cấp hệ thống điều khiển giao diện (Controls), công cụ hiển thị biểu đồ phân tích (XtraCharts) và công cụ thiết kế, xuất báo cáo (XtraReports).

Phương pháp nghiên cứu được triển khai theo hai hướng:

  • Phương pháp nghiên cứu lý thuyết: Nghiên cứu tài liệu về lập trình hệ thống trên môi trường Windows, kỹ thuật phân tích dữ liệu, phương pháp phân tích thiết kế hướng đối tượng (OOAD) và an toàn bảo mật thông tin.
  • Phương pháp nghiên cứu thực hành: Khảo sát thực tế cơ cấu tổ chức, quy trình phục vụ và chu trình dòng tiền tại Nhà hàng Phương Nam; thu thập dữ liệu về danh mục món ăn (hải sản, nông sản, buffet, đồ uống), định mức nguyên liệu và bảng lương nhân viên; xây dựng ứng dụng theo kiến trúc 3 lớp (3-tier architecture).

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc 3 lớp nhằm tách biệt các tầng xử lý: Tầng giao diện (Presentation Layer), Tầng xử lý nghiệp vụ (Business Logic Layer) và Tầng truy xuất dữ liệu (Data Access Layer).

Mô hình phân quyền tác nhân (Actor)

Hệ thống phân định rõ quyền hạn và nhiệm vụ của 5 tác nhân chính trong nhà hàng:

Tác nhân (Actor) Quyền hạn và phạm vi chức năng
Quản lý Toàn quyền quản lý hệ thống: tạo và phân quyền tài khoản, quản lý danh sách nhân viên, phân công nhiệm vụ, giám sát tiến độ công việc, quản lý bảng lương.
Kế toán Kiểm tra dòng tiền cuối ngày, tìm kiếm và xem chi tiết hóa đơn, thực hiện thống kê doanh thu theo ngày/tháng/quý/năm và xuất báo cáo.
Lễ tân Tra cứu trạng thái bàn (trống/có người), lập phiếu dịch vụ, tiếp nhận gọi món và lập hóa đơn thanh toán cho khách hàng.
Thủ kho Quản lý kho hàng: lập phiếu nhập hàng, lập phiếu xuất hàng, kiểm kê hàng hóa định kỳ và theo dõi hàng tồn kho.
Nhân viên bán hàng Tiếp nhận đặt bàn, gọi món ăn/thức uống, thực hiện thao tác chuyển bàn và ghi nhận đánh giá chất lượng sản phẩm từ khách hàng.

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

Hệ thống xây dựng 11 bảng dữ liệu trên MySQL nhằm lưu trữ toàn bộ hoạt động nghiệp vụ:

Tên bảng Khóa chính (PK) / Khóa ngoại (FK) Các trường dữ liệu chính Diễn giải nghiệp vụ
ban PK: Id tenban, trangthai Quản lý thông tin bàn ăn và trạng thái bàn
danhmuc PK: Id Tendanhmuc Phân loại danh mục thức ăn, đồ uống
thucan PK: Id Tenmon, Iddanhmuc (FK), Gia Danh sách thực đơn món ăn và đơn giá
chitietthucan FK: Idthucan Nguyenlieu, Congthuc Công thức và nguyên liệu tạo nên món ăn
hoadon PK: Id Ngayvao, Ngayra, Idban (FK), Trangthai Hóa đơn bán hàng theo bàn và mốc thời gian
chitiethoadon FK: Idhoadon, Idthucan Soluong, Giamgia, Tongtien Chi tiết số lượng, chiết khấu từng món trên hóa đơn
nhanvien PK: maNV tenNV, Chucvu, Diachi, Email, SDT Hồ sơ thông tin cá nhân của nhân sự
taikhoan PK: Taikhoan Tenhienthi, Matkhau, loaiTK Thông tin đăng nhập và cấp độ phân quyền
phancong FK: MaNV Nhiemvu Bảng phân bổ ca làm việc và nhiệm vụ nhân sự
luong FK: maNV Luong1ngay, Songay, Ngaynghi, Phucap, Diemchuyencan Dữ liệu chấm công, chuyên cần và tính lương
Khachhangthanthiet PK: MaKH tenKH, DiaChi, SDT, Hinhanh Quản lý thông tin và hình ảnh khách hàng thân thiết

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

CHƯƠNG 1: GIỚI THIỆU CHUNG

Chương này trình bày tổng quan về đề tài:

  • Lý do chọn đề tài: Nhận diện những bất cập trong quản lý nhà hàng thủ công (hóa đơn, thất thoát doanh thu, kiểm soát tồn kho) và sự cần thiết của ứng dụng tin học hóa.
  • Mục đích nghiên cứu: Xây dựng phần mềm quản lý thân thiện, chính xác, bảo mật, đáp ứng 4 khối nghiệp vụ chính: quản lý khách hàng, quản lý hóa đơn, quản lý bàn ăn và quản lý món ăn.
  • Đối tượng và phạm vi: Phần mềm hướng tới đối tượng quản lý và khách hàng tại địa bàn TP. Thủ Dầu Một, tiếp cận qua phương pháp nghiên cứu lý thuyết hệ thống và thực hành lập trình ứng dụng.
  • Mô tả bài toán tổng quát: Hệ thống hóa luồng thông tin thực đơn (mã món, tên món, đơn giá, đơn vị tính, mô tả), thông tin nhân viên (mã, họ tên, giới tính, ngày sinh, liên hệ), quy trình gọi món của thu ngân/lễ tân, quy trình kiểm toán cuối ngày và các phương thức thanh toán (tiền mặt, ngân hàng).

CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ

Tập trung phân tích nền tảng công nghệ được lựa chọn cho dự án:

  • Ngôn ngữ C#: Khái quát nguồn gốc từ Microsoft, các đặc điểm hướng đối tượng, kiến trúc CLI, cú pháp tiếp thu từ C++ và Java. Phân tích ưu điểm về khả năng thiết kế Windows Forms, tích hợp .NET, hỗ trợ gỡ lỗi mạnh mẽ trên Visual Studio; đồng thời nêu rõ nhược điểm về việc tối ưu chủ yếu trên hệ điều hành Windows.
  • Hệ quản trị CSDL MySQL: Phân tích cơ chế hoạt động Client-Server, cách thức máy khách gửi câu truy vấn SQL và máy chủ phản hồi. Đánh giá ưu điểm về tốc độ, tính bảo mật cao, khả năng mở rộng và hoàn toàn miễn phí.
  • Thư viện DevExpress: Giới thiệu bộ công cụ thành phần xuất hiện từ năm 2011 (phiên bản v18). Trình bày các module: WinForms Controls, XtraCharts, XtraReports, XPO. Phân tích ưu điểm vượt trội trong việc tự co giãn giao diện, hỗ trợ UI hiện đại và nhược điểm về dung lượng bộ thư viện nặng khi khởi động lần đầu cũng như chi phí bản quyền thương mại (2199 USD/năm).

CHƯƠNG 3: KHẢO SÁT HỆ THỐNG

Khảo sát chi tiết môi trường vận hành thực tế tại Nhà hàng Phương Nam:

  • Yêu cầu đề tài: Mô hình nhà hàng cung cấp đa dạng các món ăn hải sản, nông sản, hàng nhập khẩu, buffet và thức uống; thời gian phục vụ từ 7h00 đến 23h00.
  • Sơ đồ nhân sự: Cơ cấu tổ chức gồm 5 cấp bậc trực thuộc: Chủ cửa hàng $\rightarrow$ Quản lý $\rightarrow$ Lễ tân, Kế toán, Thủ kho, Nhân viên bán hàng.
  • Quá trình nghiệp vụ chuẩn hóa:
    • Phía khách hàng: Đăng nhập $\rightarrow$ Đặt bàn $\rightarrow$ Chọn món $\rightarrow$ Chọn hình thức thanh toán (tiền mặt hoặc chuyển khoản ngân hàng).
    • Phía nhà hàng: Lễ tân xác nhận và lập hóa đơn theo thời gian thực; Quản lý cập nhật thực đơn, điều chỉnh giá món, phân công nhân viên và tính lương; Thủ kho lập phiếu nhập/xuất và kiểm kê hàng tồn kho; Kế toán kiểm kê dữ liệu doanh thu và đối chiếu dòng tiền cuối ngày để báo cáo chủ nhà hàng.

CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Chương này hiện thực hóa các mô hình phân tích kỹ thuật:

  • Hệ thống Use Case: Thiết lập danh mục 24 ca sử dụng (UC1 đến UC24) bao gồm: Đăng nhập (UC1), Chuyển bàn (UC2), Đặt bàn (UC3), Đánh giá chất lượng sản phẩm dịch vụ (UC4), Thống kê doanh thu (UC5), Tìm hóa đơn (UC6), Xem thông tin hóa đơn (UC7), Tra cứu bàn (UC8), Lập phiếu dịch vụ (UC9), Lập hóa đơn (UC10), Tạo tài khoản (UC11), Tìm tài khoản (UC12), Xem thông tin nhân viên (UC13), Giám sát tiến độ làm việc (UC14), Tạo phiếu nhập hàng (UC15), Tạo phiếu xuất hàng (UC16), Kiểm kê hàng hóa (UC17), Kiểm kê hàng tồn (UC18), Tạo phiếu trả hàng (UC19), Quản lý bàn (UC20), Quản lý thực đơn (UC21), Quản lý lương (UC22), Quản lý nhân viên (UC23), Quản lý khách hàng thân thiết (UC24).
  • Đặc tả Use Case chi tiết: Trình bày rõ ràng dòng sự kiện chính (Main Flow), dòng sự kiện phụ (Alternative Flow) và điều kiện tiên quyết cho từng chức năng.
  • Sơ đồ tuần tự (Sequence Diagram): Thiết lập trình tự tương tác giữa giao diện, tầng xử lý và cơ sở dữ liệu cho các tác vụ trọng yếu: Đặt bàn, Thanh toán, Quản lý doanh thu, Quản lý tài khoản, Quản lý nhân viên và Quản lý lương.
  • Thiết kế cơ sở dữ liệu: Mô tả chi tiết 11 bảng dữ liệu với đầy đủ kiểu dữ liệu, ràng buộc khóa chính (PK), khóa ngoại (FK) và thuộc tính Not NULL.

CHƯƠNG 5: GIAO DIỆN PHẦN MỀM

Hiện thực hóa các phân hệ giao diện của chương trình trên Windows Forms:

  • Giao diện xác thực và hệ thống: Giao diện Trang chủ, Đăng nhập (yêu cầu cấp tài khoản và mật khẩu), Phòng chờ, Thông tin tài khoản và Đổi mật khẩu.
  • Giao diện vận hành phục vụ: Giao diện Đặt bàn tích hợp bộ lọc trực quan (lọc bàn đang trống, lọc bàn có người, nút tải lại trạng thái bàn), Giao diện Thêm món (chọn món, xem chi tiết công thức, thành tiền).
  • Giao diện quản trị hệ thống: Phân hệ quản lý danh mục món ăn, quản lý thức ăn, quản lý nguyên liệu, quản lý bàn ăn, quản lý tài khoản người dùng, quản lý hồ sơ nhân viên, quản lý phân công ca trực và quản lý khách hàng thân thiết.
  • Hệ thống báo cáo và thống kê: Biểu đồ thống kê doanh thu trực quan (DevExpress XtraCharts), giao diện quản lý chi tiết doanh thu món ăn, Report thống kê doanh thu, Report bảng lương nhân viên và Report bảng phân công nhiệm vụ (DevExpress XtraReports).

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

Đề tài đã hoàn thành các kết quả kỹ thuật và nghiệp vụ:

  • Xây dựng thành công ứng dụng máy tính để bàn hoàn chỉnh bằng ngôn ngữ C# trên môi trường Visual Studio 2019, kết nối đồng bộ với cơ sở dữ liệu MySQL.
  • Hoàn thiện hệ thống phân tích thiết kế với 5 nhóm tác nhân, 24 ca sử dụng được đặc tả chi tiết và mô hình cơ sở dữ liệu quan hệ gồm 11 bảng chuẩn hóa.
  • Tích hợp thành công thư viện DevExpress v18 giúp giao diện quản lý đạt tính thẩm mỹ cao, hỗ trợ vẽ biểu đồ doanh thu tự động và kết xuất 3 mẫu báo cáo in ấn (Doanh thu, Bảng lương, Bảng phân công).
  • Đóng góp vào việc tối ưu hóa quy trình vận hành tại Nhà hàng Phương Nam: giảm thời gian phục vụ, hạn chế sai sót khi lập hóa đơn, hỗ trợ thu ngân đối chiếu tiền mặt chính xác với hệ thống vào cuối ngày và minh bạch hóa khâu tính lương, định mức nguyên liệu.

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

Dựa trên nội dung nghiên cứu và phạm vi triển khai, đề tài ghi nhận một số hạn chế và định hướng phát triển:

  • Hạn chế:
    • Ứng dụng mới chỉ dừng lại ở phiên bản Windows Forms trên máy tính để bàn (PC), chưa hỗ trợ giao diện web hay thiết bị di động để nhân viên phục vụ gọi món tại bàn hoặc khách hàng tự đặt món trực tuyến từ xa.
    • Phụ thuộc vào bộ thư viện DevExpress thương mại có chi phí bản quyền cao và thời gian tải gói thư viện khá nặng trong lần khởi động đầu tiên.
    • Dữ liệu phục vụ quản lý tập trung cho một điểm nhà hàng duy nhất, chưa mở rộng kiến trúc đồng bộ dữ liệu cho chuỗi nhiều chi nhánh.
  • Hướng phát triển:
    • Mở rộng hệ thống sang nền tảng ứng dụng di động (Mobile App) và Website để tăng tính tiện lợi cho khách hàng và nhân viên.
    • Tích hợp cổng thanh toán trực tuyến tự động qua mã QR ngân hàng hoặc ví điện tử.
    • Tối ưu hóa hiệu năng nạp dữ liệu và mở rộng mô hình quản trị chuỗi nhà hàng đa địa điểm.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho:

  • Sinh viên các ngành Công nghệ thông tin, Kỹ thuật phần mềm đang thực hiện tiểu luận môn học Lập trình Windows, Đồ án cơ sở ngành hoặc Khóa luận tốt nghiệp về đề tài phần mềm quản lý bán hàng / F&B.
  • Người học cần tài liệu mẫu chuẩn về quy trình phân tích thiết kế hệ thống thông tin: từ khảo sát nghiệp vụ thực tế, xây dựng sơ đồ Use Case, phân quyền tác nhân, thiết kế sơ đồ tuần tự đến định nghĩa chi tiết bảng dữ liệu MySQL.
  • Lập trình viên .NET muốn tham khảo phương pháp tích hợp thư viện DevExpress (XtraCharts, XtraReports) vào ứng dụng Windows Forms để thiết kế giao diện và kết xuất báo cáo thống kê.

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

1. Phần mềm quản lý Nhà hàng Phương Nam được xây dựng bằng những công nghệ chính nào? Hệ thống được phát triển bằng ngôn ngữ C# trên nền tảng .NET Framework, sử dụng công nghệ Windows Forms trên môi trường Visual Studio 2019, hệ quản trị cơ sở dữ liệu quan hệ MySQL và bộ thư viện giao diện/báo cáo DevExpress.

2. Hệ thống phân quyền cho bao nhiêu nhóm tác nhân và gồm những vai trò nào? Hệ thống phân quyền cho 5 nhóm tác nhân (Actor) chính: Quản lý (toàn quyền hệ thống, nhân sự, bảng lương), Kế toán (doanh thu, hóa đơn), Lễ tân (tra cứu bàn, lập phiếu dịch vụ, lập hóa đơn), Thủ kho (nhập, xuất, kiểm kê kho) và Nhân viên bán hàng (đặt bàn, gọi món, chuyển bàn, ghi nhận đánh giá).

3. Cơ sở dữ liệu của phần mềm bao gồm những bảng chính nào? Cơ sở dữ liệu MySQL của phần mềm gồm 11 bảng: ban, chitiethoadon, chitietthucan, danhmuc, hoadon, Khachhangthanthiet, luong, nhanvien, phancong, taikhoanthucan.

4. Quy trình kiểm toán và kết thúc ca làm việc của nhân viên thu ngân được thực hiện ra sao? Theo khảo sát nghiệp vụ tại chương 3, vào cuối ngày làm việc (khung giờ hoạt động 7h00 - 23h00), nhân viên thu ngân (hoặc kế toán) tiến hành kiểm toán tổng số tiền thu được thực tế, đối chiếu khớp với số liệu ghi nhận trên phần mềm, sau đó tiến hành bàn giao doanh thu cho người quản lý nhà hàng.

5. Vì sao nhóm tác giả lại lựa chọn thư viện DevExpress trong dự án? DevExpress cung cấp hệ thống điều khiển giao diện đẹp mắt, hỗ trợ tự co giãn form theo kích thước cửa sổ chính, đồng thời tích hợp sẵn các module mạnh mẽ như XtraCharts (vẽ biểu đồ doanh thu) và XtraReports (tạo và xuất báo cáo in ấn chuyên nghiệp).

Kết luận

Tiểu luận "Xây dựng phần mềm quản lý nhà hàng cho nhà hàng Phương Nam tại thành phố Thủ Dầu Một" của nhóm sinh viên Trường Đại học Thủ Dầu Một là một công trình nghiên cứu ứng dụng có cấu trúc chặt chẽ và tính thực tiễn cao. Bằng việc kết hợp ngôn ngữ C#, hệ quản trị CSDL MySQL và bộ công cụ DevExpress theo mô hình 3 lớp, đề tài đã số hóa thành công các khâu nghiệp vụ phức tạp từ phục vụ, thu ngân, quản lý kho đến nhân sự và báo cáo tài chính. Đồ án cung cấp tài liệu tham khảo giá trị về phân tích thiết kế hệ thống và lập trình ứng dụng máy tính để bàn trong lĩnh vực F&B.