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

Xây dựng Website quản lí chuỗi cửa hàng cà phê

130 0 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 Website Quản Lý Chuỗi Cửa Hàng Cà Phê
Tác giả Võ Gia Huy, Phan Thị Huỳnh Tú
Người hướng dẫn ThS. Nguyễn Minh Đạo
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2020
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 130
Dung lượng 6,85 MB

Cấu trúc

  • Chương 1 TỔNG QUAN (16)
    • 1.1 Lý do chọn đề tài (16)
    • 1.2 Mục tiêu nghiên cứu (16)
    • 1.3 Khảo sát hiện trạng (16)
    • 1.4 Mô tả tổng thể (18)
      • 1.4.1 Phối cảnh sản phẩm (18)
      • 1.4.2 Chức năng phần mềm (0)
      • 1.4.3 Các lớp người dùng và đặc điểm người dùng (18)
      • 1.4.4 Môi trường hoạt động (19)
      • 1.4.5 Ràng buộc (19)
  • Chương 2 CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Tổng quan về Spring Boot (20)
      • 2.1.1 Spring Boot Starter [3] (21)
      • 2.1.2 Spring Boot Auto Configurator (22)
      • 2.1.3 Spring Boot CLI (23)
      • 2.1.4 Spring Boot Actuator (23)
      • 2.1.5 Spring Web MVC (23)
    • 2.2 Tổng quan về Angular (23)
      • 2.2.1 Giới thiệu Angular (23)
      • 2.2.2 Ưu điểm của Angular (31)
      • 2.2.3 Nhược điểm của Angular (32)
      • 2.2.4 Một số tính năng nổi bật của Angular 8 (32)
    • 2.4 Tổng quan về PrimeNG [7] (34)
  • Chương 3 PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU (35)
    • 3.1 Phân tích yêu cầu chức năng (0)
      • 3.1.1 Chức năng đơn hàng chuyển kho (35)
      • 3.1.2 Chức năng quản lý giới hạn tồn kho (35)
      • 3.1.3 Chức năng quản lý thức uống (36)
      • 3.1.4 Chức năng quản lý hóa đơn (37)
      • 3.1.5 Chức năng quản lý khách hàng (37)
      • 3.1.6 Chức năng quản lý nhân viên (38)
      • 3.1.7 Chức năng thống kê, báo cáo (39)
      • 3.1.8 Chức năng quản lý kho (39)
      • 3.1.9 Chức năng quản lý chi nhánh (40)
      • 3.1.10 Chức năng quản lý bảng giá nguyên liệu (40)
      • 3.1.11 Chức năng quản lý nguyên liệu (41)
      • 3.1.12 Chức năng quản lý loại đơn hàng (41)
      • 3.1.13 Chức năng quản lý tài khoản (42)
      • 3.1.14 Chức năng quản lý quyền đăng nhập (42)
      • 3.1.15 Chức năng quản lý công thức (42)
      • 3.1.16 Yêu cầu giao diện người dùng (0)
    • 3.2 Phân tích yêu cầu phi chức năng (0)
    • 3.3 Mô hình hóa yêu cầu (44)
      • 3.3.1 Use case tổng quát (44)
      • 3.3.2 Chi tiết Use case (45)
  • Chương 4 THIẾT KẾ HỆ THỐNG (86)
    • 4.1 Thiết kế dữ liệu (86)
      • 4.1.1 Mô hình ERD (86)
      • 4.1.2 Mô tả các bảng (87)
    • 4.2 System architect [8] (103)
    • 4.3 Thiết kế xử lý (105)
      • 4.3.1 Sequence diagram (105)
      • 4.3.2 Class diagram (109)
    • 4.4 Thiết kế giao diện (112)
      • 4.4.1 Màn hình gọi thức uống (112)
      • 4.4.2 Màn hình danh sách hóa đơn (116)
      • 4.4.3 Các màn hình quy trình nhập nguyên liệu từ kho trung tâm về kho chi nhánh (117)
      • 4.4.4 Màn hình kiểm kho (123)
      • 4.4.5 Màn hình kỳ nguyên liệu (126)
  • Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (0)
    • 5.1 Kết quả (128)
    • 5.2 Hạn chế (128)
    • 5.3 Kết luận (128)
    • 5.4 Hướng phát triển (128)
  • TÀI LIỆU THAM KHẢO (129)

Nội dung

Trang 17 KiotViet Các hệ thống quản lý hiện nay như KiotViet đã phần nào giải quyết được bài toán trong thời buổi hiện tại đó chính là cung cấp những nhu yếu phẩm các tính năng mà các c

TỔNG QUAN

Lý do chọn đề tài

Khi nền kinh tế trên thế giới phát triển, ứng dụng công nghệ thông tin là điều không thể thiếu với tất cả các ngành nghề Với các nước phát triển, hệ thống phần mềm quản lý kinh doanh luôn có mặt trong các siêu thị, cửa hàng tiện lợi, cửa hàng ăn uống Bên cạnh đó, hiện nay, thị trường chuỗi cà phê ở Việt Nam đang ngày càng trở nên sôi động Để đảm bảo quy trình quản lý chặt chẽ, bảo mật thông tin, các số liệu báo cáo tổng quan và chính xác, việc áp dụng công nghệ thông tin vào việc quản lý hệ thống là điều hết sức cần thiết.

Mục tiêu nghiên cứu

- Nghiên cứu về Spring Restful API

- Tìm hiểu quy trình quản lý chuỗi cửa hàng kinh doanh thức uống

- Xây dựng website quản lý chuỗi cửa hàng cà phê phần bán hàng và quản lý kho.

Khảo sát hiện trạng

Nước ta đứng thứ hai thế giới về sản lượng cafe, cùng với sự ưa chuộng của thực khách đối với các sản phẩm đồ uống nói chung và cafe nói riêng dã dẫn đến thị trường cafe Việt Nam hết sức phát triển với hàng loạt chuỗi cửa hàng với tên quen thuộc như Highland Coffee, The Coffee House, v.v Song song đó là sự ra đời của rất nhiều các cửa hàng kinh doanh cafe mới với nhiều hình thức phong phú, tạo ra sức cạnh tranh cao Để có doanh thu lớn và tăng sự cạnh tranh thì các doanh nghiệp cần phải tăng số lượng chi nhánh cửa hàng Việc xây dựng một ứng dụng để quản lý tình hình kinh doanh của chuỗi các cửa hàng là vô cùng cần thiết Với thời đại 4.0 hiện nay, khi mà mạng internet được phủ sóng rộng rãi thì việc quản lý dựa vào sổ sách, giấy tờ dần trở nên bất tiện, việc lựa chọn nền tảng web để xây dựng ứng dụng quản lý chuỗi là một lựa chọn hợp lý Dựa vào ứng dụng này, người chủ cửa hàng có thể quản lý hoạt động kinh doanh từ các cửa hàng của mình, mọi lúc mọi nơi bao gồm việc quản lý nhân viên, quản lý doanh số bán hàng để có thể nắm được tình hình kinh doanh của các chi nhánh một cách rõ ràng nhất

Các hệ thống quản lý hiện nay như KiotViet đã phần nào giải quyết được bài toán trong thời buổi hiện tại đó chính là cung cấp những nhu yếu phẩm các tính năng mà các của hàng vừa và nhỏ cần đến, họ xây dụng thành công những cái nền tảng thiết yếu, cần thiết để đem đến sự thành công trong quản lý một cách tự động cho những khách hàng có những mô hình kinh doanh tương tự nhau Ưu điểm của các phần mềm KiotViet

- Số liệu thống kê trực quan, chính xác

- Báo cáo tài chính định kỳ

- Phân quyền nhân viên chi tiết

- Quản lý nhiều chi nhánh

Hạn chế của phần mềm:

- Chưa xây dựng công thức cho thức uống

- Chưa tính được giá vốn tồn kho của nguyên liệu

Phần mềm quản lý bán hàng Suno được viết bởi Công ty cổ phần công nghệ SUNO, xuất hiện lần đầu trên thị trường năm 2014 Đây là phần mềm bán hàng Online, sử dụng công nghệ điện toán đám mây, có thể sử dụng trên nhiều loại thiết bị, từ máy tính cho đến di động Ưu điểm của phần mềm Suno:

- Giao diện đơn giản, số liệu thống kê trực quan

- Có thể quản lý nhiều kho hàng, cửa hàng trên cùng một tài khoản

- Tính được giá vốn tồn kho của hàng hóa

Hạn chế của phần mềm:

- Chưa xây dựng công thức cho thức uống

- Quản lý trên một chi nhánh hoặc hoặc một cửa hàng.

Mô tả tổng thể

Hệ thống chuỗi cửa hàng cà phê được xây dựng nhằm quản lý một chuỗi kinh doanh cà phê Chuỗi có nhiều chi nhánh, mỗi chi nhánh có: Trung bình 5 đến 12 nhân viên, trong đó có 1 quản lý chi nhánh, 1 bảo vệ, 1-2 nhân viên bếp, 1-2 nhân viên thu ngân, 2-4 nhân viên phục vụ Giờ mở cửa từ 6:00AM đến 10:00PM Nhân viên bếp và nhân viên phục vụ là nhân viên partime; quản lý, bảo vệ, thu ngân là nhân viên fulltime Quản lý chi nhánh kiểm tồn của những nguyên liệu trong kho hằng ngày

