



















Preview text:
  lOMoAR cPSD| 59078336
1PHÂN TÍCH YÊU CẦU CHỨC NĂNG   (Requirement Analysis)  I. Mục Đích 
Trình bày các yêu cầu chức năng và phi chức năng của khách hàng đối với hệ thống quản lý nhà 
hàng ăn. Thông tin được thu thập từ quá trình khảo sát thực tế, phân tích nghiệp vụ, và các buổi 
thảo luận giữa các thành viên nhóm dự án. 
II. Phạm vi hệ thống 
• Hệ thống áp dụng cho nhà hàng ăn quy mô lớn 
• Đối tượng sử dụng : quản lý chi nhánh, nhân viên phục vụ, thu ngân, khách hàng, đầu  bếp 
• Tập trung vào các chức năng: quản lý thực đơn, đặt món, hóa đơn, quản lý nguyên vật 
liệu, quản lý nhân viên, thống kê, báo cáo doanh thu   III. 
Yêu cầu chức năng   
a. Các chức năng dành cho khách hàng 
• Xem menu món ăn trong ngày  Description 
Xem menu món ăn trong ngày tại chi nhánh  Input 
Chi nhánh, ngày hiện tại  Process  Truy xuất món ăn và giá  Output 
Hiện thị danh sách món ăn  • Đặt món ăn  Description 
Khách hàng chọn món trên màn hình cảm ứng  Input 
Món ăn, số lượng, ghi chú  Process 
Ghi nhận đơn hàng và gửi yêu cầu đến bếp  Output 
Hiện thị danh sách món đã đặt 
• Xem tình trạng đơn hàng  Description 
Khách hàng có thể xem tình trạng của các món ăn đã đặt  Input  Số bàn  Process 
Truy xuất trạng thái món ăn  Output 
Hiện thị trạng thái món ăn : Đã xong, đang chờ 
• Xem hóa đơn tạm tính  Description 
Khách hàng xem được hóa đơn đã tạm tính và điểm cộng  Input  Số bàn  Process 
Tính tổng số tiền và điểm cộng  Output 
Hiển thị hóa đơn tạm tính và điểm cộng 
• Nhận thông báo món ăn đã xong  Description 
Khách hàng có thể xem tình trạn của các món ăn đã đặt      lOMoAR cPSD| 59078336 Input  Số bàn  Process 
Truy xuất trạng thái món ăn  Output 
Hiện thị trạng thái món ăn : Đã xong, đang chờ 
• Quét thẻ cộng điểm  Description 
Khách hàng quét thẻ đẻ cộng điểm  Input  Mã thẻ hội viên  Process 
Gửi mã thẻ, tìm kiếm mã thẻ, ghi nhận điểm thưởng  Output 
Cập nhật và hiển thị điểm đã cộng   
b. Các chức năng cho nhân viên thu ngân 
• Xem thông tin hóa đơn theo bàn  Description 
Nhân viên thu ngân xem hóa đơn theo bàn để tạo hóa đơn thanh toán  Input  Mã bàn,  Process 
Truy xuất đơn hàng, tổng tiền  Output 
Hiển thị thông tin thanh toán  • Ghi nhận thanh toán  Description 
Cập nhật trạng thái đơn hàng sau khi thanh toán hoàn tất  Input 
Mã đơn hàng, phương thức thanh toán (tiền mặt, QR, thẻ, v.v.)  Process 
Ghi nhận hình thức thanh toán, cập nhật doanh thu ngày  Output 
Trạng thái đơn hàng đổi sang "Đã thanh toán", lưu vào lịch sử doanh  thu 
• Nhận thanh toán từ khách  Description 
Nhân viên thu ngân thông báo số tiền, nhập số tiền khách hàng đưa  và trả lại cho khách  Input 
Số bàn, số tiền khách đưa  Process 
Tính tổng tiền, trừ ưu đãi(nếu có), tính tiền trả lại  Output 
Xuất hóa đơn và in thông tin hoàn tất  • Tổng kết doanh thu  Description 
Thu ngân in ra tổng doanh thu và danh sách món ăn đã được gọi  trong ngày  Input  Số món ăn,  Process  Lưu nhật ký chốt ca  Output 
xác nhận đã bàn giao và lưu dữ liệu ca 
• Chốt ca và bàn giao ca  Description 
Ghi nhận kết thúc ca làm việc, bàn giao doanh thu cho người kế tiếp  hoặc quản lý  Input 
Mã thu ngân, ca trực, doanh thu thực tế, tiền mặt tại quầy  Process  Lưu nhật ký chốt ca  Output 
xác nhận đã bàn giao và lưu dữ liệu ca 
• Đăng nhập theo ca làm việc      lOMoAR cPSD| 59078336 Description 
Khi đến ca làm, nhân viên phải đăng nhập vào và chấm công cho ca  làm hôm đó  Input  Tài khoản, mật khẩu  Process 
Tìm kiếm và xác thực tài khoản trong database  Output 
Đăng nhập vào màn hình chính của hệ thống nếu tài khoản và mật  khẩu đúng   
c. Chức năng dành cho người duyệt web 
 Xem món ăn trong ngày tại các chi nhánh  Description 
