1. Trang chủ
  2. » Luận Văn - Báo Cáo

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL

83 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Quản Lý Nhà Hàng
Trường học Bình Dương
Thể loại báo cáo tốt nghiệp
Năm xuất bản 2020
Thành phố Bình Dương
Định dạng
Số trang 83
Dung lượng 7,26 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU CHUNG (8)
    • 1.1. Lý do chọn đề tài (8)
    • 1.2. Mục đích nghiên cứu (8)
    • 1.3. Đối tượng nghiên cứu và phạm vi nghiên cứu (9)
      • 1.3.1. Đối tượng nghiên cứu (9)
      • 1.3.2. Phạm vi nghiên cứu (9)
    • 1.4. Phương pháp nghiên cứu (9)
    • 1.5. Ý nghĩa khoa học và thực tiễn (9)
      • 1.5.1. Ý nghĩa khoa học (9)
      • 1.5.2. Ý nghĩa thực tiễn (9)
    • 1.6. Bố cục báo cáo (10)
  • CHƯƠNG 2. TỒNG QUAN VỀ ĐỀ TÀI (11)
    • 2.1. Giới thiệu đề tài (11)
    • 2.2. Công nghệ sử dụng (11)
    • 2.3. Các công cụ thiết kế (12)
      • 2.3.1. Trình soạn thảo Visual Studio code (13)
      • 2.3.2. MySQL Workbench (13)
      • 2.3.3. Phần mềm Xampp (13)
  • CHƯƠNG 3. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (14)
    • 3.1. Sơ sồ lớp của hệ thống (14)
    • 3.2. Sơ đồ Use case Chức năng (14)
      • 3.2.1. Use case tổng quát (14)
      • 3.2.2. Use case Đăng nhập (15)
      • 3.2.3. Use case Quản lý món ăn (16)
      • 3.2.4. Use case Quản lý nguyên liệu (17)
      • 3.2.5. Use case Quản lý nhân viên (18)
      • 3.2.6. Use case Quản lý khách hàng (19)
      • 3.2.7. Use case Quản lý đơn hàng (20)
      • 3.2.8. Use case Thống kê doanh thu (21)
      • 3.2.9. Use case Thống kê hóa đơn (22)
      • 3.2.10. Use case Đặt hàng và thanh toán (22)
      • 3.2.11. Use case Thu ngân (23)
    • 3.3. Mô hình chức năng hệ thống (0)
    • 3.4. Sơ đồ tuần tự (25)
      • 3.4.1. Sơ đồ tuần tự cho chức năng đăng nhập (25)
      • 3.4.2. Sơ đồ tuần tự cho chức năng quản lý món ăn (27)
      • 3.4.3. Sơ đồ tuần tự quản lý nguyên liệu (28)
      • 3.4.4. Sơ đồ tuần tự cho chức năng quản lý nhân viên (29)
      • 3.4.5. Sơ đồ tuần tự cho chức năng quản lý khách hàng (30)
      • 3.4.6. Sơ đồ tuần tự cho chức năng thống kê hóa đơn (31)
      • 3.4.7. Sơ đồ tuần tự cho chức năng thống kê doanh thu (32)
      • 3.4.8. Sơ đồ cho chức năng quản lý đơn hàng (33)
      • 3.4.9. Sơ đồ cho chức năng đặt hàng và thanh toán (35)
      • 3.4.10. Sơ đồ tuần tự cho chức năng đặt hàng (dành cho thu ngân) (36)
    • 3.5. Mô hình dữ liệu (Database diagram) (39)
    • 3.6. Thết kế cơ sở dữ liệu (39)
      • 3.6.1. Các đối tượng và thuộc tính (39)
      • 3.6.2. Phân tích cơ sở dữ liệu (41)
    • 3.7. Kịch bản kiểm thử dự kiến (51)
      • 3.7.1. Các chức năng thay đổi dữ liệu của nguyên liệu (51)
      • 3.7.2. Các chức năng thay đổi dữ liệu của món ăn (52)
      • 3.7.3. Các chức năng thay đổi dữ liệu của nhân viên (53)
      • 3.7.4. Chức năng bán hàng tại quầy (54)
      • 3.7.5. Chức năng ghép đơn hàng (54)
  • CHƯƠNG 4. THỰC NGHIỆM (56)
    • 4.1. Giao diện cho nhân viên quản lý (56)
      • 4.1.1. Trang chủ trang quản trị (56)
      • 4.1.2. Trang đơn hàng (57)
      • 4.1.3. Trang Quản lý (58)
      • 4.1.4. Trang thống kê (67)
    • 4.2. Giao diện dành cho nhân viên bán hàng tại quầy (70)
    • 4.3. Các giao diện của khách hàng (75)
      • 4.3.1. Trang chủ khách hàng (75)
  • CHƯƠNG 5. KẾT LUẬN (81)
    • 5.1. Kết quả đạt được (81)
    • 5.2. Đánh giá ưu điểm, khuyết điểm của đề tài (81)
      • 5.2.1. Ưu diểm (81)
      • 5.2.2. Khuyết điểm (81)
    • 5.3. Hướng phát triển của đề tài (81)

Nội dung

 Xây dựng được một số chức năng quản lý cơ bản cho tính năng bán hàng  Xây dựng được trang quản lý và xử lý đơn hàng  Xây dựng được trang cho nhân viên thu ngân  Xây dựng được trang chủ với tính năng đặt hàng  Xây dựng được trang đặt hàng với tính năng thanh toán điện tử  Xây dựng được trang thống kê cơ bản

GIỚI THIỆU CHUNG

Lý do chọn đề tài

Hiện nay, lĩnh vực kinh doanh nhà hàng đang phát triển mạnh mẽ, dẫn đến sự gia tăng số lượng quán ăn để đáp ứng nhu cầu của người dân Đối với các nhà hàng nhỏ, việc quản lý bằng máy tính tay hoặc sổ ghi chép có thể hiệu quả, nhưng với những nhà hàng lớn có nhiều nhân sự và bộ phận, việc này trở nên phức tạp Do đó, cần có giải pháp quản lý hiệu quả để thống nhất số liệu giữa các bộ phận và giảm thiểu rắc rối trong việc thống kê Việc xây dựng ứng dụng quản lý nhà hàng là cần thiết để giải quyết các vấn đề trong quản lý, từ đó nâng cao hiệu quả hoạt động của các quán ăn lớn và vừa.

Mục đích nghiên cứu

Trong ngành nhà hàng quán ăn, việc quản lý mua bán, điều phối phần ăn, doanh thu và kho bãi là rất quan trọng Đặc biệt, nghiệp vụ bán hàng cần tập trung vào việc phân phối đơn hàng và thanh toán một cách hợp lý, đồng thời tối ưu hóa quy trình đặt hàng online để nâng cao sự hài lòng của khách hàng Mục tiêu của nghiên cứu này là phân tích nghiệp vụ bán hàng và thống kê doanh thu, từ đó phát triển ứng dụng giải quyết các vấn đề liên quan.

Đối tượng nghiên cứu và phạm vi nghiên cứu