Giá của nguyên liệu sẽ được ghi nhận dựa trên giá nhập nguyên liệu từ nhà cung cấp Công thức được xây dựng từ nhiều nguyên liệu cho một thức uống cụ thể Giá bán của thức uống do trụ sở chính quy định cho tất cả các chi nhánh Các thay đổi về giá của nguyên liệu và thức uống cần được lưu lại để đối chiếu và thống kê

Sử dụng các công thức về bài toán xuất – nhập – tồn để xử lý vấn đề tồn kho Mỗi chi nhánh sẽ có kho riêng và một kho trung tâm để dự trữ nguyên liệu Nguyên liệu được nhập từ nhà cung cấp về sẽ trữ tại kho trung tâm, kho của các chi nhánh nhập nguyên liệu từ kho trung tâm về kho của mình

Chức năng chính của phần mềm:

- Quản lý chi tiết hợp đồng cung cấp

- Quản lý nguyên liệu tồn kho của kho trung tâm và kho chi nhánh

1.4.3 Các lớp người dùng và đặc điểm người dùng

Người dùng của hệ thống được xếp vào tám loại dựa trên chức năng mà người dùng đó sử dụng trong phần mềm

- Lớp nhân viên bếp: Xem các đơn đang chờ chế biến, in nhãn lên thức uống và thông báo khi đã chế biến xong

- Lớp thu ngân: Xử lý giao dịch gọi món và thanh toán

- Lớp quản lý chi nhánh: Quản lý kho của chi nhánh mình, quản lý hoạt động của chi nhánh

- Lớp admin: Quản lý hệ thống

- Lớp nhân viên kế toán: Quản lý các hóa đơn chứng từ

- Lớp HR: Quản lý nguồn nhân lực

- Lớp quản lý chuỗi: Điều phối hoạt động xuất nhập của các kho chi nhánh, quản lý thức uống và nguyên liệu trong chuỗi

- Lớp quản lý kho trung tâm: Kiểm soát việc hàng nhập từ nhà cung cấp và xuất kho trung tâm đi vào kho chi nhánh

- Máy tính sử dụng hệ điều hành Windows

- Ngôn ngữ: o Back-end: Java 8 (Spring Boot) o Front-end: TypeScript (Angular 8.0)

- Hệ quản trị cơ sở dữ liệu: MySQL

Môi trường hoạt động phải kết nối Internet.

CƠ SỞ LÝ THUYẾT

Tổng quan về Spring Boot

Microservices là một kiến trúc cho phép xây dựng và triển khai các dịch vụ một cách độc lập Với nền tảng trên ngôn ngữ Java, Spring Boot cho phép xây dựng và thực thi các microservices

Hình 2.1: Mô tả Spring Boot

Core container là nền tảng của toàn bộ hệ sinh thái Spring và bao gồm bốn thành phần: expression language, context, core, bean, [1]

- Mô-đun expression language cung cấp một Expression Language (ngôn ngữ biểu thức) mạnh mẽ để cho truy vấn và tính toán các đối tượng trong lúc thực thi

- Context được xây dựng dựa trên Bean và Core và cho phép truy cập vào bất cứ đối tượng nào được định nghĩa trong phần cài đặt

- Mô-đun Core cung cấp các phần chính của khung (framework) bao gồm IoC (Inversion of Control) và DI (Dependency Injection)

- Mô-đun Bean chịu trách nhiệm tạo và quản lý các bean Ưu điểm của Spring Boot:

- Dễ dàng phát triển ứng dụng dựa trên Spring Application

- Giảm thiểu thời gian phát triển và tăng năng suất

- Dễ dàng tương tác với hệ sinh thái của Spring như Spring JDBC, Spring ORM, Spring Data, Spring Security…

- Cung cấp server nhúng để phát triển và kiểm thử ứng dụng

- Cung cấp công cụ CLI (Command Line Interface)

- Cung cấp nhiều plugin để phát triển và kiểm thử ứng dụng Spring Boot một cách dễ dàng khi sử dụng Maven hoặc Gradle

Mục tiêu chính của Spring Boot [2]

- Tránh sự phức tạp của cấu hình XML trong Spring

- Dễ dàng phát triển ứng dụng Spring

- Giảm thời gian phát triển ứng dụng

- Cung cấp cách thức để bắt đầu một ứng dụng

Spring Boot Starter là một trong những chức năng chính và là một trong số những component của Spring Boot Framework Khi phát triển ứng dụng web, chúng ta cần phải thêm rất nhiều sự phụ thuộc (dependencies) vào build file (pom.xml với Maven và build.grandle với Grandle) Nhiệm vụ chính của Spring Boot Starter là gom nhóm những dependency thông thường hoặc những dependency có liên quan đến nhau vào một single dependencies Khi thêm “spring-boot-starter-web” vào build file, Spring Boot Framework tự động tải những dependencies cần thiết và thêm chúng vào project classspath

Hình 2.2: Mô tả Spring Boot Starter

Spring Boot Auto Configurator là một thành phần của Spring Boot Framework Mục đích của Spring Auto Confugurator là giảm việc phải cấu hình cho ứng dụng Spring Khi sử dụng Spring Boot Framework, người phát triển không cần phải cấu hình XML cho ứng dụng mà Spring Boot Auto Configurator sẽ làm việc đó Bên cạnh đó, Spring Boot còn làm giảm việc định nghĩa các annotation (chú thích) Khi sử dụng

“@SpringBootApplication”, Spring Boot Auto Configurator sẽ tự động thêm những annotation cần thiết đến Java Class Byte Code

Hình 2.3: Mô tả Spring Boot Auto Configurator

Spring Boot CLI (Command Line Interface) là một phần mềm của Spring Boot dùng để chạy và kiểm tra ứng dụng Spring Boot bằng command prompt

Hai chức năng chính của Spring Boot Actuator

- Cung cấp EndPoints quản lý ứng dụng Spring Boot

Khi chạy ứng dụng bằng CLI, Spring Boot Actuator tự động cung cấp hostname là

“localhost” với cổng mặc định là “8080”

2.1.5 Spring Web MVC Đây là mô-đun đầu tiên được nhóm Spring xây dựng để hỗ trợ các ứng dụng web trong Spring Framework Mô-đun này sử dụng API Servlet làm nền tảng và sau đó các ứng dụng web phải tuân theo thông số kỹ thuật của Servlet và được triển khai vào các thùng chứa servlet Mô-đun Spring Web MVC được phát triển bằng cách sử dụng mẫu điều khiển phía trước (the front controller pattern) Có một servlet chính trong Spring được gọi là DispatcherServlet cho phép các nhà phát triển tạo ra một ứng dụng web trên nền tảng Java Mô-đun này có hỗ trợ đầy đủ cho các annotation kể từ khi khai báo HTTP endpoints cho đến khi bao bọc thuộc tính yêu cầu trong HTTP [4]

Tổng quan về Angular

Angular là một khung (framework) và nền tảng cho việc xây dựng một ứng dụng trang đơn (single page application) sử dụng HTML và TypeScript Angular được viết bằng TypeScript được triển khai những chức năng cốt lõi và tùy chọn

Kiến trúc của một ứng dụng Angular sẽ dựa trên các khái niệm cơ bản nhất định Các khối xây dựng cơ bản của Angular là NgModules Ngmodule sẽ cung cấp những ngữ cảnh biên dịch cho các thành phần (components), nó còn thu thập những mã liên quan vào trong các bộ chức năng Chính vì vậy một ứng dụng Angular sẽ được xác định bởi một bộ NgModules Một ứng dụng luôn phải có ít nhất một mô-đun gốc cho phép sử dụng bootstrap và những mô-đun khác có nhiều tính năng hơn

- Các thành phần sẽ là nơi định nghĩa phần hiển thị (là nơi chứa các tập phần tử của của màn hình mà Angular có thể chọn trong số đó và sửa đổi theo luận lý và dữ liệu trong chương trình)

- Các thành phần sử dụng dịch vụ (cung cấp chức năng cụ thể không liên quan trực tiếp đến chế độ hiển thị) Các nhà cung cấp dịch vụ (service) có thể đưa vào các thành phần dưới dạng phụ thuộc, làm cho mã được mô-đun hóa có thể sử dụng lại và rất hiệu quả

- Các mô-đun, thành phần, dịch vụ là các lớp dùng đến thành phần trang trí (decorator) Những thành phần trang trí này đánh dấu loại của chúng và cung cấp siêu dữ liệu (metadata) làm cho Angular có thể biết cách sử dụng chúng

- Siêu dữ liệu cho một lớp thành phần liên kết nó với một mẫu dùng để khai báo phần hiển thị Một cái mẫu mà kế hợp giữa HTML thông thường với các chỉ thị Angular và đánh dấu ràng buộc cho phép Angular sửa đổi HTML trước khi hiển thị nó ra màn hình

- Siêu dữ liệu cho một lớp dịch vụ cung cấp thông tin mà Angular cần để làm cho nó khả dụng với các thành phần thông qua việc tiêm vào phần phụ thuộc (dependency injection)

Các thành phần của ứng dụng thường được khai báo rất nhiều chế độ xem được sắp xếp theo các bậc có thứ tự Angular cung cấp dịch vụ định tuyến để giúp xác định đường dẫn điều hướng giữa các chế độ xem Bộ định tuyến cung cấp khả năng điều hướng phức tạp trong trình duyệt

Angular được sử đụng để tạo ra trang web động Trang web động là website có khuynh hướng thay đổi dữ liệu/thông tin dựa trên ba tham số: [5]

- Time-to-time (các trang tin tức)

- Location-to-location (các trang dự báo thời tiết)

- User-to-user (Gmail, Facebook,…) Đặc trưng của Angular

