Báo cáo nhập môn công nghệ phần mềm. Chủ đề: Quản lí nhà hàng. Sự gia tăng không ngừng về số lượng cũng như các mô hình nhà hàng khác nhau đã đặt ra nhu cầu về quản lý nhà hàng. Với tư cách là một nhà phát triển các phần mềm quản lý, nhóm chúng em được yêu cầu phát triển hệ thống cho phép quản lý các đối tượng trong nhà hàng như mặt hàng, khách hàng, nhân viên.
Thiết kế xử lý 37
Một số chức năng cần thiết 37 1 Chức năng đăng nhập 37 2 Chức năng giao diện 38 3 Chức năng phục vụ khách hàng 39 4 Chức năng quản lý thực đơn 41 5 Chức năng quản lý hóa đơn 43 6 Chức năng quản lý nhân viên/ khách hàng 44 5.2 Kiến trúc phần mềm 46 Chương 6: Kiểm thử 48
STT Loại Tên xử lý Mô tả
1 Người dùng nhập Nhập username
2 Người dùng nhập Nhập password
3 Button Đăng nhập hệ thống
Thuật toán xử lý đăng nhập
Bước 1: Người dùng nhấn nút “Login” để xác nhận đăng nhập
Hệ thống sẽ kiểm tra tính hợp lệ của thông tin trên form Nếu phát hiện thông tin bị bỏ trống hoặc không hợp lệ, người dùng sẽ nhận được thông báo lỗi yêu cầu nhập lại Nếu mọi thông tin đều hợp lệ, hệ thống sẽ tiến hành bước tiếp theo.
Bước 3: Kết nối với cơ sở dữ liệu để kiểm tra xem tên người dùng có tồn tại và mật khẩu nhập vào có khớp với mật khẩu tương ứng Nếu cả hai điều kiện này đều thỏa mãn, tiến hành bước 4; nếu không, chuyển sang bước 5.
Bước 4: Thông báo đăng nhập thành công và chuyển sang màn hình Home và đóng kết nối cơ sở dữ liệu.
Bước 5: Thông báo lỗi cho người dùng và yêu cầu người dùng nhập lại
Bước 6: Người dùng nhấn”Thoát” để thoát khỏi chương trình Sẽ có thông báo hỏi xác định người dùng có muốn thoát chương trình hay không
STT Tên xử lý Mô tả
1 Chuyển giao diện Khi người dùng ấn vào Phục vụ khách hàng, hiển thị giao
2 Chuyển giao diện Khi người dùng ấn vào Quản lý kho hàng, hiển thị giao diện quản lý khách hàng
3 Chuyển giao diện Khi người dùng ấn vào Quản lý hóa đơn, hiển thị giao diện quản lý nhân viên
4 Chuyển giao diện Khi người dùng ấn vào Quản lý nhân viên, hiển thị giao diện quản lý hóa đơn
5 Chuyển giao diện Khi người dùng ấn vào Quản lý khách hàng, hiển thị giao diện quản lý thực đơn
Thuật toán xử lý thao tác giao diện:
Bước 1: Người dùng nhấn chọn các chức năng của chương trình, hệ thống sẽ hiện chức năng các chương trình đó.
Bước 2: Người dùng chọn nút ‘back’ để đăng xuất khỏi tài khoản.
5.1.3 Chức năng phục vụ khách hàng
STT Tên xử lý Mô tả
1 Hiển thị giao diện Giao diện các bàn ăn, những bàn đã có người đặt sẽ hiển thị màu khác so với những bàn trống.
2 Hiển thị giao diện Hiển thị menu
3 Hiển thị giao diện Hiển thị các món ăn đã đặt cũng như số lượng của chúng.
4 Hiển thị giao diện Hình thức thanh toán
5 Xác nhận Xác nhận đặt đồ ăn
6 Reset Xóa các đồ ăn đã được đặt
7 Thanh toán Thanh toán hóa đơn cho khách hàng
Thuật toán đặt bàn cho khách:
B1: Người dùng chọn bàn cần đặt ở giao diện 1 (những bàn còn trống) Hệ thống hiển thị bàn đã đặt sang màu đỏ
B2: Người dùng chọn món ăn và số lượng từ menu ở giao diện 2
B3: Người dùng kiểm tra chi tiết món ăn đã chọn ở giao diện 3
B4: Người dùng chọn hình thức thanh toán cho khách hàng
B5: Người dùng xác nhận đặt đồ ăn và bàn cho khách hàng
B6: Người dùng thanh toán hóa đơn cho khách hàng
5.1.4 Chức năng quản lý thực đơn
STT Tên xử lý Mô tả
1 Nhập dữ liệu Số thứ tự(STT được tự động cập nhật theo danh sách)
2 Nhập dữ liệu Tên danh mục(VD:Món chính)
3 Nhập dữ liệu Mô tả(VD: Món chính trong bữa ăn)
4 Nhập dữ liệu Mã món ăn
5 Nhập dữ liệu Đơn vị tính(VD: Phần)
6 Nhập dữ liệu Nhập tên món ăn(VD: Matcha)
7 Nhập dữ liệu Nhập giá tiền
14 Hiển thị thông tin Hiển thị thông tin danh mục
15 Hiển thị thông tin Hiển thị thông tin thực đơn
Thuật toán thao tác trên thực đơn:
B1: Nhập các thông tin như mã danh mục, tên danh mục, mã món ăn, … B2: Hệ thống kế nối với CSDL và lưu những thông tin đó
B3: Hiển thị thông tin ra màn hình
5.1.5 Chức năng quản lý hóa đơn
STT Tên xử lý Mô tả
1 Hiển thị thông tin Hiển thị các hóa đơn
2 Hiển thị thông tin Hiển thị chi tiết hóa đơn
3 Tra cứu Tìm kiếm các thông tin về hóa đơn
4 Tính tiền Tổng tiền các món ăn đã đặt
Thuật toán tìm kiếm trên bảng hóa đơn:
B1: Người dùng chọn tích thông tin cần tra cứu ( Ngày, mã nhân viên, giá trị hóa đơn) để tìm kiếm
B2: Người dùng chọn tra cứu để hiển thị thông tin các hóa đơn
Người dùng có thể chọn một hóa đơn bất kỳ để xem chi tiết tại giao diện 2 Để làm mới thông tin tìm kiếm hóa đơn, người dùng chỉ cần nhấn vào nút reset.
5.1.6 Chức năng quản lý nhân viên
STT Tên xử lý Mô tả
1 Hiển thị thông tin Hiển thị họ tên nhân viên
2 Hiển thị thông tin Hiển thị giới tính nhân viên (Nam/Nữ)
3 Hiển thị thông tin Hiển thị năm sinh nhân viên
4 Hiển thị thông tin Hiển thị số CMND/CCCD nhân viên
6 Hiển thị thông tin Hiển thị chức vụ nhân viên
8 Thêm Thêm thông tin nhân viên (Thêm tất cả thông tin từ 1->7 vào “Danh sách khách hàng”(11))
Để xóa thông tin nhân viên, người dùng chỉ cần chọn một khách hàng bất kỳ trong "Danh sách khách hàng" và nhấn nút Sửa Sau đó, họ có thể chỉnh sửa lại các thông tin từ mục 1 đến mục 7.
10 Sửa Sửa thông tin nhân viên (Người dùng chọn khách hàng bất kỳ trong “Danh sách khách hàng” và Xóa”
11 Hiển thị thông tin Hiển thị thông tin nhân viên với những thông tin từ 1->7
12 Tìm kiếm nhân viên Tìm kiếm nhân viên theo họ tên Khi bấm vào, sẽ nhập họ tên nhân viên để tìm kiếm và hiển thị lên giao diện
Thuật toán quản lý nhân viên:
B1: Người dùng nhập các thông tin từ 1->7
B2: Hệ thống kiểm tra tính hợp lệ của các thông tin Nếu chưa nhập hoặc không hợp lệ thì bắt nhập lại Ngược lại làm b3
B3: Kiểm tra các yêu cầu CSDL của các thông tin ở trên Nếu hợp lệ thì tiếp B4
B4: Người dùng bấm nút “Thêm” Hệ thống báo thành công và hiển thị thông tin vừa thêm vào giao diện 11.
B1: Người dùng chọn thông tin của một đối tượng nhân viên ở giao diện 11.
B2: Hệ thống hiển thị thông tin nhân viên theo thứ tự các thông tin từ 1->7.
B3: Người dùng có thể sửa các thông tin ở bước trên.
B4: Hệ thống kiểm tra tính hợp lệ của các thông tin Nếu chưa nhập hoặc không hợp lệ thì bắt nhập lại Ngược lại làm B5
B5: Kiểm tra các yêu cầu CSDL của các thông tin ở trên Nếu hợp lệ thì tiếp B6
B6: Người dùng bấm nút “Sửa” Hệ thống báo thành công và cập nhật lại thông tin vừa sửa vào giao diện 11.
B1: Người dùng chọn thông tin của một đối tượng nhân viên ở giao diện 11.
B4: Hệ thống xóa hết thông tin của đối tượng nhân viên ở CSDL
Lớp này là giao diện có chức năng cho phép người dùng tương tác với chương trình với các control như button, textbox, label v.v.
Business Logic Layer - BUS ( BLL )
Lớp này đảm nhiệm chức năng xử lý nghiệp vụ, có nhiệm vụ chính là xử lý các dữ liệu được truyền từ lớp giao diện trước khi lưu trữ vào cơ sở dữ liệu (CSDL).
DAL đảm nhận chức năng tương tác với CSDL, tức là chúng ta sẽ viết các hàm kết nối, xử lý thêm xóa sửa trong CSDL
Kiểm thử là yếu tố quan trọng giúp đảm bảo sản phẩm chất lượng cao và ứng dụng phần mềm có chi phí bảo trì thấp, từ đó mang lại kết quả chính xác, phù hợp và đáng tin cậy cho khách hàng.
Chức năng đăng nhập 48 6.2 Chức năng chọn món 48 6.3 Chức năng đặt bàn 49 6.4 Quản lý tài khoản 49 6.5 Quản lý nhân viên 50 6.6 Quản lý khách hàng 51 6.7 Quản lý nhân viên/ khách hàng 53 Chương 7: Kết luận 54
Username phải có dạng “NVxxxxx”
B1: Nhân viên đăng nhập vào hệ thống dưới username: sv17252 và password: ……
➔ Thông báo lỗi, Username sai quy định
Bảng món ăn bao gồm: Coffee: 0, Trà sữa: 12
B1: Nhân viên đăng nhập vào hệ thống dưới username: NV0905 và password: 123456
B2: Chọn chức năng “Gọi món”
B3: Chọn các đồ uống với số lượng Cafe 1, Trà sữa 1
�Hệ thống thông báo Coffe đã hết số lượng
B1: Nhân viên đăng nhập vào hệ thống dưới username: NV0905 và password: 123456
B2: Chọn chức năng "Phục vụ khách hàng"
B3: Chọn chức năng “Đặt bàn”
B4: Nếu muốn ghép bàn, chọn nút “Yêu cầu ghép bàn”
Nếu chưa chọn bàn thì sẽ thông báo phải chọn bàn trước khi chọn món
➔ Ô thức ăn được tích sẽ được phép nhảy qua thông tin bàn
➔ Hệ thống không thể thanh toán nếu bàn không có người
➔ Hệ thống sẽ báo lỗi ở B4 nếu không có bàn để ghép
Hệ thống quản lý tài khoản sẽ bao gồm một số chức năng như: Mã nhân viên, Họ tên, Ngày sinh, Giới tính, CMND, Số điện thoại,
B1: Người nhân viên sẽ nhập những thông tin trên để đăng kí vào làm ở quán
+ Nhập ngày sinh, nếu lấy năm hiện tại trừ đi năm sinh 9 số Tương tự với CCCD nếu nhập 12 số.
+ Nhập tài khoản + mật khẩu: Tài khoản phải có dạng NVxxxxx, mật khẩu phải bắt buộc chứa ký tự in hoa và chữ cái thường.
➔ Nếu một trong những thông tin kia thiếu, hệ thống sẽ không cho Submit
Hệ thống quản lý nhân viên sẽ đưa ra một dãy các thông tin về nhân viên gồm: Họ tên, CMND, …
Có 3 trường hợp cần được xử lý: Thêm, Xóa, Sửa
TH1: Khi người dùng nhấn vào nút Thêm
B1: Nhập thông tin nhân viên cần thêm
➔ Hệ thống sẽ báo lỗi màu đỏ tại khung thông tin mà nhân viên đó càn thiếu hoặc là sai định dạng về ký tự tại khung đó.
TH2: Khi người dùng nhấn vào nút Sửa
B1: Click vào nhân viên cần sửa trên danh sách nhân viên đã hiển thị ra
B2: Hệ thống sẽ hiện thông tin nhân viên ra chúng ta sẽ bắt đầu sửa những thông tin đó
➔ Hệ thống sẽ báo lỗi màu đỏ tại khung thông tin mà nhân viên đó cần thiếu hoặc là sai định dạng về ký tự tại khung đó.
➔ Hệ thống cũng sẽ báo lỗi đặc biệt nếu một số thông tin
TH3: Khi người dùng nhấn vào nút Xóa
B1: Click vào nhân viên cần xóa trên danh sách nhân viên đã hiển thị ra
➔ Hệ thống báo xóa nhân viên thành công
Hệ thống quản lý khách hàng sẽ đưa ra một dãy các thông tin về khách hàng gồm: Họ tên, CMND, …
Có 3 trường hợp cần được xử lý: Thêm, Xóa, Sửa
TH1: Khi người dùng nhấn vào nút Thêm
B1: Nhập thông tin khách hàng cần thêm
➔ Hệ thống sẽ báo lỗi màu đỏ tại khung thông tin mà khách hàng đó còn thiếu hoặc là sai định dạng về ký tự tại khung đó.
TH2: Khi người dùng nhấn vào nút Sửa
B1: Click vào khách hàng cần sửa trên danh sách khách hàng đã hiển thị ra
B2: Hệ thống sẽ hiện thông tin khách hàng ra chúng ta sẽ bắt đầu sửa những thông tin đó
➔ Hệ thống sẽ báo lỗi màu đỏ tại khung thông tin mà khách hàng đó cần thiếu hoặc là sai định dạng về ký tự tại khung đó.
➔ Hệ thống cũng sẽ báo lỗi đặc biệt nếu một số thông tin không được trùng với khách hàng khác như CMND, Mã khách hàng
TH3: Khi người dùng nhấn vào nút Xóa
B1: Click vào khách hàng cần xóa trên danh sách nhân viên đã hiển thị ra
➔ Hệ thống báo xóa khách hàng thành công
6.7 Quản lý nhân viên/ khách hàng (Chức năng tìm kiếm)
B1: Nhập mã nhân viên / mã khách hàng
B2: Hệ thống sẽ trả về thông tin nhân viên / khách hàng mong muốn
➔ Nếu không có Mã nhân viên, mã khách hàng, hệ thống sẽ thông báo không tìm thấy gì.