Tiểu luận về xây dựng và thiết kế phần mềm quản lý quán ăn

Khám phá tiểu luận về xây dựng và thiết kế phần mềm quản lý quán ăn, cung cấp giải pháp tối ưu cho việc quản lý và vận hành hiệu quả.

Trường đại học

Cao Đẳng Thực Hành FPT Polytechnic Đà Nẵng

Người đăng

Ẩn danh

Thể loại

assignment

2021

51
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỞ ĐẦU

1. YÊU CẦU HỆ THỐNG

1.1. Usecase hệ thống Quản Lý Quán Ăn

1.2. Usecase Quản lý nhân viên

1.3. Usecase Quản lý bán hàng

1.4. Usecase Thống kê

1.5. Đặc tả Usecase

1.6. Mô hình triển khai

1.7. Thiết kế CSDL

1.8. Sơ đồ quan hệ thực thể

1.9. Thiết kế chi tiết các thực thể

1.10. Thiết kế giao diện

1.11. Sơ đồ tổ chức giao diện

1.12. Thực hiện viết mã

1.13. Viết mã tạo CSDL

1.14. SQL truy vấn và thao tác

1.15. Các thủ tục lưu tổng hợp thống kê

1.16. Lập trình JDBC

1.17. Lớp hỗ trợ

1.18. Model class-Các lớp mô tả dữ liệu

1.19. DAO class-Các lớp truy xuất dữ liệu

1.20. Viết mã cho ứng dụng

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về phần mềm quản lý quán ăn

Phần mềm quản lý quán ăn được thiết kế nhằm nâng cao hiệu quả trong việc quản lý thông tin và quy trình hoạt động của quán ăn. Với sự phát triển của công nghệ, việc áp dụng phần mềm vào quản lý quán ăn không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót trong quá trình quản lý. Phần mềm này cho phép quản lý thông tin nhân viên, món ăn, lập hóa đơn và thanh toán một cách dễ dàng và hiệu quả. Theo một nghiên cứu, việc sử dụng phần mềm quản lý quán ăn có thể tăng hiệu quả kinh doanh lên đến 30%. Điều này cho thấy tầm quan trọng của việc áp dụng công nghệ trong lĩnh vực này.

II. Thiết kế phần mềm quản lý quán ăn

Quá trình thiết kế phần mềm bao gồm nhiều bước quan trọng, từ việc xác định yêu cầu hệ thống đến việc triển khai và kiểm thử. Đầu tiên, cần xác định các yêu cầu về phần cứng và phần mềm, bao gồm RAM, CPU, và ngôn ngữ lập trình. Tiếp theo, việc xây dựng các usecase cho từng chức năng như quản lý nhân viên, quản lý món ăn, và thống kê doanh thu là rất cần thiết. Mô hình triển khai cũng cần được thiết kế rõ ràng để đảm bảo tính khả thi và hiệu quả của phần mềm. Cuối cùng, việc kiểm thử phần mềm là bước không thể thiếu để đảm bảo rằng tất cả các chức năng hoạt động đúng như mong đợi.

2.1. Yêu cầu hệ thống

Yêu cầu hệ thống cho phần mềm quản lý quán ăn bao gồm yêu cầu về phần cứng như RAM tối thiểu 4GB và CPU i3 trở lên. Về phần mềm, cần sử dụng JDK 1.8 và ngôn ngữ lập trình Java. Ngoài ra, phần mềm cũng cần đáp ứng các yêu cầu của người dùng như lưu trữ thông tin nhân viên, món ăn và bán hàng. Các yêu cầu bảo mật cũng rất quan trọng, đảm bảo rằng chỉ có admin mới có quyền truy cập vào các thống kê doanh thu.

2.2. Các chức năng chính