- Phát triển dựa trên JavaScript

- Tạo các ứng dụng client-side theo mô hình MVC

- Khả năng tương thích cao, tự động xử lý mã JavaScript để phụ hợp với mỗi trình duyệt

- Mã nguồn mở, miễn phí hoàn toàn và được sử dụng rộng rãi

Các tính năng cơ bản:

- Phạm vi (scope): đối tượng có nhiệm vụ giao tiếp giữa bộ điều khiển (controller) và bộ hiển thị (view) của ứng dụng

- Bộ điều khiển (controller): xử lý dữ liệu cho đối tượng phạm vi, từ đây bên bộ hiển thị sẽ sử dụng các dữ liệu trong phạm vi để hiển thị ra tương ứng

- Ràng buộc (data-binding): tự động đồng bộ dữ liệu giữ mô hình và hiển thị

- Dịch vụ (service): là đối tượng singleton được khởi tạo một lần duy nhất cho mỗi ứng dụng, cung cấp các phương thức lưu trữ dữ liệu có sẵn

- Bộ lọc (filter): lọc các tập con từ tập phần tử trong các mảng và trả về các mảng mới

- Chỉ thị (directive): dùng để tạo các thẻ HTML riêng phục vụ những mục đích riêng Angular có những chỉ thị có sẵn như ngBind, ngModel,…

- Mẫu (template): một thành phần của view, hiển thị thông tin từ controller

- Điều hướng (routing): chuyển đổi giữa các hành động trong bộ điều khiển, qua lại giữa các màn hình

- MVC và MVVM: mô hình thiết kế để phân chia các ứng dụng thành nhiều phần khác nhau, mỗi phần có một nhiệm vụ nhất định Angular không triển khai MVC theo cách truyền thống mà gắn liền hơn với mô hình-hiển thị-hiển thị-mô hình

- Deep link: liên kết sâu, cho phép mã hóa trạng thái của ứng dụng trong URL để nó có thể bookmark với công cụ tìm kiếm Các ứng dụng có thể được phục hồi lại từ các địa chỉ URL với cùng một trạng thái

- Tiêm phụ thuộc (dependency injection): Angular có sẵn một hệ thống con tiêm phụ thuộc để hỗ trợ các nhà phát triển tạo ra các ứng dụng dễ phát triển, dễ hiểu và kiểm tra

Hình 2.4: Mô tả kiến trúc Angular

Các thành phần (component) chính

- ng-appL định nghĩa và liên kết một ứng dụng Angular tới HTML

- ng-model: gắn kết giá trị của dữ liệu ứng dụng Angular đến các điều khiển đầu vào HTML

- Ng-bind: gắn kết dữ liệu ứng dụng Angular đến các thẻ HTML

Mỗi ứng dụng Angular đều có một hệ thống mô-đun riêng gọi là NgModules NgModules của Angular khác và bổ sung thêm một số thứ so với JavaScript (ES2015) NgModules khai báo một ngữ cảnh biên dịch cho một tập hợp các thành phần dành riêng cho miền của ứng dụng, quy trình chạy, hoặc là một tập các khả năng mà có liên quan chặt chẽ với nhau Một NgModule có thể liên kết các thành phần của các mã liên quan, chẳng hạn như các dịch vụ để tạo thành các đơn vị chức năng

Mỗi ứng dụng Angular đều có một mô-đun gốc, được đặt tên là AppModule, cung cấp cơ chế bootstrap để khởi chạy ứng dụng Một ứng dụng thường chứa nhiều mô-đun chức năng

Giống như các mô-đun của JavaScript, NgModules có thể lấy chức năng từ các NgModules khác và cho phép chức năng của chính mình xuất ra cho các Ngmodules khác sử dụng Ví dụ: để sử dụng dịch vụ bộ tính tuyến trong ứng dụng, RouterNgmodule cần được cho vào nơi cần dùng Tổ chức mã thành các mô-đun chức năng riêng biệt giúp quản lý phát triển các ứng dụng phức tạp, thiết kế mô hình để có thể sử dụng lại Ngoài ra, kỹ thuật này còn cho phép tận dụng được lợi thế của lazy loading, để tải các mô-đun theo yêu cầu, nhằm giảm thiểu số lượng mã cần tải khi khởi động

Tổng quan về PrimeNG [7]

PrimeNG là tập hợp các thành phần UI phong phú cho Angular Tất cả các công cụ đều là nguồn mở và miễn phí sử dụng theo Giấy phép MIT Bảng PrimeNG là một thành phần Angular để trình bày dữ liệu lớn và phức tạp

Bảng PrimeNG (Bảng-p) là sự kế thừa của PrimeNG DataTable với hiệu suất nhanh như chớp (nhanh hơn ít nhất 10 lần) và mức độ kiểm soát tuyệt vời đối với bản trình bày Bảng-p được gọi là TurboTable để phân biệt nếu từ p-dataTable không dùng nữa

Các tính năng quan trọng của Bảng PrimeNG là:

PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Mô hình hóa yêu cầu

Hình 3.1: Hình use case tổng quát

Use case tổng quát mô tả khái quát sự tương tác giữa các nhóm người dùng và hệ thống Việc mô tả từng use case sẽ làm rõ vai trò và chức năng của từng nhóm người dùng trong hệ thống

Hình 3.2: Use case Đăng nhập Bảng 3.16: Mô tả use case Đăng nhập

Tên use case Use case đăng nhập

Mô tả Đăng nhập vào hệ thống khi người dùng chưa đăng nhập

Chủ thể Người dùng chưa đăng nhập

STT Chủ thể Phản hồi hệ thống

Nếu username và password khớp với tài khoản của một người dùng trong hệ thống, hiển thị giao diện tương ứng với quyền của tài khoản đã đăng nhập trong hệ thống Điều kiện cần Có kết nối internet

Người dùng đăng nhập vào hệ thống, dựa trên quyền đăng nhập của tài khoản để xác định giới hạn tương tác của người dùng trong hệ thống

3.3.2.2 Use case Quản lý chi nhánh

Hình 3.3: Use case Quản lý chi nhánh

Use case Xem thông tin chi nhánh

Bảng 3.17: Use case xem thông tin chi nhánh

Tên use case Xem thông tin chi nhánh

Mô tả Xem thông tin chi nhánh của các chi nhánh

Chủ thể Admin, Quản lý chuỗi, Kế toán, Quản lý chi nhánh, Thu ngân, HR,

Quản lý kho Dòng xử lý

STT Chủ thể Phản hồi hệ thống

1 Click vào “Chi nhánh” trong mục Cửa hàng

Chuyển sang trang quản lý chi nhánh, hiển thị danh sách chi nhánh Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Kế toán, Quản lý cửa hảng, Thu ngân, HR

Kết quả Hiển thị danh sách chi nhánh, hiển thị thông tin cụ thể của chi nhánh được chọn

Use case Thêm chi nhánh

Bảng 3.18: Use case thêm chi nhánh

Tên use case Thêm chi nhánh

Mô tả Thêm một chi nhánh mới

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Chi nhánh” trong mục Cửa hàng

Chuyển sang trang quản lý chi nhánh, hiển thị danh sách chi nhánh

2 Click vào “Tạo mới” Hiển thị popup tạo mới chi nhánh

3 Nhập thông tin chi nhánh cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Một chi nhánh mới được tạo

Use case Sửa thông tin chi nhánh

Bảng 3.19 Use case sửa thông tin chi nhánh

Tên use case Sửa thông tin chi nhánh

Mô tả Sửa thông tin chi nhánh

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Chi nhánh” trong mục Cửa hàng

Chuyển sang trang quản lý chi nhánh, hiển thị danh sách chi nhánh

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup sửa thông tin chi nhánh

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin chi nhánh được cập nhật

Use case Xóa chi nhánh

Bảng 3.20: Use case Xóa chi nhánh

Tên use case Xóa chi nhánh

Mô tả Xóa chi nhánh không còn hoạt động

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Chi nhánh” trong mục Cửa hàng

Chuyển sang trang quản lý chi nhánh, hiển thị danh sách chi nhánh

Click vào nút biểu tượng xóa ở chi nhánh muốn xóa

Kiểm tra chi nhánh còn nhân viên hay không, nếu còn nhân viên: không được xóa chi nhánh, nếu không còn nhân viên, hiển thị thông báo xác nhận

3 Click “OK” ở thông báo xác nhận

Thay đổi trạng thái của chi nhánh đã xóa Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Chi nhánh bị xóa khỏi danh sách chi nhánh

3.3.2.3 Use case Quản lý đơn vị đo lường

Hình 3.4: Use case quản lý đơn vị đo lường

Use case Thêm đơn vị

Bảng 3.21: Use case Thêm đơn vị

Tên usecase Thêm đơn vị

Mô tả Thêm đơn vị đo lường

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Đơn vị đo lường” trong mục Tài nguyên

Chuyển sang trang quản lý đơn vị, hiển thị danh sách đơn vị

2 Click vào “Tạo mới” Hiển thị popup tạo mới đơn vị

3 Nhập thông tin đơn vị cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một đơn vị mới được tạo

Use case Xem đơn vị

Bảng 3.22: Use case Xem đơn vị

Tên usecase Xem đơn vị

Mô tả Xem thông tin đơn vị đo lường

Chủ thể Admin, Quản lý chuỗi, Quản lý chi nhánh, Nhân viên bếp

STT Chủ thể Phản hồi hệ thống

1 Click vào “Đơn vị đo lường” trong mục Tài nguyên

