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

Kinh doanh thương mại nói chung và kinh doanh dịch vụ quán cà phê nói riêng là lĩnh vực phát triển nhanh chóng, mang lại nguồn doanh thu lớn nhưng cũng đối mặt với sự cạnh tranh gay gắt và nhiều rủi ro vận hành. Tại Việt Nam, đặc biệt là khu vực đô thị như thành phố Cần Thơ, quán cà phê không chỉ phục vụ nhu cầu giải khát mà còn là không gian làm việc, học nhóm và giao tiếp xã hội. Khảo sát thực tế trong đề tài về lượng người dùng cà phê theo độ tuổi cho thấy:

  • Nhóm tuổi từ 26 đến 35 chiếm tỷ lệ cao nhất: 37%
  • Nhóm tuổi từ 18 đến 25 chiếm: 36%
  • Nhóm tuổi trên 35 chiếm: 27%

Mặc dù thị trường mở rộng, công tác quản lý tại nhiều quán cà phê quy mô vừa và nhỏ vẫn dựa trên sổ sách thủ công hoặc các công cụ rời rạc. Điều này dẫn đến tình trạng sai sót khi tính tiền, khó khăn trong kiểm soát nguyên liệu - hàng hóa, chậm trễ khi tổng hợp doanh thu và thiếu chính xác trong việc tính lương nhân viên theo ca. Đề tài "Xây dựng phần mềm quản lý quán cà phê" của tác giả Hồ Thanh Thảo Uyên (ngành Công nghệ Thông tin, Khoa Kỹ thuật – Công nghệ, Trường Đại học Tây Đô, bảo vệ năm 2017 dưới sự hướng dẫn của ThS. Nguyễn Chí Cường) được thực hiện nhằm xây dựng một hệ thống phần mềm hoàn chỉnh giúp tự động hóa và tối ưu hóa toàn bộ quy trình này.

Mục tiêu nghiên cứu được xác định cụ thể bao gồm:

  1. Xây dựng phần mềm hỗ trợ quản lý toàn diện các nghiệp vụ: bán hàng, tính tiền, in hóa đơn, quản lý nhân viên, tính lương theo ca và thống kê báo cáo.
  2. Cung cấp giao diện trực quan, thao tác đơn giản, giúp người dùng tiết kiệm thời gian và công sức quản lý.
  3. Chuẩn hóa quy trình nghiệp vụ bán hàng và quản lý khách hàng thân thiết phù hợp với thực tiễn hoạt động của các quán cà phê.
  4. Ứng dụng các kiến thức phân tích thiết kế hệ thống thông tin, hệ quản trị cơ sở dữ liệu quan hệ và kỹ thuật lập trình hướng đối tượng vào bài toán thực tế.

Nhiệm vụ nghiên cứu:

  • Khảo sát thực trạng quy trình phục vụ và quản lý quán cà phê trên địa bàn thành phố Cần Thơ.
  • Phân tích và thiết kế mô hình dữ liệu quan niệm (CDM), mô hình dữ liệu vật lý (PDM).
  • Lập trình xây dựng ứng dụng với đầy đủ các phân hệ chức năng trên nền tảng .NET và cơ sở dữ liệu SQL Server.
  • Kiểm thử và đánh giá hiệu năng của các chức năng phần mềm.

Đối tượng và khách thể nghiên cứu:

  • Đối tượng nghiên cứu: Phần mềm quản lý bán hàng và điều hành hoạt động quán cà phê.
  • Khách thể nghiên cứu: Nghiệp vụ bán hàng, quy trình hoạt động, các chủ quán, nhân viên thu ngân, nhân viên phục vụ và khách hàng tại các quán cà phê.
  • Phạm vi nghiên cứu: Tập trung vào các nghiệp vụ nội bộ của một quán cà phê thông thường (bán hàng tại bàn, quản lý thực đơn, quản lý phân hạng khách hàng, quản lý chấm công ca làm việc, thống kê doanh thu) thực hiện trong kế hoạch 13 tuần tại thành phố Cần Thơ năm 2017.

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

Khung lý thuyết và công nghệ ứng dụng