Phần mềm quản lý quán ăn cần có các chức năng chính như quản lý nhân viên, quản lý món ăn, và quản lý bán hàng. Mỗi chức năng cần được thiết kế với các thao tác như thêm, sửa, xóa và tìm kiếm. Đặc biệt, chức năng thống kê doanh thu cũng cần được tích hợp để giúp quản lý dễ dàng theo dõi hiệu quả kinh doanh. Việc thiết kế giao diện người dùng cũng cần được chú trọng để đảm bảo tính thân thiện và dễ sử dụng.

III. Lợi ích của phần mềm quản lý quán ăn

Việc áp dụng phần mềm quản lý quán ăn mang lại nhiều lợi ích thiết thực. Đầu tiên, phần mềm giúp tăng cường quản lý kho và giảm thiểu tình trạng thất thoát hàng hóa. Thứ hai, phần mềm cho phép quản lý nhân viên một cách hiệu quả, từ việc phân công công việc đến theo dõi hiệu suất làm việc. Thứ ba, việc thống kê doanh thu và các chỉ số kinh doanh khác trở nên dễ dàng hơn, giúp chủ quán đưa ra các quyết định kinh doanh chính xác hơn. Cuối cùng, phần mềm cũng giúp cải thiện trải nghiệm của khách hàng thông qua việc xử lý đơn hàng nhanh chóng và chính xác.

IV. Kết luận

Phần mềm quản lý quán ăn không chỉ là một công cụ hỗ trợ mà còn là một giải pháp toàn diện cho các vấn đề trong quản lý quán ăn. Việc thiết kế và triển khai phần mềm này cần được thực hiện một cách cẩn thận và khoa học để đảm bảo tính hiệu quả và khả năng mở rộng trong tương lai. Với sự phát triển không ngừng của công nghệ, việc áp dụng phần mềm vào quản lý quán ăn sẽ ngày càng trở nên phổ biến và cần thiết.

01/02/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Để góp phần nâng cao hiệu quả của việc quản lý quán ăn. Ý nghĩa của phần mềm này giúp dễ dàng quản lý thông tin nhân viên, thông tin món ăn, lập hoá đơn và thanh toán. Page 3 Tieu luan 4 Tài Liệu Báo Cáo Dự Án Với chủ đề “ xây dựng phần mềm quản lý quán ăn” nhóm em chỉ thực hiện dưới dạng nghiên cứu và xây dựng các chức năng dựa vào việc tìm hiểu thực tế và những kiến thức được học trên lớp, Nhưng với những nghiên cứu dưới đây sẽ là nền tảng để phát triển sâu rộng hơn cho những đồ án môn học sau này. Do là lần đầu tiên chúng em tự xây dựng và thiết kế phần mềm.

Kèm với những sự hạn chế ở khả năng cũng như kiến thức thực tế. Xin thầy thông cảm những sai xót của em. Hiện trạng Trong thời buổi công nghệ hiện nay, các hình thức quản lý thủ công trước kia bắt đầu giảm bớt do những sự cố sai xót đáng tiếc ảnh hưởng đến người tiêu dùng khách hàng lẫn các doanh nghiệp thương mại. Thay vào đó, những phần mềm công nghệ ngày càng xuất hiện đa dạng, hổ trợ hầu hết các lĩnh vực.Những phần mềm đem lại những lợi ích vô cùng to lớn, hạn chế được những sai xót đáng tiếc khi dùng phương pháp thủ công trước kia.

Nhận thấy được nhu cầu trên cùng với qua tìm hiểu, em xin xây dựng hệ thống phần mềm “Quản lý quán ăn”. Ưu điểm ➢ Quản lý các món ăn và tài liệu về các món ăn rõ ràng 2. Nhược điểm ➢ Bảo mật kém ➢ Mọi thống kê phải viết bằng tay không tự động ➢ Cần rất nhiều nhân viên để làm nhiều công việc khác nhau b. Hệ Thống Mới 1.

Ưu điểm ➢ Bảo mật tốt ➢ Tìm kiếm và thống kê nhanh chống ➢ Không cần nhiều nhân viên ➢ Bán hàng một cách nhanh chống Page 4 Tieu luan 5 Tài Liệu Báo Cáo Dự Án 2. Nhược điểm ➢ Các nhân viên mới cần kiến thức cơ bản về việc sử dụng máy tính 2. Yêu cầu hệ thống a. Yêu cầu hệ thống 1.