1.3.1 Đối tượng nghiên cứu Đối tượng nghiên cứu của để tài là những khó khăn trong nghiệp vụ bán hàng và thống kê doanh thu tại nhà hàng, quán ăn.

Giải quyết các vấn đề liên quan đến bán hàng tại nhà hàng và qua website, đồng thời thống kê kết quả bán hàng và quản lý các tài nguyên cơ bản liên quan đến nghiệp vụ bán hàng là rất quan trọng.

Phương pháp nghiên cứu

Phương pháp thu thập thông tin được phân chia thành ba loại chính: phương pháp nghiên cứu tài liệu, phương pháp nghiên cứu thực nghiệm và phương pháp phi thực nghiệm.

Phương pháp nghiên cứu tài liệu dựa trên việc phân tích nhu cầu từ các diễn đàn và trang web liên quan đến ngành nhà hàng, nhằm tìm hiểu những khó khăn trong quá trình vận hành và cách giải quyết các vấn đề phát sinh.

Phương pháp nghiên cứu phi thực nghiệm cho phép chúng ta tham khảo các ứng dụng hiện có để xác định những vấn đề cần cải thiện Qua đó, chúng ta có thể hiểu rõ hơn về nghiệp vụ và các cơ chế hoạt động của những ứng dụng này.

Phương pháp nghiên cứu thực nghiệm giúp tìm hiểu sâu sắc các mô hình kinh doanh trong lĩnh vực ẩm thực, đồng thời trải nghiệm dịch vụ thực tế Qua đó, chúng ta có thể rút ra những bài học quý giá và hiểu rõ hơn về nhu cầu của khách hàng trong ngành này.

Ý nghĩa khoa học và thực tiễn

Kết quả nghiên cứu đóng vai trò quan trọng trong việc xây dựng nền tảng khoa học, giúp giải quyết những thách thức trong lĩnh vực kinh doanh ăn uống, đặc biệt là trong ngành nhà hàng và quán ăn.

Thực tiễn góp phần quan trọng trong việc đơn giản hóa hoạt động kinh doanh trong lĩnh vực ăn uống, từ đó thúc đẩy sự phát triển mạnh mẽ cho ngành nhà hàng tại Việt Nam.

Bố cục báo cáo

Kết cấu của báo cáo tốt nghiệp “Xây dựng ứng dụng quản lý nhà hàng” bao gồm các phần sau:

- Chương 2: Tổng quan về đề tài

- Chương 3: Phân tích và thiết kế hệ thống

TỒNG QUAN VỀ ĐỀ TÀI

Giới thiệu đề tài

Trong bối cảnh phát triển của một nước đang phát triển như Việt Nam, ngành nhà hàng khách sạn đang trải qua sự chuyển mình mạnh mẽ Các nhà hàng ngày càng chuyển từ mô hình kinh doanh truyền thống sang ứng dụng công nghệ, giảm thiểu việc sử dụng giấy bút và các ứng dụng tính toán phức tạp Xu hướng tích hợp các ứng dụng vào hoạt động kinh doanh giúp quản lý trở nên hiệu quả hơn, giải quyết nhiều khó khăn, giảm chi phí đầu tư và nâng cao hiệu suất làm việc.

Tính đến năm 2016, Việt Nam có khoảng 540,000 cửa hàng dịch vụ ăn uống, bao gồm hơn 430,000 cửa hàng nhỏ, 7,000 cửa hàng thức ăn nhanh, 2,000 nhà hàng cà phê, bar và hơn 80,000 nhà hàng phát triển bài bản, cho thấy sự phát triển không ngừng của ngành này Điều này nhấn mạnh nhu cầu cần thiết trong việc phát triển các ứng dụng cho lĩnh vực ẩm thực, vì vậy người thực hiện đã chọn đề tài “Xây dựng ứng dụng quản lý nhà hàng” cho báo cáo tốt nghiệp nhằm nghiên cứu và giải quyết các vấn đề trong ngành nhà hàng.

Công nghệ sử dụng

Xây dựng và phát triển dự án với Laravel phiên bản 7 mang lại lợi ích lớn trong việc phân chia chức năng và tái sử dụng mã nguồn Đây là một framework mã nguồn mở, được hỗ trợ và phát triển bởi cộng đồng, giúp nâng cao hiệu quả và tính linh hoạt trong quá trình phát triển ứng dụng.

Laravel hỗ trợ cả hai mô hình ứng dụng hiện nay, bao gồm MVC và web service để cung cấp API cho các ứng dụng khác Trong đề tài này, người thực hiện đã áp dụng Laravel MVC cho các trang quản lý khách hàng, nguyên liệu và thực đơn Đối với trang dành cho nhân viên bán hàng tại quầy, người thực hiện đã sử dụng các tính năng viết web service của Laravel để cung cấp API cho trang này.

AngularJS là một framework JavaScript mã nguồn mở, miễn phí, được phát triển bởi Google Framework này được thiết kế để xây dựng ứng dụng web động theo mô hình MVC, cho phép sử dụng HTML làm template và mở rộng các thuộc tính của HTML theo các quy tắc nhất định.

AngularJS giúp mô tả các thành phần của ứng dụng một cách rõ ràng và ngắn gọn, đặc biệt trong việc phát triển Single Page Application (SPA) Điều này cho phép các trang web thực hiện theo lệnh người dùng mà không cần tải lại trang Do đó, tác giả đã kết hợp AngularJS với API từ Laravel framework để tạo ra một trang dành cho nhân viên bán hàng tại quầy, nhằm tăng cường hiệu quả thao tác khi xử lý yêu cầu từ khách hàng.

Bootstrap 4 là 1 framework Css phổ biến với cách sử dụng dễ dàng Với Bootstrap 4 người dùng có thể dễ dàng xây dựng giao diện cho các ứng dụng web một cách nhanh chóng qua các mẫu giao diện được xây dựng sẵn cùng với khả năng tùy biến giao diện qua các loại thiết bị khác nhau Từ những điều đó người thực hiện đề tài đã sử dụng Bootstrap 4 làm framework css chính để xây dựng phần giao diện cho ứng dụng.

jQuery là một thư viện mã nguồn mở được viết bằng ngôn ngữ JavaScript, giúp đơn giản hóa việc viết mã JavaScript và tăng tốc độ xử lý sự kiện trên trang web Được phát hành vào tháng 1 năm 2006 tại BarCamp NYC bởi John Resig, jQuery hiện đang được sử dụng bởi hơn 52% trong số 10.000 trang web có lượng truy cập cao nhất Thư viện này không chỉ cho phép thay đổi giao diện (CSS) mà còn có khả năng thay đổi nội dung bên trong trang web.

Trong bài viết này, chúng tôi đề cập đến việc thống kê số liệu trong nhà hàng, yêu cầu cập nhật nhanh chóng và liên tục từ nguồn dữ liệu Việc sử dụng AngularJS để tạo module trong trường hợp này là phức tạp và không cần thiết, do đó, Ajax của jQuery trở thành lựa chọn hợp lý Ứng dụng cho phép thống kê theo ngày, tháng và năm, với sự hỗ trợ của Ajax trong jQuery để cập nhật liên tục.

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, được các nhà phát triển ưa chuộng nhờ tốc độ cao, độ ổn định và tính dễ sử dụng Hệ thống này có khả năng hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ Do đó, trong đề tài này, người thực hiện đã chọn MySQL làm hệ quản trị cơ sở dữ liệu chính cho chương trình.