Người duyệt web sẽ vào trang web của cửa hàng để biết được các 
món ăn được phục vụ trong ngày tại các chi nhánh  Input 
Chi nhánh, ngày hiện tại  Process 
Truy xuất menu từ hệ thống theo chi nhánh và ngày  Output 
Menu món ăn và giá tiền tương úng   
d. Chức năng dành cho Bếp  • Tiếp nhận đơn hàng  Description 
Nhận danh sách món ăn mà khách đã gọi từ hệ thống gửi đến bếp  Input 
Mã bàn, danh sách món ăn, số lượng, ghi chú món  Process 
Hiển thị đơn hàng mới, tự động xếp theo thời gian hoặc độ ưu tiên  Output 
Đơn hàng hiển thị trong danh sách chờ chế biến 
• Cập nhật trạng thái món ăn  Description 
Cập nhật trạng thái món khi đã nấu xong, sẵn sàng để phục vụ  Input  Mã món ăn, mã bàn  Process 
Đổi trạng thái sang “Hoàn tất” và thông báo đến phục vụ  Output 
Món ăn được đánh dấu “Đã xong”, chuyển lên danh sách sẵn sàng  phục vụ 
• Xem danh sách đơn hàng  Description 
Theo dõi tất cả đơn hàng đang xử lý, phân loại theo bàn/món  Input 
Không có (dữ liệu lấy tự động từ hệ thống)  Process 
Tự động cập nhật liên tục khi có đơn mới, món hoàn thành,...  Output 
Giao diện hiển thị danh sách món, trạng thái và thời gian đặt 
• Cập nhật danh sách món ăn  Description 
Đầu bếp có thể thêm vào hoặc bớt đi món ăn có thể phục vụ trong  ngày  Input  Mã món, lý do  Process 
Cập nhật trạng thái món sang “Tạm hết” trong thực đơn  Output 
Món sẽ bị ẩn khỏi trang hiển thị thực đơn của khách hàng      lOMoAR cPSD| 59078336
IV.Yêu cầu phi chức năng  a. Hiệu năng 
• Hệ thống phải có khẳ năng phản hồi nhanh 
• Bếp và thu ngân phải nhận được thông tin nhanh chóng sau khi thông tin đưuọc  gửi đi   
b. Khả năng mở rộng và nâng cấp 
• Hệ thống cần thiết kể để dễ dàng mở rộng trong tương lai nếu nhà hàng mở  rộng thị trường 
• Có thể thêm các đối tượng mà không ảnh hưởng đến hiệu suất ( VD: người  dùng, bàn, món ăn …    c. Giao diện 
• Đối với giao diện dành cho khách hàng sẽ chạy trên màn hình cảm ứng tại bàn 
hoặc tại quầy (máy POS, máy tính bảng, màn hình cảm ứng, …) 
• Giao diện người dùng phải thân thiện, dễ thao tác với cả nhân viên không am  hiểu công nghệ. 
• Các thao tác quan trọng như “Thêm món”, “Tính tiền” phải trực quan, dễ nhận  biết. 
V. Mô tả quy trình nghiệp vụ  1. Đặt món tại bàn  Thành phần  Mô tả      lOMoAR cPSD| 59078336 Tên quy trình  Đặt món tại bàn  Mục tiêu 
Cho phép khách hàng gọi món ăn không cần nhân viên phục vụ  Phạm vi 
Áp dụng cho tất cả chi nhánh có hệ thống tự phục vụ  Vai trò 
Khách hàng, hệ thống máy POS, đầu bếp  Pre-condition 
Khách hàng ngồi vào bàn, màn hình cảm ứng hoạt động bình thường  Post-condition 
Đơn hàng được gửi thành công đến bếp  Luồng chính 
1. Hệ thống hiển thị menu 
2. Khách hàng chọn món và số lượng 
3. Khách hàng xác nhận đơn hàng 
4. Hệ thống tính tạm tổng tiền và gửi yêu cầu đến bếp  Luồng phụ 
- Khách hàng thay đổi món trước khi xác nhận 
- Khách hàng xem thông tin món ăn trước khi gọi  Luồng ngoại lệ 
- Màn hình không phản hồi → hiển thị lỗi và yêu cầu liên hệ nhân  viên 
- Món đã hết → thông báo không thể gọi món đó 
Tài nguyên sử dụng Màn hình cảm ứng, cơ sở dữ liệu món ăn, hệ thống quản lý bếp 
2. Thông báo trạng thái món ăn  Thành phần  Mô tả  Tên quy trình 
Thông báo món ăn hoàn tất  Thành phần  Mô tả  Mục tiêu 
Thông báo cho khách hàng biết món đã sẵn sàng nhận tại  quầy  Phạm vi 
Áp dụng tại bàn ăn và quầy phục vụ  Vai trò 
Hệ thống, khách hàng, đầu bếp  Pre-condition 
Món đã được đầu bếp chuẩn bị xong  Post-condition 
Khách hàng biết món ăn đã sẵn sàng  Luồng chính 
1. Đầu bếp đánh dấu món đã hoàn tất trên hệ thống 
2. Hệ thống hiển thị thông báo trên màn hình tại bàn  khách      lOMoAR cPSD| 59078336 Luồng phụ 
- Khách hàng có thể kiểm tra trạng thái món bất kỳ lúc  nào  Luồng ngoại lệ 
- Mạng lỗi → Thông báo không gửi được, chờ nhân viên  can thiệp 
Tài nguyên sử dụng 
Hệ thống quản lý bếp, màn hình cảm ứng tại bàn  3. Xem hóa đơn tạm tính  Thành phần  Mô tả  Tên quy trình 
Thông báo món ăn hoàn tất  Mục tiêu 
Thông báo cho khách hàng biết món đã sẵn sàng nhận tại  quầy  Phạm vi 
Áp dụng tại bàn ăn và quầy phục vụ  Vai trò 
Hệ thống, khách hàng, đầu bếp  Pre-condition 
Món đã được đầu bếp chuẩn bị xong  Post-condition 
Khách hàng biết món ăn đã sẵn sàng  Luồng chính 
1. Đầu bếp đánh dấu món đã hoàn tất trên hệ thống 
2. Hệ thống hiển thị thông báo trên màn hình tại bàn khách  Luồng phụ 
- Khách hàng có thể kiểm tra trạng thái món bất kỳ lúc nào  Luồng ngoại lệ 
- Mạng lỗi → Thông báo không gửi được, chờ nhân viên can  thiệp  Tài nguyên sử 
Hệ thống quản lý bếp, màn hình cảm ứng tại bàn  dụng  4. Thanh toán  Thành phần  Mô tả  Tên quy trình  Thanh toán tại quầy  Mục tiêu 
Cho phép khách hàng hoàn tất thanh toán  Phạm vi 
Áp dụng tại quầy thu ngân  Vai trò 
Thu ngân, khách hàng, hệ thống  Pre-condition 
Khách hàng cung cấp mã bàn      lOMoAR cPSD| 59078336 Post-condition 
Đơn hàng được thanh toán, hệ thống cập nhật trạng  thái  Luồng chính  1. Thu ngân nhập mã bàn 
2. Hệ thống hiển thị hóa đơn 
3. Thu ngân nhận tiền và xử lý thanh toán 
4. In hóa đơn và trả tiền thừa  Luồng phụ 
- Thu ngân kiểm tra lại món nếu khách hàng yêu cầu  Luồng ngoại 
- Không tìm thấy mã bàn → yêu cầu xác minh  lệ  lại  Tài nguyên sử 
Hệ thống POS, máy in hóa đơn  dụng  5. Cập nhật menu  Thành phần  Mô tả  Tên quy trình  Cập nhật menu  Thành phần  Mô tả      Mục tiêu 
Cập nhật danh sách món ăn có thể phục vụ trong ngày  Phạm vi 
Áp dụng tại bếp và hiển thị tại POS  Vai trò  Đầu bếp, hệ thống  Pre-condition 
Đầu bếp đăng nhập vào hệ thống quản lý bếp  Post-condition 
Menu được cập nhật thành công và đồng bộ đến các bàn  Luồng chính 
1. Đầu bếp thêm/xóa/chỉnh sửa món ăn 
2. Hệ thống xác nhận và cập nhật danh sách món  Luồng phụ 
- Cập nhật món theo loại món (món chính, món phụ, nước uống…)  Luồng ngoại lệ 
- Món ăn trùng tên → yêu cầu đổi tên hoặc xác nhận ghi đè  Tài nguyên sử 
Hệ thống quản lý bếp, cơ sở dữ liệu món ăn  dụng 
6. Quản lý doanh thu cuối ngày  Thành phần  Mô tả  Tên quy 
Quản lý doanh thu cuối ngày  trình      lOMoAR cPSD| 59078336   Thành phần  Mô tả      Mục 
In và báo cáo doanh thu trong ngày  tiêu  Phạm 
Áp dụng tại quầy thu ngân  vi  Vai  Thu ngân, hệ thống  trò  Pre-
Hệ thống đã ghi nhận đầy đủ đơn hàng trong ngày  condition  Postcondition 
Doanh thu được in và lưu trữ  Luồng chính  1. 
Thu ngân chọn chức năng in báo cáo  2. 
Hệ thống thống kê và in danh sách món đã bán, doanh thu,  các khoản giảm giá  Luồng phụ 
- Lưu file báo cáo trên hệ thống nội bộ  Luồng 
- Không thể in → hiển thị thông báo và lưu bản mềm  ngoại   lệ  Tài nguyên 
Hệ thống POS, máy in, cơ sở dữ liệu hóa đơn  sử dụng  7. Xem menu trên website  Thành phần  Mô tả  Tên quy  Xem menu trên website  trình  Mục tiêu 
Cho phép người dùng online xem món ăn theo từng chi  nhánh  Phạm vi 
Truy cập công khai qua internet  Vai trò 
Người duyệt web, hệ thống website  Pre-
Người dùng truy cập website thành công  condition  Post-
Hiển thị đúng danh sách món ăn theo chi nhánh  condition      lOMoAR cPSD| 59078336 Luồng 
1. Người dùng chọn chi nhánh  chính 
2. Hệ thống hiển thị menu và giá tiền  Luồng phụ 
- Lọc theo loại món hoặc tìm kiếm  Luồng ngoại 
- Lỗi kết nối → thông báo thử lại sau  lệ  Tài nguyên sử 
Web server, cơ sở dữ liệu món ăn  dụng 
VI. Use case tổng thể hệ thống        lOMoAR cPSD| 59078336
VII. Use case chi tiết a.   Usecase đặt món        lOMoAR cPSD| 59078336   b. Usecase thanh toán        lOMoAR cPSD| 59078336  
e. Usecase quét thẻ cộng điểm        lOMoAR cPSD| 59078336  
f. Usecase tiếp nhận đơn hàng        lOMoAR cPSD| 59078336  
g. Usecase cập nhật trạng thái món ăn        lOMoAR cPSD| 59078336  
h. Usecase cập nhật danh sách món ăn trong ngày        lOMoAR cPSD| 59078336  
i. Usecase thanh toán cho khách hàng        lOMoAR cPSD| 59078336  
j. Usecase Tổng kết doanh thu        lOMoAR cPSD| 59078336  
k. Usecase xem món ăn trong ngày tại chi nhánh   
VIII. Đặc tả usecase 1) Đặc tả :  Usecase đặt món  Name   Đặt món  Code  UC01  Description 
Khách hàng đặt món qua màn hình cảm ứng được đặt tại mỗi bàn  Actor  Khách hàng, Đầu bếp  Trigger 
- Actor đứng tại trang Menu,  chọn món mình  muốn  Priority 
Must have – bắt buộc phải có  Pre_Condition 
• Khách hàng đã ngồi vào bàn 
• Màn hình cảm ứng hoạt động bình thường 
• Danh sách món ăn trong ngày đã được cập nhật  Post_Condition 
• Màn hình hiện thị danh sách món ăn cùng với giá tiền 
• Đơn hàng được gửi đến bếp  Error situation 
• Lỗi kết nối hệ thống. 
• Món ăn không tồn tại trong danh sách ngày. 
• Hệ thống không phản hồi.      lOMoAR cPSD| 59078336 System state in error 
• "Không thể kết nối đến hệ thống. Vui lòng thử lại sau."  situation 
• "Món ăn không khả dụng." 
• "Hệ thống đang bận, vui lòng liên hệ nhân viên."  Activites Flow  Main Flow  Đặt món thành công  Actor  System  • Chạm vào màn hình  • Hiển thị menu 
• Chọn món, số lượng 
• Ghi nhận và hiển thị tiền tạm tính  • Xác nhận đặt 
• Gửi thông tin đến bếp 
• Hiển thị trạng thái “Đơn hàng đã gửi”  Alternative Flow 
AF1_Thay đổi món ăn trước khi đặt  Actor  System   Chọn lại món khác   Cập nhật đơn hàng 
AF2_Xem thông tin món ăn  Actor  System   Nhấn vào tên món 
 Hiển thị mô tả, nguyên liệu …..  Bussiness Rules 