Đề tài dựa trên cơ sở lý thuyết về phân tích thiết kế hệ thống thông tin quản lý và công nghệ phần mềm hướng đối tượng:

  • Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008: Sử dụng mô hình cơ sở dữ liệu quan hệ (RDBMS) để lưu trữ, tổ chức dữ liệu dưới dạng các bảng với các ràng buộc toàn vẹn khóa chính (Primary Key), khóa ngoại (Foreign Key), cung cấp ngôn ngữ SQL để định nghĩa dữ liệu (DDL), thao tác dữ liệu (DML) và kiểm soát truy cập.
  • Môi trường phát triển Microsoft Visual Studio 2015: Nền tảng phát triển ứng dụng Windows Forms bằng ngôn ngữ C# (C Sharp).
  • Kiến trúc ADO.NET Entity Framework: Sử dụng cơ chế Object Relational Mapping (ORM) để kết nối giữa tầng ứng dụng và cơ sở dữ liệu thông qua các thành phần:
    • Object Services: Quản lý các đối tượng ObjectContext, ObjectSet<TEntity>, EntityObject, EntityCollection và ánh xạ dữ liệu thành các thực thể trong mã nguồn.
    • EntityClient Data Provider: Biên dịch các truy vấn LINQ to Entities (L2E) hoặc Entity SQL (ESQL) thành các lệnh SQL tiêu chuẩn.
    • .NET Data Providers: Tầng giao tiếp trực tiếp với DBMS qua kết nối ADO.NET.
  • Phương thức truy vấn LINQ (Language Integrated Query): Cho phép viết các câu truy vấn dữ liệu trực tiếp trong ngôn ngữ C# với cú pháp chặt chẽ và kiểm soát kiểu dữ liệu lúc biên dịch.
  • Công cụ PowerDesigner 16.1: Công cụ mô hình hóa trực quan dùng để thiết kế Mô hình dữ liệu quan niệm (CDM) và chuyển đổi sang Mô hình dữ liệu vật lý (PDM).
  • Thuật toán mã hóa MD5 (Message-Digest algorithm 5 - RFC 1321): Dùng để băm mật khẩu người dùng thành chuỗi thập lục phân 32 ký tự trước khi lưu vào cơ sở dữ liệu nhằm bảo mật thông tin đăng nhập.

Phương pháp nghiên cứu

  • Phương pháp nghiên cứu tài liệu: Thu thập, phân tích các giáo trình chuyên ngành Công nghệ thông tin, tài liệu hướng dẫn về C#, ADO.NET Entity Framework, SQL Server và tham khảo các khóa luận tốt nghiệp khóa trước.
  • Phương pháp nghiên cứu thực tiễn:
    • Phương pháp quan sát: Quan sát trực tiếp quy trình gọi món, chuyển bàn, thanh toán và chấm công tại một số quán cà phê trên địa bàn thành phố Cần Thơ.
    • Phương pháp phỏng vấn: Phỏng vấn chủ quán, nhân viên pha chế, thu ngân và khách hàng để xác định yêu cầu nghiệp vụ và các điểm bất cập trong quản lý truyền thống.
  • Phương pháp tổng hợp và phân tích hệ thống: Xử lý các thông tin thu thập được để đặc tả yêu cầu, chuẩn hóa danh sách thực thể, thiết lập các mối quan hệ (1-1, 1-n, n-n) và thiết kế giao diện tương tác.

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

Chương 1: Tổng quan

Chương 1 trình bày tổng quan về ngành kinh doanh thương mại và đặc thù của mô hình kinh doanh quán cà phê hiện đại. Tác giả đưa ra biểu đồ thống kê cơ cấu khách hàng theo độ tuổi (tập trung 73% ở độ tuổi từ 18 đến 35), từ đó khẳng định tính cấp thiết của việc hiện đại hóa công tác quản lý nhằm nâng cao tốc độ phục vụ. Chương này xác định rõ lý do chọn đề tài, mục tiêu, nhiệm vụ, đối tượng, khách thể, phương tiện và phương pháp nghiên cứu. Đồng thời, tác giả xây dựng bảng kế hoạch nghiên cứu chi tiết qua 13 tuần làm việc và đưa ra đặc tả nghiệp vụ cho từng phân hệ chức năng: bán hàng, quản lý nhân viên, quản lý khách hàng, quản lý hàng hóa, quản lý khu vực - bàn, quản lý ca làm việc và thống kê doanh thu.