Chuyển sang trang quản lý đơn vị, hiển thị danh sách đơn vị Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Quản lý chi nhánh, Nhân viên bếp

Kết quả Hiển thị danh sách đơn vị đo lường

Use case Sửa thông tin đơn vị

Bảng 3.23: Use case Sửa thông tin đơn vị

Tên usecase Sửa thông tin đơn vị

Mô tả Sửa thông tin đơn vị

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Đơn vị đo lường” trong mục Tài nguyên

Chuyển sang trang quản lý đơn vị, hiển thị danh sách đơn vị

2 Click vào biểu tượng chỉnh sửa Hiển thị popup chỉnh sửa đơn vị

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin đơn vị được cập nhật

Use case Xóa đơn vị

Bảng 3.24: Use case Xóa đơn vị

Tên usecase Xóa đơn vị

Mô tả Xóa đơn vị không còn sử dụng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Đơn vị đo lường” trong mục Tài nguyên

Chuyển sang trang quản lý đơn vị, hiển thị danh sách đơn vị

2 Click vào nút biểu tượng delete ở đơn vị muốn xóa

Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của đơn vị Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Đơn vị bị xóa khỏi danh sách đơn vị

3.3.2.4 Use case Quản lý công thức

Hình 3.5: Use case Quản lý công thức

Use case Thêm công thức

Bảng 3.25: Use case Thêm công thức

Tên use case Thêm công thức

Mô tả Thêm công thức của thức uống

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Công thức” trong mục Tài nguyên

Chuyển sang trang quản lý công thức, hiển thị danh sách công thức

2 Click vào “Tạo mới” Hiển thị popup tạo mới công thức

3 Nhập thông tin công thức cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một công thức mới được tạo

Use case Xem công thức

Bảng 3.26: Use case Xem công thức

Tên use case Xem công thức

Mô tả Xem thông tin công thức

Chủ thể Admin, Quản lý chuỗi, Quản lý chi nhánh, Nhân viên bếp

STT Chủ thể Phản hồi hệ thống

Click vào “Công thức” trong mục Tài nguyên

Chuyển sang trang quản lý công thức, hiển thị danh sách công thức Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Quản lý chi nhánh, Nhân viên bếp

Kết quả Hiển thị danh sách công thức

Use case Sửa công thức

Bảng 3.27: Use case Sửa công thức

Tên use case Sửa thông tin công thức

Mô tả Sửa thông tin công thức

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Công thức” trong mục Tài nguyên

Chuyển sang trang quản lý công thức, hiển thị danh sách công thức

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup chỉnh sửa công thức

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Thông tin công thức được cập nhật

Use case Xóa công thức

Bảng 3.28: Use case Xóa công thức

Tên use case Xóa công thức

Mô tả Xóa công thức không còn sử dụng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Công thức” trong mục Tài nguyên

Chuyển sang trang quản lý công thức, hiển thị danh sách công thức

2 Click vào nút biểu tượng delete ở đơn vị muốn xóa

Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của công thức Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Công thức bị xóa khỏi danh sách công thức

3.3.2.5 Use case Quản lý loại đơn hàng

Hình 3.6: Use case Quản lý loại đơn hàng

Use case Xem loại đơn hàng

Bảng 3.29: Use case Xem loại đơn hàng

Tên use case Xem loại đơn hàng

Mô tả Xem thông tin các loại đơn hàng trong cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại đơn hàng” trong mục Tài nguyên

Chuyển sang trang quản lý đơn loại đơn hàng và hiển thị danh sách các loại đơn hàng Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Hiển thị danh sách loại đơn hàng, hiển thị thông tin cụ thể của loại đơn hàng được chọn

Use case Thêm loại đơn hàng

Bảng 3.30: Use case Thêm loại đơn hàng

Tên use case Thêm loại đơn hàng

Mô tả Thêm loại đơn hàng mới trong chuỗi cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại đơn hàng” trong mục Tài nguyên

Chuyển sang trang quản lý đơn loại đơn hàng và hiển thị danh sách các loại đơn hàng

2 Click vào “Tạo mới” Hiển thị popup tạo mới loại đơn hàng

3 Nhập thông tin loại đơn hàng cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một loại đơn hàng mới trong chuỗi cửa hàng được tạo

Use case Sửa loại đơn hàng

Bảng 3.31: Use case Sửa loại đơn hàng

Tên use case Sửa loại đơn hàng

Mô tả Sửa thông tin loại đơn hàng trong cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại đơn hàng” trong mục Tài nguyên

Chuyển sang trang quản lý đơn loại đơn hàng và hiển thị danh sách các loại đơn hàng

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup chỉnh sửa loại đơn hàng

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin loại đơn hàng được cập nhật

Use case Xóa loại đơn hàng

Bảng 3.32: Use case Xóa loại đơn hàng

Tên use case Xóa loại đơn hàng

Mô tả Xóa thông tin loại đơn hàng trong cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại đơn hàng” trong mục Tài nguyên

Chuyển sang trang quản lý đơn loại đơn hàng và hiển thị danh sách các loại đơn hàng

2 Click vào biểu tượng xóa ở đơn hàng muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của loại đơn hàng Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Xóa loại đơn hàng ra khỏi danh sách loại đơn hàng

3.3.2.6 Use case Quản lý loại khách hàng

Hình 3.7: Use case Quản lý loại khách hàng

Use case Xem loại khách hàng

Bảng 3.33: Use case Xem loại khách hàng

Tên use case Xem loại khách hàng

Mô tả Xem thông tin các loại khách hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại khách hàng” trong mục Đối tác

Chuyển sang trang quản lý loại khách hàng, hiển thị danh sách các loại khách hàng Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Hiển thị danh sách loại khách hàng

Use case Thêm loại khách hàng

Bảng 3.34: Use case Thêm loại khách hàng

Tên use case Thêm loại khách hàng

Mô tả Thêm loại khách hàng mới trong chuỗi cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại khách hàng” trong mục Đối tác

Chuyển sang trang quản lý loại khách hàng, hiển thị danh sách các loại khách hàng

2 Click vào “Tạo mới” Hiển thị popup tạo mới loại khách hàng

3 Nhập thông tin loại khách hàng cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Một loại khách hàng mới được tạo

Use case Xóa loại khách hàng

Bảng 3.35: Use case Xóa loại khách hàng

Tên use case Xóa loại khách hàng

Mô tả Xóa thông tin loại khách hàng trong cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại khách hàng” trong mục Đối tác

Chuyển sang trang quản lý loại khách hàng, hiển thị danh sách các loại khách hàng

2 Click vào biểu tượng xóa ở loại khách hàng muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của loại khách hàng Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Xóa loại khách hàng ra khỏi danh sách loại khách hàng

Use case Sửa loại khách hàng

Bảng 3.36: Use case Sửa loại khách hàng

Tên use case Sửa loại khách hàng

Mô tả Sửa loại khách hàng mới trong cửa hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại khách hàng” trong mục Đối tác

Chuyển sang trang quản lý loại khách hàng, hiển thị danh sách các loại khách hàng

2 Click vào biểu tượng chỉnh sửa Hiển thị popup chỉnh sửa loại khách hàng

3 Nhập thông tin loại khách hàng cần sửa

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin loại khách hàng được cập nhật

3.3.2.7 Use case Quản lý giá nguyên liệu

Hình 3.8: Use case Quản lý giá nguyên liệu

Use case Xem giá nguyên liệu

Bảng 3.37: Use case Xem giá nguyên liệu

Tên use case Xem giá nguyên liệu

Mô tả Xem giá mới nhất của nguyên liệu

Chủ thể Admin, Quản lý chuỗi, Thu ngân, Kế toán, Quản lý chi nhánh

Dòng xử lý STT Chủ thể Phản hồi hệ thống

Click vào “Giá nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý giá nguyên liệu, hiển thị danh sách giá nguyên liệu Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Thu ngân, Kế toán, Quản lý chi nhánh

Kết quả Hiển thị danh sách giá của các nguyên liệu

Use case Cập nhật giá nguyên liệu

Bảng 3.38: Use case Cập nhật giá nguyên liệu

Tên use case Cập nhật giá nguyên liệu

Mô tả Thay đổi giá của nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Giá nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý giá nguyên liệu, hiển thị danh sách giá nguyên liệu

2 Click “Cập nhật giá” Hiển thị popup cập nhật giá nguyên liệu

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin giá nguyên liệu được cập nhật

3.3.2.8 Use case Quản lý giá thức uống

Hình 3.9: Use case quản lý giá thức uống

Use case Xem giá thức uống

Bảng 3.39: Use case Xem giá thức uống

Tên use case Xem giá thức uống

Mô tả Xem giá mới nhất của thức uống

Chủ thể Admin, Quản lý chuỗi, Thu ngân, Kế toán, Quản lý chi nhánh

Dòng xử lý STT Chủ thể Phản hồi hệ thống

1 Click vào “Giá thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý giá thức uống, hiển thị danh sách thức uống liệu Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Thu ngân, Kế toán, Quản lý chi nhánh

Kết quả Hiển thị danh sách giá của các thức uống

Use case Cập nhật giá thức uống

Bảng 3.40: Use case Cập nhật giá thức uống

Tên use case Cập nhật giá thức uống

Mô tả Thay đổi giá của thức uống

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Giá thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý giá thức uống, hiển thị danh sách giá thức uống

2 Click “Cập nhật giá” Hiển thị popup cập nhật giá thức uống

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin giá thức uống được cập nhật

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

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