Yêu cầu về phần cứng ➢ Ram: 4gb ➢ CPU: i3 trở lên 2. Yêu cầu về công nghệ ➢ JDK 1.8 ➢ Ngôn ngữ lập trình: Java ➢ Phần mềm lập trình:Netbean và SQL server b. Yêu cầu của người dùng 1. Yêu cầu lưu trữ ➢ Thông tin nhân viên ➢ Thông tin món ăn ➢ Thông tin bán hàng 2.

Yêu cầu quản lý ➢ Quản lý nhân viên ➢ Quản lý món ăn ➢ Quản lý bán hàng 3. Yêu cầu thống kê ➢ Thống kê doanh thu tháng, năm,Top 5 món bán chạy 4. Yêu cầu bảo mật ➢ Tất cả thành viên phải đăng nhập mới được sử dụng phần mềm ➢ Admin mới có thể xem được thống kê Doanh thu ➢ Nhân viên không được phép thêm sửa xoá thông tin của nhân viên khác 3. Usecase tổng quát hệ thống quản lý quán ăn Page 5 Tieu luan 6 Tài Liệu Báo Cáo Dự Án Page 6 Tieu luan Hình 1 b.

Usecase Quản Lý Nhân Viên Hình 2 c. Usecase Quản Lý Món Ăn Tieu luan 8 Tài Liệu Báo Cáo Dự Án Hình 3 d. Usecase Quản Lý Bán Hàng Page 8 Tieu luan 9 Tài Liệu Báo Cáo Dự Án Hình 4 e. Usecase Thống Kê Hình 5 Page 9 Tieu luan 10 Tài Liệu Báo Cáo Dự Án CHI TIẾT CÁC CHỨC NĂNG 1.

Các Usecase bảng Quản Lý(Nhân viên, Món Ăn,Bán Hàng) ➢ Các chức năng của các bảng Admin • Thêm: thêm các dữ liệu ghi trên bảng vào CSDL • Sửa: sửa các dữ liệu đang xem trên bảng • Xoá: xoá các dữ liệu đang xem trên bảng • Tìm kiếm: tìm kiếm các dữ liệu trong CSDL • Điều hướng: di chuyển trước và sau • Các chức năng(Thêm,sửa,xoá) cần được kiểm lỗi hợp lý với dữ liệu • Bán Hàng có chức năng order,Thanh Toán,In Hóa Đơn. Các Usecase Thống kê(Doanh thu) ➢ Thống kê Doanh thu(chỉ có tài khoản Admin được xem) 3. Chi tiết về yêu cầu bảo mật ➢ Tất cả chức năng phải đăng nhập mới được sử dụng ➢ Admin: được phép sử dụng tất cả chức năng ➢ Nhân viên: • Không được xem Thống kê doanh thu • Không được Thêm sửa xoá thông tin của các nhân viên khác II. Mô hình triển khai Page 10 Tieu luan 11 Tài Liệu Báo Cáo Dự Án 2.