Chương 2: Những cơ sở lý luận của đề tài nghiên cứu

Chương 2 hệ thống hóa toàn bộ các nền tảng lý thuyết và công nghệ sử dụng trong đề tài:

  • Khái niệm về cơ sở dữ liệu, vai trò và chức năng của Hệ quản trị cơ sở dữ liệu (DBMS) trong việc đảm bảo tính toàn vẹn, bảo mật, sao lưu và phục hồi dữ liệu.
  • Giới thiệu chi tiết hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server 2008.
  • Trình bày kiến trúc ADO.NET Entity Framework và các tầng xử lý: Object Services, EntityClient Data Provider và .NET Data Providers, kết hợp kỹ thuật truy vấn LINQ to Entities.
  • Hướng dẫn mô hình hóa dữ liệu bằng công cụ PowerDesigner 16.1, làm rõ các khái niệm thực thể, thuộc tính, định danh và các kiểu liên kết (1-1, 1-n, n-n).
  • Tổng quan về môi trường phát triển tích hợp Microsoft Visual Studio 2015.

Chương 3: Phân tích và thiết kế hệ thống bán hàng

Chương 3 là phần cốt lõi về mặt kỹ thuật của khóa luận, tập trung vào việc mô hình hóa hệ thống thông tin:

  • Xác định 10 thực thể chính trong hệ thống: NHANVIEN, KHACHHANG, LOAIKHACHHANG, HANGHOA, LOAIHANG, CALAMVIEC, HOADONBANHANG, KHUVUC, BAN cùng các bảng kết hợp/chi tiết.
  • Phân tích chi tiết các mối kết hợp dữ liệu: KHUVUC - BAN (1-n), BAN - HOADONBANHANG (1-n), HOADONBANHANG - KHACHHANG (1-n), KHACHHANG - LOAIKHACHHANG (1-n), HANGHOA - LOAIHANG (1-n), HOADONBANHANG - NHANVIEN (1-n).
  • Xây dựng sơ đồ Mô hình dữ liệu quan niệm (CDM) và Mô hình dữ liệu vật lý (PDM).
  • Đặc tả chi tiết 11 bảng cơ sở dữ liệu vật lý trong SQL Server bao gồm kiểu dữ liệu, ràng buộc khóa chính (PK), khóa ngoại (FK) và cho phép rỗng (Allow Null).

Chương 4: Giao diện phần mềm

Chương 4 mô tả chi tiết giao diện người dùng và cơ chế hoạt động của các phân hệ chức năng đã được hiện thực hóa:

  • Giao diện đăng nhập: Xử lý xác thực người dùng dựa trên mã nhân viên và mật khẩu băm MD5, phân luồng giao diện theo hai quyền hạn: Quản trị viên (Admin) và Nhân viên thu ngân.
  • Phân hệ bán hàng: Giao diện trực quan hiển thị danh sách bàn theo khu vực với trạng thái màu sắc ("Trống" hoặc "Đang sử dụng"), hỗ trợ chọn món theo danh mục, thêm/xóa món, chuyển bàn, tính tổng tiền, giảm giá theo phần trăm hoặc trừ điểm tích lũy VIP và in hóa đơn thanh toán.
  • Phân hệ quản lý danh mục: Quản lý thông tin nhân viên, phân loại hàng hóa, cập nhật danh mục thực đơn kèm hình ảnh và đơn giá.
  • Phân hệ khách hàng và tích điểm: Theo dõi thông tin khách hàng theo 2 hạng thẻ (Member, VIP); tự động tích điểm theo hóa đơn thanh toán (cứ mỗi hóa đơn sẽ cộng điểm, đủ 100 điểm tự động nâng cấp từ Member lên VIP; khách VIP được quy đổi điểm thành tiền thanh toán).
  • Phân hệ quản lý ca làm việc và tiền lương: Thiết lập ca làm (giờ bắt đầu, giờ kết thúc, đơn giá ca), ghi nhận số ca làm trong tháng của từng nhân viên và tự động tính toán phiếu lương chi trả cuối tháng.
  • Phân hệ báo cáo thống kê: Thống kê doanh thu theo ngày, tháng, năm; báo cáo danh sách mặt hàng bán chạy nhất và thống kê tổng chi phí lương nhân viên.

