RED AI Prototype Requirements – version 2 CS411W Patrick R. Bourque

advertisement
RED AI Prototype Requirements – version 2
CS411W
Patrick R. Bourque
Janet Brunelle
March 05, 2008
Bourque 03/05/2008
Table Of Contents
Table Of Contents ....................................................................................................................................... ii
List Of Figures ............................................................................................................................................ ii
List Of Tables ............................................................................................................................................. ii
RED AI Prototype Requirements................................................................................................................ 1
1
Introduction ......................................................................................................................................... 1
1.1
Purpose........................................................................................................................................ 2
1.2
Scope ........................................................................................................................................... 4
1.3
Definitions, Acronyms, and Abbreviations ................................................................................ 5
1.4
References ................................................................................................................................... 7
1.5
Overview ..................................................................................................................................... 8
2
General Description ............................................................................................................................ 8
2.1
Prototype Architecture Description ............................................................................................ 9
2.2
Prototype Functional Description ............................................................................................. 10
2.3
External Interfaces .................................................................................................................... 14
3
Specific Requirements ...................................................................................................................... 16
3.1
Functional Requirements .......................................................................................................... 16
3.2
Performance Requirements ....................................................................................................... 20
3.3
Assumptions and Constraints .................................................................................................... 22
3.4
Non-Functional Requirements .................................................................................................. 22
Appendix 1 Requirements Checklist .................................................................................................... 24
Appendix 2 Requirements Traceability Matrix .................................................................................... 28
Appendix 3 Formal Resource Request Form........................................................................................ 29
List Of Figures
Figure 1. Least Common Denominators of Profit ..................................................................................... 2
Figure 2. Software Major Functional Component Diagram ...................................................................... 3
Figure 3. Sample Service Deficiency......................................................................................................... 4
Figure 4. Prototype Major Functional Component Diagram ................................................................... 10
Figure 5. Login Process Flow .................................................................................................................. 11
Figure 6. Settings Tab Process Flow ....................................................................................................... 12
Figure 7. Input Tab Process Flow ............................................................................................................ 13
Figure 8. Edit Tab Process Flow .............................................................................................................. 13
Figure 9. Output Tab Process Flow ......................................................................................................... 14
Figure 10. Sample Suggestion List ........................................................................................................... 18
Figure 11. Database Schema ..................................................................................................................... 19
List Of Tables
Table 1. Feature Comparison between RED AI and Prototype ................................................................. 9
Table 2: Effects of Assumptions, Dependencies, and Constraints on Requirements ............................... 22
ii
Bourque 03/05/2008
RED AI Prototype Requirements
1
Introduction
In 2007, approximately sixty-thousand new restaurants opened their doors for business in
the United States, with startup costs averaging $400,000 apiece. Accounting for $350 billion per
year, the food service industry employs nearly 13 million people in over 900,000 establishments.
Historically, sixty percent of new restaurants fail within the first three years (NRA, 2008). The
result is 14 billion unrecoverable dollars, 520,000 unemployed workers, and 36,000 defunct
businesses each year. The primary cause of these failures is most commonly attributed to
inefficiency, tracable to manager difficulty in obtaining and maintaining a clear understanding of
the dynamics governing the key profit factors of their restaurant (GEC, 2007; Parsons, 2005).
When owners become aware of downward trends, the response tends towards either
replacing middle or upper management, or seeking the advice of an efficiency consultant. With
the turnover of management, hindsight often identifies this as a poor option. Replacements, as
often as not, struggle as much in understanding the dynamics of their restaurant’s profit factors
as the replaced, while their confusion is compounded by lack of experience. Typically, replacing
management does little to spare the restaurant from failure (Parsons, 2005). Contracting an
efficiency consultant can often be identified as the deciding factor in whether a restaurant
survives the three year mark; indeed, most restaurants hire at least one effiency consultant during
their operational lifetime. Unlike replacing one manager’s paycheck with another, however,
efficiency consultant fees are typically in the $1,000 per day range. Restaurant efficiency
consultants understand a restaurant’s four key profit factors are staffing, customer flow and
ordering trends, the menu arrangement, and inventory plan. When commissioned, they spend
Bourque 03/05/2008
Figure 1. Least Common Denominators of Profit
their time studying and understanding the efficiency relationships between a given restaurant’s
key profit factors (Mullins, 2006). The profit factors and their efficiency relationships are
illustrated in Figure 1. RED AI proposes to develop a system to store this wide variety of data,
effectively modeling a restaurant’s key profit factors. The data will be analyzed and suggestions
to improve restaurant efficiency will be generated and presented to the manager or owner.
1.1 Purpose
For owners of struggling restaurants, it is too often that the cost of a private efficiency
consultant is simply out of reach. There is no denying the value of such finely tuned advice, but
even well established businesses may consider the costs impractical. So, too, manager
replacement rarely yields positive results. The ability to obtain and maintain a continuous
understanding of one’s own restaurant’s profit factor dynamic should prove profitable for any
business in the industry. To preempt the need for expensive private consulting and allow
continuous monitoring of a restaurant’s key profit factors, an all-software restaurant efficiency
consultant will be produced. The Major Functional Component Diagram (MFCD) for the
complete system is shown in Figure 2.
2
Bourque 03/05/2008
Upon implemention, RED AI will act as a clearinghouse for restaurant data. Whether
recorded by hand and manually entered, or imported from a preexisting system in the restaurant,
methods will exist for obtaining all pertinent profit factor data. This data will be stored in the
database. Rule sets will be provided and will effectively supply the best available knowledge of
restaurant experts to the efficiency engines. Following a sufficient period of recording, RED AI
Figure 2. Software Major Functional Component Diagram
efficiency engines will begin to determine the relationships between a restaurant’s key profit
factors and profit. By identifying profit factor trends and applying the rule sets, RED AI will be
able to highlight problem areas in the controllable profit factors. An example of this problem is
shown in Figure 3: Sample Service Deficiency.
3
Bourque 03/05/2008
Figure 3. Sample Service Deficiency
1.2 Scope
There are five main functional objectives of the RED AI prototype. First, it will provide
a fully functional graphical user interface (GUI). The GUI will provide all necessary means of
data input, information retrieval, and system controls. Second, it will include a database
designed to store summary data regarding a restaurant’s profit factors. For demonstration
purposes, several preseeded databases and an empty database will be included. Third, updatable
rule sets will be provided. Before executing a rule set update, only rules reflecting the most
commonly accepted restaurant truths will be included, allowing appreciation by the most diverse
audience. Fourth, the efficiency engine’s rule application methodology must be sound. That is,
when analyzing some arbitrary time frame of restaurant history according to some arbitrary
collection of rules, the same set of suggestions should be returned each time. By the same token,
any significant change to the history or rule set should yield a different set of suggestions. Fifth,
great care will be taken to ensure all reported suggestions are easy to understand. While they
may only be referring to simulated data, suggestions written in science will likely prove less
useful than those well translated into hospitality. By incorporating these five elements into the
4
Bourque 03/05/2008
RED AI prototype, the potential of the final RED AI system can be demonstrated. Each of these
objectives is covered in greater detail in section 3.1.
1.3 Definitions, Acronyms, and Abbreviations
ADO.NET: A collection of software available with Microsoft’s Visual Studio .NET
development suite that allows for easy access to data sources.
AI: Artificial Intelligence; 1. The ability of a computer or other machine to perform those
activities that are normally thought to require intelligence. 2. The branch of computer science
concerned with the development of machines having this ability.
Algorithm: A step-by-step problem-solving procedure, especially an established, recursive
computation procedure for solving a problem in a finite number of steps.
Artificial Intelligence Engine: see inference engine
Backwards chaining: An algorithm for proving a goal by recursively breaking it down into subgoals and trying to prove these until facts are reached. Facts are goals with no sub-goals which
are therefore always true.
Back end employee: An employee for the restaurant that is involved with inventory, food,
preparation, and other discrete operations not directly interacting with a customer.
C++: An object oriented programming language.
Database Importer: A software tool that allows for the importation of data from a database into
a computer program.
DB: Database; A structured collection of records that can be queried to retrieve and organize
information.
DB importer: Database importer; A translation application that reads one database structure and
formats the data for another database structure.
Dependent Variable: A variable whose value is dependent on the value of another variable.
Direct mail: Physical mailing address designated by location on a public road.
Efficiency: The ratio of output to input of any system.
Expert system: Also known as a knowledge based system, is a computer program that contains
the knowledge and analytical skills of one or more human experts, related to a specific subject
5
Bourque 03/05/2008
Factor Analysis: The process of determining which predictive variables in a data set are
independent of one another in their predictive capacity.
Firewall: A networking hardware designed to protect a network against unwanted traffic.
Front door: The line that connects an intranet with the internet.
Front end employee: An employee for the restaurant that is involved with hosting, taking
orders, receiving tips, and other operations directly interacting with a customer.
Garbage data: Erroneous or unwanted data inserted into a database.
GUI: Graphical User Interface; Offers a graphical representation of processes rather than a
textual interface.
Inference Engine: A program that makes logical inferences given a set of rules.
Key server: Dedicated server that stores product registration information and can be utilized in
authentication processes of software applications.
Linearly independent: A collection of two or more functions that do not contain a subset of
another’s values.
Microsoft .NET Framework: A software component of Microsoft Windows that encompasses a
wide range of pre-coded solutions to common program requirements.
Microsoft Access: A database program that is a part of the Microsoft Office suite.
Microsoft Visual Basic .NET: An object oriented computer programming language
implemented on the Microsoft .NET Framework.
Multiple Regression: Statistical tool that allows the prediction of a dependent variable’s value
from a set of independent variables.
Pearson Product Moment Correlation: A number between zero and one that quantifies the
degree to which two sets of data are related.
POS: Point of sales; The computer used for receiving and recording sales.
RED AI: Restaurant Efficiency Decision Artificial Intelligence; An application designed to
improve efficiency and profitability of a restaurant based on taking in data and making relevant
suggestions to restaurant managers.
ROI: Return on investment; The percentage of profit received from an investment in equipment
or capital.
6
Bourque 03/05/2008
Reverse Polish Notation: An input scheme developed by Hewitt Packard scientists whereby
both operands are entered before the operator. For example, while a regular calculator takes input
such as “2 + 2 =”, a Reverse Polish Notation calculator would require the same input to be
entered as “2 enter 2 +”.
Rule Set: A collection of conditions along with what it means if a certain condition is true.
Server: A high-end computer that stores information.
Stack: A structure that exists in the computer’s memory. It is a list of elements that can only be
retrieved in the reverse of the order the elements were inserted into the structure.
Token: In philosophy, computational linguistics, and information retrieval, a token is an instance
of a type. The type versus token distinction is a distinction that separates an abstract concept
from the objects which are particular instances of the concept. In logic specifically, the token is
used to clarify the meaning of symbols of formal languages..
User type: A value associated to a user to determine access privileges within an application.
1.4 References
Clarke, R. (1988, February). Knowledge-Based Expert Systems . Retrieved March 26, 2008, from
Department of Computer Science, Australian National University: http://www.anu.edu.au
/people/Roger.Clarke/SOS/KBT.html.
Mullins, S. (2006, October 30). Running a Restaurant: Start up costs. Retrieved January 30,
2008, from AllExperts: http://en.allexperts.com/q/Running-Restaurant-2285/Startcosts.htm.
National Restaurant Association. (n.d.). Research. Retrieved January 29, 2008, from
restaurant.org: http://www.restaurant.org.
Parsa, H., & T., J. (2005, August). Management. Retrieved January 21, 2008, from Cornell Hotel
& Restaurant Administration Quarterly: http://www.hotelschool.cornell.edu/research/chr/
pubs/quarterly.
RED AI. (2008). Lab 1 - Product Description. Norfolk: ODU CS – CPI.
7
Bourque 03/05/2008
1.5 Overview
The remainder of this document provides the specifications for the RED AI Phase I
prototype. Section 2 offers general descriptions of the prototype’s architecture, it’s particular
functionality, and the various hardware, software, and user interfaces it will employ. Section 3
details requirements which must be met to confirm the prototype functionality is sufficient to
demonstrate the innovative fetaures and potential power of RED AI.
2
General Description
The RED AI Phase I prototype will be available online for download and install. It is
designed to showcase the RED AI development team’s pertinent abilities. First, due to its selfexplanatory nature, prototype users will quickly become familiar with navigating and interacting
with the various GUI screens. The prototype interface will prove the development team’s ability
to create intuitive user interfaces that can be easily mastered by users with all but the most
limited computer experience. Second, the prototype database will appropriately model a
restaurant’s key profit factors, whether static or dynamic, controllable or uncontrollable. Here,
the development team’s ability to design, create, manage, and maintain a relatively complex
relational database will be shown. Third, rules will address readily apparent restaurant efficiency
issues. Fourth, effeciency engines will dependably analyze data according to the rule set. Fifth,
suggestions will make sense to restaurant managers and owners. These five together will stand
as proof that the development team can produce the core of the RED AI system. A comparison
of features between RED AI and the Phase I prototype is given in Table 1.
8
Bourque 03/05/2008
Table 1. Feature Comparison between RED AI and Prototype
Feature
RED AI
Phase I Prototype
Real World
Real world data
Simulated data
GUI
Intuitive user interface
Intuitive user interface
Database(s)
Raw data – imported or manually entered
Summary data – compiled from raw data
Summary data – pre-seeded or
manually entered
Rule Set
Full-scale rule set
Small-scale rule set
Efficiency Engine
Apply rules to summary data
Apply rules to summary data
Clearly, there is little difference between the implementation of RED AI and the
prototype. While the prototype may release with a limited rule set and deal only in summary
data, raw data can easily be summarized and entered by hand, and the ability to update rule sets
will be provided. As there are no foreseeable modifications required for the efficiency engine
algorithms between the Phase I prototype and RED AI, the prototype should be considered
highly representative of RED AI.
2.1 Prototype Architecture Description
The prototype will consist of three main software components. The graphical user
interface will allow access to the rest of the system and various controls to manage the
demonstration of the prototype. A database will receive data from the GUI and store it for
analysis. The efficiency engine and rule sets will analyze the data in the database and return
suggestions to the GUI.
9
Bourque 03/05/2008
Figure 4. Prototype Major Functional Component Diagram
2.2 Prototype Functional Description
The RED AI prototype will allow users to log in to and interact with a restaurant database
and the efficiency engine. Users will be provided various levels of control based on their user
type. The system will take the data via input and edit screens. A relational database will store
restaurant data. Several restaurant models can exist on a single system with the ability to swap
database content. When prompted, the efficiency engine will perform efficiency analyses on the
active database according to the current rule set and provide users with suggestions on improving
the efficiency of the current restaurant model. Combined, the GUI, database, and efficiency
engine will constitute the RED AI prototype.
10
Bourque 03/05/2008
Figure 5. Login Process Flow
The GUI will act as the sole interface for prototype users. Included in the GUI are the
login screen and the various tabbed interfaces in the main screen. The login screen, main screen,
and the tabbed interfaces are detailed in the following sections. Upon startup, the user will be
presented with a login screen. A correct username and password combination will allow access
to the RED AI prototype main screen. Each username will be assigned a certain user type, which
will determine the enabled level of access for a given user.
The login process flow is shown in
figure 5. The main screen will present a basic Windows program look and feel. It will also act
as a container for the tabbed interfaces. Login screen and main screen requirements, including a
description of user types, are given in section 3.1.5.
(This space intentionally left blank.)
11
Bourque 03/05/2008
Figure 6. Settings Tab Process Flow
A settings tab will be provided. This tab will offer options to add, modify, and delete
uwer accounts. From this tab, databases can be archived for future analysis, or activated for
manipulation and analysis. At any given time there will be only one active database, hereafter
referred to as “the database” unless otherwise specified. The ability to select alternate rule sets
will also be made available from the settings tab. Only administrator user types will have access
to the settings tab. The settings tab process flow is shown in figure 6. Specific requirements for
the settings tab are given in section 3.1.6.
(This space intentionally left blank.)
12
Bourque 03/05/2008
Figure 7. Input Tab Process Flow
To enter data in the database, input and edit tabs will be provided in the main screen.
Input screens will include customer data, staff schedule data, order data, and inventory data.
Input tab buttons will be restricted based on user type. The edit tab will offer the edit menu
screen in addition to an edit screen for each type of data already entered from the input tab.
Specific requirements for input and edit tabs are given in section 3.1.7.
Figure 8. Edit Tab Process Flow
13
Bourque 03/05/2008
The third tabbed interface will allow for efficiency engine interface. Each output screen
will display suggestions generated in accordance with the current rule set as applied to the active
database regarding the particular type of efficiency. Each output screen will allow scrollable
viewing of suggestions, a “save to file” button, and a “done” button. When selecting an output
screen, the process flow will proceed as shown in Figure 8. Output screen access will be
restricted to Admin and Manager types.
Figure 9. Output Tab Process Flow
2.3 External Interfaces
While the RED AI prototype will demonstrate considerable computational power, it can
not exist in a vacuum. The prototype demonstration will rely on external hardware and software.
Communication and advanced display interfaces will allow the most thorough display of RED
AI’s capabilities.
14
Bourque 03/05/2008
2.3.1 Hardware Interfaces
The RED AI team will build no custom hardware for the prototype. An Old Dominion
University computer capable of supporting the .NET 3.5 framework will be required for
demonstration of the RED AI prototype. This computer will host the demonstration installation
of the RED AI prototype.
2.3.2 Software Interfaces
When installed, RED AI will require only a Windows XP Service Pack 2 operating
system with the .NET 3.5 framework installed. The GUI and Efficiency engines will be
developed in Microsoft Visual Basic .NET 2008. The database will be created with Microsoft
Access 2003. The database connection will be accomplished via the Object Linking and
Embedding Database services for Microsoft Jet DB.
2.3.3 User Interfaces
The RED AI prototype will require standard keyboard and mouse peripherals to provide
input to the system. A monitor capable of VGA at a minimum will display the prototype GUI
screens. Due to the common usage of these devices, the prototype will have the potential for
widespread use.
2.3.4 Communication Protocols and Interfaces
RED AI will need to have an active Internet connection for deployment and connection to
the website. This Internet connection will provide automatic updates. The Internet connection
will also allow the RED AI to show online help to the user when requested.
15
Bourque 03/05/2008
3
Specific Requirements
The RED AI product prototype will meet a variety of specific requirements. Functional
requirements describe what the product must do in order to meet the previously discussed goals
and objectives of the project. Performance requirements constrain some of the functional
requirements to act within certain parameters. Each functional and performance requirement
references a subset of the Requirements Checklist, included as Appendix 2 with requirement
numbers beginning with the letter R. A summary of necessary assumptions and constraints is
included to further describe the anticipated prototype operating environment. Non-functional
requirements complete the parameters for development of the RED AI product prototype.
3.1 Functional Requirements
Herein are given detailed descriptions of the RED AI prototype’s various functional
requirements. These functional requirements must be accomplished for successful
demonstration of the prototype. If any one falls short of these specifications, the prototype
demonstration can not proceed as intended.
3.1.1 Ability to use rules from rulesets
The RED AI prototype demonstration depends almost completely on the prototype’s
ability to shw real time analysis of data according to a given set of rules. To this end, the ability
to have rules and to effectively use them must be provided. The prescribed rule format for a rule
is as follows:
Table_Name[ tokens ] => short_text, long_text, (token), [tokens]
and can be roughly interpreted as:
16
Bourque 03/05/2008
rule_condition => rule, explanation, violators, solution
Table_Name gives the name of the table or view in the database from which to draw data.
Tokens consist of all common arithmetic and logical operators, as well as column names from
the table or view identified by Table_Name. The “left hand side” of this equation is the rule
condition. If the data drawn from the database indicates this rule has been violated, a suggestion
will be generated. The short_text will summarize the nature of the rule in a few words. For each
row whose data indicates a violation of a given rule, the value from the column indicated by the
token in parenthesis on the right hand side will be added to the list of violators. For each rulebreaking row, another calculation may be performed according to the arrangement of the tokens
in square brackets on the right hand side. The solution will be described within the long_text for
each violator. Rules will be contained in rule sets for each type of efficiency. They will be
stored in ASCII format, one rule per line, each line ending with a semicolon. Rule and rule set
requirements are listed in R1.1.
3.1.2 Massage the Data
The efficiency engine will parse the rules, analyze the data, and populate the suggestion
list. The selected efficiency type and table name indicated by the given rule will guide database
access. The database access is discussed in section 3.1.3. When data is retrieved and analyzed
according to the conditions and solutions of the given rule, the suggestions must be generated
and returned to the user. To help manage the potentially large list of suggestions, they should be
arranged in a pivot-table style display. An example of this is given in figure 10. The upper left
section will contain the list of short_texts of broken rules. When a short_text is selected on the
left, the upper right will show the list of that rule’s violators. When a violator is selected on the
right, the lower section will show the long_text containing the calculated solution for that
17
Bourque 03/05/2008
violtaor. The rule parsing and suggestion list populating functions are constrained by
performance requirements given in section 3.2.1. The functional requirements are listed in R1.2.
Figure 10. Sample Suggestion List
3.1.3 Efficiency Engine control of DB
The efficiency engine and database must be designed in consideration of one another.
The efficiency engine will require rapid repeated access of the database. The efficiency engine
will require access to all tables and views within the database. The efficiency engine-database
interface has associated performance requirements given in section 3.2.2. Functional
requiremetns for efficiency engine control of the database are given in R1.3.
3.1.4 Database
The prototype database will be designed to contain the minimal set of data to support the
functionality of the efficiency engine. The required schema for this database is given in figure
10. To analyze data according to the rules, views across appropriate tables must be constructed.
18
Bourque 03/05/2008
The database content must be exchangeable to allow several restaurant models to be used on the
same system. All database requirements are detailed in R2.
Figure 11. Database Schema
3.1.5 GUI, Login, and Main Screen
There are several screens included in the RED AI prototype GUI. First, among GUI
features, are the login screen and the main screen. The login screen will act as the primary
means of user access control, providing username and password entry fields. A correct username
and password pair will allow access to elements of the main screen according to a user type
associated with the provided user name. Login screen requirements, including the access control
summary, are listed in R3.1. The main screen will exhibit a standard Windows program look
and feel, with a menu bar and a tabbed interface. Main screen tabs will be enabled based on the
user type associated with the current user. Main screen requirements are listed in R3.2.
19
Bourque 03/05/2008
3.1.6 Settings Tab
The settings tab will offer administrative features. Each of these is detailed within R3.3.
First, an edit user screen will be available. The edit user screen will allow administrators to add,
delete, and edit authorized users. Each authorized user will be assigned a username, password,
and user type. The significance of user types is given in R3.1. Second, the ability to change the
active rule set must be provided. Rules and rule sets are described in more detail in section 3.1.1.
Third, administrators must be allowed to change the active database. Database requirements are
described in more detail in section 3.1.4.
3.1.7 Take the Data
Two main screen tabs will be designated for the taking of restaurant data into the active
database. The input tab will provide the means of access to the required input screens. Each
input screen will only allow for addition of new data to the active database. The required input
screens and input screen requirements are listed in R3.4. The edit tab will provide the means of
access to the required edit screens. Each edit screen will allow editing of data in the active
database. Editing, here, consists of adding, removing, and changing. The various edit screens
and edit screen requirements are listed in R3.5. Access control for both input and edit tabs are
given in R3.1.
3.2 Performance Requirements
Herein are given detailed descriptions of the RED AI prototype’s various performance
requirements. Once functional requirements are achieved, the RED AI prototype must operate
within these parameters. If any one falls short of these specifications, the prototype
demonstration can not proceed as intended.
20
Bourque 03/05/2008
3.2.1 Efficiency Engine Process
To ensure RED AI prototype demonstration can complete in a timely manner, the
efficiency engine must be constrained in the amount of time it takes to complete its analysis.
The most complex of rules would require data from each of the most distantly related tables for
some given efficiency. The worst case analysis of this rule would require retrieving each entry
from the first table as many times as there are entries in the second table. This gives a machineindependent worst case (d*m*n) number of multiply/add operations where d is the distance
between the first and second table, m is the extent of the first table, and n is the extent of the
second. Including the time required for data retrieval, the efficiency engine must be able to
process each of these (dmn) operations in under 0.5ms on the least powerful machine meeting
all the external hardware and software interface requirements. Further detail on this requirement
is given in R1.2. Another potentially complex process will be the population of the suggestion
list. For each broken rule, the generated suggestion must be prepared for display. The
population of the suggestion list should proceed at a rate of 0.1 ms per suggestion on the least
powerful machine meeting all the external hardware and software interface requirements.
3.2.2 Database Capability
To support the efficiency engine process, and ensure RED AI prototype demonstration
can complete in a timely manner, the database must be constrained in the amount of time it takes
to process requests from the efficiency engine. For any given database query, the database
should respond in less than one milisecond. Again, this must take into account the least powerful
machine meeting all the external hardware and software interface requirements. Further detail
on this requirement is given in R1.3.
21
Bourque 03/05/2008
3.3 Assumptions and Constraints
RED AI prototype is a scaled down version of the full production version. The major
scaling factors are listed in Table 2. They include constraints, assumptions, and dependencies.
Constraints are external factors that influence the project. Assumptions are things that are
assumed to be true and if shown to be false will impact the project. Dependencies are factors
that are required for proper operation of the project.
Table 2: Effects of Assumptions, Dependencies, and Constraints on Requirements
Condition
Type
Effect
Time for prototype
demonstration is limited
Constraint
Pre-seeded databases will be provided
Complexity of complete
system
Constraint
Reduction of database coverage – summary data only,
instead of raw data and summary data
The amount of data required
for a whole day
Constraint
Reduction in analyzed time frame – prototype will analyze
a limited data set based on days instead of months, and
small time blocks instead of hours
Limited involvement of
restaurant experts
Constraint
Reduction in rule set size – only the most obvious
restaurant truths will be addressed in efficiency analysis
The database sufficiently
models restaurant data
Assumption
ODU systems can host
prototype
Dependency If not, personal hardware will be required
Available internet
connection
Dependency Will not be able to demonstrate full functionality
3.4 Non-Functional Requirements
Non-functional requirements are things that are required of the prototype but not directly
needed to show its innovative aspect. Items that fall under the category of security,
maintainability, and reliability are listed as non-functional.
22
Bourque 03/05/2008
3.3.1 Security
There will be a secure login. This login will prevent unauthorized accesses to the
program and database. This is mainly to prevent bad data from getting into the database. If a
certain type of low level user only can add data (not edit or delete) they will be careful when they
enter it because the manager will have to correct their mistakes which will make them look bad.
Also there is always the clients need to keep their restaurant’s secrets secret.
3.3.2 Maintainability
The project will check for updates and download them as necessary. The rule set and
database will be able to be switched and updated also. This updateability is due to the nature of
the prototype being almost production version. The prototype will allow itself to be updated to
the full version (production ruleset and production database).
3.3.3 Reliability
The project will be able to reproduce the suggestions made with the same data and rule
sets. This is important for the prototype because it will show that the ruleset is finite and acting
on the data. Also RED AI will be completely tested and debugged before the presentation.
23
Bourque 03/05/2008
Appendix 1 Requirements Checklist
Requirements Checklist
1.
Efficiency Engine
1. Ability to use rules from rulesets
1. rule format: tblName[ tokens ]  short, long(target,soln), [targettokens][soln-tokens]
2. rule-set format: rule; \n rule; \n …
2. Process
1. Parse / Run the rules
1. parse rules from active ruleset, and apply to data
2. O(d*m*n) … 0.5ms each, where m is extent of 1st table, n is extent
of 2nd, d is distance between tables
2. Populate Suggestion List
1. for each broken rule, provide short text; for each violator, provide
name; for each name, provide long(target[i],soln[i])
2. O(nSuggestions)… 0.1ms each, where nSuggestions is the total
number of suggestions generated.
3. Query DB
1. Must be able to access any view or table in the database as might be
required by the rules.
2. select stmt takes < 1ms
2.
Database
1. A relational database will be designed according to the provided schema
2. Views across the given tables are required to parse rules relating to each
efficiency
1. Service Efficiency View
1. Jobs table
2. Staff table
3. Time table
4. Customer table
24
Bourque 03/05/2008
2. Menu Efficiency
1. Customer table
2. Time table
3. Menu Event table
4. Menu Base table
3. Inventory Efficiency
1. Menu Base table
2. Recipe table
3. Inventory table
3. The development software must support swapping of database content
3.
GUI
1. Login
1. There must be a login screen with the following features:
1. User name entry field
2. Password entry field
3. Login button
4. Cancel button
2. Must interface with user table in DB
3. Unsuccessful logins will allow retries
4. Successful logins will advance program flow to Main Screen
5. Permissions enabled as follows:
25
Bourque 03/05/2008
2. Main
1. Will provide basic Windows program look and feel
2. Will have the following tabbed interfaces:
1. Input
2. Edit
3. Output
4. Settings
3. Settings Tab
1. Edit Users
1. Add user accounts
2. Edit user accounts
3. Delete user accounts
2. Change Rule Set
1. Browse local machine for rule sets
2. Change rule set to selected rule set
3. Change Database
1. Save active database
2. Select new database
3. Set new database as active database
4. Input Tab
1. The following input screens will be created:
1. Customer Input
2. Order Input
3. Inventory Input
4. Staffing Input
26
Bourque 03/05/2008
2. Each input screen will have the following features:
1. Input controls for fields related to the table(s) in question
2. Submit button
3. Cancel button
5. Edit Tab
1. The following edit screens will be created:
1. Edit Customer
2. Edit Orders
3. Edit Inventory
4. Edit Staff
5. Edit Menu
2. Each edit GUI screen will have the following features:
1. Edit controls for fields related to the table(s) in question
2. Save and close button
3. Cancel button
6. Output Tab
1. Each output screen will perform the following functions:
1. Run the efficiency engine according to selected efficiency type
2. Display suggestions provided by the efficiency engine
2. The following output screens will be created:
1. Service Efficiency
2. Menu Efficiency
3. Inventory Efficiency
27
Bourque 03/05/2008
Appendix 2 Requirements Traceability Matrix
Traceability Matrix: Lab 2 => Requirements Checklist
Prototype Requirements, section 3
Requirements Checklist
1 Use Rules from Rulesets
R1.1
Rule format, rule set format
R1.2
Efficiency Engine Process
R3.6
Output Tab
3 Efficiency Engine control of DB
R1.3
Efficiency Engine control of DB
4 Database
R2.*
Database
R3.1
Login
R3.2
Main Screen
R3.3
Settings Tab
R3.4
Input Tab
R3.5
Edit Tab
1 Efficiency Engine Process
R1.2
Efficiency Engine process
2 DB Access
R1.3
DB access speeds
2 Massaging the Data
1 Functional
3 Requirements
5 Login & Main Screen
6 Settings Tab
7 Taking the Data
2 Performance
28
Bourque 03/05/2008
Appendix 3 Formal Resource Request Form
Team: RED AI (CS411 Red Team)
Project Manager: Alex Caulkins, acaulkin@cs.odu.edu
The following resources are required to be purchased for the prototype development and
demonstration of the RED AI product:
Hardware Purchase (list all items required for purchase):
a. None
Software Purchase (list all items required for purchase):
a. None
The following University resources are required to support the prototype development and
demonstration:
• A computer in the CPI Lab NOT held together with scotch tape for the red team
because if the computer case comes undone, the computer turns off immediately and
we lose all our work.
o Required as soon as conveniently possible
• Remote Desktop access to the Red team’s computer in the CPI lab for all members
in our group so we can work on software from home
o Required as soon as conveniently possible
o Will need to be set up again after delivery of new
computer (see above)
• Access to CS Dept. Virtual Server currently in development to assist with
developing our prototype
o We are willing to assist in testing virtual server
environment
o Needed as soon as virtual server is ready for
testing
• Software being used by us: Microsoft Visual Studio
2008, Microsoft Access 2003
o already installed on CS computers by default
29
Bourque 03/05/2008
o no action by Systems is needed
•CVS access for everyone in the group to a folder on the
CS Dept. UNIX server for codeand version control
O Doing this on the cs411red accounts ok
O Required assoon as conveniently possible
•ACL’s set for everybody in group to cs411red account
oRequired assoon as conveniently possible
•Systems group staffmember familiar with E&CS Conference Roommultimedia
setup with us on demonstration day to assist with any technical issues
oDate needed: Prototypedemonstration tentatively set for April 23 and May 5, please
confer with Professor Brunelle closer to these dates to confirm
•The following UNIX/CSNET users are in our group:
O
O
O
O
O
O
mjanda
mcrainer
bterribi
acaulkin
dharri
pbourque
30
Download