Use case Xem thông tin khách hàng

Bảng 3.41: Use case Xem thông tin khách hàng

Tên use case Xem thông tin khách hàng

Mô tả Xem thông tin khách hàng

Chủ thể Admin, Quản lý chuỗi, Thu ngân, Quản lý chi nhánh

Dòng xử lý STT Chủ thể Phản hồi hệ thống

Click vào “Khách hàng” trong mục Đối tác

Chuyển sang trang quản lý khách hàng, hiển thị danh sách các khách hàng Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Thu ngân, Quản lý chi nhánh Kết quả Hiển thị danh sách khách hàng, hiển thị thông tin cụ thể của khách hàng được chọn

Use case Thêm thông tin khách hàng

Bảng 3.42: Use case Thêm thông tin khách hàng

Tên use case Thêm thông tin khách hàng

Mô tả Thêm thông tin khách hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Khách hàng” trong mục Đối tác

Chuyển sang trang quản lý khách hàng, hiển thị danh sách các khách hàng

2 Click vào “Tạo mới” Hiển thị popup tạo mới khách hàng

3 Nhập thông tin khách hàng cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một khách hàng mới được tạo

Use case Xóa khách hàng

Bảng 3.43: Use case Xóa khách hàng

Tên use case Xóa khách hàng

Mô tả Xóa khách hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Khách hàng” trong mục Đối tác

Chuyển sang trang quản lý khách hàng, hiển thị danh sách các khách hàng

2 Click vào biểu tượng xóa dòng chứa khách hàng muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của khách hàng Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Khách hàng bị xóa khỏi danh sách khách hàng

Use case Sửa thông tin khách hàng

Bảng 3.44: Use case Sửa thông tin khách hàng

Tên use case Sửa thông tin khách hàng

Mô tả Sửa thông tin khách hàng

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Khách hàng” trong mục Đối tác

Chuyển sang trang quản lý khách hàng, hiển thị danh sách các khách hàng

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup chỉnh sửa thông tin khách hàng

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin khách hàng được cập nhật

3.3.2.10 Use case Quản lý loại nguyên liệu

Hình 3.11: Use case Quản lý loại nguyên liệu

Use case Thêm loại nguyên liệu

Bảng 3.45: Use case Thêm loại nguyên liệu

Tên use case Thêm loại nguyên liệu

Mô tả Thêm thông tin loại nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý loại nguyên liệu, hiển thị danh sách loại nguyên liệu

2 Click vào “Tạo mới” Hiển thị popup tạo mới loại nguyên liệu

3 Nhập thông tin loại nguyên liệu cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một loại nguyên liệu mới được tạo

Use case Xem loại nguyên liệu

Bảng 3.46: Use case Xem loại nguyên liệu

Tên use case Xem loại nguyên liệu

Mô tả Xem thông tin loại nguyên liệu

Chủ thể Admin, Quản lý chuỗi, Quản lý kho trung tâm, Quản lý chi nhánh, Nhân viên bếp

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý loại nguyên liệu, hiển thị danh sách loại nguyên liệu Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Quản lý kho trung tâm, Quản lý chi nhánh, Nhân viên bếp

Kết quả Hiển thị danh sách loại nguyên liệu

Use case Sửa loại nguyên liệu

Bảng 3.47: Use case Sửa loại nguyên liệu

Tên use case Sửa loại nguyên liệu

Mô tả Sửa thông tin loại nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý loại nguyên liệu, hiển thị danh sách loại nguyên liệu

2 Click vào biểu tượng chỉnh sửa Hiển thị popup chỉnh sửa loại nguyên liệu

4 Click nút “Edit” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Thông tin loại nguyên liệu được cập nhật

Use case Xóa loại nguyên liệu

Bảng 3.48: Use case Xóa loại nguyên liệu

Tên use case Xóa loại nguyên liệu

Mô tả Xóa loại nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý loại nguyên liệu, hiển thị danh sách loại nguyên liệu

2 Click vào biểu tượng xóa ở loại nguyên liệu muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của loại nguyên liệu Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Loại nguyên liệu bị xóa khỏi danh sách loại nguyên liệu

3.3.2.11 Use case Quản lý loại nhân viên

Hình 3.12: Use case Quản lý loại nhân viên

Use case Xem loại nhân viên

Bảng 3.49: Use case Xem loại nhân viên

Tên use case Xem loại nhân viên

Mô tả Xem thông tin loại nhân viên

STT Chủ thể Phản hồi hệ thống

Click vào “Loại nhân viên” trong mục Nhân sự

Chuyển sang trang quản lý loại nhân viên, hiển thị danh sách loại nhân viên Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, HR Kết quả Hiển thị danh sách loại nhân viên

Use case Thêm loại nhân viên

Bảng 3.50: Use case Thêm loại nhân viên

Tên use case Thêm loại nhân viên

Mô tả Thêm thông tin loại nhân viên

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại nhân viên” trong mục Nhân sự

Chuyển sang trang quản lý loại nhân viên, hiển thị danh sách loại nhân viên

2 Click vào “Tạo mới” Hiển thị popup tạo mới loại nhân viên

3 Nhập thông tin loại nhân viên cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có quyền Admin, HR Kết quả Một loại nhân viên mới được tạo

Use case Xóa loại nhân viên

Bảng 3.51: Use case Xóa loại nhân viên

Tên use case Xóa loại nhân viên

Mô tả Xóa loại nhân viên không còn hoạt động

STT Chủ thể Phản hồi hệ thống

1 Click vào “Loại nhân viên” trong mục Nhân sự

Chuyển sang trang quản lý loại nhân viên, hiển thị danh sách loại nhân viên

2 Click vào nút biểu tượng xóa ở loại nhân viên muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của loại nhân viên Điều kiện cần Có kết nối internet, đăng nhập với account có quyền Admin hoặc HR Kết quả Loại nhân viên bị xóa khỏi danh sách loại nhân viên

Use case Sửa loại nhân viên

Bảng 3.52: Use case Sửa loại nhân viên

Tên use case Sửa loại nhân viên

Mô tả Sửa thông tin loại nhân viên

STT Chủ thể Phản hồi hệ thống

Click vào “Loại nhân viên” trong mục Nhân sự

Chuyển sang trang quản lý loại nhân viên, hiển thị danh sách loại nhân viên

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup chỉnh sửa loại nhân viên

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có quyền Admin hoặc HR Kết quả Thông tin loại nhân viên được cập nhật

3.3.2.12 Use case Quản lý loại thức uống

Hình 3.13: Use case Quản lý loại thức uống

Use case Xem loại thức uống

Bảng 3.53: Use case Xem loại thức uống

Tên use case Xem loại thức uống

Mô tả Xem thông tin loại thức uống

Chủ thể Admin, Quản lý chuỗi, Thu ngân, Nhân viên bếp, Quản lý chi nhánh Dòng xử lý

STT Chủ thể Phản hồi hệ thống

Click vào “Loại thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý loại thức uống, hiển thị danh sách loại thức uống Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi, Thu ngân, Nhân viên bếp, Quản lý chi nhánh

Kết quả Hiển thị danh sách loại thức uống

Use case Thêm loại thức uống

Bảng 3.54: Use case Thêm loại thức uống

Tên use case Thêm loại thức uống

Mô tả Thêm thông tin loại thức uống

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý loại thức uống, hiển thị danh sách loại thức uống

2 Click vào “Tạo mới” Hiển thị popup tạo mới loại thức uống

3 Nhập thông tin loại thức uống cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Một loại thức uống mới được tạo

Use case Sửa loại thức uống

Bảng 3.55: Use case Sửa loại thức uống

Tên use case Sửa loại thức uống

Mô tả Sửa thông tin loại thức uống

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý loại thức uống, hiển thị danh sách loại thức uống

2 Click vào biểu tượng chỉnh sửa

Hiển thị popup chỉnh sựa loại thức uống

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Thông tin loại thức uống được cập nhật

Use case Xóa loại thức uống

Bảng 3.56: Use case Xóa loại thức uống

Tên use case Xóa loại thức uống

Mô tả Xóa loại thức uống

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Loại thức uống” trong mục Tài nguyên

Chuyển sang trang quản lý loại thức uống, hiển thị danh sách loại thức uống

2 Click vào nút biểu tượng xóa ở loại thức uống muốn xóa Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của loại thức uống Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Loại thức uống bị xóa khỏi danh sách loại thức uống

3.3.2.13 Use case Quản lý loại nguyên liệu

Hình 3.14: Use case Quản lý nguyên liệu

Use case Xóa nguyên liệu

Bảng 3.57: Use case Xóa nguyên liệu

Tên use case Xóa nguyên liệu

Mô tả Xóa nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

Click vào “Nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý nguyên nguyên liệu, hiển thị danh sách nguyên liệu

Click vào biểu tượng xóa ở nguyên liệu muốn xóa

Hiển thị thông báo xác nhận

3 Click “OK” Thay đổi trạng thái của nguyên liệu Điều kiện cần

Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi

Kết quả Nguyên liệu bị xóa khỏi danh sách nguyên liệu

Use case Thêm nguyên liệu

Bảng 3.58: Use case Thêm nguyên liệu

Tên use case Thêm nguyên liệu

Mô tả Thêm thông tin nguyên liệu

Chủ thể Admin, Quản lý chuỗi

STT Chủ thể Phản hồi hệ thống

1 Click vào “Nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý nguyên nguyên liệu, hiển thị danh sách nguyên liệu

2 Click vào “Tạo mới” Hiển thị popup tạo mới nguyên liệu