Chương 5: Kết luận

Chương 5 tổng kết các kết quả đạt được sau quá trình nghiên cứu và xây dựng phần mềm, đánh giá sự phù hợp của giải pháp đối với việc quản lý thực tế, chỉ ra các mặt hạn chế còn tồn tại và đề xuất hướng phát triển tiếp theo cho hệ thống.


Thiết kế và triển khai

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

Hệ thống quản lý cơ sở dữ liệu được thiết kế trên Microsoft SQL Server 2008 thông qua công cụ PowerDesigner 16.1. Dưới đây là bảng tổng hợp lược đồ cấu trúc các bảng dữ liệu chính được trích xuất từ khóa luận:

Tên bảng Tên thuộc tính (Trường) Kiểu dữ liệu Khóa chính (PK) Khóa ngoại (FK) Cho phép Null
NHANVIEN MANV Nvarchar(50) x
TENNV Nvarchar(50)
GIOITINH Bit
CHUCVU Nvarchar(50)
NGAYVAOLAM Date x
DIACHI Nvarchar(50)
SDT Int
PhanQuyen Bit
MatKhau Nvarchar(32)
KHACHHANG MAKH Int x
MALKH Varchar(50) x
TENKH Nvarchar(50)
DIACHI Nvarchar(50)
SDT Int
DIEMTL Int
LOAIKHACHHANG MALKH Varchar(50) x
TENLKH Nvarchar(50)
GIAMGIA Int
BAN MABAN Nvarchar(50) x
TENBAN Nvarchar(150)
MAKV Nvarchar(50) x
THUOCTINH Nvarchar(150)
KHUVUC MAKV Nvarchar(50) x
TENKV Nvarchar(150)
TRANGTHAI Nvarchar(50) x
HANGHOA MAHH Varchar(50) x
TENHH Nvarchar(150)
MALH Varchar(50) x
HINHANH Image
GIASP Int
LOAIHANG MALH Varchar(50) x
TENLH Nvarchar(150)
MOTA Nvarchar(150)
CALAMVIEC MACLV Varchar(50) x
TENCLV Nvarchar(50)
GIOBD Time(7)
GIOKT Time(7)
SOTIEN Int
HOADONBANHANG MAHDBH Int x
MANV Nvarchar(50) x
MABAN Nvarchar(50) x
MAKH Int x x
NGAYHDBH Datetime
TONGTIEN Int
DIEMTL Int x
GIAMGIA Int x
CHIPHIKHAC Int x
CHITIETBANHANG MAHDBH Int x x
MAHH Varchar(150) x x
SOLUONG Int
CHITIETLUONGNHANVIEN MACLV Varchar(50) x x
MANV Nvarchar(50) x x
TONGCALAMTRONGTHANG Int
THANHTIEN Int
KYLUONG Nvarchar(7) x

Quy trình vận hành và kiểm soát nghiệp vụ