Thiết kế CSDL a. Sơ đồ quan hệ thực thể(ERD)(cấp 1) b. Sơ đồ quan hệ thực thể(ERD)(cấp 2) Page 11 Tieu luan 12 Tài Liệu Báo Cáo Dự Án c. Thiết kế chi tiết các thực thể o Nhân Viên: STT Tên Trường Kiểu Dữ Liệu Ràng Buộc Mô Tả 1 MaNV Nchar(10) Not null Mã Nhân Viên 2 Password Nvarchar(30) Not null Mật Khẩu 3 VaiTro Bit Default 0 Vai Trò 4 HoTen Nvarchar(30) Not Null Họ và Tên 5 NgaySinh Date Not Null Ngày sinh 6 GioiTinh Bit Default 0 Giới tính 7 SDT Nvarchar(10) Not Null Số điện thoại o Món Ăn STT Tên Trường Kiểu Dữ Liệu Ràng Buộc Mô Tả 1 MaMon Nchar(10) Not Null Mã Món Ăn 2 Loai Bit Default 0 Loại 3 TenMon Nvarchar(50) Not Null Tên Món Ăn 4 DonVi Nvarchar(20) Null Đơn Vị 5 SoLuong Int Not Null Số Lượng 6 GiaTien Float Not Null Gía Tiền Page 12 Tieu luan 13 Tài Liệu Báo Cáo Dự Án 7 Hinh Nvarchar(50) null Hình o Hóa Đơn STT Tên Trường Kiểu Dữ Liệu Ràng Buộc Mô Tả 1 IDHoaDon int Not null Mã Hóa Đơn 2 MaNV Nchar(10) Not null Mã nhân viên 3 TenKH Nvarchar(30) Not null Tên Khách Hàng 4 Ban Nvarchar(15) Null Id bàn 5 TrangThai Nvarchar(30) Not Null Trạng Thái o Hóa Đơn Chi Tiết STT Tên Trường Kiểu Dữ Liệu Ràng Buộc Mô Tả 1 IDHoaDon int Not null Id hóa đơn 2 MaMon Nchar(10) Not Null Mã Món 3 SoLuong Int Not Null Số Lượng 4 ThanhTien Float Not Null Tổng Tiền 5 NgayThanhToan Date DEFAULT Ngày Thanh Toán GET DATE 3.

Thiết kế giao diện a. Sơ đồ tổ chức giao diện 1.Sơ đồ tổ chức giao diện Admin 2.Sơ đồ giao diện nhân viên Page 13 Tieu luan 14 Tài Liệu Báo Cáo Dự Án b. Thiết kế giao diện cho các chức năng nghiệp vụ 2.1:Thiết kế form màn hình chào 2.2:Thiết kế form đăng nhập Page 14 Tieu luan 15 Tài Liệu Báo Cáo Dự Án 2.3: Thiết kế form đổi mật khẩu 2.4: Thiết kế form trang chính Page 15 Tieu luan 16 Tài Liệu Báo Cáo Dự Án Hình 1 Hình 2 Hình 3 Page 16 Tieu luan 17 Tài Liệu Báo Cáo Dự Án Hình 4 Hình 5 2.5: Thiết kế form quản lý nhân viên 2.6: Thiết kế form quản lý món ăn Page 17 Tieu luan 18 Tài Liệu Báo Cáo Dự Án 2.7: Thiết kế form quản lý bán hàng Page 18 Tieu luan 19 Tài Liệu Báo Cáo Dự Án 2.8: Thiết kế form thống kê Page 19 Tieu luan 20 Tài Liệu Báo Cáo Dự Án III. Thực hiện viết mã 1.

