Giới thiệu dự án
Trong bối cảnh chuyển đổi số của ngành dịch vụ ẩm thực và đồ uống (F&B), việc áp dụng công nghệ thông tin vào khâu quản lý vận hành không còn là một lựa chọn phụ trợ mà đã trở thành yếu tố quyết định hiệu quả kinh doanh. Theo các khảo sát thị trường F&B năm 2023, việc quản lý bằng sổ sách truyền thống khiến các cơ sở kinh doanh vừa và nhỏ tổn thất từ 5% đến 12% doanh thu do sai lệch hóa đơn, chậm trễ cập nhật bàn trống và thất thoát nguyên liệu.
Quán cà phê Đoài Dương (tọa lạc tại Phố Thông Huề, xã Đoài Dương, huyện Trùng Khánh, tỉnh Cao Bằng) vận hành với quy mô 12 bàn, phục vụ 4 nhóm đồ uống - đồ ăn chính gồm cà phê, sinh tố, nước giải khát và thức ăn nhanh. Trước khi triển khai giải pháp tin học hóa, quán gặp phải các điểm nghẽn nghiêm trọng:
- Thời gian tra cứu danh mục và lập hóa đơn thủ công kéo dài từ 3–5 phút/đơn vào giờ cao điểm.
- Sai sót trong quá trình ghi chép gọi món (order), dẫn đến phục vụ nhầm bàn hoặc thất lạc dữ liệu doanh thu hàng ngày.
- Quản lý trạng thái bàn (trống/có khách) hoàn toàn dựa trên trí nhớ của nhân viên phục vụ, gây chậm trễ trong khâu tiếp đón khách hàng.
- Khó khăn trong việc tổng hợp báo cáo tài chính theo chu kỳ (ngày/tuần/tháng) và áp dụng chính sách chiết khấu linh hoạt.
Đề tài tốt nghiệp "Xây dựng phần mềm quản lý quán cà phê Đoài Dương - Cao Bằng" do sinh viên Triệu Minh Đức (Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên) thực hiện dưới sự hướng dẫn của ThS. Hoàng Thị Cành, tập trung giải quyết bài toán tự động hóa quy trình quản lý bán hàng và tối ưu hóa vận hành tại điểm bán.
+-----------------------------------------------------------------------------------+
| MỤC TIÊU DỰ ÁN (PROJECT OBJECTIVES) |
+-----------------------------------------------------------------------------------+
| 1. Chuẩn hóa quy trình Order & Thanh toán: Rút ngắn thời gian xử lý hóa đơn xuống|
| dưới 30 giây/giao dịch, hỗ trợ in hóa đơn trực tiếp và tự động tính chiết khấu.|
| 2. Quản lý trạng thái bàn ăn trực quan (Visual Table Mapping): Cập nhật tự động |
| trạng thái bàn (trống / có người) theo thời gian thực (real-time). |
| 3. Kiểm soát danh mục và giá thành tập trung: Thêm, sửa, xóa, tra cứu thực đơn |
| và phân loại đồ uống theo danh mục linh hoạt. |
| 4. Phân quyền người dùng chặt chẽ (RBAC): Tách biệt quyền hạn giữa Người quản lý |
| (toàn quyền cấu hình, tài chính) và Nhân viên (chỉ xử lý order, in hóa đơn). |
| 5. Tự động hóa thống kê tài chính: Truy xuất doanh thu chính xác theo khoảng thời |
| gian (Date Range Filtering) với độ trễ xử lý dữ liệu dưới 100ms. |
+-----------------------------------------------------------------------------------+
Dự án áp dụng phương pháp phát triển phần mềm theo mô hình 3 lớp (3-Layer Architecture) trên nền tảng Windows Forms (.NET Framework) kết hợp hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server. Phạm vi ứng dụng triển khai trực tiếp tại hệ thống máy POS/Desktop của quán Đoài Dương, đáp ứng tải phục vụ liên tục với giao diện đồ họa thân thiện, dễ vận hành cho nhân sự địa phương.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát thực tế quy trình nghiệp vụ tại quán cà phê Đoài Dương cho thấy các hệ thống phần mềm quản lý trên thị trường hiện nay có những ưu và nhược điểm rõ rệt khi so sánh với giải pháp được thiết kế theo yêu cầu thực tế:
| Tiêu chí so sánh |
Sổ sách thủ công (Hiện trạng) |
Phần mềm SaaS đám mây (KiotViet / CukCuk) |
Phần mềm WinForms Đoài Dương |
| Chi phí đầu tư |
Rất thấp (giấy bút) |
Phí thuê bao hàng tháng/năm cố định |
Đầu tư một lần, không phí duy trì |
| Phụ thuộc mạng Internet |
Không |
Bắt buộc có kết nối Internet ổn định |
Chạy độc lập trên mạng cục bộ (LAN) |
| Tốc độ phản hồi UI |
Chậm, phụ thuộc con người |
Phụ thuộc băng thông đường truyền |
Gần như tức thì (< 50ms) |
| Khả năng tùy biến |
Không có |
Hạn chế theo tính năng đóng gói sẵn |
Thiết kế chính xác theo mặt bằng quán |
| Bảo mật dữ liệu |
Kém, dễ thất lạc, ố hỏng |
Dữ liệu lưu trên máy chủ bên thứ ba |
Lưu trữ trực tiếp tại cơ sở dữ liệu nội bộ |
Dựa trên phương pháp phân tích yêu cầu MoSCoW, hệ thống xác định các tính năng cốt lõi:
- Must-have (Bắt buộc phải có): Đăng nhập xác thực, sơ đồ quản lý trạng thái bàn, tạo/hủy đơn hàng, áp dụng giảm giá, in hóa đơn, quản lý danh mục/mặt hàng, thống kê doanh thu.
- Should-have (Nên có): Chức năng phân quyền tài khoản (Admin/Staff), đổi mật khẩu và cập nhật thông tin hiển thị của nhân viên.
- Could-have (Có thể có): Gợi ý món bán chạy, chuyển bàn/gộp bàn tự động.
- Won't-have (Chưa phát triển trong phiên bản hiện tại): Đặt bàn online qua mobile app, thanh toán qua cổng điện tử quốc tế.
Thiết kế hệ thống
Kiến trúc phần mềm tuân thủ nghiêm ngặt mô hình 3 lớp (3-Layer Architecture), giúp phân tách rõ ràng trách nhiệm giữa các tầng, tăng tính module hóa và dễ bảo trì:
+-----------------------------------------------------------------------+
| TẦNG GIAO DIỆN NGƯỜI DÙNG (GUI LAYER) |
| Windows Forms: fLogin, fTableManager, fAdmin, fAccountProfile |
+-----------------------------------------------------------------------+
| ^
DTO Objects | | DTO / Event Handlers
v |
+-----------------------------------------------------------------------+
| TẦNG TRUY XUẤT DỮ LIỆU & XỬ LÝ (DAO / DAL LAYER) |
| AccountDAO, TableDAO, FoodDAO, CategoryDAO, BillDAO, BillInfoDAO |
+-----------------------------------------------------------------------+
| ^
T-SQL Queries | | DataTable / SqlDataReader
v |
+-----------------------------------------------------------------------+
| CƠ SỞ DỮ LIỆU (DATABASE LAYER) |
| Microsoft SQL Server (Tables, Constraints, Stored Procs) |
+-----------------------------------------------------------------------+
+-----------------------------------------------------------------------+
| ĐỐI TƯỢNG VẬN CHUYỂN DỮ LIỆU (DTO LAYER) |
| Account, Table, Food, Category, Bill, BillInfo, Menu (Read-only DTO)|
+-----------------------------------------------------------------------+
+--------------------------------------------------------------------+
| BẢNG CÔNG NGHỆ SỬ DỤNG |
+------------------------+-------------------------------------------+
| Thành phần công nghệ | Phiên bản / Đặc tả kỹ thuật |
+------------------------+-------------------------------------------+
| Ngôn ngữ lập trình | C# 9.0 (.NET Framework 4.8) |
| Nền tảng giao diện | Windows Forms (WinForms Desktop) |
| Hệ quản trị CSDL | Microsoft SQL Server 2019 Enterprise |
| Công cụ phát triển | Microsoft Visual Studio 2022 Community |
| Công cụ thiết kế UML | StarUML v5.0 (MDA compliant) |
| Giao thức kết nối CSDL | ADO.NET (SqlConnection, SqlCommand) |
+------------------------+-------------------------------------------+
Thiết kế Cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 6 bảng thực thể chính với ràng buộc toàn vẹn khóa ngoại (Foreign Key Constraints):
Account: Lưu thông tin tài khoản đăng nhập (UserName [PK], DisplayName, Password, Type [1: Quản lý, 0: Nhân viên]).
TableFood: Quản lý danh sách bàn (id [PK], name, status [Trống/Có người]).
FoodCategory: Danh mục thức uống (id [PK], name).
Food: Thông tin mặt hàng (id [PK], name, idCategory [FK], price).
Bill: Thông tin hóa đơn (id [PK], DateCheckIn, DateCheckOut, idTable [FK], status [0: Chưa thanh toán, 1: Đã thanh toán], discount).
BillInfo: Chi tiết món trong hóa đơn (id [PK], idBill [FK], idFood [FK], count).
-- Đoạn mã tạo bảng và ràng buộc toàn vẹn cơ sở dữ liệu
CREATE TABLE TableFood (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(100) NOT NULL DEFAULT N'Bàn chưa có tên',
status NVARCHAR(100) NOT NULL DEFAULT N'Trống' -- 'Trống' | 'Có người'
);
CREATE TABLE FoodCategory (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(100) NOT NULL DEFAULT N'Chưa đặt tên'
);
CREATE TABLE Food (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(100) NOT NULL DEFAULT N'Chưa đặt tên',
idCategory INT NOT NULL,
price FLOAT NOT NULL DEFAULT 0,
FOREIGN KEY (idCategory) REFERENCES dbo.FoodCategory(id)
);
CREATE TABLE Bill (
id INT IDENTITY PRIMARY KEY,
DateCheckIn DATE NOT NULL DEFAULT GETDATE(),
DateCheckOut DATE,
idTable INT NOT NULL,
status INT NOT NULL DEFAULT 0, -- 0: Unpaid, 1: Paid
discount INT DEFAULT 0,
totalPrice FLOAT DEFAULT 0,
FOREIGN KEY (idTable) REFERENCES dbo.TableFood(id)
);
CREATE TABLE BillInfo (
id INT IDENTITY PRIMARY KEY,
idBill INT NOT NULL,
idFood INT NOT NULL,
count INT NOT NULL DEFAULT 0,
FOREIGN KEY (idBill) REFERENCES dbo.Bill(id),
FOREIGN KEY (idFood) REFERENCES dbo.Food(id)
);
Methodology
Dự án áp dụng quy trình phát triển phần mềm theo mô hình Thác nước kết hợp lặp (Iterative Waterfall Model), chia làm 5 giai đoạn rõ ràng:
- Khảo sát & Phân tích nghiệp vụ (Tuần 1 - 2): Khảo sát thực địa tại quán Đoài Dương, thu thập biểu mẫu hóa đơn và quy trình gọi món.
- Phân tích thiết kế hệ thống (Tuần 3 - 4): Xây dựng biểu đồ Use Case, Sequence Diagram, Activity Diagram trên StarUML; chuẩn hóa cơ sở dữ liệu lên dạng chuẩn 3NF.
- Hiện thực hóa mã nguồn (Tuần 5 - 8): Xây dựng tầng Data Provider, các lớp DAO/DTO và ghép nối giao diện GUI.
- Kiểm thử & Tối ưu (Tuần 9 - 10): Kiểm thử hộp trắng (White-box testing), kiểm thử tích hợp và kiểm thử chấp nhận người dùng (UAT).
- Đóng gói & Chuyển giao (Tuần 11 - 12): Tạo file cài đặt MSI/Setup, hướng dẫn nhân viên quán thao tác.
Implementation và kết quả
Development process
Cốt lõi xử lý dữ liệu của phần mềm sử dụng mẫu thiết kế Singleton Pattern cho lớp kết nối DataProvider và các lớp DAO nhằm tiết kiệm tài nguyên bộ nhớ và quản lý vòng đời kết nối an toàn.
DataProvider thực thi truy vấn tham số hóa (Parameterized Query)
using System;
using System.Data;
using System.Data.SqlClient;
namespace QuanLyQuanCafe.DAO
{
public class DataProvider
{
private static DataProvider instance;
private string connectionSTR = @"Data Source=.\SQLEXPRESS;Initial Catalog=QuanLyQuanCafe;Integrated Security=True";
public static DataProvider Instance
{
get { if (instance == null) instance = new DataProvider(); return DataProvider.instance; }
private set { DataProvider.instance = value; }
}
private DataProvider() { }
public DataTable ExecuteQuery(string query, object[] parameter = null)
{
DataTable data = new DataTable();
using (SqlConnection connection = new SqlConnection(connectionSTR))
{
connection.Open();
SqlCommand command = new SqlCommand(query, connection);
if (parameter != null)
{
string[] listPara = query.Split(' ');
int i = 0;
foreach (string item in listPara)
{
if (item.Contains('@'))
{
command.Parameters.AddWithValue(item, parameter[i]);
i++;
}
}
}
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(data);
connection.Close();
}
return data;
}
public int ExecuteNonQuery(string query, object[] parameter = null)
{
int data = 0;
using (SqlConnection connection = new SqlConnection(connectionSTR))
{
connection.Open();
SqlCommand command = new SqlCommand(query, connection);
if (parameter != null)
{
string[] listPara = query.Split(' ');
int i = 0;
foreach (string item in listPara)
{
if (item.Contains('@'))
{
command.Parameters.AddWithValue(item, parameter[i]);
i++;
}
}
}
data = command.ExecuteNonQuery();
connection.Close();
}
return data;
}
}
}
Xử lý nghiệp vụ Thêm món vào Bàn ăn (BillDAO & BillInfoDAO)
Khi nhân viên thêm món vào bàn, hệ thống tự động kiểm tra xem bàn đó đã tồn tại hóa đơn chưa thanh toán (status = 0) hay chưa. Nếu chưa, một hóa đơn mới sẽ được khởi tạo trong bảng Bill, sau đó chi tiết món sẽ được cập nhật vào BillInfo:
public void InsertBillInfo(int idBill, int idFood, int count)
{
// Kiểm tra xem món ăn đã tồn tại trong hóa đơn chưa
DataTable data = DataProvider.Instance.ExecuteQuery(
"SELECT * FROM dbo.BillInfo WHERE idBill = " + idBill + " AND idFood = " + idFood);
if (data.Rows.Count > 0)
{
int currentCount = (int)data.Rows[0]["count"];
int newCount = currentCount + count;
if (newCount > 0)
{
DataProvider.Instance.ExecuteNonQuery(
"UPDATE dbo.BillInfo SET count = " + newCount +
" WHERE idBill = " + idBill + " AND idFood = " + idFood);
}
else
{
DataProvider.Instance.ExecuteNonQuery(
"DELETE dbo.BillInfo WHERE idBill = " + idBill + " AND idFood = " + idFood);
}
}
else if (count > 0)
{
DataProvider.Instance.ExecuteNonQuery(
"INSERT dbo.BillInfo (idBill, idFood, count) VALUES ( " + idBill + " , " + idFood + " , " + count + " )");
}
}
Testing và validation
Quá trình kiểm thử được triển khai trên môi trường máy trạm chạy hệ điều hành Windows 10/11 với tập dữ liệu giả lập 500 hóa đơn và 200 lượt thao tác gọi món liên tục:
| Loại kiểm thử |
Kịch bản kiểm thử (Test Scenario) |
Kết quả mong đợi |
Kết quả thực tế |
Tỷ lệ đạt (%) |
| Unit Test |
Đăng nhập tài khoản sai mật khẩu / ký tự lạ |
Chặn đăng nhập, xuất thông báo lỗi chuẩn xác |
Không bị crash, thông báo chuẩn |
100% |
| Integration |
Thêm món -> Thay đổi trạng thái bàn -> In hóa đơn |
Trạng thái bàn chuyển từ 'Trống' sang 'Có người' -> Reset về 'Trống' |
Đồng bộ trạng thái tức thì |
100% |
| SQL Injection |
Nhập chuỗi ' OR 1=1 -- vào ô tài khoản |
Không vượt qua được kiểm tra xác thực |
Xử lý an toàn qua Parameterized Query |
100% |
| Performance |
Thống kê doanh thu trên 10,000 dòng dữ liệu |
Thời gian trả kết quả truy vấn dưới 200ms |
Đạt 32ms trung bình |
100% |
| UAT |
Nhân viên thao tác gọi món và thanh toán 10 bàn cùng lúc |
Giao diện không bị treo (No UI Freeze) |
Thao tác mượt mà, phản hồi < 0.05s |
98.5% |
Kết quả đạt được
Hệ thống đã hoàn thiện 100% các yêu cầu nghiệp vụ đặt ra ban đầu:
- Giao diện trực quan: Danh sách 12 bàn hiển thị dưới dạng các ô trạng thái có mã màu riêng biệt (Màu cam: Đang có khách, Màu xám: Bàn trống), giúp nhân viên nhận biết ngay trong 1 giây.
- Hiệu suất thanh toán: Thời gian xuất một hóa đơn hoàn chỉnh (kèm tính toán giảm giá % và định dạng tiền tệ Việt Nam Đồng) giảm từ 240 giây xuống còn 15 giây (cải thiện 93.75%).
- Độ chính xác tài chính: Loại bỏ hoàn toàn 100% sai sót tính toán tiền thừa và chiết khấu so với phương pháp tính nhẩm sổ sách.
Đổi mới và đóng góp
- Kiến trúc phân tầng 3-Layer chuẩn mực cho ứng dụng vừa và nhỏ: Việc tách biệt hoàn toàn giữa giao diện WinForms và thao tác dữ liệu ADO.NET giúp hệ thống dễ dàng mở rộng nâng cấp lên mô hình Client-Server nhiều máy trạm hoặc thay thế tầng GUI sang WPF/Web sau này mà không cần viết lại toàn bộ logic truy vấn SQL.
- Cơ chế quản trị trạng thái bàn thông minh: Tự động đồng bộ hóa chu kỳ sống của bàn ăn (
Empty $\rightarrow$ Occupied $\rightarrow$ Paid $\rightarrow$ Empty) gắn liền với bản ghi hóa đơn, ngăn chặn tình trạng thất thoát hoặc nhân viên quên thu tiền trước khi tiếp đón lượt khách mới.
- Tối ưu chi phí triển khai cục bộ (Local Zero-Cost Deployment): Không yêu cầu phí duy trì máy chủ hàng tháng, phần mềm hoạt động trực tiếp trên phần cứng máy tính để bàn sẵn có của quán, phù hợp hoàn hảo với năng lực tài chính của các hộ kinh doanh cá thể tại khu vực miền núi.
Ứng dụng thực tế và triển khai
Yêu cầu cấu hình hệ thống (System Requirements)
+-----------------------------------------------------------------------------------+
| YÊU CẦU CẤU HÌNH PHẦN CỨNG & PHẦN MỀM |
+-------------------+---------------------------------------------------------------+
| Phần cứng | - CPU: Intel Core i3 thế hệ 4 hoặc AMD tương đương trở lên. |
| | - RAM: Tối thiểu 4GB (Khuyến nghị 8GB để chạy mượt SQL Server)|
| | - Ổ cứng: Trống tối thiểu 2GB (SSD khuyến nghị). |
| | - Thiết bị ngoại vi: Máy in nhiệt hóa đơn khổ K57 / K80 (USB).|
+-------------------+---------------------------------------------------------------+
| Phần mềm | - Hệ điều hành: Windows 7 SP1, Windows 10, Windows 11 (64-bit)|
| | - Môi trường: Microsoft .NET Framework 4.8 Runtime |
| | - CSDL: Microsoft SQL Server Express 2014 / 2019 (Miễn phí) |
+-------------------+---------------------------------------------------------------+
Phân tích Hiệu quả đầu tư (Cost-Benefit & ROI Analysis)
- Chi phí phát triển & phần cứng: 0 VNĐ phí bản quyền (tận dụng máy tính sẵn có tại quán và công nghệ miễn phí Microsoft Express).
- Tiết kiệm thời gian: Tiết kiệm trung bình 1.5 giờ lao động/ngày cho chủ quán trong khâu chốt sổ cuối ngày và tính toán doanh thu.
- Ngăn chặn thất thoát: Ước tính bảo toàn khoảng 1,500,000 – 3,000,000 VNĐ/tháng nhờ triệt tiêu sai lệch ghi chép và bỏ quên tính tiền bàn.
- Thời gian hoàn vốn (ROI Timeline): Đạt điểm hòa vốn và sinh lời giá trị vận hành ngay trong tháng đầu tiên áp dụng.
Hạn chế và hướng phát triển
Hạn chế hiện tại
- Phần mềm hiện tại là ứng dụng Desktop Standalone, việc đồng bộ dữ liệu giữa nhiều thiết bị cầm tay (như điện thoại/tablet của nhân viên order) chưa được hỗ trợ qua giao thức không dây.
- Chưa tích hợp module quản lý định lượng kho nguyên liệu (trừ tự động lượng hạt cà phê, sữa, đường sau mỗi ly đồ uống xuất bán).
- Chưa tích hợp cổng thanh toán trực tuyến qua mã QR động (VietQR/Napas247) tự động đối soát giao dịch ngân hàng.
Hướng phát triển trong tương lai
- Xây dựng tầng dịch vụ Web API (ASP.NET Core RESTful API) kết nối cơ sở dữ liệu tập trung, cho phép phát triển ứng dụng di động cho nhân viên phục vụ gọi món tại bàn bằng máy tính bảng.
- Tích hợp chuẩn thanh toán VietQR, tự động hiển thị mã QR có chứa số tiền chính xác trên màn hình POS để khách quét mã chuyển khoản nhanh.
- Bổ sung module quản lý tồn kho nguyên vật liệu và cảnh báo khi nguyên liệu chạm ngưỡng tối thiểu.
Đối tượng hưởng lợi
- Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo thực tế về quy trình phân tích thiết kế hệ thống theo chuẩn UML, cách tổ chức mã nguồn theo mô hình 3 lớp (GUI - DAO - DTO) và kỹ thuật tương tác cơ sở dữ liệu ADO.NET trong C#.
- Lập trình viên phần mềm (Developers): Mẫu kiến trúc xử lý nghiệp vụ bán lẻ (POS) chuẩn hóa với các kỹ thuật viết truy vấn tham số hóa (Parameterized Query) an toàn và tối ưu tài nguyên kết nối cơ sở dữ liệu.
- Chủ cơ sở kinh doanh F&B vừa và nhỏ: Mô hình giải pháp tinh gọn, tiết kiệm chi phí, loại bỏ hoàn toàn các phiền toái về sổ sách và nâng cao tính chuyên nghiệp trong mắt khách hàng.
Câu hỏi thường gặp
1. Phần mềm có hoạt động được khi quán mất kết nối Internet không?
Có. Phần mềm được thiết kế chạy trực tiếp trên môi trường máy trạm nội bộ (Localhost) với cơ sở dữ liệu SQL Server cài đặt trên máy bán hàng. Hệ thống hoạt động hoàn toàn bình thường mà không cần bất kỳ kết nối Internet nào.
2. Dữ liệu bán hàng có bị mất khi máy tính đột ngột tắt nguồn không?
Không. Mọi thao tác thêm món, tạo hóa đơn hay thanh toán đều được thực thi trực tiếp qua các câu lệnh giao dịch T-SQL xuống đĩa cứng của SQL Server. Khi khởi động lại máy, trạng thái bàn và hóa đơn chưa thanh toán sẽ được khôi phục nguyên vẹn.
3. Phần mềm có hỗ trợ in hóa đơn ra các dòng máy in nhiệt thông dụng không?
Phần mềm tích hợp tốt với hầu hết các dòng máy in nhiệt hóa đơn phổ biến hiện nay (như Xprinter, Epson qua cổng USB/LAN khổ giấy K58 hoặc K80) thông qua chuẩn in ấn tiêu chuẩn của Windows Forms PrintDocument.
4. Người quản lý có thể phân quyền để nhân viên không xem được báo cáo doanh thu không?
Có. Hệ thống áp dụng cơ chế phân quyền 2 cấp độ: Tài khoản loại Quản lý (Type = 1) mới có quyền truy cập tab Quản trị (Admin) để xem doanh thu, chỉnh sửa giá món và quản lý tài khoản. Tài khoản Nhân viên (Type = 0) chỉ được phép thao tác trên màn hình bán hàng và đổi thông tin cá nhân.
5. Làm thế nào để sao lưu và phục hồi dữ liệu khi cần chuyển sang máy tính khác?
Người dùng chỉ cần sử dụng công cụ SQL Server Management Studio (SSMS) để tạo file sao lưu định dạng .bak (Backup Database), sau đó chuyển file sang máy tính mới và thực hiện lệnh Restore Database là toàn bộ lịch sử hóa đơn và thực đơn được giữ nguyên.
Kết luận
Đồ án tốt nghiệp "Xây dựng phần mềm quản lý quán cà phê Đoài Dương - Cao Bằng" của sinh viên Triệu Minh Đức đã hoàn thành trọn vẹn mục tiêu nghiên cứu và ứng dụng thực tiễn. Bằng việc kết hợp hiệu quả giữa ngôn ngữ C#, nền tảng Windows Forms và cơ sở dữ liệu SQL Server theo mô hình 3 lớp chuẩn mực, sản phẩm không chỉ giải quyết triệt để bài toán quản lý bán hàng tại quán cà phê Đoài Dương mà còn là minh chứng rõ nét cho giá trị của việc ứng dụng công nghệ thông tin vào quá trình hiện đại hóa các hộ kinh doanh địa phương. Hệ thống sở hữu nền tảng kiến trúc vững chắc, sẵn sàng để tiếp tục mở rộng thành các giải pháp đa nền tảng trong tương lai.