Các công cụ thiết kế

2.3.1 Trình soạn thảo Visual Studio code

Visual Studio Code là một trình biên tập mã nguồn miễn phí, phát triển bởi Microsoft, tương thích với Windows, Linux và macOS Nó được đánh giá là sự kết hợp lý tưởng giữa môi trường phát triển tích hợp (IDE) và trình biên tập mã (Code Editor).

Visual Studio Code cung cấp chức năng gỡ lỗi mạnh mẽ, tích hợp Git, và hỗ trợ định dạng cú pháp với khả năng tự hoàn thành mã thông minh Ngoài ra, nó còn có tính năng snippets và cải tiến mã nguồn Người dùng có thể tùy chỉnh trải nghiệm của mình thông qua việc thay đổi theme, phím tắt, và các tùy chọn khác.

Một số tính năng của Visual Studio code

- Hỗ trợ nhiều ngôn ngữ lập trình

- Hỗ trợ đa nên tảng

- Hỗ trợ nhiều tiện ích

MySQL Workbench là một công cụ hữu ích cho lập trình viên, cho phép tương tác với cơ sở dữ liệu MySQL một cách dễ dàng, thay vì phải sử dụng các lệnh Command-line phức tạp Phần mềm này được thiết kế với giao diện đơn giản và thân thiện, phù hợp với nhiều hệ điều hành như Microsoft Windows, Mac OS, Linux và Ubuntu.

Một số tính năng của MySQL Workbench

- Dựng và thiết kế cơ sở dữ liệu

- Phát triển cơ sở dữ liệu

- Quản trị cơ sở dữ liệu

- Đi chuyển cơ sở dữ liệu

XAMPP là phần mềm tạo máy chủ web lý tưởng cho lập trình viên PHP, giúp thiết lập môi trường với các công cụ như PHP, Apache và MySQL Với giao diện thân thiện, XAMPP cho phép người dùng dễ dàng quản lý các tính năng của server, bao gồm việc mở, đóng và khởi động lại Phần mềm này tích hợp các thành phần quan trọng, hỗ trợ lẫn nhau, tạo điều kiện thuận lợi cho quá trình phát triển ứng dụng web.

- PHP (thiết lập nền tảng để các tập tin script *.php hoạt động);

- MySql (hệ quản trị dữ liệu)

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Sơ sồ lớp của hệ thống

Hình 3.1.1.1: Sơ đồ lớp hệ thống

Sơ đồ Use case Chức năng

Hình 3.2.1.1: Sơ đồ use case tổng quát

Hình 3.2.2.1: Use case đăng nhập

Nhân viên và khách hàng cần có tài khoản để đăng nhập vào hệ thống và thực hiện các dịch vụ Việc này đảm bảo rằng chỉ những người dùng đã được xác thực mới có thể truy cập vào các tính năng của hệ thống.

Nhân viên cần có tài khoản do người quản trị hệ thống cấp, trong khi khách hàng phải đăng ký tài khoản để truy cập các dịch vụ.

- Điều hướng về các trang thuộc quyền của người quản trị và khách hàng. 3.2.3 Use case Quản lý món ăn

Hình 3.2.3.1: Use case quản lý món ăn

Nhân viên quản lý có khả năng thêm, sửa và xóa các thực đơn thông qua tính năng quản lý thực đơn Use case này bắt đầu khi nhân viên truy cập vào tính năng và kết thúc khi họ hoàn tất việc xóa các món ăn Điều kiện tiên quyết là nhân viên cần vào tính năng quản lý thực đơn khi có nhu cầu thực hiện các thao tác này.

- Khi nhân viên nhấp vào thực đơn trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu thực đơn

- Khi click vào biểu tượng sẽ hiển thị popup chi tiết của thực đơn

- Khi click vào cập nhật một popup hiện ra có các thông tin của thực đơn

- Người quản trị thay đổi các giá trị cần sửa và bấm lưu để thay đổi các giá trị cần sửa đổi.

- Khi click vào xóa và xác nhận xóa món ăn sẽ xóa khỏi danh sách. e Hậu điều kiện

3.2.4 Use case Quản lý nguyên liệu

Hình 3.2.4.1: Use case quản lý nguyên liệu

Nhân viên quản lý kho có khả năng thêm, sửa và xóa nguyên vật liệu để quản lý hiệu quả các vật liệu hiện có trong kho Để sử dụng tính năng này, nhân viên cần truy cập vào chức năng quản lý nguyên liệu khi có nhu cầu quản lý vật liệu cho nhà bếp.

- Khi nhân viên nhấp vào nguyên liệu trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của nguyên liệu

- Khi click biểu tượng chi tiết sẽ hiển thị popup chi tiết của nguyên liệu

- Khi click vào cập nhật một popup hiện ra có các thông tin của sản phẩm

- Người quản trị thay đổi các giá trị cần sửa và bấm lưu để thay đổi các giá trị cần sửa đổi.

- Khi click vào xóa và xác nhận xóa nguyên liệu sẽ xóa khỏi danh sách. e Hậu điều kiện

3.2.5 Use case Quản lý nhân viên

Hình 3.2.5.1: Use case quản lý nhân viên

Nhân viên quản lý có khả năng thêm, cập nhật và xóa thông tin nhân viên trong hệ thống Để sử dụng tính năng này, nhân viên cần truy cập vào chức năng quản lý nhân viên khi có nhu cầu quản lý thông tin.

- Khi nhân viên nhấp vào quản lý nhân viên trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của tất cả nhân viên

- Khi click biểu tượng chi tiết sẽ hiển thị popup chi tiết của thông tin nhân viên

- Khi click vào cập nhật một popup hiện ra có các thông tin nhân viên

- Người quản trị thay đổi các giá trị cần sửa và bấm lưu để thay đổi các giá trị cần sửa đổi.

- Khi click vào xóa và xác nhận xóa nhân viên ra khỏi danh sách sẽ xóa khỏi danh sách. e Hậu điều kiện

- Các thông báo khi thao tác thành công hay thất bại

3.2.6 Use case Quản lý khách hàng

Hình 3.2.6.1: Use case Quản lý khách hàng

Nhân viên quản lý có khả năng truy cập và xem thông tin khách hàng trong hệ thống Để sử dụng tính năng này, nhân viên cần vào phần quản lý khách hàng khi có nhu cầu cập nhật thông tin.

- Khi nhân viên nhấp vào quản lý khách hàng trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của tất cả khách hàng

- Khi click biểu tượng chi tiết sẽ chuyển sang trang chi tiết của thông tin khách hàng

- Trang chi tiết sẽ hiển thị thông tin của tất cả hóa đơn của khách hàng

- Nhân viên có thể xem chi tiết hóa đơn của khách hàng và in lại hóa đơn đó e Hậu điều kiện

- Khách hàng phải có hóa đơn trong hệ thống.

- Các thao tác phải có thông báo khi thực hiện xong

3.2.7 Use case Quản lý đơn hàng

