Skip to content

Michael

Michael Nugent edited this page Oct 5, 2021 · 20 revisions

notes: customers need to register an account (username and password) to order. In time allows, we will implement a 4th user category called "guest," which can order without an account.

Software Requirements Specifications (SRS)

Section 1: Introduction

1.1 Purpose
1.2 Scope
1.3 Definitions, acronyms, and abbreviations
1.4 References
1.5 Overview

Section 2: Overall Description

2.1 Product perspective
2.2 Product functions
2.3 User characteristics
2.4 Constraints
2.5 Assumptions and dependencies
2.6 Apportioning of requirements

Section 3: Specific Requirements

3.1 External interface requirements
3.2 Functional requirements
3.3 Performance requirements
3.4 Logical Database Requirements
3.5 Design constraints
3.6 Software system attributes
3.7 Other requirements

Section 1: Introduction

Section 2: Overall Description

2.1 Product Perspective

This product is independent and totally self-contained. Although a Raspberry Pi is used to track people movement, it is considered a part of this system.

2.1.1 System Interfaces

Raspberry Pi motion capture that tracks people. Uses Python post method to communicate with web-server (Node).
HTTP web server. Accesses database to modify and retrieve data.

2.1.2 User interfaces

Website is only user interface, but it is divided into three privilege levels: each with access to successively greater features. Customer: Home page Reservation page
Orders/Menu page
Login Portal

Employee:
Enhanced Reservation page
Enhanced Orders/Menu

Manager/Owner:

2.1.3 Hardware interfaces;

Raspberry Pi motion capture. [Long has most information. Is video camera separately mentioned?] Shared Web Host - www.Heroku.com

2.1.4 Software interfaces

2.1.5 Communications interfaces;

2.1.6 Memory;

2.1.7 Operations;

2.1.8 Site adaptation requirements

Section 3: Specific Requirements

3.1 External interface requirements

3.1.1 User interfaces

3.1.2 Hardware interfaces

3.1.3 Software interfaces

3.1.4 Communications interfaces

3.2 Functional Requirements

3.2.1 Privilege Levels

3.2.1.c Customer/Public 
    3.2.1.c.1 Reservation Maker - Shows table availability based on times   
    3.2.1.c.2 Order Taker / Menu
        3.2.1.c.2.1 Shows cost, picture, & description of items.
        3.2.1.c.2.2 Enables form submission of item selections along with credit card information.  
3.2.1.e Employee  
    3.2.1.e.1 All privileges of "Customer/Public" user class.  
    3.2.1.e.2 Kitchen View  
        3.2.1.e.2.1 Shows current orders to be made with their ingredients, cook time, and instructions.  
    3.2.1.e.3 Inventory Tracker  
        3.2.1.e.3.1 Calculates theoretical inventory left based on meals made and stock resupplied.  
        3.2.1.e.3.2 Enables manual entries of supply levels.  
        3.2.1.e.3.3 Records discrepancies between theoretical/calculated levels and manual observed levels to detect theft or inaccurate recipe implementation.  
3.2.1.m Manager/Owner    
        3.2.1.m.1 All privileges of "Employee" user class.  

3.4 Logical Database Requirements

3.4.1 Types of information used by various functions;

3.4.2 Frequency of use;

3.4.3 Accessing capabilities;

3.4.4 Data entities and their relationships;

3.4.4.1 Reservations: times, party size, and name.
3.4.4.2 Orders: total cost and tip, menu items, date & time, party size, if made reservation then reservation data.
3.4.4.3 Menu: pictures, costs, descriptions, item name, popularity (# of times ordered divided by number of item type ordered), type (beverage, appetizer, children's entree, entree, dessert)

3.4.5 Integrity constraints;

3.4.6 Data retention requirements.