ICS52, Winter, 2007
Official Requirements Specification -- February 12, 2007
Still under development! Changes since Feb. 12 in blue.
1 Introduction
This document specifies the Official Requirements for the
AutoMenu system, and should serve as the basis for a further
development of the system.
The AutoMenu system enables students at Bayport High School
to order school lunches in advance. It also provides a
variety of management tools for Belly's, the private
company that serves lunch on campus.
All information was accurate at the time of writing.
This document details XX discrete, atomic requirements.
Each is labeled with an identifier in boldface type (e.g. A-1)
for easy reference elsewhere in this document and in subsequent system
development.
In places where the user interface is incompletely specified, the
powers that be are relying on the implementers to devise a user
interface that is pleasing and easy to use and is in accordance with all
listed requirements.
This document contains the following Sections:
2) User Requirements Definition - This section is designed for the
non-technical reader. It describes the major features of the system
and the rationale for each one.
3) System Requirements Specification - This section identifies the objects that
make up the system and inter-relationships between them. It has been
written so as to provide enough detail for the technical design to be
produced.
4) Constraints and Non-functional Requirements - This sections
contains the current constraints on the system.
5) Implementation Phases
6) Future Directions and Expected Changes - Although speculative, this
section is a key way of influencing the product currently being
developed so that it can better respond to situations in the future.
2 User Requirements Definition
Bayport High School has approximately 1,000 students, and every
day about 750 of those students buy lunch on campus from Belly's.
The AutoMenu system will greatly reduce the amount of money
that changes hands every day, and will reduce waste by
providing Belly's with more accurate information in advance about what
meal selections the students want.
The key features of the AutoMenu system are:
- Students can select lunch choices for the upcoming month
from a menu of options.
- .(more to come)
The AutoMenu system is designed to operate independently
of other computer information systems at Bayport High School.
3 System Requirements Specification
3.1 Overall Operation
The AutoMenu system supports the following typical cycle of events.
- Belly's staff enters into AutoMenu a wide variety of
potential menu selections. Each menu selection includes
of a name, a price, and a list of ingredients.
- About the middle of each month, Belly's staff selects
specific menu items to offer each school day of the upcoming
month.
- Students select a
menu item for each day in the upcoming month
that they want to buy lunch from Belly's.
- Belly's staff uses the student orders to determine
the required amount of inventory.
All information entered in AutoMenu is stored on a hard disk (D-1).
Information about past months is kept on disk for at least
three months (D-2).
3.2 Menu Items and Monthly Menus
The AutoMenu system stores information about every
menu item that Belly's serves, except for small
items that are never ordered in advance, such as
candy and cookies.
AutoMenu stores the following information about each menu item (M-1):
- A "short name," up to twenty characters long.
- A description, with no limit on length, but typically no
more than a dozen words.
- A price (does not include tax).
- A type, which is either entree or dessert.
- A list of ingredients. Each ingredient has a name,
a unit by which the ingredient is measured (e.g. grams,
pieces), and a quantity, which can include a fractional part.
A monthly menu consists of the following, for each
school day of the month (M-2):
- Two choices of entree menu items. Belly's staff usually
tries to ensure that the selections are quite different
from each other (e.g. different meat ingredients,
different cuisines), but this is not enforced by AutoMenu.
- Two choices of desert menu items.
The status of the set of menu choices for a month can
be one of the following:
closed, for a month that is completely passed;
current, for the current month when menu choices cannot
be modified;
provisional, for future months when the menu is not yet
visible to students;
open, for the upcoming month when the menu is available
for students to view and select from;
locked, for the upcoming month when students can no
longer modify their choices. (M-3)
AutoMenu keeps a list of ingredients that menu items are
made of. For each ingredient, AutoMenu stores (M-4):
- The name.
- The appropriate unit (e.g. grams, pieces).
- The number of calories per unit.
- The quantity currently on hand.
- The quantity on order.
3.3 Food Inventory
An important goal of the AutoMenu system is to enable
Belly's staff to purchase the correct amount of ingredients
to prepare the pre-sold lunches.
AutoMenu has a report called the Inventory Status Report (I-1).
This report shows, for each ingredient in the list of ingredients,
the amount of the ingredient that will be needed for
all ordered meals in the upcoming month (or in any
time period, as specified by the user).
The report also compares that needed amount to the
amount in stock and the amount ordered, and flags
ingredients when the required amount is greater.
3.4 Calendar
AutoMenu has, for the current school year, a calendar
which specifies the days of the week for each month,
and which days are school days. Belly's is only open
on school days. The calendar also notes the last
day on which menu selections for the upcoming month can be
made without a late penalty (usually the 20th). (C-1)
AutoMenu uses the computer system to find the current date.
However, Automenu's current date can also be set by
a Belly's staff member (C-2).
3.5 Students
Students interact with AutoMenu by ordering lunches,
by paying for lunches in advance, and by picking up
their lunches.
AutoMenu stores the following information about each student (S-1):
- The student's first and last name.
- The student's AutoMenu ID, which is composed of the
last name (no more than six letters), the first letter
of the first name, and, if needed, a following digit
(starting at 1), to make the ID unique. The ID is
not case sensitive.
Some examples: Mike Anderson: AndersM.
Mary Anders: AndersM1.
John Chen: ChenJ.
The ID is generated by AutoMenu.
- The student's PIN (four digits).
- The student's lunch orders for the current and, if entered,
upcoming months.
- The student's current balance due.
- The student's past due balance.
Once the menu for the upcoming month is open,
a student can select neither or one of the two choices
for entree and desert, for every day in the upcoming month (S-2).
Choices can be changed as long as the menu is open.
After the menu is locked, and before the first of the
upcoming month, the student must pay for the menu choices.
AutoMenu does not handle billing, but when the payment is
made the student's balance due is adjusted.
When the student makes menu choice selections, the
system computes and displays the total price for the month,
computed as the total cost of all entree and dessert
selections, times a tax of 7.5% (the tax rate may
change in the future) (S-3).
If a student orders more than ten entrees for a month,
then the price of all entrees after the tenth one is
reduced by 10% (rounded to the nearest penny) (S-4).
AutoMenu also displays the average number of calories for
all meals in one month that the student has ordered (S-5).
When the menu is locked, the total cost is added to the
student's balance due (S-6).
If a student does not pay the balance due for the
upcoming month by the first of the upcoming month,
then that amount becomes past due.
A student with a past due balance cannot enter
menu selections for the upcoming month, but the
student is allowed to pick up already ordered
(but not yet paid for) menu choices (S-7).
3.6 Belly's Staff
Each person on Belly's staff who interacts with AutoMenu
has a unique AutoMenu ID and four digit PIN (B-1).
Certain capabilities are performed by Belly's staff members
and are not available to students (B-1):
- Entering or modifying inventory information, and running
the Inventory Status Report.
- Setting the AutoMenu current date and all calendar-related
information (see (C-2)).
- Entering or modifying the monthly menu
and all menu related information
- Setting the status of a set of menu choices
for a month (see (M-3)).
- Entering or modifying student and staff AutoMenu
account information.
- Entering student payments.
If a student has a past due balance, payments are always
applied first to the past due balance, and then to the current balance (B-2).
3.7 Accessing AutoMenu through the Computer
AutoMenu functionality is accessed through a computer GUI.
The GUI will be based on one or more standard operating system windows
and dialog boxes, utilizing menus, buttons, hot keys, and other
standard user interface elements (S-13).
It should be organized in an intuitive and easy to use manner.
Belly's staff uses the GUI to access and perform the
capabilities described in Section 3.6.
Students use the GUI to do the following:
- Log on to and log off of AutoMenu.
- Examine the menu selections they have made for the current month.
- Enter and modify menu selections for open month.
For each day in the month, students can see and select from the two
entree and dessert item options.
For each option, students can see the short name, description,
price, and ingredients.
The GUI implements (S-3) and (S-5).
- Examine their current balance and past due balance.
A student can only see and modify information pertaining to
his or her own AutoMenu account.
3.8 Conversion of existing data
Belly's currently has some information related to AutoMenu in
a DF-2007 database.
The exact format of this database has not been determined at the
time of writing, but will be available shortly.
The database includes information about ingredients,
current inventory, and menu items(E-1).
4 Constraints and Non-functional Requirements
5 Implementation Phases
An operational system is desired before Finals Week, March, 2007.
The following options may be omitted from the first phase if
required to meet the deadline:
The first phase system will run on a single computer.
6 Future Directions and Expected Changes
7 Acceptance Test Plan
Part of the Acceptance test plan will be to insure that
functionality (S-4) is correctly implemented:
ordering more than 10 meals in a month results in a
10% discount on subsequent meals.
To test (S-4), first ensure that the following
menu items are entered into AutoMenu:
Chicken Noodle Soup Hot, chunky soup and a biscuit $4.50 entree
* chicken 2.5 ounce
* chicken-broth 10 ounce
* noodles 3 ounce
* carrots 2 ounce
Turkey Mush Risotto Delectable risotto with turkey, mushrooms, and Parmigiano cheese $4.75 entree
* turkey 3 ounce
* mushrooms 1 ounce
* onion 0.5 ounce
* rice 2 ounce
* parmesan-cheese 1.25 ounce
BBQ Beef Sandwich Prime beef smothered with spicy BBQ sauce, on a hearty bun $5.15 entree
* beef 4 ounce
* bbq-sauce 1.5 ounce
* bun 1 piece
There must also be a student entered named George Washington,
with AutoMenuID WashinG and no orders for the upcoming month.
Each column in the following table shows a different scenario
of meal orders made by George Washington, with the correct
resulting price:
| Items ordered for the first 14 school days of the month: |
Chicken Noodle Soup
Chicken Noodle Soup
(no order)
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
(no order)
Chicken Noodle Soup
(no order)
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
Turkey Mush Risotto
BBQ Beef Sandwich
|
(no order)
Chicken Noodle Soup
(no order)
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
(no order)
Chicken Noodle Soup
(no order)
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
Turkey Mush Risotto
BBQ Beef Sandwich
|
Chicken Noodle Soup
Chicken Noodle Soup
BBQ Beef Sandwich
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
BBQ Beef Sandwich
Chicken Noodle Soup
Turkey Mush Risotto
Turkey Mush Risotto
BBQ Beef Sandwich
Chicken Noodle Soup
Turkey Mush Risotto
BBQ Beef Sandwich
|
| Correct total with discount if any: |
$51.69 |
$47.70 |
$65.30 |
| Total of items without discount: |
$52.20 |
$47.70 |
$67.25 |
| Comment: |
Discount on one item. |
10 meals; no discount. |
Discount on last four meals. |
8 Glossary