Hình 3.2.7.1: Use case quản lý đơn hàng

Nhân viên quản lý có khả năng xem và duyệt các đơn hàng từ hệ thống đặt hàng trực tuyến thông qua tính năng quản lý đơn hàng Điều này giúp đảm bảo quy trình xử lý đơn hàng diễn ra hiệu quả và chính xác.

- Khi nhân viên nhấp vào quản lý đơn hàng trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của tất cả đơn hàng

- Khi click vào chi tiết để xem hóa đơn và bấm duyệt hóa đơn để thay đổi trạng thái theo quá trình lấy hàng hiện tại.

Nhân viên có khả năng xem chi tiết hóa đơn của khách hàng và tiến hành in hóa đơn khi đơn hàng đã ở trạng thái xử lý.

- Các thao tác phải có thông báo khi thực hiện xong

3.2.8 Use case Thống kê doanh thu

Hình 3.2.8.1: Use case Quan lý thống kê doanh thu

Nhân viên quản lý có thể xem thông tin doanh thu của cửa hàng thông qua tính năng thống kê doanh thu Để truy cập vào tính năng này, nhân viên cần đăng nhập và thực hiện các bước cần thiết.

- Khi nhân viên nhấp vào thống kê doanh thu trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của tình hình thống kê theo năm và tháng qua dạng biểu đồ

- Nhân viên có thể chọn tháng và năm để xem dữ liệu e Hậu điều kiện.

3.2.9 Use case Thống kê hóa đơn

Hình 3.2.9.1: Use case Quản lý hóa đơn

Nhân viên quản lý có khả năng truy cập và xem thông tin thống kê hóa đơn của cửa hàng thông qua tính năng thống kê hóa đơn Điều này cho phép họ nắm bắt được các số liệu quan trọng liên quan đến doanh thu và hiệu quả kinh doanh.

- Khi nhân viên nhấp vào thống kê hóa đơn trên menu lựa chọn

- Giao diện sẽ tải các dữ liệu của tình hình thống kê theo ngày, tháng và tất cả hóa đơn

- Các dữ liệu thống kê sẽ được so sánh với tháng hoặc ngày hôm trước bằng phần trăm e Hậu điều kiện.

3.2.10 Use case Đặt hàng và thanh toán

Hình 3.2.10.1: Use case đặt hàng

 Đặc tả a Tác nhân: Khách hàng b Mô tả:Cho phép nhân khách hàng đặt hàng và đặt món cũng như thanh toán online c.Tiền điều kiện:

- Khách hàng muốn đặt món ăn của nhà hàng qua website.

- Khách hàng có tài khoản của hệ thống d Luồng sự kiện :

- Khi khách hàng nhấn vào thêm vào giỏ

- Món ăn được chọn sẽ được thêm vào giỏ hàng

- Khách hàng có thể thanh toán qua phương thức trực tiếp hay thanh toán qua cổng thanh toán điện tử e Hậu điều kiện.

- Trả kết quả thanh toán cho khách hàng kiểm tra.

Hình 3.2.11.1 mô tả use case thu ngân với tác nhân là nhân viên thu ngân Use case này cho phép nhân viên thực hiện thanh toán cho một bàn và xuất hóa đơn cho khách hàng, bắt đầu từ khi nhân viên tiến hành thanh toán và kết thúc khi hóa đơn được in ra Tiền điều kiện là nhân viên phải vào tính năng đặt bàn khi có yêu cầu từ khách hàng.

- Khi nhân viên chọn tính năng đặt bàn trên menu lựa chọn

- Hệ thống sẽ trả giao diện đặt mon ăn

- Nhân viên chọn tab bàn và chọn một bàn

- Nhân viên chọn sang tab món ăn và thêm đã chọn trước đó vào bàn đã chọn

- Khi nhân viên chọn thanh toán

- Nhân viên có thể nhập vào số tiền khách trả

- Sau đó nhân viên sẽ nhấn vào xác nhận thanh toán

- Hệ thống thanh toán và xuất hóa đơn cho khách hàng e Hậu điều kiện

Người dùng có thể đăng nhập vào hệ thống bằng tài khoản đã được cấp trước đó Nhân viên sẽ nhận được tài khoản để truy cập, trong khi khách hàng có thể vào hệ thống bằng cách đăng ký tài khoản mới.

- Đối với người dùng là khách hàng sau khi đăng nhập sẽ có thể vào được chức năng đặt hàng và thanh toán đơn hàng đã đặt

Sau khi đăng nhập vào hệ thống, nhân viên có thể dễ dàng quản lý hóa đơn mua hàng trực tuyến, theo dõi nguyên liệu, quản lý thực đơn món ăn, quản lý thông tin khách hàng, quản lý nhân viên và xem các thống kê liên quan.

3.4.1 Sơ đồ tuần tự cho chức năng đăng nhập

Hình 3.4.1.1: Sơ đồ tuần tự cho chức năng đăng nhập

2 Yêu cầu kiểm tra tài khoản

4 Kiểm tra thông tin trong cơ sở dữ liệu

5.2 Thông báo thành công, là nhân viên thu ngân

6.2 Truy cập vào trang thu ngân

5.3 Thông báo thành công, là nhân viên quản lý

6.3 Truy cập vào trang quản lý

Tác nhân trong hệ thống là người sử dụng, bao gồm nhân viên muốn truy cập các chức năng của hệ thống Để thực hiện điều này, người dùng cần sử dụng tài khoản đăng nhập đã được cấp trước đó để vào hệ thống và tận dụng các tính năng mà hệ thống cung cấp.

- Với quyền được cấp khách nhau hệ thống sẽ điều hướng nhân viên về trang thích hợp

3.4.2 Sơ đồ tuần tự cho chức năng quản lý món ăn

Hình 3.4.2.1: Sơ đồ tuần tự cho chức năng món ăn

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác thay đổi dữ liệu như tạo mới, cập nhật hay hủy bỏ món ăn

Hệ thống sẽ gửi các yêu cầu về hệ thống để và trả lại các kết quả tương ứng kèm theo thông báo.

3.4.3 Sơ đồ tuần tự quản lý nguyên liệu

Hình 3.4.3.1: Sơ dồ tuần tự nguyên liệu

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác như tạo mới, cập nhật hoặc hủy bỏ nguyên liệu, hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu và trả về kết quả tương ứng cùng với thông báo.

3.4.4 Sơ đồ tuần tự cho chức năng quản lý nhân viên

Hình 3.4.4.1: Sơ đồ tuần tự cho chức năng quản lý nhân viên

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Sơ đồ tuần tự

3.4.1 Sơ đồ tuần tự cho chức năng đăng nhập

Hình 3.4.1.1: Sơ đồ tuần tự cho chức năng đăng nhập

2 Yêu cầu kiểm tra tài khoản

4 Kiểm tra thông tin trong cơ sở dữ liệu

5.2 Thông báo thành công, là nhân viên thu ngân

6.2 Truy cập vào trang thu ngân

5.3 Thông báo thành công, là nhân viên quản lý

6.3 Truy cập vào trang quản lý

