Food Ordering System
Food Ordering System
Page 1 of 22
4.1 Use Case Diagram......................................................................................................10 4.1.1 Inventory Management Use Case Diagram..........................................................10 4.1.2 Order Management Use Case Diagram................................................................11 4.1.3 Production Management Use Case Diagram........................................................11 4.1.4 Accounting Management Use Case Diagram.......................................................12 4.2 Skor Culinary Concepts Order System Case Specifications..................................12 4.2.1 Inventory Management Manage Inventory........................................................12 4.2.2 Inventory Management Check Expiry Dates.....................................................14 4.2.3 Inventory Management Check Stock Levels.....................................................15 4.2.4 Order Management Log into Website................................................................16 4.2.5 Order Management Order Food Items...............................................................17 4.2.6 Order Management Check Past Orders..............................................................18 4.2.7 Accounting Management Register Account......................................................20 4.2.8 Production Management View Order Details....................................................20
Page 3 of 22
1 Introduction
1.1 Vision
The Skor Culinary Concepts Order System covers two goals. The first one is to assist the manager in maintaining the supplies of food items to maximize efficiency, as well as keeping track of customer demands and demand trends in the various areas. The system will maintain statistical data on all orders throughout the GTA. The system will also alert the manager when the stock of food items is low, or when a certain supply is about to expire. The second goal is to provide a reliable and easy-to-use tool for coffee truck drivers to enter their orders ahead of time. The system has to be intuitive and practical to attract the drivers into using the system and away from ordering from restaurants, which is a more expensive alternative. The system will ensure that the finished goods are ready to be loaded into the trucks as soon as they arrive, in order to minimize delays between rounds.
1.2 Scope
The Skor Culinary Concepts Order System is an inventory and order management system which is designed to maintain and track inventory status, as well as manage the scheduling of order processing. All food supply and preparation is done in order to fulfill scheduled orders only, thus avoiding storing day-old products. Reports can be generated at any specified time to include information such as buying patterns, low stock levels and more. The Skor Culinary Concepts Order System is intended to help with the day-to-day operation of the company. It is not designed to handle the companys financial data or perform any financial reporting capability beyond printing client invoices. The system assumes that the company already has a financial system in place for that purpose.
1.3 Vision and Scope statements for each individual business area
1.3.1 Inventory Management
Vision Statement In order to provide fresh food in a proficient manner, the Inventory Management module provides an efficient method to track and maintain the food and packaging inventory status. The module also keeps track of special handling instructions such as expiry date and storage temperature requirements.
Page 4 of 22
Scope This module provides food and packaging inventory tracking, stock level threshold tracking, menu cataloging and expiry date tracking. The system assumes that the mechanism of replenishing stock is already in place. Features This module provides the following features: - Inventory tracking o Add, edit, delete food items o Add, edit, delete menu items o Add, edit, delete packaging items - Generate low stock level report - Expiry date tracking
already has a system to ensure that food items are processed properly. The system only manages the schedules to ensure that the process is completed before the clients arrive to pick up their orders. Features This module provides the following features: - View order information - Create daily production schedule - Update inventory status: When ingredients are retrieved from the inventory, the stock levels must be adjusted accordingly.
Page 6 of 22
CLIENTS
Users
2.2.1 Manager
Oversees daily business operation. Has access to keep track of inventory (including information such as stock level and expiry dates). Has access to view and keep track of placed orders. Has access to view and keep track of order trends and buying patterns.
Page 8 of 22
3 Nonfunctional Requirements
3.1 Security Requirements
This section describes the security requirements as they pertain to the particular business areas in the Skor Culinary Concepts Order System.
Inventory Management
Access to this module is limited to manager and purchasing staff accounts. Any modifications to the inventory stock levels (additions or reductions) must be logged in the system along with the actors username.
Order Management
To ensure privacy and accuracy in tracking orders, all users must register for an account that is password-protected in order to access the system. New accounts must be made in person at the Skor Culinary Concepts office and a valid vending permit is required to authenticate the clients status. The online order system should also employ the use of 128-bit Secure Sockets Layer (SSL) encryption for data transfer.
Production Management
Access to this module is limited to manager and production staff accounts. Any modifications to the inventory stock levels (use of ingredients) must be logged in the system along with the production staffs username.
Accounting Management
Access to this module is limited to manager and daily operation staff accounts. At the end of every fiscal period, all financial data should be backed up and stored for safekeeping and audit purposes.
3. Egg storage and processing: - Eggs must be kept at all times at a temperature of not more than 4C. - Liquid processed eggs that are to be frozen shall be cooled to at least -12C within 60 hours after time of breaking. 4. Refrigeration of food must be at a temperature of 4 C or 40 F. 5. Frozen food must be stored at a temperature of -18C or 0 F.
CheckExpiryDate
Manager
CheckStockLevels
PurchasingStaff
ManageInventory
Page 10 of 22
LoginWebsite Manager
ModifyOrder ViewBuyingPatterns
OrderFoodItems
Client
CheckPastOrders
ViewOrderDetails
Manager
CreateSchedule
ProductionStaff
UpdateInventoryStatus
Page 11 of 22
PrintInvoice
DailyOperationStaff
CreateAccount
Page 12 of 22
4. The user can print the displayed screen by clicking the Print button, handled by Subflow S43. The use case ends. Subflows: S1. View Ingredient Detail 1. The system retrieves selected ingredient data from the database (E2) and lists it on the screen as static labels. The system reverts back to Basic Flow 3. S2. Modify Ingredient Detail 1. The system retrieves selected ingredient data from the database (E2) and lists it on the screen, but in editable textboxes and form controls. 2. The user modifies the data content and clicks Submit button. The system validates the entries (E3), updates the database, and records an update entry into a log. The system then reverts back to Basic Flow 3. S3. Add New Ingredient 1. The system displays a screen with entries for the ingredient data. 2. The user fills in the data and clicks Submit. The system validates the entries (E3), adds the new ingredient into the database, and records an update entry into a log. The system then reverts back to Basic Flow 3. S4. Print Summary 1. The system sends the current page to the printer (E4) and then returns to Basic Flow 4. Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the website and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the website and return to Basic Flow 2. The system sends a notification e-mail to the System Administrator. E3. Validation error 1. Display message Error detected! on the website and highlight the wrong entries, returning to Subflow S2-2 or S3-2. E4. Printer error 1. Display message Printer error! on the website and returns to Basic Flow 4.
Page 13 of 22
1. Display message Database error! Please try again later! on the website and return to Basic Flow 2. The system sends a notification e-mail to the System Administrator. E3. Printer error 1. Display message Printer error! on the website and returns to Basic Flow 4.
Page 15 of 22
Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the website and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the website and return to Basic Flow 2. The system sends a notification e-mail to the System Administrator. E3. Printer error 1. Display message Printer error! on the website and returns to Basic Flow 4.
2. The user provides both pieces of information and click Retrieve. The system checks whether the username and e-mail address are valid. 3. If they are invalid, the system displays Invalid user information! on the website and allows the user to try again. If they are valid, the system sends an e-mail to the users address with the password, and then reverts back to Basic Flow 1. Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the website and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the website and return to Basic Flow 2. The system sends a notification e-mail to the System Administrator.
5. The user can print the summary by clicking the Print button, handled by Subflow S3. The use case ends. Subflows: S1. Add Food Item Entry 1. The system displays a list of available food items, as well as entries for quantity and time of day, with OK and Cancel button. The user selects a food item, enters quantity and time, and clicks OK. 2. The system validates the entries (E3). If validated, the system adds the food item entry to the Order screen, computes total, and returns to Basic Flow 3. S2. Modify Food Item Entry 1. The system displays the entry detail, as well as quantity and time, with OK and Cancel button. The user modifies the entries and clicks OK. 2. The system validates the entries (E3). If validated, the system modifies the food item entry with the new data, recalculates total, and returns to Basic Flow 3. S3. Print Order Summary 1. The system sends the summary page to the printer (E4) and then returns to Basic Flow 5. Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the website and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the website and return to Basic Flow 4. The system sends a notification e-mail to the System Administrator. E3. Validation error 1. Display message Error detected! on the website and highlight the wrong entries, returning to Subflow S1-2 or S2-2. E4. Printer error 1. Display message Printer error! on the website and returns to Basic Flow 5.
Primary Actor: Coffee truck drivers Precondition: The user is logged in. Postcondition: Past orders are checked. Summary is printed. Basic Flow: Before the use case starts, the user is on the Main screen. 1. The system displays main screen with buttons for Order Food Items and Check Past Orders (E1). 2. The user clicks Check Past Orders. The system displays the order screen with filter selections for the order information (either by month or by individual date), as well as View button and Print button. 3. If the user selects a month and clicks View, the system handles the request through Subflow S1. If the user clicks a date on the calendar, the system performs Subflow S2. 4. The user can print the displayed screen by clicking the Print button, handled by Subflow S3. The use case ends. Subflows: S1. View Monthly Summary 1. The system searches the database (E2) and lists all orders in the selected month and year. If the user selects an order and clicks View, the system performs Subflow S2. S2. View Order Summary 2. The system searches the database (E2) and displays the order details on a given date, listing all ordered food items. The system returns to Basic Flow 4. S3. Print Summary 3. The system sends the current page to the printer (E4) and then returns to Basic Flow 4. Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the website and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the website and return to Basic Flow 3. The system sends a notification e-mail to the System Administrator. E3. Printer error 1. Display message Printer error! on the website and returns to Basic Flow 4.
Page 19 of 22
Page 20 of 22
This use case describes how a production staff inspects outstanding orders for the day to make sure all food items are created and ready for shipping when the trucks arrive. Think of the order listings for restaurant kitchens. Primary Actor: Production staff Precondition: The production system is active (no login necessary). Postcondition: Order details are inspected. Basic Flow: Before the use case starts, the user is on the Production Main screen. 1. The system searches the database (E2) and retrieves all orders for the day. The system displays a daily schedule screen divided into 30-minute intervals (similar to Microsoft Outlook daily calendar view) (E1). The current time cell is bordered. The cells with outstanding orders are marked with different colors based on urgency (closer to deadline, number of accumulated orders). 2. If the user clicks a time cell, the system displays a list of all orders that are due in the next 30 minutes, sorted by due time. Each entry contains a list of ordered items, as well as their ingredients and a Complete button. If an order has been completed (food preparation is finished), the user can click the Complete button on the corresponding entry and the system performs S1. If the user clicks the Print button at the bottom of the page, the system performs S2. This use case ends. Subflows: S1. Mark Order as Complete 1. The system searches the database and marks the corresponding order as complete. The system returns to Basic Flow step 2. S2. Print Page 1. The system sends the current page to the printer (E4) and then returns to Basic Flow 2. Exceptions: E1. Server error Connection to main server not detected. 1. Display message Page not found! Please try again later! on the application and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E2. Database error 1. Display message Database error! Please try again later! on the application and return to Basic Flow 1. The system sends a notification e-mail to the System Administrator. E3. Printer error
Page 21 of 22
1. Display message Printer error! on the application and returns to Basic Flow 2.
Page 22 of 22