KHẢO SÁT
Tổng hợp dữ liệu khảo sát
3 Tổng hợp dữ liệu khảo sát
2.1 Các quy trình trong quản lý bán hàng của hệ thống hiện hành a Tiếp nhận đơn hàng b Nhân viên chờ khách hàng đặt món, sau đó ghi món ăn ra giấy hoá đơn và tiến hành kiểm tra xem món đó có còn hay không Nếu hết thì phản hồi với khách hàng, nếu còn thì tiến hành gọi món cho khách c Thanh toán b Khi khách hàng yêu cầu thanh toán, nhân viên lấy hóa đơn để xác nhận thông tin, sau đó chuyển cho thu ngân để tính toán và giao dịch trực tiếp với khách hàng. c Sau khi thanh toán xong, nhân viên sẽ tiến hành ghi chép vào sổ doanh thu và cất giữ lại hóa đơn d Báo cáo và thống kê e Sau mỗi ngày, thu ngân tính toán và kiểm tra đối chiếu thông tin trong sổ doanh thu với doanh thu thực của cửa hàng, sau đó chuyển giao sổ lại cho quản lý
2.2 Một số vấn đề của hệ thống hiện tại a Chậm chạp
- Việc tính toán giá tiền thủ công gây mất thời gian cho người tính tiền
- Quy trình đặt món ăn và kiểm tra lặp lại nhiều lần mỗi khi khách gọi món gây mất thời gian phục vụ b Tìm kiếm khó khăn
Khi khách hàng đặt món, nhân viên cần kiểm tra số lượng món ăn còn lại, điều này gây ra sự chờ đợi và không hài lòng cho khách Sự thiếu chuyên nghiệp trong quy trình phục vụ này cần được khắc phục để nâng cao trải nghiệm khách hàng.
Trong những giờ cao điểm hoặc dịp lễ đông khách, việc phục vụ thường bị quá tải, dẫn đến tình trạng lẫn lộn và không theo thứ tự Điều này dễ gây ra sai sót trong quá trình phục vụ khách hàng.
Hóa đơn ghi bằng tay dẫn đến khối lượng quản lý lớn và tình trạng quá tải, gây ra sai sót và mất mát dữ liệu trong quá trình tính toán và báo cáo doanh thu.
PHÂN TÍCH HỆ THỐNG
Biểu đồ phân rã chức năng
Hình 2.1: Biểu đồ phân rã chức năng 1.1 Mô tả chức năng của lá: a Quản lý bán hàng:
- Tạo hóa đơn: Nhân viên Thu Ngân có thể tạo hóa đơn mới trên phần mềm với nội dung là các món từ Đơn đặt hàng của khách
- Tạo đơn đặt hàng: Nhân viên Phục Vụ có thể tạo đơn đặt hàng trên thiết bị cầm tay với nội dung là các món ăn khách gọi
- In hóa đơn: Thu Ngân có thể in hóa đơn cho khách ra giấy bằng máy fax
- Hiển thị Menu: Nhân viên Phục Vụ có thể xem menu các món ăn cửa hàng phục vụ và hiển thị cho khách hàng
Khi khách hàng yêu cầu thanh toán, nhân viên phục vụ sử dụng chức năng kiểm đồ để tính toán số lượng món ăn đã dùng và số lượng món trả lại.
- Thanh toán: Sau khi kiểm dồ, nhân viên Phục Vụ dùng chức năng thanh toán để gửi yêu cầu thanh toán đến máu của Thu Ngân
Nhân viên Phục Vụ hoặc Thu Ngân có khả năng ghép các đơn đặt món của khách hàng trong trường hợp khách gọi nhiều lần trong bữa ăn, giúp tối ưu hóa quy trình phục vụ Quản lý hệ thống hiệu quả là yếu tố quan trọng để đảm bảo trải nghiệm tốt nhất cho khách hàng.
- Đăng nhập: Xác thực tài khoản, mật khẩu của người dùng và cấp quyền truy cập với các chức năng khác nhau
- Đăng xuất: Người dùng đăng xuất ra khỏi hệ thống
- Đổi mật khẩu: Mỗi người dùng có thể đổi mật khẩu của tài khoản dùng để đăng nhập vào phần mềm
- Phân quyền: Quản Lý có thể phân quyền (cấp quyền) cho người dùng khác tùy theo chức vụ, vai trò của họ c Cập nhật thông tin
- Thông tin nhân viên: Cung cấp và cập nhật thông tin các nhân viên trong cơ sở dữ liệu cho người dùng Quản Lý
- Thông tin khách hàng: Cung cấp và cập nhật thông tin các khách hàng trong cơ sở dữ liệu cho người dùng Quản Lý và Thu Ngân
- Thông tin món ăn: Cung cấp và cập nhật thông tin của các món ăn trong menu cho người dùng Quản Lý và Phục Vụ
Cung cấp và cập nhật thông tin hóa đơn cùng với chi tiết hóa đơn trong cơ sở dữ liệu là nhiệm vụ quan trọng nhằm hỗ trợ người dùng trong công tác Quản Lý và Thu Ngân.
- Thông tin nhà cung cấp: Cung cấp và cập nhật thông tin của các nhà cung cấp cho người dùng Quản Lý
Thông tin đơn đặt hàng là yếu tố quan trọng trong việc cung cấp và cập nhật dữ liệu cho người dùng như Phục Vụ, Thu Ngân và Bếp Việc báo cáo thống kê giúp theo dõi và phân tích tình hình đơn hàng một cách hiệu quả.
- Doanh thu: Xem thống kê tổng doanh thu theo ngày/tháng/năm của cửa hàng
- Xuất File Excel: Xuất dữ liệu thống kê cụ thể ra file excel
▪ Xuất dữ liệu b Phi chức năng:
▪ Giao diện: thân thiện với người dùng
▪ Tốc độ xử lí: cần nhanh chóng và chính xác
▪ Bảo mật: lưu trữ thông tin an toàn
▪ Tương thích: sử dụng được đa nền tảng
Mô hình hóa tiến trình
2.1 DFD vật lý hệ thống hiện thời
Hình 2.2: DFD vật lý hiện thời mức 0
Hình 2.3: DFD vật lý hiện thời mức 1
2.2 DFD logic hệ thống hiện thời
Hình 2.4: DFD logic hiện thời mức 0
Hình 2.5: DFD logic hiện thời mức 1
2.3 DFD logic hệ thống đề xuất
Hình 2.6: DFD logic đề xuất mức 0
Hình 2.7: DFD logic đề xuất mức 1
Mô hình hóa dữ liệu
3.1 Các thực thể và Thuộc tính
Sau khi liệt kê và xác định các thuộc tính cần thiết, nhóm đã tiến hành xác định các thực thể chính và chuẩn hóa dữ liệu, với tổng cộng 14 quan hệ trong cơ sở dữ liệu.
Khách hàng được phân biệt bằng mã khách hàng, một thuộc tính khóa quan trọng Thông tin chi tiết bao gồm họ tên, địa chỉ, ngày sinh, số điện thoại và giới tính của khách hàng Những thông tin này giúp xác định và phân loại khách hàng một cách hiệu quả.
Mã món ăn là thuộc tính khóa giúp phân biệt các món ăn khác nhau Tên món ăn mô tả rõ ràng tên gọi của món ăn, trong khi giá nhập và giá bán cung cấp thông tin về chi phí của món ăn đó Hình ảnh của đồ ăn được mô tả qua phần ảnh, giúp khách hàng hình dung rõ hơn về sản phẩm Cuối cùng, trạng thái còn hàng cho biết liệu món ăn có còn sẵn để phục vụ hay không.
Hóa đơn được xác định bởi mã hóa đơn, một thuộc tính khóa giúp phân biệt các hóa đơn khác nhau Ngày tạo của hóa đơn cho biết thời gian mà hóa đơn đó được tạo ra.
Hóa đơn bao gồm các thông tin quan trọng như mã hóa đơn, số lượng món ăn và trị giá tổng cộng Mã hóa đơn là thuộc tính khóa giúp phân biệt các hóa đơn khác nhau Số lượng thể hiện số lượng món ăn mà khách hàng đã sử dụng, trong khi trị giá mô tả tổng số tiền mà khách hàng cần thanh toán.
Người dùng được xác định bởi mã người dùng, một thuộc tính khóa giúp phân biệt các cá nhân Thông tin bao gồm họ tên, địa chỉ, số điện thoại, mật khẩu, ngày sinh, giới tính, địa chỉ email và hình ảnh Mỗi thuộc tính này đóng vai trò quan trọng trong việc quản lý và nhận diện người dùng.
Vai trò o Mã vai trò là thuộc tính khóa quan trọng giúp phân biệt các vai trò khác nhau trong hệ thống Tên vai trò mô tả cụ thể các chức năng và nhiệm vụ của từng vai trò người dùng, từ đó tạo sự rõ ràng và dễ dàng quản lý trong quá trình sử dụng.
Các loại đồ ăn được phân loại dựa trên mã loại đồ ăn, đây là thuộc tính khóa giúp phân biệt giữa các loại khác nhau Tên loại đồ ăn mô tả cụ thể tên gọi của từng loại, tạo sự dễ hiểu và nhận diện cho người tiêu dùng.
Đơn vị tính bao gồm hai thành phần chính: mã đơn vị tính, là thuộc tính khoá giúp phân biệt các đơn vị tính khác nhau, và tên đơn vị tính, mô tả cụ thể tên gọi của các đơn vị này.
Nhà cung cấp được xác định bởi mã NCC, một thuộc tính khoá giúp phân biệt các nhà cung cấp Tên NCC mô tả tên gọi của nhà cung cấp, trong khi địa chỉ cung cấp thông tin về vị trí của họ Số điện thoại cũng được ghi rõ để liên lạc với nhà cung cấp một cách dễ dàng.
- Chi tiết đặt món : o Số lượng : Mô tả số lượng đặt món o Tổng tiền : Mô tả tổng số tiền của đơn đặt món
Mã đơn đặt món là thuộc tính khóa giúp phân biệt các nhà cung cấp, trong khi thời gian đặt mô tả thời điểm khách hàng thực hiện việc đặt món.
Mã vị trí ngồi là thuộc tính khóa quan trọng giúp phân biệt các vị trí ngồi khác nhau, trong khi mô tả vị trí ngồi của khách hàng cung cấp thông tin chi tiết về chỗ ngồi mà họ đã chọn.
Trạng thái đơn hàng bao gồm mã trạng thái, là thuộc tính khóa dùng để phân biệt các trạng thái của đơn đặt hàng, và tên trạng thái, mô tả cụ thể tên của món ăn.
THIẾT KẾ HỆ THỐNG
Thiết kế kiến trúc hệ thống
1.1 Xác định kiểu kiến trúc hệ thống
- Mô hình tập trung 1 máy chủ
- Quan hệ giữa các thành phần của hệ thống:
1.2 Công nghệ lập trình, công nghệ lưu trữ dự kiến
- Công nghệ lập trình: - Window Forms (Visual Studio C#), ASP.NET cho PC : - Java, Kotlin, Swift, cho thiết bị di động
- Công nghệ lưu trữ dữ liệu: SQL Server, MySQL
1.3 Chi tiết các bảng trong cơ sở dữ liệu
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaVaiTro Nvarchar(10) Mã vai trò (khóa chính)
2 TenVaiTro Nvarchar(50) Tên vai trò
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaNguoiDung Nvarchar(10) Mã người dùng (khóa chính)
2 MaVaiTro Nvarchar(10) Mã vai trò (khóa phụ)
5 SoDienThoai Nvarchar(50) Số điện thoại
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaHoaDon Nvarchar(10) Mã hóa đơn (khóa chính)
2 MaKhachHang Nvarchar(10) Mã khách hàng (khóa phụ
3 MaNguoiDung Nvarchar(10) Mã người dùng (khóa phụ
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaKhachHang Nvarchar(10) Mã khách hàng (khóa chính)
6 SoDienThoai Nvarchar(50) Số điện thoại
Bảng Chi Tiết Hóa Đơn
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaHoaDon Nvarchar(10) Mã hóa đơn (khóa chính, khóa phụ 1)
2 MaDoAn Nvarchar(10) Mã đồ ăn (khóa chính, khóa phụ 2)
Bảng 3.1.5: Table Chi Tiết Hóa Đơn
ST Thuộc tính Kiểu dữ liệu Mô tả
1 MaLoaiDoAn Nvarchar(10) Mã loại đồ ăn (khóa chính)
2 TenLoaiDoAn Nvarchar(50) Tên loại đồ ăn
Bảng 3.1.6: Table Loại Đồ Ăn
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaDonViTinh Nvarchar(10) Mã đơn vị tính (khóa chính)
2 TenDonViTinh Nvarchar(50) Tên đơn vị tính
Bảng 3.1.7: Table Đơn Vị Tính
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaNhaCungCap Nvarchar(10) Mã nhà cung cấp (khóa chính)
2 TenNhaCungCap Nvarchar(50) Tên nhà cung cấp
4 SoDienThoai Nvarchar(50) Số điện thoại
Bảng 3.1.8: Table Nhà Cung Cấp
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaDoAn Nvarchar(10) Mã đồ ăn (khóa chính)
2 MaLoaiDoAn Nvarchar(10) Mã loại đồ ăn (khóa phụ 1)
3 MaDonViTinh Nvarchar(10) Mã đơn vị tính (khóa phụ 2)
4 MaNhaCungCap Nvarchar(10) Mã nhà cung cấp (khóa phụ
5 TenDoAn Nvarchar(50) Tên đồ ăn
Bảng Chi Tiết Đơn Đặt Món
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaDonDatMon Nvarchar(10) Mã đơn đặt món (khóa chính, khóa phụ 1)
2 MaDoAn Nvarchar(10) Mã đồ ăn (khóa chính, khóa phụ 2)
Bảng 3.1.10: Table Chi Tiết Đơn Đặt Món
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaDonDatMon Nvarchar(10) Mã đơn đặt món (khóa chính)
2 MaDoAn Nvarchar(10) Mã đồ ăn (khóa phụ 1)
3 MaTrangThai Nvarchar(10) Mã trạng thái (khóa phụ 2)
4 MaViTriNgoi Nvarchar(10) Mã vị trí ngồi (khóa phụ 3)
5 ThoiGianDat DateTime Thời gian đặt
Bảng3.1.11: Table Đơn Đặt Món
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaViTriNgoi Nvarchar(10) Mã vị trí ngồi (khóa chính)
2 ViTriNgoi Nvarchar(50) Vị trí ngồi
Bảng 3.1.12: Table Vị Trí Ngồi
STT Thuộc tính Kiểu dữ liệu Mô tả
1 MaTrangThai Nvarchar(10) Mã trạng thái (khóa chính)
2 TenTrangThai Nvarchar(50) Tên trạng thái
1.3 Phân rã hệ thống thành các module a Cổng thông tin cho Quản Lý
Quản lý hồ sơ nhân viên
Quản lý thông tin món ăn
Quản lý thông tin nhà cung cấp Quản lý hồ sơ khách hàng
Quản lý hệ thống Đổi mật khẩu Đăng nhập Đăng xuất
Bảng 3.1.14: Module Quản lý b Cổng thông tin cho Nhân Viên Phục Vụ
Quản lý thông tin Kiểm đồ
Quản lý đơn đặt món Đăng nhập
Quản lý hệ thống Đăng xuất Đổi mật khẩu
Bảng 3.1.15: Module Nhân Viên Phục
Vụ c Cổng thông tin cho Nhân Viên Thu Ngân
Quản lí đơn đặt món
Quản lí hóa đơn Đăng nhập
Quản lý hệ thống Đăng xuất Đổi mật khẩu
Bảng 3.1.16: Module Nhân viên thu ngân e Cổng thông tin cho Nhân Viên Bếp
Quản lý đơn đặt món
Quản lý thông tin món ăn Đăng nhập
Quản lý hệ thống Đăng xuất Đổi mật khẩu
Bảng 3.1.17: Module Nhân viên bếp
1.4 Mô tả chi tiết các module a Các chức năng chung trong hệ thống
Hình 3.1.18: Chức năng tìm kiếm bản ghi
Hình 3.1.19: Chức năng thêm bản ghi
Hình 3.1.20: Chức năng sửa bản ghi
Hình 3.1.21: Chức năng xóa bản ghi b Chi tiết các module
Gồm 4 module chính được chia nhỏ ra thành nhiều module con: Đăng nhập
Input: Thông tin tài khoản, mật khẩu của người dùng Output: Giao diện chính của phần mềm và quyền truy cập
Sơ đồ luồng xử lý:
Hình 3.1.22: Chức năng đăng nhập Đăng xuất
Input: Yêu cầu đăng xuất
Output: Giao diện trang đăng nhập
Sơ đồ luồng xử lý:
Hình 3.1.23: Chức năng đăng xuất Đổi mật khẩu
Input: Mật khẩu cũ và mới của người dùng
Output: Thông báo thành công hay thất bại
Sơ đồ luồng xử lý:
Hình 3.1.24: Chức năng đổi mật khẩu
Input: Thông tin đơn đặt món, thông tin khách hàng, thông tin nhân viênOutput: Hóa đơn
Sơ đồ luồng xử lý:
Hình 3.1.25: Chức năng tạo hóa đơn
Input: Thông tin hóa đơn
Sơ đồ luồng xử lý:
Hình 3.1.26: Chức năng in hóa đơn
Input: Thông tin đơn đặt món
Sơ đồ luồng xử lý:
Hình 3.1.27: Chức năng ghép đơn đặt món
Input: Thông tin món ăn
Sơ đồ luồng xử lý:
Hình 3.1.28: Chức năng tạo đơn đặt món
Input: Thông tin đơn đặt món Output: Đơn đặt món
Sơ đồ luồng xử lý:
Hình 3.1.29: Chức năng kiểm đồ
Input: Thông tin nhân viên
Output: Thông tin nhân viên
Sơ đồ luồng xử lý:
Hình 3.1.30: Chức năng phân quyền
Input: Thông tin hóa đơn/món ăn Output: Biểu đồ dữ liệu thống kê
Sơ đồ luồng xử lý:
Hình 3.1.31: Chức năng báo cáo
Input: Danh sách thông tin
Sơ đồ luồng xử lý:
Hình 3.1.32: Chức năng xuất file excel
Thiết kế các biểu mẫu, báo cáo giao diện và đối thoại
Hình 3.2.1: Giao diện đăng nhập
Hình 3.2.2: Giao diện quên mật khẩu
Hình 3.2.3: Giao diện đổi mật khẩu
Hình 3.2.4: Giao diện đăng xuất
Hình 3.2.5: Giao diện quản lý nhân viên
Hình 3.2.6: Giao diện quản lý khách hàng
Hình 3.2.7: Giao diện quản lý nhà cung cấp
Hình 3.2.8: Giao diện quản lý món ăn
Hình 3.2.9: Giao diện quản lý hóa đơn
Hình 3.2.10: Giao diện quản lý chi tiết hóa đơn
Hình 3.2.11: Giao diện quản lý báo cáo doanh thu theo bảng
Hình 3.2.12: Giao diện báo cáo doanh thu theo đường 2.2 Giao diện cho Nhân Viên Phục Vụ
Hình 3.2.13: Giao diện đặt món
Hình 3.2.14: Giao diện quản lý đơn đặt món
Hình 3.2.15: Giao diện quản lý ghép đơn đặt món
Hình 3.2.16: Giao diện kiểm đồ 2.3 Giao diện cho Nhân Viên Thu Ngân
Hình 3.2.3.1: Giao diện quản lý đơn đặt món
Hình 3.2.3.2: Giao diện quản lý ghép đơn đặt món
Hình 3.2.3.3: Giao diện thanh toán
Hình 3.2.3.4: Giao diện tạo khách hàng
Hình 3.2.3.4: Giao diện tạo hóa đơn
2.4 Giao diện cho Nhân Viên Bếp
Hình 3.2.4.1: Giao diện quản lý đơn đặt món
Hình 3.2.4.2: Giao diện chế biến
Hình 3.2.4.3: Giao diện quản lý món báo hết