Hệ thống vận hành dựa trên chu trình nghiệp vụ chuẩn hóa giữa các bộ phận:

  1. Tiếp nhận và gọi món: Khách hàng vào bàn, nhân viên phục vụ ghi phiếu order gồm 2 liên (liên trắng giao quầy pha chế, liên đỏ chuyển thu ngân). Thu ngân mở bàn trên giao diện phần mềm, chọn thực đơn và số lượng theo phiếu order. Trạng thái bàn tự động chuyển từ "Trống" sang "Đang sử dụng".
  2. Nghiệp vụ chuyển bàn: Khi khách có nhu cầu đổi vị trí, thu ngân thực hiện chức năng chuyển bàn trên hệ thống, toàn bộ danh mục món ăn đã gọi sẽ được chuyển sang mã bàn mới, giải phóng bàn cũ về trạng thái "Trống".
  3. Thanh toán và xử lý ưu đãi:
    • Khi thanh toán, hệ thống truy xuất hóa đơn của bàn được chọn.
    • Nếu khách hàng là hội viên, nhân viên nhập mã hoặc số điện thoại để tra cứu: khách Member được tích lũy điểm; khách VIP được áp dụng tỷ lệ giảm giá và tùy chọn trừ điểm tích lũy thành tiền thanh toán.
    • Sau khi in hóa đơn, hệ thống cập nhật doanh thu, điểm tích lũy khách hàng và chuyển trạng thái bàn về "Trống".
  4. Bảo mật và phân quyền: Hệ thống kiểm tra quyền truy cập thông qua trường PhanQuyen trong bảng NHANVIEN. Tài khoản Admin có toàn quyền cấu hình danh mục, quản lý ca làm việc, tính lương và xem thống kê báo cáo; tài khoản nhân viên chỉ được thao tác trên giao diện bán hàng và lập hóa đơn.

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

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

  • Về mặt lý thuyết và kiến thức: Sinh viên đã hoàn thành việc nghiên cứu, áp dụng thành công quy trình phân tích thiết kế hệ thống thông tin bằng PowerDesigner và xây dựng ứng dụng C# trên nền tảng .NET Framework kết hợp cơ chế truy vấn LINQ to Entities và ORM của ADO.NET Entity Framework.
  • Về mặt sản phẩm phần mềm:
    • Xây dựng hoàn chỉnh ứng dụng Desktop chạy trên hệ điều hành Windows với giao diện người dùng bằng tiếng Việt.
    • Đáp ứng đầy đủ các chức năng nghiệp vụ bán hàng: mở bàn, order món, chuyển bàn, tách/gộp hóa đơn, in hóa đơn thanh toán.
    • Tích hợp thành công module quản lý khách hàng với cơ chế nâng hạng thẻ tự động từ Member lên VIP khi tích đủ 100 điểm.
    • Tự động hóa công tác tính lương nhân viên dựa trên tổng số ca làm việc thực tế trong kỳ lương.
    • Cung cấp module báo cáo thống kê trực quan giúp chủ quán theo dõi doanh thu theo mốc thời gian và nhận diện các mặt hàng bán chạy.

Đóng góp thực tiễn của đề tài

  • Thay thế hoàn toàn phương pháp ghi chép sổ sách thủ công, hạn chế thất thoát tài chính và nhầm lẫn khi thanh toán.
  • Giúp rút ngắn thời gian xử lý đơn hàng tại quầy thu ngân, nâng cao chất lượng phục vụ khách hàng.
  • Cung cấp giải pháp phần mềm quản lý gọn nhẹ, chi phí triển khai thấp, phù hợp với các cơ sở kinh doanh quán cà phê, quán giải khát quy mô vừa và nhỏ.

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

Hạn chế

  • Phần mềm được xây dựng dưới dạng ứng dụng Desktop chạy cục bộ (Windows Forms trên môi trường .NET), chưa hỗ trợ việc đồng bộ hóa dữ liệu trên nền tảng đám mây.
  • Quy trình gọi món vẫn phụ thuộc vào việc nhân viên ghi giấy order thủ công 2 liên rồi chuyển cho thu ngân nhập máy, chưa có ứng dụng di động dành riêng cho nhân viên phục vụ order trực tiếp tại bàn.
  • Chưa tích hợp các phương thức thanh toán điện tử hiện đại như quét mã QR, thanh toán thẻ POS hoặc ví điện tử.

Hướng phát triển

  • Mở rộng hệ thống sang nền tảng Web hoặc xây dựng ứng dụng di động (Mobile App) chạy trên hệ điều hành Android/iOS giúp nhân viên phục vụ order món từ xa và gửi trực tiếp dữ liệu xuống quầy pha chế/thu ngân.
  • Nâng cấp cơ chế phân tích dữ liệu kinh doanh, tích hợp thêm các biểu đồ dự báo doanh thu và quản lý kho nguyên vật liệu đầu vào chi tiết.
  • Tích hợp các cổng thanh toán trực tuyến và hóa đơn điện tử theo chuẩn quy định hiện hành.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo thiết thực cho:

  • Sinh viên ngành Công nghệ thông tin và Hệ thống thông tin: Cung cấp tài liệu tham khảo chi tiết về quy trình phân tích thiết kế hệ thống từ xây dựng mô hình dữ liệu (CDM, PDM) trên PowerDesigner đến lập trình cơ sở dữ liệu trên SQL Server và phát triển giao diện Windows Forms với C#.
  • Lập trình viên và người nghiên cứu công nghệ .NET: Cung cấp cấu trúc tham khảo về việc triển khai ADO.NET Entity Framework, kỹ thuật truy vấn LINQ to Entities và phương pháp bảo mật mật khẩu người dùng bằng giải thuật băm MD5.
  • Chủ cơ sở kinh doanh quán cà phê/nhà hàng: Giúp hiểu rõ cấu trúc dữ liệu và quy trình nghiệp vụ cần thiết để chuẩn hóa và ứng dụng công nghệ thông tin vào quản lý quán hiệu quả.

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

