Ngoài ra quản lý còn quản lý tài khoản người dùng, cập nhật thông tin người dùng, quản lý các đơn hàng đã đặt, cập nhật, duyệt trạng thái đơn hàng, quản lý món ăn, quản lý các dịch vụ, q
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
Đà Nẵng, 01/2024 ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ CÁC DỊCH VỤ VÀ
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
Đà Nẵng, 01/2024 ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI: XÂY DỰNG WEBSITE QUẢN LÝ CÁC DỊCH VỤ VÀ
ĐẶT BÀN CHO NHÀ HÀNG SKYVIEW
Người duyệt: ThS Đỗ Phú Huy
Trang 3NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN
Trang 4NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
Trang 5- Khách vãng lai xem được các loại dịch vụ, món ăn mới nhất, thông tin giới thiệu về nhà hàng
- Khách thành viên xem được chi tiết các dịch vụ, lịch sử giao dịch, chi tiết các dịch vụ và có thể phản hồi đánh giá các dịch vụ đã đặt trong hệ thống
Quản lý có thể thống kê doanh thu, đơn đã đặt theo năm Ngoài ra quản lý còn quản lý tài khoản người dùng, cập nhật thông tin người dùng, quản lý các đơn hàng đã đặt, cập nhật, duyệt trạng thái đơn hàng, quản lý món ăn, quản lý các dịch vụ, quản lý các combo món ăn cho các dịch vụ, quản lý các loại món ăn của nhà hàng Sky View
Trang 6Xây dựng website quản lý các dịch vụ và đặt bàn nhà hàng Sky View
2 Nội dung chính của đồ án
Quá trình xây dựng website quản lý các dịch vụ và đặt bàn cho nhà hàng Sky View - Thu thập thông tin tài liệu liên quan và khảo sát thực tế
- Phân tích thiết kế các chức năng của hệ thống - Phân tích thiết kế cơ sơ dữ liệu
- Thiết kế giao diện cho các chức năng - Xây dựng hệ thống phần mềm
- Kiểm thử phần mềm - Hoàn thành báo cáo tổng hợp
3 Các sản phẩm dự kiến
Website quản lý dịch vụ và đặt bàn cho nhà hàng Sky View
4 Ngày giao đồ án: 15/09/2023 5 Ngày nộp đồ án: 21/01/2024
Đà Nẵng, ngày tháng năm 2024
ThS Đỗ Phú Huy
Trang 7LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ngay cả trong gia đình
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị
Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành tự động hóa trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của website Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang web làm theo hướng dẫn và click vào những gì bạn cần Các hoạt động sẽ thực hiện ngay trên hệ thống đó
Để tiếp cận và góp phần đẩy mạnh sự phổ biến và tiện ích của website, em đã tìm hiểu và cài đặt “Website quản lý các dịch vụ và đặt bàn” cho nhà hàng SkyView
Với sự hướng dẫn tận tình của thầy ThS Đỗ Phú Huy em đã hoàn thành đồ án tốt nghiệp này Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự thông cảm và góp ý của quí Thầy cô
Chúng em xin chân thành cảm ơn!
Trang 8Chúng em xin cam đoan :
của thầy ThS Đỗ Phú Huy
trình ,thời gian, địa điểm công bố
xin chịu hoàn toàn trách nhiệm
Sinh viên thực hiện
Đoàn Ngọc Phú Quốc
Trang 9NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN i
NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN ii
DANH MỤC BẢNG BIỂU viii
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT ix
Trang 102.4.3 Quản trị viên 9
2.5 Phân tích thiết kế hệ thống 10
2.5.1 Sơ đồ usecase 10
2.5.2 Kịch bản cho từng Usecase 11
2.5.2.1 Kịch bản cho Usecase đăng ký tài khoản 11
2.5.2.2 Kịch bản cho Usecase đăng nhập 11
2.5.2.3 Kịch bản cho Usecase tìm kiếm 12
2.5.2.4 Kịch bản cho Usecase cập nhật hồ sơ 12
2.5.2.5 Kịch bản cho Usecase thanh toán 13
2.5.2.6 Kịch bản cho Usecase đặt bàn 13
2.5.2.7 Kịch bản cho Usecase hủy đơn đặt bàn 14
2.5.2.8 Kịch bản cho Usecase đánh giá đơn đặt bàn 15
2.5.2.9 Kịch bản cho Usecase quản lý đơn đặt bàn 15
2.5.2.10 Kịch bản cho Usecase quản lý dịch vụ 16
2.5.2.11 Kịch bản cho Usecase quản lý món ăn 17
2.5.2.12 Kịch bản cho Usecase quản lý combo 18
2.5.2.13 Kịch bản cho Usecase thống kê 19
2.5.3 Thiết kế cơ sở dữ liệu 20
Trang 11Chương 3: XÂY DỰNG CHƯƠNG TRÌNH 38
3.1 Công cụ xây dựng chương trình 38
3.2 Giao diện chương trình 38
3.2.1 Trang chủ 38
3.2.2 Đăng ký 39
3.2.3 Giao diện đăng nhập 39
3.2.4 Giao diện giới thiệu 40
3.2.5 Giao diện món ăn 40
3.2.6 Giao diện dịch vụ 41
3.2.7 Giao diện lịch sử đơn hàng 41
3.2.8 Giao diện cập nhật hồ sơ 42
3.2.9 Giao diện đặt dịch vụ 42
3.2.10 Giao diện quản lý người dùng 43
3.2.11 Giao diện thêm mới người dùng 43
3.2.12 Giao diện quản lý đơn đặt bàn 44
3.2.13 Giao diện thêm mới đơn đặt bàn 44
3.2.14 Giao diện quản lý dịch vụ 45
3.2.15 Giao diện cập nhật dịch vụ 45
3.2.16 Giao diện quản lý món ăn 46
3.2.17 Giao diện quản lý combo 46
3.2.18 Giao diện cập nhật combo 47
3.2.19 Giao diện thống kê 47
KẾT LUẬN & HƯỚNG PHÁT TRIỂN 48
TÀI LIỆU THAM KHẢO 49
Trang 12Hình 2.3: Sơ đồ trạng thái cho usecase đăng ký tài khoản 29
Hình 2.4: Sơ đồ trạng thái usecase cập nhật hồ sơ 30
Hình 2.5: Sơ đồ trạng thái usecase thanh toán 31
Hình 2.6: Sơ đồ trạng thái usecase đặt bàn 32
Hình 2.7: Sơ đồ trạng thái Usecase hủy đơn đặt bàn 33
Hình 2.8: Sơ đồ trạng thái usecase phản hồi 34
Hình 2.9: Sơ đồ trạng thái usecase quản lý đơn đặt bàn 35
Hình 2.10: Sơ đồ trạng thái usecase quản lý dịch vụ 36
Hình 2.11: Sơ đồ trạng thái usecase thống kê 37
Hình 3.1: Trang chủ 38
Hình 3.2: Đăng ký 39
Hình 3.3: Trang đăng nhập 39
Hình 3.4: Trang giới thiệu 40
Hình 3.5: Giao diện món ăn 40
Trang 13Hình 3.19: Thống kê 47
Trang 14DANH MỤC BẢNG BIỂU
Bảng 2.1: Kịch bản cho Usecase đăng ký tài khoản 11
Bảng 2.2: Kịch bản cho Usecase đăng nhập 11
Bảng 2.3: Usecase tìm kiếm 12
Bảng 2.4: Usecase cập nhật hồ sơ 12
Bảng 2.5: Usecase thanh toán 13
Bảng 2.6: Usecase đặt bàn 13
Bảng 2.7: Usecase hủy đơn đặt bàn 14
Bảng 2.8: Usecase đánh giá đơn đặt bàn 15
Bảng 2.9: Usecase quản lý đơn đặt bàn 15
Bảng 2.10: Usecase quản lý dịch vụ 16
Bảng 2.11: Usecase quản lý món ăn 17
Bảng 2.12: Usecase quản lý combo 18
Trang 16MỞ ĐẦU
Trong thời đại hiện đại, công nghệ thông tin và truyền thông đã thay đổi đáng kể cách chúng ta tương tác và tiếp cận các dịch vụ Internet không chỉ là một nguồn thông tin lớn mà còn trở thành một phương tiện truyền thông quan trọng Đặc biệt, trong lĩnh vực nhà hàng và ẩm thực, việc ứng dụng công nghệ để cung cấp dịch vụ hiệu quả và thuận tiện đang trở thành xu hướng quan trọng
Nhà hàng Sky View, như nhiều doanh nghiệp khác, đang đối mặt với sự thách thức của môi trường kinh doanh ngày càng cạnh tranh Để đáp ứng nhu cầu ngày càng tăng của khách hàng và tận dụng tiềm năng của công nghệ, việc xây dựng một website quản lý dịch vụ và đặt bàn là một bước quan trọng và tất yếu
1 Mục tiêu đề tài
Mục tiêu chính của việc xây dựng hệ thống website quản lý các dịch vụ và đặt bàn cho nhà hàng Sky View nhằm giúp cho nhà hàng hoạt động hiệu quả hơn và giảm thiểu thời gian quản lý Cụ thể, các mục tiêu có thể bao gồm:
tìm kiếm thông tin về tên của nhà hàng mà còn chú trọng đến thông tin về thực đơn, dịch vụ, và trải nghiệm chung mà quán cung cấp Việc tìm kiếm này không chỉ giúp họ xác định lựa chọn phù hợp nhất mà còn mở ra cơ hội để kết nối với nhà hàng thông qua trang web chính thức
vụ, món ăn, hình ảnh món ăn, các combo món ăn có sẵn mà nhà hàng cung cấp Điều này giúp cho khách hàng có thể tiếp cận một cách nhanh chóng hơn và có được những thông tin hữu ích về nhà hàng
- Khách hàng có thể đặt bàn trực tuyến thuận tiện: Nếu trước đây việc đặt bàn phải đến trực tiếp nhà hàng hoặc thông qua gọi điện trực tiếp đến quản lý nhà hàng Điều này làm tốn nhiều thời gian của khách hàng cũng như của nhà hàng và nhiều vấn đề liên quan Vì vậy việc phát triển một trang web sẽ giúp khách hàng có một cái nhìn tổng thể hơn về các dịch vụ của nhà hàng và có thể đặt chỗ trực tuyến một cách thuận tiện nhất Chỉ cần một vài thao tác đơn giản khách hàng có thể đặt một dịch vụ tại nhà hàng mà không mất quá nhiều thời gian
Trang 172 Phạm vi và đối tượng nghiên cứu a Đối tượng nghiên cứu
− Khách hàng, người có nhu cầu sử dụng các dịch vụ nhà hàng − Nhà hàng Sky View, nơi cung cấp các dịch vụ, món ăn đến người tiêu dùng
b Phạm vi nghiên cứu
Nhà hàng Sky View
3 Phương pháp nghiên cứu
Tham khảo các website nhà hàng khác như Madam Lan, Ngon Thị Hoa
4 Cấu trúc của đồ án tốt nghiệp
Cấu trúc đồ án bao gồm ba chương: - Chương I: Cơ sở lý thuyết
Tìm hiểu, giới thiệu tổng quan các kiến thức về ngôn ngữ Javascript, công nghệ NextJs được sử dụng ở phía frontend, NestJS ở phía backend, các công cụ hỗ trợ phát triển như Postman dùng để test API, Github dùng để quản lý mã nguồn, hệ quản trị cơ sở dữ liệu PostgreSQL để lưu trữ database
- Chương II: Phân tích thiết kế hệ thống
Tiến hành phân tích thiết kê hệ thống, các hướng tiếp cận, trình bày những chức năng cơ bản cho người dùng, phân tích các yêu cầu người dùng qua trải nghiệm thực tế từ đó thiết kế các sơ đồ như sơ đồ usecase, sơ đồ ERD, sơ đồ tuần tự, sơ đồ trạng thái, xây dựng các kịch bản cho từng usecase
- Chương III: Xây dựng chương trình
Trên cơ sở tìm hiểu và phân tích bài toán liên quan, đặc biệt là các chức năng hệ thống Từ các phân tích hệ thống và dữ liệu có được, ứng dụng được triển khai và cập nhật
Trang 18Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Phần mềm
1.1.1 Visual Studio Code
Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh chóng
Visual Studio Code hỗ trợ đa dạng các chức năng Debug, đi kèm với Git, có Syntax Highlighting Đặc biệt là tự hoàn thành mã thông minh, Snippets, và khả năng cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép các lập trình viên thay đổi Theme, phím tắt, và đa dạng các tùy chọn khác Mặc dù trình soạn thảo Code này tương đối nhẹ, nhưng lại bao gồm các tính năng mạnh mẽ
Hoàn thành với các công cụ tích hợp để kiểm tra, gỡ rối và phân tích mã và tích hợp với nhiều VCS khác nhau, Visual Studio Code là một công cụ thiết yếu cho sự phát triển web hiệu quả và mạnh mẽ
Hình 1.1: Logo VSCode
1.1.2 Postman
Postman là một công cụ phát triển ứng dụng API mạnh mẽ và phổ biến Nó cung cấp một giao diện đồ họa thân thiện và dễ sử dụng để tạo, kiểm thử và tương tác với các API
Với Postman, bạn có thể tạo các yêu cầu HTTP (GET, POST, PUT, DELETE, v.v.) và gửi chúng đến các endpoint API Bạn có thể chỉ định các thông số, tham số và thân yêu cầu để tương tác với API một cách linh hoạt Ngoài ra, Postman cũng hỗ trợ các phương thức xác thực như OAuth, JWT và Basic Auth, giúp bạn kiểm tra tính bảo mật và quyền truy cập của API
Postman cung cấp một bộ công cụ mạnh mẽ để kiểm tra và gỡ lỗi API Bạn có thể xem các câu trả lời từ API, kiểm tra mã trạng thái, xem thông tin header và body của
Trang 19yêu cầu và kiểm tra dữ liệu trả về Điều này giúp bạn xác nhận tính đúng đắn và chính xác của API và khắc phục lỗi nhanh chóng
Ngoài ra, Postman cũng hỗ trợ việc tạo và quản lý bộ kiểm tra (test suite) tự động Bạn có thể viết các kịch bản kiểm tra để kiểm tra tự động các yêu cầu và đảm bảo tính ổn định và chất lượng của API Các bộ kiểm tra này có thể được chạy một cách tự động và cung cấp các kết quả chi tiết về việc kiểm tra
Ngoài ra, sử dụng SSR cũng mang lại cho bạn lợi thế về SEO, giúp trang web của bạn hiển thị cao hơn trên các trang kết quả của công cụ tìm kiếm SSR làm cho các trang web xếp hạng tốt hơn cho SEO vì chúng tải nhanh hơn và nhiều nội dung trang web có thể được quét bởi các SEO trackers Thẻ <head> trong Nextjs cũng cho phép bạn chỉnh sửa thẻ <head> của một trang web, điều mà bạn không thể thực hiện trong React Thẻ <head> là một phần cốt lõi trong metadata của trang web và góp phần vào xếp hạng SEO của trang web
Trang 20NextJs cũng hỗ trợ một cú pháp gọi là JSX, cho phép các nhà phát triển viết HTML và JavaScript trong cùng một file JSX cho phép code được viết rõ ràng hơn và dễ đọc hơn
NextJs cũng có cộng đồng lớn và phong phú, với rất nhiều tài liệu, thư viện và công cụ hỗ trợ cho việc phát triển ứng dụng
Tóm lại, NextJs là một framework JavaScript rất mạnh mẽ, phổ biến trong việc xây dựng các ứng dụng web đơn trang có hiệu suất cao và dễ bảo trì, tốt cho SEO
Hình 1.3: Logo NextJS
1.2.2 NestJS
NestJS là một framework mã nguồn mở để phát triển ứng dụng server-side (backend applications) bằng ngôn ngữ TypeScript hoặc JavaScript Nó được xây dựng trên cơ sở của Node.js và sử dụng các khái niệm từ TypeScript để tạo ra một môi trường phát triển hiện đại và mạnh mẽ cho việc xây dựng các ứng dụng web và API
Một Cấu trúc của NestJS được xây dựng dựa trên mô hình kiến trúc lõi (core architecture) giúp tạo ra một ứng dụng server-side (backend application) rõ ràng, dễ quản lý và dễ mở rộng Cấu trúc NestJS thường được tổ chức thành các phần chính sau: Module (Các module): Module là một phần cơ bản trong cấu trúc NestJS Mỗi ứng dụng NestJS bao gồm ít nhất một module gốc (root module) và có thể có nhiều module con Module là nơi tổ chức các thành phần của ứng dụng như Controllers, Providers và các thành phần khác Mỗi module đại diện cho một phần chức năng cụ thể của ứng dụng
Controller (Bộ điều khiển): Controllers là thành phần chịu trách nhiệm xử lý các yêu cầu HTTP từ phía client và trả về kết quả tương ứng Controllers là nơi xử lý các request và trả về các response Các phương thức của controller được chú
Trang 21thích (decorated) bằng các decorator như `@Get()`, `@Post()`, `@Put()`, v.v., để chỉ định các route và phương thức HTTP tương ứng
Provider (Các nhà cung cấp): Providers là thành phần chịu trách nhiệm cung cấp các dịch vụ cho ứng dụng Đây có thể là các service, repository, logger, v.v Providers sử dụng dependency injection để chèn vào các thành phần khác và có thể được sử dụng bởi các controllers hoặc các providers khác
Middleware (Trung gian): Middleware là các hàm xử lý mà NestJS sử dụng để xử lý các yêu cầu HTTP trước khi chúng đến các route xử lý chính Middleware có thể được sử dụng để thực hiện các thao tác chung như xác thực, ghi log, xử lý lỗi, v.v
Filter (Bộ lọc): Filters được sử dụng để xử lý các exception (ngoại lệ) xảy ra trong ứng dụng Filters cho phép bạn xử lý và thay đổi response trước khi gửi về client khi có exception xảy ra
Guard (Bảo vệ): Guards được sử dụng để kiểm tra xem một yêu cầu có thể được xử lý hoặc không Guards cho phép bạn thực hiện các kiểm tra xác thực hoặc kiểm tra quyền trước khi xử lý một yêu cầu
Interceptor (Bộ chặn): Interceptors là các hàm xử lý mà NestJS sử dụng để chặn và thay đổi response trước khi nó được gửi về client Interceptors có thể được sử dụng để thực hiện các thao tác chung trên response trước khi nó đi ra ngoài
Exception (Ngoại lệ): Exception handling (xử lý ngoại lệ) là một phần quan trọng của cấu trúc NestJS Exception handling cho phép bạn xử lý các exception xảy ra trong ứng dụng và trả về các thông báo lỗi thích hợp cho client
Hình 1.4: Logo NestJS
Trang 221.2.3 Hệ quản trị CSDL PostgreSQL
PostgreSQL là một hệ thống quản trị cơ sở dữ liệu quan hệ và đối tượng (objectrelational database management system) miễn phí và nguồn mở (RDBMS) tiên tiến nhất hiện nay khả năng mở rộng cao và tuân thủ các tiêu chuẩn kỹ thuật Nó được thiết kế để xử lý một loạt các khối lượng công việc lớn, từ các máy tính cá nhân đến kho dữ liệu hoặc dịch vụ Web có nhiều người dùng đồng thời
PostgreSQL tích hợp nhiều tính năng tuyệt vời giúp hỗ trợ nhà phát triển xây dựng app đáp ứng các chức năng phức tạp, truy vấn nhanh chóng và bảo mật duy trì tính toàn vẹn và độ tin cậy
Hình 1.5: Logo PostgreSQL
Trang 23Chương 2: PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG 2.1 Xác định các tác nhân
- Khách vãng lai - Thành viên
− Đăng xuất
2.2.3 Quản trị viên
− Xem thông tin người dùng − Xem danh sách món ăn − Xem danh sách dịch vụ − Xem danh sách combo − Cập nhật thông tin món ăn
Trang 24− Cập nhật thông tin người dùng − Cập nhật thông tin dịch vụ − Cập nhật thông tin combo − Cập nhật thông tin cá nhân − Thêm món ăn
− Cập nhật trạng thái đơn đặt bàn − Thêm người dùng
− Thêm dịch vụ - Thêm combo − Đăng nhập
− Đăng xuất
2.3 Yêu cầu chất lượng
− Giao diện phù hợp với đối tượng sử dụng, đơn giản, hợp lý − Ngôn ngữ Tiếng Việt
− Đảm bảo tính bảo mật cao, an toàn người dùng − Tốc độ xử lý và truy cập nhanh với lưu lượng truy cập lớn − Đủ các chức năng nghiệp vụ cơ bản của một website quản lý dịch vụ
2.4 Đặc tả yêu cầu nghiệp vụ
Trang 252.5 Phân tích thiết kế hệ thống
2.5.1 Sơ đồ usecase
Hình 2.1: Sơ đồ Usecase
Trang 26Tên usecase Đăng ký tài khoản
Các tác nhân Khách vãng lai
Đầu vào Email, tên đăng nhập, mật khẩu, nhập lại mật khẩu
Đầu ra Hệ thống thông báo đăng ký thành công
Các bước thực Bước 1: Actor chọn nút đăng ký tài khoản hiện Bước 2: Nhập email, tên đăng nhập, mật khẩu, nhập lại mật
khẩu Bước 3: Nhấn nút Đăng ký Bước 4: Hệ thống kiểm tra và thông báo đăng ký thành công
Trường thay thế
hợp
Trường ngoại lệ
hợp
Các tác nhân Người dùng trên hệ thống
Đầu vào Tên đầy đủ, email, mật khẩu
Các bước thực hiện
1 Nhấn “Đăng nhập” trên Header 2 Nhập tên đầy đủ hoặc email 3 Nhập mật khẩu
4 Nhấn đăng nhập
Trường hợp thay thế
Trang 27Trường hợp ngoại lệ
B4 Người dùng nhập tên tìa khoản hoặc email không hợp lệ -> Hệ thống thông báo “Tên người dùng hoặc email không hợp lệ”
2.5.2.3 Kịch bản cho Usecase tìm kiếm Bảng 2.3: Usecase tìm kiếm
2.5.2.4 Kịch bản cho Usecase cập nhật hồ sơ Bảng 2.4: Usecase cập nhật hồ sơ
Các tác nhân Người dùng, người dạy, admin
Các bước thực hiện
1 Nhập từ khóa vào ô tìm kiếm 2 Nhấn nút “Tìm kiếm” hoặc nhấn phím Enter
thay thế
ngoại lệ
Tên usecase Cập nhật hồ sơ cá nhân
Bước 1: Actor nhấn vào avatar hoặc tên người dùng Bước 2: Actor nhấp vào tài khoản
Bước 3: Actor nhập Email, họ và tên, địa chỉ, số điện thoại, địa chỉ, hình ảnh cá nhân, giới tính
Bước 4: Nhấn nút Chỉnh sửa
Trang 28Trường hợp thay thế
ngoại lệ
2.5.2.5 Kịch bản cho Usecase thanh toán Bảng 2.5: Usecase thanh toán
Tên usecase Thanh toán
Mô tả Actor thanh toán các dịch vụ đã đặt
Các tác nhân Khách thành viên
Đầu vào Actor đã sử dụng dịch vụ nhà hàng
Các bước thực hiện
1 Actor nhấn vào avatả hoặc tên đăng nhập 2 Actor chọn tab lịch sử
4 Nhập thông tin Email, họ tên 5 Nhấn nút thanh toán
Tên usecase Đặt bàn
Mô tả Actor đặt bàn ở một dịch vụ nào đó của nhà hàng
Các tác nhân Khách thành viên
Đầu vào Họ tên, số điện thoại, email, khu vực, ngày nhận, khung giờ, loại
dịch vụ, combo, số lượng bàn, số lượng khách
Đầu ra Hệ thống thông báo Đặt bàn thành công
Trang 29Các bước thực hiện
1 Actor chọn Dịch vụ 2 Chọn một dịch vụ bất kì 3 Chọn combo bất kì của dịch vụ đó 4 Actor chọn Đặt bàn
5 Nhập họ tên, số điện thoại, email, số lượng khách, số lượng bàn, khu vực, ngày nhận, khung giờ, ngày sinh, giới tính 6 Nhấn đặt
7 Hệ thống kiểm tra và hiển thị thông báo Đặt bàn thành công
Tên usecase Hủy đơn đặt bàn
Các tác nhân Khách thành viên
Đầu vào Đã đặt bàn tại một dịch vụ, đơn hàng đang ở trạng thái NEW
hoặc PENDING và ngày đặt sau ngày hiện tại ít nhất một ngày
Đầu ra Hệ thống thông báo Hủy dịch vụ thành công
Các bước thực hiện
1 Actor nhấn vào avatar hoặc tên đăng nhập 2 Actor nhấn vào tab lịch sử
3 Actor nhấn Hủy 4 Nhấn Xác nhận hủy ở popup thông báo 5 Hệ thống kiểm tra ngày nhận so với ngày hiện tại và hiển
thị thông báo Hủy thành công
thay thế
Bước 4a: Hiển thị thông báo không thể hủy nếu ngày hiện tại
nhỏ hơn ngày đặt ít nhất một ngày
ngoại lệ
Trang 302.5.2.8 Kịch bản cho Usecase đánh giá đơn đặt bàn Bảng 2.8: Usecase đánh giá đơn đặt bàn
2.5.2.9 Kịch bản cho Usecase quản lý đơn đặt bàn Bảng 2.9: Usecase quản lý đơn đặt bàn
Tên usecase Đánh giá đơn đặt bàn
Các tác nhân Khách thành viên
Đầu vào Đơn đặt bàn đã trãi nghiệm và sử dụng
Đầu ra Hệ thống thông báo Đánh giá thành công
Các bước thực hiện
1 Actor nhấn vào avatar hoặc tên người dùng 2 Chọn tab lịch sử → Chọn đơn đã hoàn thành 3 Chọn đánh giá
4 Chọn số sao và nhập nội dung phản hồi 5 Nhấn Đánh giá
6 Hệ thống kiểm tra và thông báo Đánh giá thành công
thay thế
ngoại lệ
Tên usecase Quản lý đơn đặt bàn
Mô tả Actor có thể thực hiệnc các thao tác như Thêm, Sửa,
Xóa, Cập nhật trạng thái đơn hàng
Các tác nhân Quản trị viên
Đầu ra Hệ thống thông báo thêm hoặc sửa hoặc xóa hoặc câp nhật đơn
hàng thành công
Các bước thực hiện
Bước 1: Actor chọn Đơn hàng
Trang 31Bước 2: Actor nhấn vào button Thêm mới để thêm mới đơn hàng
Bước 2.1: Actor nhập đầy đủ thông tin và chọn loại dịch vụ, combo, khu vực
Bước 2.2: Nhấn Tạo mới Bước 2.3: Hệ thống xác nhận và Gửi thông báo thêm thành công
Bước 3: Tại yêu cầu cần quản lý, actor nhấn chọn icon bút chi để cập nhật đơn đặt bàn
Bước 3.1: Actor chỉnh sửa thông tin bất kỳ Bước 3.2: Nhấn Cập nhật
Bước 3.3: Hệ thống xác nhận và Gửi thông báo cập Bước 4: Tại yêu câu cần quản lý, actor nhấn vào icon thùng rác
để xóa đơn đặt bàn Bước 4.1: Actor nhấn Xác nhận Bước 4.2: Hệ thống kiềm tra và gửi thông báo Xóa thành công
Các tác nhân Quản trị viên
Đầu ra Hệ thống thông báo Thêm, Sửa, Xóa thành công
Trang 32Các bước thực hiện
Bước 1: Actor chọn mục Dịch vụ Bước 2: Actor nhấn Thêm mới để thêm dịch vụ
Bước 2.1: Actor nhập thông tin dịch vụ Bước 2.2: Nhấn Thêm mới
Bước 2.3: Hệ thống xác nhận và Gửi thông báo thêm thành công
Bước 3: Tại yêu cầu cần quản lý, actor nhấn vào icon bút chì để chỉnh sửa dịch vụ
Bước 3.1: Actor chỉnh sửa thông tin Bước 3.2: Nhấn Cập nhật
Bước 3.3: Hệ thống xác nhận và Gửi thông báo cập nhật thành công
Bước 4: Tại yêu cầu cần quản lý, actor nhấn icon thùng rác để xóa dịch vụ
Bước 4.1: Actor nhấn Xác nhận Bước 4.2: Hệ thống xác nhận và Gửi thông báo xóa thành công
Tên usecase Quản lý món ăn
Các tác nhân Quản trị viên
Đầu vào Thông tin món ăn, hình ảnh nếu có
Đầu ra Thêm mới, Sửa, Cập nhật món ăn thành công
Các bước thực hiện
Bước 1: Actor chọn mục Món ăn Bước 2: Chọn button Thêm mới