Viết mã tạo CSDL a. Tạo CSDL CREATE DATABASE QuanLyQuanAn GO USE QuanLyQuanAn GO CREATE TABLE [dbo]. SQL truy vấn và thao tác 1.Nhân Viên Hành Động Câu Lệnh SQL Thêm INSERT INTO NhanVien(MaNV,Password,VaiTro,HoTen,NgaySinh,GioiTinh,SDT) VALUES(?,?,?,?,?,?,?) Cập Nhật UPDATE NhanVien SET Password=?,VaiTro=?,HoTen=?,NgaySinh=?,GioiTinh=?,SDT=? WHERE MaNV=? Xóa DELETE FROM NhanVien Where MaNV=? Truy Vấn Tất Cả SELECT * FROM NhanVien Truy Vấn Theo Mã SELECT *FROM NhanVien where MaNV = ? Page 21 Tieu luan 22 Tài Liệu Báo Cáo Dự Án 2.Bán Hàng Hành Câu Lệnh SQL Động Thêm Call sp_TruSoLuong(?,?,?,?,?,?,?) Cập Nhật update HoaDon set TrangThai = ? where IDHoaDon = ? Truy Vấn select hd.TrangThai from HoaDon as hd,HoaDonChiTiet as Đơn ct \n” + Chưa Thanh “where hd.IDHoaDon and hd.TrangThai = N’Chưa Thanh Toán’ Toán Truy Vấn select ma.TenMon from HoaDonChiTiet as ct,MonAn as ma where ct.MaMon and Mã ct.idHoaDon = ? Món theo id Hóa đơn Truy vấn select ct.SoLuong from HoaDonChiTiet as ct,MonAn as ma where ct.MaMon and số ct.IDHoaDon = ? lượng theo id hóa đơn Truy vấn select ma.GiaTien from HoaDonChiTiet as ct,MonAn as ma where ct.MaMon and giá ct.idHoaDon = ? tiền theo id hóa đơn In Hóa select đơn HoaDon.NgayThanhToan,Ban,TrangThai,sum(SoLuong) theo Soluong,sum(ThanhTien) from HoaDonChiTiet \n" + id hóa " Join HoaDon \n" + đơn " on HoaDonChiTiet.IDHoaDon \n" + " where HoaDonChiTiet.IDHoaDon = ? \n" + " Group by HoaDon.IDHoaDon,NgayThanhToan,TenKH,Ban,TrangThai Page 22 Tieu luan 23 Tài Liệu Báo Cáo Dự Án c. Các thủ tục lưu tổng hợp thống kê 1.Thống Kê CREATE PROC [dbo].[sp_ThongKeDoanhThu](@Year INT) AS BEGIN SELECT COUNT(hd.STT) STT, MAX(hdct.MaMon) MaMon, MAX(hd.MaNV) MaNV , SUM(DISTINCT hdct.SoLuong) SoLuong, MAX(hdct.NgayThanhToan) NgayThanhToan, SUM(hdct.ThanhTien) thanhtien FROM HoaDonChiTiet hdct JOIN HoaDon hd ON hd.IDHoaDon WHERE YEAR(NgayThanhToan) = @Year GROUP BY hd.STT END GO 2.Thống Kê Theo Tháng ALTER PROC [dbo].[sp_ThongKeThang](@Month INT) AS BEGIN SELECT hdct.MaMon MaMon, hd.MaNV MaNV, SUM(DISTINCT hdct.SoLuong) SoLuong, SUM(hdct.ThanhTien) ThanhTien FROM HoaDonChiTiet hdct JOIN HoaDon hd ON hd.IDHoaDon WHERE MONTH(NgayThanhToan) = @Month GROUP BY hdct.NgayThanhToan END GO 3.Top 5 Món Bán Chạy CREATE PROC [dbo].MaMon) MaMon, AVG(hdct.SoLuong)SoLuongTB, SUM(hdct.SoLuong) Tong FROM HoaDonChiTiet hdct GROUP BY hdct.SoLuong END GO 4.Thêm Hóa Đơn Và Trừ Trực Tiếp Vào Số Lượng CREATE proc [dbo].[sp_TruSoLuong] @id Nchar(10) , @manv nchar(10),@tenkh nvarchar(30) , @mamon nchar(10), @ban Nvarchar(15),@soluong int,@thanhtien float as begin if exists (Select * From HoaDon where IDHoaDon = @id) Page 23 Tieu luan 24 Tài Liệu Báo Cáo Dự Án begin insert into HoaDonChiTiet(IDHoaDon,MaMon,SoLuong,ThanhTien) values (@id,@mamon,@soluong,@thanhtien) Update MonAn set SoLuong = SoLuong - @SoLuong Where MaMon = @MaMon end else begin insert into HoaDon(IDHoaDon,MaNV,TenKH,Ban) values (@id,@manv,@tenkh,@ban) insert into HoaDonChiTiet(IDHoaDon,MaMon,SoLuong,ThanhTien) values (@id,@mamon,@soluong,@thanhtien) Update MonAn set SoLuong = SoLuong - @SoLuong Where MaMon = @MaMon end end GO 2.

