2.Khi nhận được yêu cầu gọi món ăn từ thực khách, tôi muốn màn hình hiển thị thông tin chi tiết về món ăn và số lượng cần phục vụ, để tôi có thể chuẩn bị món ăn phù hợp.. 3.Là đầu bếp, t
Mục đích của đề tài
Cung cấp các công cụ quản lý hiệu quả cho hoạt động hàng ngày của nhà hàng, giúp theo dõi lịch trình đặt chỗ, quản lý kho hàng, tự động hóa quy trình đặt món và thanh toán Những công cụ này hỗ trợ tạo báo cáo doanh thu và lợi nhuận, mang lại cái nhìn tổng quát về hiệu quả kinh doanh của nhà hàng cho chủ sở hữu.
Phạm vi của đề tài
Phát triễn phần mềm quản lí nhà hàng self restaurant
HIỆN TRẠNG VÀ YÊU CẦU BÀI TOÁN
Khảo sát hiện trạng
Đánh giá hiện trạng: o Thiếu:
Quy hoạch chi tiết: o Kém hiệu lực o Tốn kém
Mô tả bài toán”
Self Restaurant là một chuỗi nhà hàng mới gia nhập thị trường Việt Nam và dự kiến sẽ khai trương vào cuối năm nay Để quản lý hiệu quả các nhà hàng trong chuỗi, họ đang tìm kiếm phần mềm quản lý với các yêu cầu được sắp xếp theo thứ tự ưu tiên.
Hệ thống gồm có 4 thành phần chính:
Phần đặt ở mỗi bàn ăn:
- Dùng để hiển thị các món ăn có thể phục vụ trong ngày tại chi nhánh đó cùng với giá tiền của nó.
Thực khách có thể dễ dàng chọn món ăn và số lượng phần ăn qua màn hình cảm ứng, giúp nhà hàng tiết kiệm nhân viên phục vụ bàn.
- Khi món ăn đã chuẩn bị xong, trên màn hình sẽ xuất hiện thông báo để họ đến quầy phục vụ nhận món ăn
Thực khách có thể kiểm tra hóa đơn hiện tại, bao gồm số lượng món đã gọi, tình trạng chuẩn bị của từng món, tổng số tiền phải thanh toán và số điểm thưởng cộng thêm (nếu có).
- Khi ăn xong, thực khách sẽ đến quầy thu ngân để thanh toán.
- Thực khách có thể quét thẻ trên đầu đọc thẻ đặt ở mỗi bàn ăn để được cộng điểm thưởng.
Phần dành cho đầu bếp:
- Đầu bếp mỗi ngày có thể thêm vào hoặc bớt danh sách các món ăn có thể phục vụ trong ngày.
- Khi có yêu cầu gọi món ăn từ thực khách, màn hình sẽ hiển thị thông tin món ăn và số lượng cần
Các yêu cầu của bài toán
o Khách hàng o Xem thông tin nhà hàng o Chọn món o Đặt món o Tích điểm
Đầu bếp o Thêm món ăn o Xóa món ăn
Thu ngân o Tra cứu số tiền phải trả o Nhập số tiền khách hàng phải trả o In tổng doanh thu ngày
Người duyệt web o Xem thông tin o Tìm kiếm
Mô hình hóa yêu cầu
Là một khách hàng, tôi mong muốn được xem thực đơn các món ăn có sẵn trong ngày tại một chi nhánh cụ thể, cùng với giá cả được hiển thị rõ ràng trên màn hình bàn.
Là một khách hàng, tôi mong muốn có thể lựa chọn món ăn và số lượng khẩu phần qua màn hình cảm ứng Điều này sẽ giúp nhà hàng giảm thiểu số lượng nhân viên phục vụ, nâng cao hiệu quả phục vụ.
Với tư cách là khách hàng, tôi mong muốn nhận thông báo trên màn hình khi đơn hàng đã sẵn sàng, để tiện cho việc nhận hàng từ quầy dịch vụ.
Với tư cách là khách hàng, tôi mong muốn kiểm tra hóa đơn hiện tại, trong đó bao gồm số lượng món đã đặt, danh sách các món ăn đã sẵn sàng và tổng số tiền cần thanh toán, cùng với bất kỳ điểm thưởng nào đã kiếm được (nếu có).
Sau khi hoàn thành bữa ăn, tôi sẽ đến quầy thu ngân để thực hiện thanh toán Bên cạnh đó, tôi cũng có thể quét thẻ của mình trên đầu đọc thẻ được đặt tại mỗi bàn để tích lũy điểm thưởng.
Là một đầu bếp, tôi mong muốn có khả năng linh hoạt trong việc bổ sung món ăn vào thực đơn hàng ngày, nhằm cập nhật danh sách món ăn theo nhu cầu và sở thích của khách hàng.
Khi nhận yêu cầu gọi món từ thực khách, tôi mong muốn màn hình hiển thị thông tin chi tiết về món ăn và số lượng cần phục vụ, giúp tôi chuẩn bị món ăn một cách chính xác và phù hợp.
Là một đầu bếp, tôi mong muốn có khả năng chuẩn bị món ăn theo yêu cầu của thực khách, nhằm đảm bảo rằng món ăn được phục vụ đúng như mong muốn của họ.
Khi món ăn đã được chuẩn bị xong, tôi muốn xác nhận trên hệ thống để nhân viên phục vụ nhận biết rằng họ có thể mang món ăn đến cho thực khách.
Là một đầu bếp, tôi mong muốn có khả năng loại bỏ các món ăn khỏi thực đơn hàng ngày, nhằm cập nhật danh sách món ăn theo nhu cầu và sở thích của mình.
User story Nhân viên thu ngân:
1.Là một nhân viên thu ngân, tôi muốn dựa vào mã số bàn của thực khách để xác định số tiền khách hàng cần thanh toán.
2.Là một nhân viên thu ngân, tôi muốn nhập số tiền khách hàng đưa vào hệ thống để tính toán số tiền phải trả lại cho khách hàng
3.Là một nhân viên thu ngân, tôi muốn hệ thống hiển thị số tiền phải trả lại cho khách hàng để có thể trả lại đúng số tiền đó.
4.Là một nhân viên thu ngân, tôi muốn có khả năng quản lý các hóa đơn đã được thanh toán và chưa được thanh toán.
5.Là một nhân viên thu ngân, tôi muốn hệ thống cung cấp chức năng báo cáo doanh thu và thống kê để theo dõi hiệu suất kinh doanh.
User story Người duyệt web:
1.Là một người duyệt web, tôi muốn truy cập trang web của cửa hàng để xem danh sách các món ăn đang được phục vụ trong ngày.
2.Là một người duyệt web, ôi muốn có thể xem thông tin chi tiết về mỗi món ăn, bao gồm tên món, mô tả, hình ảnh và giá cả.
3.Là một người duyệt web, tôi muốn có thể xem chi tiết về một món ăn cụ thể trên trang web của cửa hàng.
Khi duyệt web, tôi mong muốn có cái nhìn chi tiết về món ăn, bao gồm mô tả, nguyên liệu, hình ảnh, cũng như thông tin bổ sung như giá cả và đánh giá từ người dùng.
5.Là một người duyệt web, tôi muốn có thể xem thông tin về các chi nhánh của cửa hàng.
1.4.5 Đặc tả các Use Case Đặc tả Use case Chọn món:
Mô tả Người dùng có thể chọn thêm bợt món hoặc thay đổi ý tùy vào sở thích
1 Sử dụng phần mềm có sẵn ở bàn
2 Đưa ra giao diện danh sách và danh mục các món ăn
3 Bấm vào món muốn chọn
5 Xác nhận số lượng và thông tin món ăn khách hàng gọi và chuyển giao cho bộ phận bếp Luồn thay thế và các ngoại lệ
Để xóa bớt món đã chọn, khách hàng chỉ cần nhấn vào món đó và bấm nút “-” Nếu muốn thêm món, hãy nhấn vào nút “+” và sau đó thực hiện thao tác cần thiết.
“Thêm Món” Điều kiện sau
Khi đã bấm thêm món Điều kiện thoát
Khi người dùng chọn món xong và chọn thoát Đặc tả Use case Tích điểm:
Mô tả Người dùng có thể tích điểm khi là thành viên Luồng sự kiện
Tác nhân Hệ thống Phản hồi
1 Vào app thành viên trên điện thoại
QR, mã vạch vào đầu đọc thẻ
3 Đầu đọc thẻ nhận dạng thẻ, nhận dạng mã QR
4 Xác nhận và hiển thị ra thông tin khách hàng thành viên và tổng số diểm thưởng hiện có trên màn hình
5 Sau khi thanh toán sẽ cộng điểm thưởng tương ứng với tổng số tiền trên hóa đơn đã dùng Luồn thay thế và các ngoại lệ
Khi mã QR, mã vạch không hợp lệ hệ thống sẽ không hiện thị thông tin và báo mã vạch, QR không hợp lệ Điều kiện sau
Khi đã Scan mã QR, mã vạch thành công Điều kiện thoát
Khi người dùng thanh toán xong Đặc tả Use case Chuẩn bị món ăn:
Use case Chuẩn bị món ăn
Mô tả Đầu bếp có thể xem thông tin các món mà khách hàng đã gọi để chuận bị cho khách hàng
1 Hiển thị các món ăn khách đã gọi tại bàn
2 Xem các món ăn khách đã gọi hiển thị trên màn hình
4 Xác nhận lại với hệ thống đã chuẩn bị xong các món ăn
5 Xác nhận và gửi dữ liệu lên để tính tổng số tiền và số điểm Luồn thay thế và các ngoại lệ
Khi bếp hết nguyên liệu, đầu bếp sẽ xác nhận tình trạng món ăn với hệ thống, từ đó hệ thống sẽ gửi thông báo đến khách hàng tại bàn.
Khi đã chuẩn bi món ăn đầy đủ Điều kiện thoát
Khi đầu bếp đã xác nhận yêu cầu gọi món của khách hàng thành công Đặc tả Use case In tổng số doanh thu trong ngày:
Tên Use case Use case in tổng số doanh thu phải trả trong ngày
Mô tả Nhân viên thu ngân sử dụng hệ thống để in tổng số doanh thu trong ngày Tác nhân Nhân viên thu ngân Điều kiện tiên quyết
Phải đăng nhập vô được tài khoản của admin
1 Nhân viên thu ngân truy cập chức năng in tổng số doanh thu trong ngày trên hệ thống.
2 Hệ thống tổng hợp thông tin về doanh thu từ tất cả các bàn ăn trong ngày.
3 Hệ thống hiển thị tổng số doanh thu trong ngày trên màn hình.
4 Nhân viên thu ngân sử dụng máy in để in tổng số doanh thu.
Nếu không có thông tin doanh thu trong ngày:
Hệ thống thông báo cho nhân viên thu ngân rằng không có thông tin doanh thu.
Quay lại bước 1 để in tổng số doanh thu trong ngày Điều kiện cần thiết là tổng số doanh thu phải được in ra và ghi nhận Khi chọn thoát, đảm bảo rằng các điều kiện thoát được thực hiện đúng cách.
Tác nhân Người duyệt web
Mô tả Người duyệt web có thể xem thông tin cửa hàng, thông tin các món ăn của các chi nhánh của cửa hàng
Tác nhân Hệ thống phản hồi
1 Truy cập vào trang web
2 Hiển thị giao diện chính
3 Tìm kiếm món ăn sở thích
4 Hiển thị ra các món ăn và số lượng tại các chi nhánh
5 Xem thông tin món ăn tại từng chi nhánh Luồn thay thế và các ngoại lệ
Khi món ăn khách hàng tiềm kiếm không khớp với dữ liệu hệ thống, sẽ hiển thị ra món ăn không tổn tại Điều kiện sau
Khi nhập tên món ăn cần tìm gần đúng Điều kiện thoát
Khi người dùng chọn thoát
PHÂN TÍCH HỆ THỐNG
Sơ đồ lớp (Class Diagram)
Sơ đồ tuần tự (Sequency Diagram)
Sơ đồ hoạt động (Activity Diagram)
Use case chuẩn bị món ăn:
Use case in tổng doanh thu trong ngày:
Sơ đồ dữ liệu (ERD)
THIẾT KẾ HỆ THỐNG
Thiết kế CSDL
Thiết kế giao diện
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1:Tên đăng nhập không được dể trốngYêu cầu 2:Không được để trống mật khẩuYêu cầu 3:Không được điền các kí tự đặc biệt
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/ Hồi đáp của hệ thống
1 Người dùng nhập Username và Password đúng theo yêu cầu
Hệ thống thông báo đăng ký thành công
2 Người dùng gặp trục trặc với kết nối mạng
Hệ thống thông báo lỗi kết nối đến sever
3 Người dùng không nhập tài khoản hoặc mật khẩu
Hệ thống hiển thị bạn chưa nhập mật khẩu và tài khoản
4 Người dùng chưa đăng kí tài khoản mà muốn đăng nhập
Hệ thống đưa ra phần đăng kí tài khoản
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Để đăng ký tài khoản, bạn cần lưu ý rằng tên đăng nhập chỉ được phép sử dụng chữ cái và số, không được sử dụng ký tự đặc biệt, và phải có độ dài từ 6 đến 12 ký tự Bên cạnh đó, email của bạn cũng phải bao gồm ký tự @ để đảm bảo tính hợp lệ.
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
Username và Password đúng theo yêu cầu
Hệ thống thông báo đăng ký thành công
Thông báo: Username và Password không được để trống
Username có ký tự đặc biệt
Thông báo: Username không được sử dụng ký tự đặc biệt
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Trên thanh tìm kiếm Thực khách phải nhập gần đúng từ khóa (Không nhập kí tự đặc biệt).
Yêu cầu 2: Thực khách phải chọn món trước sau đó mới bấm “Thêm món” sau.
Yêu cầu 3: Sau khi “Thêm Món” xong Thực khách phải bấm “Gửi Bếp” thì món ăn mới đến tay Thực Khách
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
1 Người dùng nhập món ăn không tồn tại hoặc có kí tự đặc biệt, sau đó bấm
Hệ thống thông báo món ăn không tồn tại
2 Người dùng Chọn món nhưng không bấm “Thêm món”
Hệ thống không hiển thị danh sách món ăn người dùng đã thêm
Hệ thống sẽ xóa danh sách món ăn mà thực khách đã thêm
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Thực khách phải đăng kí thành viên trước đó mới có thể tích điểm được
Để tích điểm, thực khách đã đăng ký thành viên cần mở mã vạch trên ứng dụng điện thoại và quét vào đầu đọc thẻ.
Yêu cầu 3: Sau khi scan xong, Thực khách phải bấm “Tích điểm” thì số điểm mới được cộng vào tài khoản Thực khách
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
1 Người dùng Scan mã không hợp lệ
2 Người dùng Scan thành công nhưng không bấm
Hệ thống không cộng điểm cho tài khoản Thực khách
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Thu ngân phải chọn chính xác ngày bắt đầu và ngày kết thúc.
Yêu cầu 2: Thu ngân phải đăng nhập được vào tài khoản của Thu ngân
Yêu cầu 3: Sau khi Thu ngân chọn ngày thành công phải bấm nút
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
1 Thu ngân chọn ngày bắt đầu nhưng không chọn ngày kết thúc
Hệ thống thông báo “Vui lòng chọn ngày kết thúc”
2 Thu ngân chọn ngày đã thống kê rồi.
“Ngày … đã được thống kê doanh thu”
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Đầu bếp phải chọn Bàn đang yêu cầu mới có thể chế biến món ăn
Đầu bếp cần hoàn tất việc chế biến món ăn trước khi nhấn nút “Hoàn Thành” Đồng thời, trước khi thực hiện thao tác này, đầu bếp cũng phải kiểm tra xem món ăn có đủ nguyên liệu hay không; nếu nguyên liệu đã hết, chỉ khi đó mới được nhấn “Hết Món”.
MỘT SỐ TÌNH HUỐNG XẢY RA:
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
1 Nếu không đủ nguyên liệu hoặc hết, đầu bếp bấm “Hết Món”
Hệ thống thông báo xóa món ăn trên danh sách của bàn mà Thực Khách đã gọi
2 Đầu bếp khi chuẩn bị Hệ thống sẽ không lưu món xong sau đó gửi phục vụ nhưng quên không bấm “Hoàn
Thành” tồn dư của món và nguyên liệu trên CSDL
CÀI ĐẶT VÀ THỬ NGHIỆM
Cài đặt
Trong phần này nhóm chúng tôi sẽ cài đặt các chức năng sau:
Bảng phân công công việc:
STT Ngày Công việc Người thực hiện Ký tên
1 5/11/2023 Thiết kế dữ liệu Quốc Toàn Toan
2 10/11/2023 Thiết kế giao diện Quốc Toàn Toan
3 13/11/2023 Thiết kế xử lý Trường Truong
5 20/11/2023 Viết báo cáo Vĩnh Toàn TOAN
Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành)
STT Chức năng Mức độ hoàn thành Ghi chú
Thử nghiệm
Nhóm chúng tôi sẽ tiến hành thử nghiệm các chức năng của giao diện được thiết kế trong mục 3.2, sau đó sẽ thực hiện các thử nghiệm cho những tình huống đã được phân tích trước đó.
- TH1: Tình huống đăng ký thành công:
- TH2: Tình huống đăng ký không thành công với Username có ký tự đặc biệt
- TH3: Số điện thoại không hợp lệ
- TH4: Email không hợp lệ:
- TH5: Tài khoản và mật khẩu để trống:
- TH6: Nhập lại mật khẩu không khớp:
- TH1: Tình huống đăng kí không thành công với tài khoản và mật khẩu nhập không đúng.
4.2.8 Chức năng “Thống kê doanh thu”:
4.2.9 Chức năng “Thoát phần mềm”