Tác nhân trong hệ thống là người sử dụng, bao gồm nhân viên muốn truy cập các chức năng của hệ thống Để thực hiện điều này, người dùng cần sử dụng tài khoản đăng nhập đã được cấp trước đó để truy cập và sử dụng các tính năng của hệ thống.

- Với quyền được cấp khách nhau hệ thống sẽ điều hướng nhân viên về trang thích hợp

3.4.2 Sơ đồ tuần tự cho chức năng quản lý món ăn

Hình 3.4.2.1: Sơ đồ tuần tự cho chức năng món ăn

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác thay đổi dữ liệu như tạo mới, cập nhật hay hủy bỏ món ăn

Hệ thống sẽ gửi các yêu cầu về hệ thống để và trả lại các kết quả tương ứng kèm theo thông báo.

3.4.3 Sơ đồ tuần tự quản lý nguyên liệu

Hình 3.4.3.1: Sơ dồ tuần tự nguyên liệu

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác thay đổi dữ liệu như tạo mới, cập nhật hoặc hủy bỏ nguyên liệu, hệ thống sẽ gửi yêu cầu và nhận lại kết quả tương ứng cùng thông báo.

3.4.4 Sơ đồ tuần tự cho chức năng quản lý nhân viên

Hình 3.4.4.1: Sơ đồ tuần tự cho chức năng quản lý nhân viên

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

6.2 Thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác quản lý dữ liệu nhân viên như tạo mới, cập nhật hoặc xóa thông tin Hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu và trả về kết quả tương ứng cùng với thông báo.

3.4.5 Sơ đồ tuần tự cho chức năng quản lý khách hàng

Hình 3.4.5.1: Sơ đồ tuần tự cho chức năng quản lý khách hàng

1 Thao tác thay đổi dữ liệu

2 Gửi dữ liệu thay đổi

4.1 thông báo thay đổi dữ liệu thành công

5.1 thông báo thay đổi dữ liệu thành công

6.1 Thông báo thay đổi dữ liệu thành công

4.2 thông báo thay đổi dữ liệu thất bại

5.2 thông báo thay đổi dữ liệu thất bại

Thực hiện các thao tác thay đổi dữ liệu, như cập nhật hoặc xóa thông tin khách hàng, hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu và trả về kết quả tương ứng kèm theo thông báo.

3.4.6 Sơ đồ tuần tự cho chức năng thống kê hóa đơn

Hình 3.4.6.1: Sơ đồ tuần tự cho chức năng thống kê hóa đơn

1 Yêu cầu xem thống kê

2 Yêu cầu dữ liệu hóa đơn

3 yêu cầu dữ liệu hóa đơn

4 Trả dữ liệu thống kê theo truy vấn

5 Tính toán kết quả thống kê

6 Hiển thị kết quả thống kê

Truy cập vào trang thống kê hóa đơn, hệ thống sẽ gửi yêu cầu đến cơ sở dữ liệu để lấy thông tin cần thiết, sau đó tiến hành tính toán và hiển thị kết quả cho người dùng.

3.4.7 Sơ đồ tuần tự cho chức năng thống kê doanh thu

Hình 3.4.7.1: Sơ đồ tuần tự cho chức năng thống kê doanh thu

2 Yêu cầu dữ liệu thống kê

5 Xữ lý dữ liệu và hiển thị thống kê

Truy cập vào trang thống kê doanh thu, hệ thống sẽ gửi yêu cầu theo truy vấn, sau đó tính toán số liệu và cung cấp kết quả cho người dùng thông qua biểu đồ, phân tích theo tháng và năm.

3.4.8 Sơ đồ cho chức năng quản lý đơn hàng

Hình 3.4.8.1: Sơ đồ tuần tự cho chức năng xử lý đơn hàng

4 Trả kết quả thay đổi

5 Trả kết quả thay đổi

6 Trả kết quả thay đổi

Khi thực hiện trên trang quản lý đơn hàng, hệ thống sẽ gửi thông tin đến cơ sở dữ liệu để truy xuất dữ liệu đơn hàng của khách hàng từ trang chủ Người duyệt đơn sẽ xác nhận lại đơn hàng và thêm thông tin cần thiết trước khi duyệt đơn Các trạng thái của đơn hàng sẽ được cập nhật theo tình hình thực tế của việc lấy hàng và duyệt hàng tại nhà hàng.

3.4.9 Sơ đồ cho chức năng đặt hàng và thanh toán

Hình 3.4.9.1: Sơ đồ tuần tự cho chức năng đặt hàng và thanh toán

3 Kết quả thêm giỏ hàng

4 Hiển thị trang giỏ hàng

8 Trả kết quả đơn hàng

9 Thông báo kết quả đơn hàng

Khi đặt hàng, người dùng có thể thêm món ăn vào giỏ hàng Sau đó, họ sẽ truy cập vào trang giỏ hàng để xác nhận đơn hàng Hệ thống sẽ lưu trữ thông tin và cập nhật trạng thái hóa đơn cùng với các thông tin liên hệ và vận chuyển.

3.4.10 Sơ đồ tuần tự cho chức năng đặt hàng (dành cho thu ngân)

Hình 3.4.10.1: Sơ đồ tuần tự cho chức năng đặt hàng

2 Lấy dữ liệu hóa đơn

4 Thông báo kết quả lưu database

Khi khách hàng yêu cầu thanh toán tại quầy, nhân viên sẽ xác thực tài khoản và lưu thông tin khách hàng nếu chưa có Nhân viên nhập số tiền khách đưa và tính toán tiền thừa để trả lại Cuối cùng, nhân viên thực hiện lệnh thanh toán và in hóa đơn cho khách hàng.

Mô hình dữ liệu (Database diagram)

Hình 3.5.1.1: Mô hình dữ liệu

Thết kế cơ sở dữ liệu

3.6.1 Các đối tượng và thuộc tính

EMPLOYEES(EMPLOYEES_ID, EMPLOYEES_NO,

EMPLOYEES_USERNAME, EMPLOYEES_PHONE, EMPLOYEES_EMAIL, EMPLOYEES_PASSWORD, POSITION_ID, EMPLOYEES_STATUS,

EMPLOYEES_ADDRESS, EMPLOYEES_IMG, EMPLOYEES_STARTDAY, EMPLOYEES_ENDDAY, EMPLOYEES_BIRTHDAY, EMPLOYEES_GENDER, EMPLOYEES_ISMANAGE)

POSITIONS(POSITION_ID, POSITION_NAME, POSITION_DES)

TABLES(TABLE_ID, TABLE_NO,TABLE_STATUS,ROOM_ID)

ROOMS(ROOM_ID,ROOM_NAME)

CUSTOMERS(CUSTOMER_ID, CUSTOMER_NO, CUSTOMER_NAME,

CUSTOMER_IMG,CUSTOMER_USERNAME, CUSTOMER_PASSWORD, CUSTOMER_STATUS, CUSTOMER_MARK, CUSTOMER_ADDRESS)

FOODS( FOOD_ID, FOOD_NO, FOOD_NAME, FOOD_PRICE, FOOD_UNIT, FOOD_STATUS, FOOD_IMG, CATEGORYFOODS_ID,

FOOD_DATE,FOOD_TYPE, FOOD_DESCRIPTION, FOOD_ISSPECIAL)