1. Hệ thống sử dụng công nghệ và công cụ lập trình nào để phát triển?
Phần mềm được phát triển trên môi trường Microsoft Visual Studio 2015 sử dụng ngôn ngữ lập trình C# (C Sharp), nền tảng kết nối ADO.NET Entity Framework với phương thức truy vấn LINQ. Cơ sở dữ liệu được quản trị trên Microsoft SQL Server 2008 và mô hình dữ liệu được thiết kế bằng Sybase PowerDesigner 16.1.

2. Cơ chế phân hạng và ưu đãi cho khách hàng thân thiết được thiết kế như thế nào?
Hệ thống quản lý 2 hạng thẻ khách hàng là Member và VIP. Khi khách hàng mới đăng ký, hệ thống lưu thông tin và cấp thẻ Member với điểm tích lũy khởi tạo. Mỗi lần thanh toán, khách hàng được tích điểm dựa trên giá trị hóa đơn. Khi tích lũy đủ 100 điểm, hệ thống tự động nâng hạng lên thẻ VIP. Khách hàng VIP được hưởng tỷ lệ giảm giá theo quy định và có thể sử dụng điểm tích lũy để quy đổi thành tiền trừ trực tiếp vào hóa đơn thanh toán.

3. Cơ chế tính lương cho nhân viên trong phần mềm hoạt động ra sao?
Hệ thống quản lý ca làm việc thông qua bảng CALAMVIEC (bao gồm giờ bắt đầu GioBD, giờ kết thúc GioKT và số tiền quy định cho một ca SoTien). Người quản trị (Admin) sẽ phân ca làm việc cho nhân viên. Vào cuối kỳ lương, hệ thống tổng hợp tổng số ca làm việc trong tháng của từng nhân viên trong bảng CHITIETLUONGNHANVIEN và tự động nhân với đơn giá ca để tính ra tổng số tiền lương chi trả (THANHTIEN).

4. Mật khẩu của tài khoản người dùng được bảo mật bằng phương pháp nào?
Mật khẩu người dùng được mã hóa bằng thuật toán băm MD5 (Message-Digest algorithm 5) theo chuẩn RFC 1321 trước khi lưu vào trường MatKhau (kiểu Nvarchar(32)) trong bảng NHANVIEN. Khi đăng nhập, mật khẩu nhập vào được băm và so sánh chuỗi băm 32 ký tự thập lục phân trong cơ sở dữ liệu để đảm bảo an toàn.


Kết luận

Khóa luận tốt nghiệp "Xây dựng phần mềm quản lý quán cà phê" của sinh viên Hồ Thanh Thảo Uyên đã giải quyết thành công bài toán tự động hóa quy trình quản lý bán hàng, chấm công, tính lương và thống kê doanh thu cho mô hình kinh doanh quán cà phê vừa và nhỏ. Bằng việc kết hợp chặt chẽ giữa phân tích thiết kế hệ thống trên PowerDesigner, xây dựng cơ sở dữ liệu trên SQL Server 2008 và lập trình C# với ADO.NET Entity Framework, đề tài đã tạo ra một sản phẩm phần mềm có tính ứng dụng thực tiễn cao. Đây là tài liệu học thuật có giá trị tham khảo tốt cho sinh viên ngành Công nghệ thông tin trong việc nghiên cứu và triển khai các ứng dụng quản lý doanh nghiệp trên nền tảng .NET.