3 Nhập thông tin nguyên liệu cần tạo

4 Click nút “Lưu” Thông tin được lưu xuống database Điều kiện cần Có kết nối internet, đăng nhập với account có một trong số các quyền: Admin, Quản lý chuỗi Kết quả Một nguyên liệu mới được tạo

Use case Xem nguyên liệu

Bảng 3.59: Use case Xem nguyên liệu

Tên use case Xem loại nguyên liệu

Mô tả Xem thông tin nguyên liệu

Chủ thể Admin, Quản lý chuỗi, Kế toán, Quản lý kho trung tâm, Quản lý chi nhánh, Nhân viên bếp

STT Chủ thể Phản hồi hệ thống

1 Click vào “Nguyên liệu” trong mục Tài nguyên

Chuyển sang trang quản lý nguyên nguyên liệu, hiển thị danh sách nguyên liệu Điều kiện cần

THIẾT KẾ HỆ THỐNG

Thiết kế dữ liệu

Hình 4.1: Lược đồ cơ sở dữ liệu của phần mềm

Bảng account được sử dụng để lưu tài khoản sử dụng trong hệ thống

Bảng 4.1: Mô tả bảng account

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của account Int(11) auto increment

Created_by Username khởi tạo account Varchar(255)

Creation_date Thời gian khởi tạo của account

Last_modified_by Username chỉnh sửa account lần cuối

Last_modified_date Thời gian chỉnh sửa account lần cuối

Email Email của account Varchar(255)

Enable Tình trạng của account Bit(1)

Username Username của account Varchar(255)

Password Password của account(mã hóa)

Employee_id Id của nhân viên sử dụng account

Int(11) Khóa ngoại đến bảng employee

Bảng account_role được sử dụng để lưu quyền truy cập của account

Bảng 4.2: Mô tả bảng account_role

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Account_id Id của account Int(11) Khóa chính, khóa ngoại

Role_id Id của role Int(11) Khóa chính, khóa ngoại

Bảng branch_shop được sử dụng để lưu thông tin các chi nhánh

Bảng 4.3: Mô tả bảng branch_shop

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của chi nhánh Int(11) auto increment

Khóa chính Created_by Username của accout khởi tạo chi nhánh

Creation_date Thời gian khởi tạo của chi nhánh Datetime

Last_modified_by Username của account chỉnh sửa chi nhánh lần cuối

Last_modified_date Thời gian chỉnh sửa chi nhánh lần cuối

Address Địa chỉ chi nhánh Varchar(255)

Enable Tình trạng của chi nhánh Bit(1)

Name Tên chi nhánh Varchar(255)

Bảng employee_type được sử dụng để lưu thông tin loại nhân viên

Bảng 4.4: Mô tả bảng employee_type

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của loại nhân viên Int(11) auto increment

Khóa chính Created_by Username của accout khởi tạo loại nhân viên

Creation_date Thời gian khởi tạo của loại nhân viên

Last_modified_by Username của account chỉnh sửa loại nhân viên lần cuối

Last_modified_date Thời gian chỉnh sửa loại nhân viên lần cuối

Datetime Enable Tình trạng của loại nhân viên Bit(1)

Name Tên loại nhân viên Varchar(255)

Bảng customer được sử dụng để lưu thông tin khách hàng

Bảng 4.5: Mô tả bảng customer

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của khách hàng Int(11) auto increment

Created_by Username của accout khởi tạo khách hàng

Creation_date Thời gian khởi tạo của khách hàng

Last_modified_by Username của account chỉnh sửa khách hàng lần cuối

Last_modified_date Thời gian chỉnh sửa khách hàng lần cuối

Address Địa chỉ của khách hàng Varchar(255)

Birth_day Sinh nhật của khách hàng

Email Email khách hàng Varchar(255)

Enable Tình trạng của chi nhánh Bit(1)

Name Tên khách hàng Varchar(255)

Note Ghi chú về khách hàng Varchar(255)

Phone Số điện thoại khách hàng

Sex Giới tính khách hàng Bit(1)

Total_purchase Tổng số tiền khách hàng đã mua thức uống

Customer_type_id Id của bảng loại khách hàng

Int(11) Khóa ngoại đến bảng customer_type

Bảng customer_type được sử dụng để lưu thông tin loại khách hàng

Bảng 4.6: Mô tả bảng customer_type

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của loại khách hàng Int(11) auto increment

Created_by Username của accout khởi tạo loại khách hàng

Creation_date Thời gian khởi tạo của loại khách hàng

Last_modified_by Username của account chỉnh sửa loại khách hàng lần cuối

Last_modified_date Thời gian chỉnh sửa loại khách hàng lần cuối

Enable Tình trạng của loại khách hàng

Name Tên loại khách hàng Varchar(255)

Discount_name Loại khuyến mãi Varchar(255)

Discount_value Giá trị chiết khấu Double

Bảng drink được sử dụng để lưu thông tin thức uống

Bảng 4.7: Mô tả bảng drink

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của thức uống Int(11) auto increment

Created_by Username của accout khởi tạo thức uống

Creation_date Thời gian khởi tạo của thức uống

Last_modified_by Username của account chỉnh sửa thức uống lần cuối

Last_modified_date Thời gian chỉnh sửa thức uống lần cuối

Dicription Mô tả thức uống Varchar(255)

Enable Tình trạng của thức uống Bit(1)

Name Tên thức uống Varchar(255)

Drink_type_id Id của bảng loại thức uống Int(11) Khóa ngoại đến bảng drink_type

Bảng drink_price được sử dụng để lưu thông tin giá thức uống

Bảng 4.8: Mô tả bảng drink_price

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id_drink Id của thức uống Int(11) Khóa chính

Date_drink Ngày thay đổi giá thức uống Date Khóa chính Created_by Username của accout khởi tạo giá thức uống

Creation_date Thời gian khởi tạo giá thức uống Datetime

Last_modified_by Username của account chỉnh sửa giá thức uống lần cuối

Last_modified_date Thời gian chỉnh sửa giá thức uống lần cuối

Initial_price Giá vốn Float

Bảng drink_type được sử dụng để lưu thông tin loại thức uống

Bảng 4.9: Mô tả bảng drink_type

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của loại thức uống Int(11) auto increment

Khóa chính Created_by Username của accout khởi tạo loại thức uống

Creation_date Thời gian khởi tạo của loại thức uống

Last_modified_by Username của account chỉnh sửa loại thức uống lần cuối

Last_modified_date Thời gian chỉnh sửa loại thức uống lần cuối

Datetime Enable Tình trạng của loại thức uống Bit(1)

Name Tên loại thức uống Varchar(255)

Bảng employee được sử dụng để lưu thông tin nhân viên

Bảng 4.10: Mô tả bảng employee

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của nhân viên Int(11) auto increment

Created_by Username của accout khởi tạo nhân viên

Creation_date Thời gian khởi tạo của nhân viên

Last_modified_by Username của account chỉnh sửa nhân viên lần cuối

Last_modified_date Thời gian chỉnh sửa nhân viên lần cuối

Email Email nhân viên Varchar(255)

Enable Tình trạng của nhân viên Bit(1)

Name Tên nhân viên Varchar(255)

Branch_shop_id Id của bảng chi nhánh Int(11) Khóa ngoại đến bảng branch_shop Employee_type_id Id của bảng loại nhân viên

Int(11) Khóa ngoại đến bảng employee_type

Bảng invoice được sử dụng để lưu thông tin hóa đơn

Bảng 4.11: Mô tả bảng invoice

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của hóa đơn Int(11) auto increment

Created_by Username của accout khởi tạo hóa đơn

Creation_date Thời gian khởi tạo của hóa đơn

Last_modified_by Username của account chỉnh sửa hóa đơn lần cuối

Last_modified_date Thời gian chỉnh sửa hóa đơn lần cuối

Date Thời gian thanh toán Date

Enable Tình trạng của hóa đơn Bit(1)

Number_position Vị trí ngồi Int(11)

Payment_status Tình trạng thanh toán Bit(1)

Total_discount Tổng giảm giá Float

Total_price Tổng giá Float

Real_pay Số tiền thực tế khách trả Float

Branch_shop_id Id của bảng chi nhánh Int(11) Khóa ngoại đến bảng branch_shop Customer_id Id của bảng khách hàng Int(11) Khóa ngoại đến bảng customer Order_type_id Id của bảng loại đơn hàng

Int(11) Khóa ngoại đến bảng order_type

Bảng invoice_detail được sử dụng để lưu thông tin chi tiết hóa đơn

Bảng 4.12: Mô tả bảng invoice_detail

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Invoice_id Id của hóa đơn Int(11) Khóa chính, khóa ngoại

Drink_id Id của thức uống Int(11) Khóa chính, khóa ngoại Created_by Username của accout khởi tạo chi tiết hóa đơn

Creation_date Thời gian khởi tạo của chi tiết hóa đơn

Last_modified_by Username của account chỉnh sửa chi tiết hóa đơn lần cuối

Last_modified_date Thời gian chỉnh sửa chi tiết hóa đơn lần cuối

Amount Số lượng thức uống Int(11)

Price Tổng giá của thức uống trong hóa đơn

Float Unit_price Đơn giá của thức uống Float

Bảng material được sử dụng để lưu thông tin nguyên liệu

Bảng 4.13: Mô tả bảng material

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của nguyên liệu Int(11) auto increment

Created_by Username của accout khởi tạo nguyên liệu

Creation_date Thời gian khởi tạo của nguyên liệu