• Mỗi bàn được gán một mã riêng biệt. 
• Chỉ những món đang phục vụ trong ngày mới hiển thị trong menu. 
• Món ăn chỉ được gửi đến bếp khi khách hàng xác nhận. 
• Hệ thống lưu trữ lịch sử các món đã đặt. 
Non_Functional Requirement 
• Giao diện phải thân thiện, mọi người đều  có thể sử dụng 
• Hệ thống phải hoạt động ổn định và có 
cảnh báo khi xảy ra lỗi. 
 2) Đặc tả usecase : Tiếp nhận đơn hàng  Name   Tiếp nhận đơn hàng  Code  UC01  Description 
Bếp tiếp nhận đơn hàng mới từ hệ thống khi khách hàng đặt món, và 
theo dõi danh sách món ăn cần chuẩn bị.  Actor  Đầu bếp  Trigger 
- Hệ thống tự động hiển thị danh 
sách món ăn cần chuẩn bị khi  khách      lOMoAR cPSD| 59078336        
hàng gửi yêu cầu đặt món.  Priority 
Must have – bắt buộc phải có  Pre_Condition 
• Hệ thống đã nhận được đơn hàng từ thực khách 
• Bếp đã đăng nhập hệ thống hoặc truy cập giao diện bếp.  Post_Condition 
• Bếp xem được danh sách món ăn cần chuẩn bị cùng số lượng, thời  gian đặt món. 
• Món ăn được thêm vào danh sách món đang chờ thực hiện.  Error situation 
• Lỗi kết nối giữa hệ thống thực khách và hệ thống bếp. 
• Lỗi không tải được danh sách đơn hàng mới từ hệ thống..  System state in error 
• “Không thể tải đơn hàng mới, vui lòng kiểm tra kết nối.”  situation 
• “Lỗi hệ thống - Không nhận được dữ liệu món ăn.”  Activites Flow  Main Flow 
Tiếp nhận đơn hàng thành công:  Actor  System  • Chạm vào màn hình 
• Gửi yêu cầu đơn hàng mới từ thực khách 
• Chọn món, số lượng  đến hệ thống bếp  • Xác nhận đặt 
• Hiển thị danh sách các món cần chế biến 
với số lượng và thời gian đặt 
• Xem danh sách đơn hàng 
• Sắp xếp thứ tự đơn hàng dựa trên thời  gian đặt món    Alternative Flow 
AF1_Thay đổi món ăn trước khi đặt  Actor  System   Chọn lại món khác   Cập nhật đơn hàng 
AF2_Xem thông tin món ăn  Actor  System   Nhấn vào tên món 
 Hiển thị mô tả, nguyên liệu …..