Lập trình JDBC a. Lớp hỗ trợ 2.1: Lớp Tiện Ích X-Date public class XDate { static SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy"); // chuyen doi string sang date // date là string cần chuyển //pattern là định dạng thời gian // return date kết quả public static Date now(){ return new Date(); } public static Date addDays(Date date,long days){ date.getTime()+days*24*60*60*1000); return date; } public static Date add(int days){ Date now = XDate.getTime()+ days*24*60*60*1000); return now; } public static String toString1(Date date,String.pattern){ if(pattern.applyPattern(pattern[0]); } if(date == null){ date = XDate.now(); } Page 24 Tieu luan 25 Tài Liệu Báo Cáo Dự Án return formater.format(date); } public static Date toDate(String date,String.pattern){ try{ if(pattern.applyPattern(pattern[0]); } if(date == null){ return XDate.now(); } return formater.2: Lớp Tiện Ích DB public class DB { private static String driver="com.SQLServerDriver"; private static String dburl="jdbc:sqlserver://localhost;database=QuanLyQuanAn"; private static String username="sa"; private static String password="123456"; static{ try { Class.forName(driver); } catch (ClassNotFoundException ex) { throw new RuntimeException(ex); } } //xay dựng PreparedStatement public static PreparedStatement getStmt(String sql, Object.args) throws SQLException{ Connection connection = DriverManager.getConnection(dburl, username, password); PreparedStatement pstmt = null; if(sql.startsWith("{")){ pstmt = connection.prepareCall(sql);// store procedure } else{ pstmt = connection.prepareStatement(sql);// } for(int i=0;i<args.getHoten()); } return pstmt; Page 25 Tieu luan 26 Tài Liệu Báo Cáo Dự Án } public static ResultSet query(String sql, Object.args) { try { PreparedStatement stmt = DB.getStmt(sql, args); return stmt.printStackTrace(); throw new RuntimeException(e); } } public static Object value(String sql, Object.args) { try { ResultSet rs = DB.query(sql, args); if(rs.next()){ return rs.close(); return null; } catch (Exception e) { throw new RuntimeException(e); } } public static int update(String sql,Object.args){ try{ PreparedStatement stmt = DB.getStmt(sql, args); try{ if(stmt.executeUpdate()>0){ return 1; } } finally{ stmt. Model class-Các lớp mô tả dữ liệu 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Thiết kế phần mềm quản lý quán ăn hiệu quả" cung cấp cái nhìn sâu sắc về cách thức phát triển và triển khai phần mềm quản lý cho các quán ăn, giúp tối ưu hóa quy trình hoạt động và nâng cao trải nghiệm khách hàng. Những điểm nổi bật trong bài viết bao gồm việc phân tích các tính năng cần thiết của phần mềm, lợi ích của việc tự động hóa trong quản lý đơn hàng, và cách phần mềm có thể hỗ trợ trong việc theo dõi doanh thu cũng như quản lý kho. Độc giả sẽ nhận thấy rằng việc áp dụng phần mềm quản lý không chỉ giúp tiết kiệm thời gian mà còn nâng cao hiệu quả kinh doanh.

Nếu bạn muốn tìm hiểu thêm về các khía cạnh liên quan đến quản lý và marketing trong ngành ẩm thực, hãy tham khảo bài viết "Tiểu luận đề tài xây dựng website bán hàng cho quán cafe rabbit house", nơi bạn sẽ khám phá cách xây dựng một trang web hiệu quả cho quán ăn. Ngoài ra, bài viết "Tiểu luận analysis for marketing strategy of pizza 4ps restaurant service" sẽ giúp bạn nắm bắt các chiến lược marketing phù hợp cho dịch vụ nhà hàng. Cuối cùng, để hiểu rõ hơn về việc sử dụng công nghệ trong chăm sóc khách hàng, bạn có thể tham khảo bài viết "Đồ án hcmute tìm hiểu chatbot push notification và xây dựng ứng dụng tích hợp vào website bán hàng". Những tài liệu này sẽ mở rộng kiến thức của bạn về các giải pháp công nghệ trong ngành ẩm thực.