FOODDETAIL(FOOD_ID, MATERIAL_ID, FOODDETAIL_QUANTILY)

CATEGORYFOODS(CATEGORYFOODS_ID,CATEGORYFOODS_NAME,

MATERIALS(MATERIALS_ID, MATERIALS_NO, MATERIALS_NAME,

MATERIALS_PRICE, MATERIALS_DATE, MATERIALS_IMG,

INPUTMATERIAL(INPUTMATERIAL_ID, INPUTMATERIAL_DATE,

BILLS( BILL_ID, BILL_NO, BILL_DATE, BILL_STATUS, BILL_TAX,

CUSTOMER_ID, TABLE_ID, EMPLOYEE_ID, BILL_PROMOTION,

BILL_DELIVERYADDRESS, BILL_PAID, BILL_NOTE, PHONE_DELIVERY )

BILLDETAIL(BILLDETAIL_ID, FOOD_ID,BILLDETAIL_PRICE,

3.6.2 Phân tích cơ sở dữ liệu

EMPLOYEES(EMPLOYEES_ID, EMPLOYEES_NO,

EMPLOYEES_USERNAME, EMPLOYEES_PHONE, EMPLOYEES_EMAIL, EMPLOYEES_PASSWORD, POSITION_ID, EMPLOYEES_STATUS,

EMPLOYEES_ADDRESS, EMPLOYEES_IMG, EMPLOYEES_STARTDAY, EMPLOYEES_ENDDAY, EMPLOYEES_BIRTHDAY, EMPLOYEES_GENDER, EMPLOYEES_ISMANAGE)

Bảng nhân viên trong nhà hàng lưu trữ thông tin quan trọng về từng nhân viên, bao gồm mã nhân viên (EMPLOYEES_ID) để phân biệt, mã truy xuất (EMPLOYEES_NO) cho việc tìm kiếm thông tin, tên (EMPLOYEES_FIRSTNAME), họ (EMPLOYEES_LASTNAME), số điện thoại (EMPLOYEES_PHONE), địa chỉ email (EMPLOYEES_EMAIL), tên tài khoản (EMPLOYEES_USERNAME) và mật khẩu (EMPLOYEES_PASSWORD) Ngoài ra, bảng còn ghi nhận loại nhân viên (EMPLOYEES_ISMANAGE), hình ảnh (EMPLOYEES_IMG), mã chức vụ (POSITION_ID), trạng thái hoạt động (EMPLOYEES_STATUS), địa chỉ (EMPLOYEES_ADDRESS), ngày bắt đầu (EMPLOYEES_STARTDAY) và kết thúc làm việc (EMPLOYEES_ENDDAY), cùng với ngày sinh (EMPLOYEES_BIRTHDAY) và giới tính (EMPLOYEES_GENDER).

Hình 3.6.2.2: Bảng vị trí POSITIONS (POSITION_ID, POSITION_NAME, POSITION_DES)

Bảng chức vụ lưu trữ thông tin về các chức vụ của nhân viên trong hệ thống Nó bao gồm các thuộc tính như mã chức vụ (POSITION_ID) để phân biệt các chức vụ khác nhau, tên chức vụ (POSITION_NAME) để lưu trữ tên gọi của từng chức vụ, và mô tả chức vụ (POSITION_DES) để cung cấp thông tin chi tiết về từng chức vụ.

Hình 3.6.2.3: Bảng bàn TABLES (TABLE_ID, TABLE_NO, TABLE_STATUS, ROOM_ID)

Bảng bàn lưu trữ thông tin chi tiết về các bàn ăn, bao gồm mã bàn (BAN_ID) là mã duy nhất để phân biệt các bàn trong hệ thống Mã bàn (BAN_NO) giúp nhân viên quản lý phân biệt giữa các bàn khác nhau Trạng thái bàn (BAN_STATUS) ghi nhận tình trạng của bàn, cho biết bàn đã có khách hay còn trống Ngoài ra, mã phòng (ROOM_ID) được sử dụng để truy xuất thông tin về phòng sảnh từ bảng phòng.

Hình 3.6.2.4: Bảng phòng ROOMS(ROOM_ID,ROOM_NAME)

Bảng phòng là công cụ lưu trữ thông tin về các phòng và sảnh, bao gồm mã phòng (ROOM_ID) để phân biệt các phòng và tên phòng (ROOM_NAME) để lưu trữ thông tin chi tiết về từng phòng.

Hình 3.6.2.5: Bảng khách hàng CUSTOMERS (CUSTOMER_ID, CUSTOMER_NO, CUSTOMER_NAME,

CUSTOMER_PHONE, CUSTOMER_EMAIL, CUSTOMER_IMG,

CUSTOMER_USERNAME, CUSTOMER_PASSWORD, CUSTOMER_STATUS, CUSTOMER_MARK, CUSTOMER_ADDRESS)

Bảng khách hàng trong hệ thống lưu trữ thông tin quan trọng của khách hàng, bao gồm các thuộc tính như Mã khách hàng (CUSTOMER_ID) và CUSTOMER_NO để định danh và truy xuất thông tin khi khách hàng giao dịch Thông tin khác bao gồm tên khách hàng (CUSTOMER_NAME), địa chỉ (KHACHHANG_ADD), số điện thoại (KHACHHANG_PHONE), và hình ảnh (CUSTOMER_IMG) Ngoài ra, bảng còn lưu trữ tên tài khoản (CUSTOMER_USERNAME) và mật khẩu (CUSTOMER_PASSWORD) để xác thực đăng nhập Trạng thái hoạt động của khách hàng được ghi nhận qua CUSTOMER_STATUS, với giá trị 1 cho tài khoản hoạt động và 0 cho tài khoản bị khóa Cuối cùng, CUSTOMER_MARK lưu điểm tương tác của khách hàng sau mỗi lần mua hàng.

CUSTOMER_ADDRESS dùng để lưu thông tin địa chỉ của khách hàng và email khách hàng (CUSTOMER_EMAIL).

Hình 3.6.2.6: Bảng món ăn FOODS(FOOD_ID, FOOD_NO, FOOD_NAME, FOOD_PRICE, FOOD_UNIT,

FOOD_STATUS, FOOD_IMG, CATEGORYFOODS_ID,

FOOD_DATE,FOOD_TYPE, FOOD_DESCRIPTION, FOOD_ISSPECIAL)

Bảng món ăn là công cụ lưu trữ thông tin chi tiết về các món ăn trong hệ thống, bao gồm các thuộc tính quan trọng như Mã món ăn (FOOD_ID) và Mã món ăn (FOOD_NO) để phân biệt các món ăn, Tên món ăn (FOOD_NAME) để ghi nhận tên gọi của món, Đơn vị phần ăn (FOOD_UNIT) chỉ định đơn vị đo lường, Giá món ăn (FOOD_PRICE) cung cấp thông tin về giá cả, Trạng thái món ăn (FOOD_STATUS) thể hiện tình trạng hiện tại của món, Hình ảnh món ăn (FOOD_IMG) lưu trữ hình ảnh minh họa, Loại món ăn (FOOD_TYPE) phân loại các nhóm thức ăn theo thời gian trong ngày, Mô tả món ăn (FOOD_DESCRIPTION) tóm tắt nội dung của món, và Món ăn đặc biệt (FOOD_ISSPECIAL) đánh dấu các món ăn nổi bật của nhà hàng.

 Bảng chi tiết món ăn (FOODDETAIL)

Hình 3.6.2.7: Bảng chi tiết món ăn FOODDETAIL(FOOD_ID, MATERIAL_ID, FOODDETAIL_QUANTILY)

Bảng chi tiết món ăn lưu trữ các thành phần của món ăn với các thuộc tính quan trọng như Mã món ăn (FOOD_ID) là khóa chính để liên kết và truy xuất thông tin từ bảng món ăn, Mã nguyên liệu (MATERIAL_ID) là khóa chính để lấy thông tin của nguyên liệu từ bảng nguyên liệu, và Số lượng (FOODDETAIL_QUANTILY) dùng để ghi nhận định lượng của từng thành phần.

 Bảng danh mục món ăn (CATEGORYFOODS)

Hình 3.6.2.8: Bảng danh mục món ăn CATEGORYFOODS(CATEGORYFOODS_ID,CATEGORYFOODS_NAME,

Bảng lưu trữ thông tin về các phân loại món ăn bao gồm các trường quan trọng như Mã danh mục (CATEGORYFOODS_ID) là khóa chính để phân biệt các loại món ăn trong hệ thống, CATEGORYFOODS_NAME để lưu tên của loại món ăn, và CATEGORYFOODS_DES để mô tả các nguyên liệu liên quan.

Hình 3.6.2.9: Bảng nguyên liệu MATERIALS(MATERIALS_ID, MATERIALS_NO, MATERIALS_NAME,

MATERIALS_PRICE, MATERIALS_DATE, MATERIALS_IMG,

Bảng nguyên liệu là công cụ quan trọng để lưu trữ thông tin về các loại nguyên liệu trong hệ thống, bao gồm các trường như mã nguyên liệu (MATERIALS_ID) để phân biệt các loại nguyên liệu, mã nguyên liệu (MATERIALS_NO) dành cho nhân viên quản lý, tên nguyên liệu (MATERIALS_NAME), giá nguyên liệu (MATERIALS_PRICE), ngày tạo nguyên liệu (MATERIALS_DATE), hình ảnh sản phẩm (MATERIALS_IMG), mã danh mục nguyên liệu (CATEGORYTYPE_ID) là khóa ngoại liên kết với danh mục nguyên liệu, và trạng thái nguyên liệu (MATERIALS_STATUS).

 Bảng danh mục nguyên liệu(CATEGORYMATERIAL)

Hình 3.6.2.10: Bảng danh mục nguyên liệu CATEGORYMATERIAL(CATEGORYMATERIAL_ID,

Bảng danh mục nguyên liệu là công cụ quan trọng để lưu trữ và phân loại các loại nguyên liệu trong hệ thống Bảng này bao gồm các trường dữ liệu như mã danh mục (CATEGORYMATERIAL_ID), là mã duy nhất giúp phân biệt các loại nguyên liệu, tên danh mục (CATEGORYMATERIAL_NAME) và đơn vị danh mục (CATEGORYMATERIAL_UNIT) để ghi nhận thông tin về đơn vị đo lường như kilogram, mililit, hộp, phần, v.v.

 Bảng nhập kho nguyên liệu (INPUTMATERIAL)

Hình 3.6.2.11: Bảng nhập kho nguyên liệu INPUTMATERIAL(INPUTMATERIAL_ID, INPUTMATERIAL_DATE,

Bảng nhập kho nguyên liệu là công cụ quan trọng để quản lý thông tin liên quan đến việc nhập kho nguyên liệu Bảng này bao gồm các trường như Mã nhập kho (INPUTMATERIAL_ID) để phân biệt các loại nguyên liệu khác nhau, Ngày nhập kho (INPUTMATERIAL_DATE) ghi lại thời gian nhập, và Mã nguyên liệu (MATERIAL_ID) là khóa ngoại giúp truy xuất thông tin từ bảng nguyên liệu Ngoài ra, trường INPUTMATERIAL_QUALITY lưu trữ số lượng nguyên liệu khi được nhập kho.

Hình 3.6.2.12: Bảng hóa đơn BILLS(BILL_ID, BILL_NO, BILL_DATE, BILL_STATUS, CUSTOMER_ID,

TABLE_ID, EMPLOYEE_ID, BILL_PROMOTION,

BILL_DELIVERYADDRESS, BILL_PAID, BILL_NOTE, PHONE_DELIVERY)

Bảng hóa đơn lưu trữ thông tin chi tiết về giao dịch mua hàng, bao gồm các trường quan trọng như Mã phân biệt hóa đơn (BILL_ID) để xác định duy nhất từng hóa đơn trong hệ thống, Mã định danh hóa đơn (BILL_NO) giúp nhân viên quản lý truy xuất thông tin hóa đơn, và ngày lập hóa đơn (BILL_DATE) Trạng thái hóa đơn (BILL_STATUS) phản ánh tình trạng hiện tại, như hoàn thành, đang chờ, hay đã giao hàng Các mã khóa ngoại như Mã khách hàng (CUSTOMER_ID), mã bàn (TABLE_ID), và mã nhân viên (EMPLOYEE_ID) cho phép truy xuất thông tin liên quan Bảng cũng ghi nhận khuyến mãi (BILL_PROMOTION) dựa trên điểm tích lũy của khách hàng, địa chỉ giao hàng (BILL_DELIVERYADDRESS) cho đơn hàng online, cùng với trạng thái thanh toán (BILL_PAID) cho biết hóa đơn đã được thanh toán hay chưa Ngoài ra, BILL_NOTE lưu yêu cầu của khách hàng trong quá trình đặt món, và PHONE_DELIVERY ghi lại số điện thoại liên hệ khi giao hàng.

 Bảng chi tiết hóa đơn (BILLDETAIL)

Hình 3.6.2.13: Bảng hóa đơn chi tiết

BILLDETAIL(BILLDETAIL_ID, FOOD_ID,BILLDETAIL_PRICE,

Bảng chi tiết hóa đơn lưu trữ thông tin quan trọng của hóa đơn, bao gồm các trường dữ liệu như Mã chi tiết hóa đơn (BILLDETAIL_ID) là khóa chính và khóa ngoại để liên kết với bảng hóa đơn Mã món ăn (FOOD_ID) cho phép truy xuất thông tin về món ăn, trong khi đơn giá (BILLDETAIL_PRICE) ghi nhận giá sản phẩm trong hóa đơn Thông tin số lượng (BILLDETAIL_QUALITY) được sử dụng để lưu trữ số lượng món hàng khi đặt hàng.

Kịch bản kiểm thử dự kiến

3.7.1 Các chức năng thay đổi dữ liệu của nguyên liệu

Bảng 3.7.1.1.1: Kịch bản kiểm thử các chức năng thay đổi nguyên liệu

Mục đích kiểm thử Kết quả mong muốn

NL_1 Thêm mới nguyên liệu với các trường rỗng

“Không bỏ trống trường này”

NL_2 Thêm mới với các nguyên liệu trùng tên trong hệ thống

NL_3 Sửa thông tin nguyên liệu với 1 số trường rỗng

“Không bỏ trống trường này”

NL_4 Sửa tên nguyên liệu giống tên nguyên liệu có trong hệ thống

NL_4 Xóa nguyên liệu Hiển thị thông báo đã xóa và nguyên liệu đã mất khỏi danh sách

3.7.2 Các chức năng thay đổi dữ liệu của món ăn

Bảng 3.7.2.1.1: Kịch bản kiểm thử các chức năng thay đổi món ăn

Mục đích kiểm thử Kết quả mong muốn

MA_1 Thêm mới món ăn với các trường rỗng

“Không bỏ trống trường này”

MA_2 Thêm mới với các món ăn trùng tên trong hệ thống

MA_3 Sửa thông tin món ăn với 1 số trường rỗng

MA_4 Sửa tên món ăn giống tên món ăn có trong hệ thống

MA_5 Xóa món ăn Hiển thị thông báo

“Đã xóa thành công” và món ăn đã mất khỏi danh sách 3.7.3 Các chức năng thay đổi dữ liệu của nhân viên

Bảng 3.7.3.1.1: Kịch bản kiểm thử các chức năng thay đổi dữ liệu nhân viên

Mục đích kiểm thử Kết quả mong muốn

NV_1 Thêm mới nhân viên với các trường rỗng

“Không bỏ trống trường này”

NV_2 Thêm mới với các nhân viên trùng email trong hệ thống

“Nhân viên đã tồn tại ” NV_3 Sửa thông tin món ăn với 1 số trường rỗng

“Không bỏ trống trường này”

NV_4 Sửa tên nhân viên giống tên nhân viên có trong hệ thống

“Nhân viên đã tồn tại ”

NV_4 Xóa nhân viên Hiển thị thông báo

“Đã xóa thành công” và nhân viên đã mất khỏi danh sách 3.7.4 Chức năng bán hàng tại quầy

Bảng 3.7.4.1.1: Kịch bản kiểm thử các chức năng bán hàng tại quầy

Mục đích kiểm thử Kết quả mong muốn

BH_1 Kiểm tra nhập số điện thoại kiểm tra khuyến mãi với số điện thoại chưa có

“Khách hàng mới! Thêm thông tin khách hàng hoặc chọn "thanh toán và in hóa đơn" để thanh toán đơn hàng”

BH_2 Nhập số tiền khuyến mãi lớn hơn so với số tiền phải trả (Không chọn mục Miễn phí)

“Vượt quá khuyến mãi cho phép”

3.7.5 Chức năng ghép đơn hàng

Bảng 3.7.5.1.1: Kịch bản kiểm thử các chức năng ghép đơn hàng

Mục đích kiểm thử Kết quả mong muốn

GD_1 Kiểm tra chọn hai hóa Hiển thị đơn giống nhau khi ghép thông báo

GD_2 Chọn vào bàn vừa khởi tạo

“Hóa đơn không có chi tiết hóa đơn”

THỰC NGHIỆM

Ngày đăng: 28/09/2022, 12:13

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] BỨC TRANH TOÀN CẢNH CỦA NGÀNH DỊCH VỤ ĂN UỐNG https://www.cet.edu.vn/toan-canh-cua-nganh-dich-vu-an-uong Truy cập ngày 12/7/2020 Link
[2] Tìm hiểu về Jquery https://viblo.asia/p/tim-hieu-ve-jquery-l5XRBJdVRqPeTruy cập 10/7/2020 Link
[5]Phần mềm Xampp là gì? Tổng quan về Xampp và hướng dẫn cài đặt - https://monamedia.co/phan-mem-xampp-la-gi-huong-dan-cai-dat-xampp/ Truy cập ngày 10/7/2020 Link
[6] MySQL https://vi.wikipedia.org/wiki/MySQL Truy cập ngày 10/7/2020 Link
[1] Đoàn Văn Ban, Nguyễn Thị Tĩnh. Giáo trình phân tích thiết kế hệ thống hướng đối tượng bằng UML /-H. :Đại học sư phạm, 2011 Khác
[2] Báo cáo thực tập tốt nghiệp-Xây dựng ứng dụng quản lý quán ăn- Nguyễn Văn Hiệp Khác
[3] Báo cáo môn học- Phân tích và thiết kế hệ thống- Xây dựng trang học tập toeic trực tuyến - Nguyễn Văn Hiệp, Huỳnh Thanh Tâm, Lê Văn Nam.Webisite Khác

HÌNH ẢNH LIÊN QUAN

LỊCH CÔNG TÁC PHƯỜNG VIỆT HƯNG TUẦN 30/2020 (TỪ NGÀY 20/7/2020 ĐẾN 26/7/2020) THỨ - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
30 2020 (TỪ NGÀY 20/7/2020 ĐẾN 26/7/2020) THỨ (Trang 1)
Hình 3.2.2.1: Use case đăng nhập - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.2.1 Use case đăng nhập (Trang 15)
Hình 3.2.3.1: Use case quản lý món ăn - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.3.1 Use case quản lý món ăn (Trang 16)
Hình 3.2.4.1: Use case quản lý nguyên liệu - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.4.1 Use case quản lý nguyên liệu (Trang 17)
Hình 3.2.5.1: Use case quản lý nhân viên - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.5.1 Use case quản lý nhân viên (Trang 18)
Hình 3.2.6.1: Use case Quản lý khách hàng - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.6.1 Use case Quản lý khách hàng (Trang 19)
Hình 3.2.7.1: Use case quản lý đơn hàng - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.7.1 Use case quản lý đơn hàng (Trang 20)
Hình 3.2.9.1: Use case Quản lý hóa đơn - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.9.1 Use case Quản lý hóa đơn (Trang 22)
Hình 3.2.10.1: Use case đặt hàng - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.2.10.1 Use case đặt hàng (Trang 23)
Hình 3.4.1.1: Sơ đồ tuần tự cho chức năng đăng nhập - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.4.1.1 Sơ đồ tuần tự cho chức năng đăng nhập (Trang 26)
Hình 3.4.6.1: Sơ đồ tuần tự cho chức năng thống kê hóa đơn - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.4.6.1 Sơ đồ tuần tự cho chức năng thống kê hóa đơn (Trang 31)
Hình 3.4.7.1: Sơ đồ tuần tự cho chức năng thống kê doanh thu - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.4.7.1 Sơ đồ tuần tự cho chức năng thống kê doanh thu (Trang 32)
Hình 3.4.8.1: Sơ đồ tuần tự cho chức năng xử lý đơn hàng - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Hình 3.4.8.1 Sơ đồ tuần tự cho chức năng xử lý đơn hàng (Trang 33)
 Bảng nhân viên (EMPLOYEES) - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Bảng nh ân viên (EMPLOYEES) (Trang 41)
Bảng 3.7.2.1.1: Kịch bản kiểm thử các chức năng thay đổi món ăn Mã test - XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ HÀNGPHPSQL
Bảng 3.7.2.1.1 Kịch bản kiểm thử các chức năng thay đổi món ăn Mã test (Trang 52)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w