Last_modified_by Username của account chỉnh sửa nguyên liệu lần cuối

Last_modified_date Thời gian chỉnh sửa nguyên liệu lần cuối

Dicription Mô tả nguyên liệu Varchar(255)

Enable Tình trạng của nguyên liệu

Max_inventory Tổn kho nhiều nhất Float

Min_inventory Tồn kho ít nhất Float

Name Tên nguyên liệu Varchar(255)

Material_type_id Id của bảng loại nguyên liệu

Int(11) Khóa ngoại đến bảng material_type

Unit_id Id của bảng đơn vị Int(11) Khóa ngoại đến bảng unit

Bảng material_price được sử dụng để lưu thông tin giá nguyên liệu

Bảng 4.14: Mô tả bảng material_price

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id_material Id của nguyên liệu Int(11) Khóa chính Date_material Ngày thay đổi giá nguyên liệu

Created_by Username của accout khởi tạo giá nguyên liệu

Creation_date Thời gian khởi tạo giá nguyên liệu

Last_modified_by Username của account chỉnh sửa giá nguyên liệu lần cuối

Last_modified_date Thời gian chỉnh sửa giá nguyên liệu lần cuối

Bảng material_type được sử dụng để lưu thông tin loại nguyên liệu

Bảng 4.15: Mô tả bảng material_type

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của loại nguyên liệu Int(11) auto increment

Created_by Username của accout khởi tạo loại nguyên liệu

Creation_date Thời gian khởi tạo của loại nguyên liệu

Last_modified_by Username của account chỉnh sửa loại nguyên liệu lần cuối

Last_modified_date Thời gian chỉnh sửa loại nguyên liệu lần cuối

Datetime Enable Tình trạng của loại nguyên liệu Bit(1)

Name Tên loại nguyên liệu Varchar(255)

Bảng order_type được sử dụng để lưu thông tin loại đơn hàng

Bảng 4.16: Mô tả bảng order_type

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của loại đơn hàng Int(11) auto increment

Created_by Username của accout khởi tạo loại đơn hàng

Creation_date Thời gian khởi tạo của loại đơn hàng

Last_modified_by Username của account chỉnh sửa loại đơn hàng lần cuối

Last_modified_date Thời gian chỉnh sửa loại đơn hàng lần cuối

Enable Tình trạng của loại đơn hàng

Name Tên loại đơn hàng Varchar(255)

Bảng role_name được sử dụng để lưu thông tin quyền truy cập

Bảng 4.17: Mô tả bảng role_name

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của quyền Int(11) auto increment

Enable Tình trạng của quyền Bit(1)

Bảng min_max_inventory dùng để lưu giới hạn tồn kho của nguyên liệu theo chi nhánh

Bảng 4.18: Mô tả bảng min_max_inventory

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của bảng min_max_inventory

Branch_shop_id Id của chi nhánh Int(11) Khóa chính, khóa ngoại Material_id Id của nguyên liệu Int(11) Khóa chính, khóa ngoại Created_by Username của accout khởi tạo công thức

Creation_date Thời gian khởi tạo công thức

Last_modified_by Username của account chỉnh sửa công thức lần cuối

Last_modified_date Thời gian chỉnh sửa công thức lần cuối

Max_inventory Số lượng nguyên liệu tối đa

Min_inventory Số lượng nguyên liệu tối thiểu

Bảng unit được sử dụng để lưu đơn vị đo lường được sử dụng

Bảng 4.19: Mô tả bảng unit

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của đơn vị Int(11) auto increment

Created_by Username của accout khởi tạo đơn vị

Creation_date Thời gian khởi tạo của đơn vị

Last_modified_by Username của account chỉnh sửa đơn vị lần cuối

Last_modified_date Thời gian chỉnh sửa đơn vị lần cuối

Datetime Enable Tình trạng của đơn vị Bit(1)

Name Tên đơn vị Varchar(255)

Bảng kiểm tồn được sử dụng lưu lại lịch sử kiểm tồn của nguyên liệu trong một chi nhánh theo kỳ nguyên liệu

Bảng 4.20: Mô tả bảng inventory_control

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của đơn vị Int(11) auto increment

Branch_shop_id Id của chi nhánh Int(11) Khóa chính, khóa ngoại Material_id Id của nguyên liệu Int(11) Khóa chính, khóa ngoại First_day Ngày đầu kỳ của nguyên liệu trong chi nhánh

Created_by Username của accout khởi tạo đơn vị

Creation_date Thời gian khởi tạo của đơn vị

Last_modified_by Username của account chỉnh sửa đơn vị lần cuối

Last_modified_date Thời gian chỉnh sửa đơn vị lần cuối

Check_date Ngày kiểm tồn Date

Remaining_amount Số lượng còn lại Float

Status Trạng thái active (số lượng nguyên liệu hiện tại)/completed (số lượng nguyên liệu lịch sử) của nguyên liệu đó

Bảng tồn được sử dụng lưu lại lịch sử tồn kho của nguyên liệu trong một chi nhánh theo kỳ hàng

Bảng 4.21: Mô tả bảng inventory_control

Thuộc tính Mô tả Kiểu dữ liệu Khóa

Id Id của đơn vị Int(11) auto increment

Branch_shop_id Id của chi nhánh Int(11) Khóa chính, khóa ngoại

Material_id Id của nguyên liệu Int(11) Khóa chính, khóa ngoại First_day Ngày đầu kỳ của nguyên liệu trong chi nhánh

Created_by Username của accout khởi tạo đơn vị

Creation_date Thời gian khởi tạo của đơn vị Datetime

Last_modified_by Username của account chỉnh sửa đơn vị lần cuối

Last_modified_date Thời gian chỉnh sửa đơn vị lần cuối

Status Trạng thái active (kỳ hiện tại)/completed (các kỳ lịch sử) của nguyên liệu đó

Last_day Ngày cuối kỳ Date

Backlog_first_day Số lượng nguyên liệu tồn đầu kỳ

Backlog_last_day Số lượng nguyên cuối kỳ Float

Import_period Số lượng nguyên liệu nhập trong kỳ

Quantity_sold Số lượng nguyên liệu đã sử dụng

Cost_price Giá vốn nguyên liệu Float

Price_sold Tổng giá vốn của nguyên liệu trong kỳ của chi nhánh

System architect [8]

Hình 4.2: Kiến trúc được sử dụng trong hệ thống

Lớp view được xây dựng từ HTML, CSS và bấy kỳ chỉ thị Angular nào đại diện cho các thành phần UI khác nhau

Lớp controller được xây dựng từ Angular controller để dán dữ liệu lấy từ back-end và giao diện Controller khởi tạo view model và định nghĩa cách view sẽ phản ứng với những thay đổi của model và ngược lại Một trong những nhiệm vụ chính của controller là thực hiện xác nhận giao diện Bất kỳ xác nhận nào được thực hiện trên front-end chỉ nhằm mục đích thuận tiện cho người dùng Bất kỳ xác nhận giao diện nào cũng cần được lặp lại trong back-end ở lớp service nằm mục đích bảo mật, vì các xác nhận giao diện có thể dễ dàng bị phớt lờ

Lớp front-end service là một tập hợp các service Angular cho phép tương tác với back- end và có thể được đưa vào controller Angular

Lớp Router sử dụng để định nghĩa service entry points tương ứng với HTTP URL và cách tham số được đọc từ HTTP request

Lớp service: chứa những business logic như xác nhận, định nghĩa phạm vi của business Lớp persistence: ánh xạ database từ/đến đối tượng trong bộ nhớ

Thiết kế xử lý

4.3.1.1 Sequence diagram Thêm thức uống mới

Hình 4.3: Sequence diagram Thêm thức uống mới

4.3.1.2 Sequence diagram Sửa thức uống

Hình 4.4: Sequence diagram Sửa thức uống

4.3.1.3 Sequence diagram Xóa thức uống

Hình 4.5: Sequence diagram Xóa thức uống

4.3.1.4 Sequence diagram Thêm tài khoản mới

Hình 4.6: Sequence diagram Thêm tài khoản mới

4.3.1.5 Sequence diagram Xuất báo cáo

Hình 4.7: Sequence diagram Xuất báo cáo

4.3.2.1 Class diagram của đối tượng account

Hình 4.8: Class diagram của Account

4.3.2.2 Class diagram của đối tượng khách hàng

Hình 4.9: Class diagram của khách hàng

4.3.2.3 Class diagram của đối tượng loại thức uống

Hình 4.10: Class diagram của loại thức uống

Thiết kế giao diện

4.4.1 Màn hình gọi thức uống

Màn hình order thức uống được thiết kế để sử dụng cho máy POS

Hình 4.11: Màn hình order thức uống

Bảng 4.22: Đặc tả màn hình order thức uống

Tên Loại Tham chiếu Ghi chú

1 Home Icon Khi click, quay về trang chủ

Button Khi click, hóa đơn mới sẽ tạo ra

Text API lấy hóa đơn bằng id

4 Nút xóa Button Khi click, xóa hóa đơn khỏi màn hình order

API lấy loại thức uống

Khi click, hiển thị các thức uống của loại thức uống được chọn

6 Thức uống Button API lấy thức uống theo loại thức uống

Khi click, hiển thị popup chọn số lượng

Input API lấy khách hàng theo số điện thoại

Nhập số điện thoại của khách hàng thành viên

Dropdown API lấy loại đơn hàng

Loại đơn hàng là ngồi tại bàn hoặc mang đi, nếu là ngồi tại bàn thì điền vào “Vị trí ngồi” vị trí ngồi của khách

9 Vị trí ngồi Text Nhập vị trí khách ngồi theo bảng số nhân viên thu ngân gửi cho khách hàng

Danh sách thức uống đã chọn

API lấy chiết khấu theo loại khách hàng

Thực trả = Tổng tiền * Chiết khấu

Button API lưu hóa đơn và chi tiết hóa đơn

Khi click, màn hình in hóa đơn hiển thị

Hình 4.12: Popup chọn số lượng Bảng 4.23: Đặc tả popup chọn số lượng

Button Khi click, giảm số lượng

Button Khi click, tăng số lượng

3 Submit Button Khi click, số lượng thức uống được hiển thị trong chi tiết hóa đơn

Màn hình in hóa đơn

Hình 4.13: Màn hình in hóa đơn Bảng 4.24: Đặc tả màn hình in hóa đơn

Tên Loại Tham chiếu Ghi chú

1 Thông tin hóa đơn Text API lấy hóa đơn

Text API lấy tên khách hàng dựa trên số điện thoại

3 Chi tiết hóa đơn Text API lấy chi tiết hóa đơn

4 Chi tiết thanh toán Text API lấy hóa đơn

4.4.2 Màn hình danh sách hóa đơn

Màn hình danh sách hóa đơn để xem, lọc hóa đơn và xuất báo cáo

Hình 4.14: Màn hình danh sách hóa đơn Bảng 4.25: Đặc tả màn hình danh sách hóa đơn

Tên Loại Tham chiếu Ghi chú

1 Xem Button API lấy chi tiết hóa đơn

Khi click, hiển thị popup chi tiết hóa đơn của hóa đơn được chọn

2 Chọn khoảng thời gian cần lọc

3 Chọn chi nhánh Dropdown API lấy danh sách chi nhánh

4 Lọc Button API lọc theo khoảng thời gian và chi nhánh

Cột số lượng tồn cho phép nhập số lượng còn lại

5 Xuất báo cáo Button Xuất chi tiết các hóa đơn trong danh sách đã lọc ra file .csv

Popup chi tiết hóa đơn

Hình 4.15: Popup chi tiết hóa đơn Bảng 4.26: Đặc tả popup chi tiết hóa đơn

1 Tổng tiền Text Tổng tiền = đơn giá * số lượng

4.4.3 Các màn hình quy trình nhập nguyên liệu từ kho trung tâm về kho chi nhánh

Màn hình danh sách đơn hàng chuyển kho của quản lý chi nhánh khi gửi yêu cầu nhập nguyên liệu

Khi nguyên liệu dưới mức tồn tối thiểu, hệ thống tự động tạo một đơn hàng chuyển kho mới Đơn hàng chuyển kho mới vừa tạo sẽ ở trạng thái “chưa xử lý”

Hình 4.16: Màn hình đơn hàng chuyển kho khi yêu cầu nhập nguyên liệu

Bảng 4.27: Đặc tả màn hình đơn hàng chuyển kho khi yêu cầu nhập nguyên liệu

Tên Loại Tham chiếu Ghi chú

1 Edit Button API lấy đơn hàng chuyển kho

Khi click, hiển thị popup chỉnh sửa đơn hàng chuyển kho

2 Gửi Button Khi click, đơn hàng chuyển kho chuyển sang trạng thái “đã gửi” và chờ nhân viên Quản lý chuỗi duyệt

3 Xóa Button API xóa đơn hàng chuyển kho

Khi click, đơn hàng chuyển kho bị xóa

Khi nhận được nguyên liệu từ đơn hàng chuyển kho đã gửi

Khi nhận được nguyên liệu, quản lý chi nhánh phải kiểm tra số lượng nhận và điền vào cột số lượng thực nhận Số lượng thực nhận này sẽ được cộng vào số lượng tồn kho

Hình 4.17: Màn hình danh sách đơn hàng chuyển kho khi nhận được nguyên liệu

Hình 4.18: Popup chỉnh sửa đơn hàng chuyển kho

Bảng 4.28: Đặc tả màn hình đơn hàng chuyển kho khi nhận được nguyên liệu

Tên Loại Tham chiếu Ghi chú

1 Edit Button API lấy đơn hàng chuyển kho mới

Khi click, hiển thị popup chỉnh sửa đơn hàng chuyển kho và chỉ cho chỉnh sửa cột số lượng thực nhận

2 Save Button Khi click, đơn hàng chuyển kho mới trạng thái “đã nhận”

Màn hình danh sách đơn hàng chuyển kho mới của nhân viên quản lý chuỗi

Nhân viên quản lý chuỗi có nhiệm vụ kiểm tra số lượng tồn của kho trung tâm và đưa ra số lượng phân bổ hợp lý cho đơn hàng chuyển kho

Hình 4.19: Màn hình danh sách hợp đồng cung cấp của nhân viên quản lý chuỗi

Hình 4.20: Popup chỉnh sửa đơn hàng chuyển kho Bảng 4.29: Đặc tả màn hình đơn hàng chuyển kho của nhân viên quản lý chuỗi

1 Xem Button API lấy hợp đồng cung cấp

Khi click, hiển thị chi tiết hợp đơn hàng chuyển kho

2 Edit Button Khi click, hiển thị popup chỉnh sửa đơn hàng chuyển kho, nhân viên quản lý chuỗi chỉ sửa được số lượng cho phép

3 Gửi Button Khi click, đơn hàng chuyển kho chuyển sang trạng thái “đã phân bổ”

Màn hình danh sách hợp đồng cung cấp của kế toán kho

Kế toán kho xuất Excel danh sách hợp đồng cung cấp đã duyệt

Hình 4.21: Màn hình danh sách hợp đồng cung cấp của kế toán kho

Bảng 4.30: Đặc tả màn hình danh sách hợp đồng cung cấp của kế toán kho

1 Xem Button API lấy hợp đồng cung cấp

Khi click, hiển thị chi tiết hợp đồng cung cấp

2 Duyệt Button Hợp đồng cung cấp chuyển sang trạng thái “đã xuất”

Màn hình danh sách hợp đồng cung cấp quản lý kho trung tâm

Nhân viên quản lý kho trung tâm dưa triên chi tiết hợp đồng cung cấp và số lượng cho phép của nguyên liệu để xuất kho số lượng nguyên liệu tương ứng

Hình 4.22: Màn hình danh sách hợp đồng cung cấp của kế toán kho

Bảng 4.31: Đặc tả màn hình danh sách hợp đồng cung cấp của kế toán kho

1 Xuất excel Button Xuất excel hợp đồng cung cấp có trạng thái “đã duyệt”

Màn hình kiểm kho để kiểm số lượng nguyên liệu còn lại trong kho

Hình 4.23: Màn hình kiểm kho

Bảng 4.32: Đặc tả màn hình kiểm kho

1 Username Text API lấy username đang đăng nhập

Username của tài khoản đang đăng nhập

2 Add Button Khi click, popup tạo mới kiểm kho sẽ hiển thị Tạo mới kiểm kho được sử dụng trong trường hợp lần đầu tiên kiểm tồn nguyên liệu của chi nhánh, các lần kiểm tồn tiếp theo sẽ dùng button Edit để thay đổi số lượng tồn kho

3 Chi tiết kiểm kho của nguyên liệu

API lấy tồn kho của nguyên liệu

Số lượng tồn kho của nguyên liệu trong kỳ hàng của chi nhánh mà account đăng nhập trực thuộc

4 Nút Edit Button Cột số lượng tồn cho phép nhập số lượng còn lại

Text Nhập số lượng còn lại của nguyên liệu

6 Save Button API lưu số lượng tồn còn lại

Popup tạo mới kiểm kho

Hình 4.24: Popup tạo mới kiểm kho Bảng 4.33: Đặc tả popup tạo mới kiểm kho

Tên Loại Tham chiếu Ghi chú

1 Nguyên liệu Dropdown API lấy danh sách nguyên liệu trong chi nhánh đã có tồn tối thiểu và sức chứa

2 Số lượng Text Nhập số lượng của nguyên liệu

3 Save Button Khi click, lưu lại số lượng nguyên liệu của chi nhánh

4.4.5 Màn hình kỳ nguyên liệu

Màn hình kỳ nguyên liệu thể hiện chi tiết tồn kho của các kỳ nguyên liệu trong chi nhánh

Hình 4.25: Màn hình kỳ nguyên liệu

Bảng 4.34: Đặc tả màn hình kỳ nguyên liệu

1 Ngày đầu kỳ Text Ngày nhập nguyên liệu từ kho tổng được chọn là ngày đầu kỳ

2 Ngày cuối kỳ Text Ngày cuối kỳ là ngày ngay liền trước của ngày đầu kỳ trong kỳ hàng tiếp theo

4 Đơn vị Text Đơn vị của nguyên liệu

5 Tồn đầu kỳ Text Tồn cuối kỳ của kỳ trước là tồn đầu kỳ của kỳ này

Text Số lượng thực nhận của nguyên liệu trong hợp đồng cung cấp

7 Tồn cuối kỳ Text API kiểm kho

Số lượng nguyên liệu còn lại trong kho

8 Số lượng bán Text Số lượng bán = Tồn đầu kỳ + Nhập trong kỳ - Tồn cuối kỳ

9 Trạng thái Text Trạng thái completed là trạng thái kỳ nguyên đã hoàn thành, trạng thái active là trạng thái kỳ nguyên liệu hiện tại

Ngày đăng: 25/02/2024, 14:15

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

TÀI LIỆU LIÊN QUAN

w