Analysis Document
for
Cafeteria Ordering System,
Release 1.0
Version 1.0 approved
Prepared by Karl Wiegers
Process Impact
August 22, 2013
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose.........................................................................................................................................1
1.2 Document Conventions................................................................................................................1
1.3 References....................................................................................................................................1
2. Overall Description..................................................................................................................1
2.1 Product Perspective......................................................................................................................1
2.2 User Classes and Characteristics..................................................................................................2
3. Use Case Approach..................................................................................................................3
3.1 Use Case Identification.................................................................................................................3
3.2 Use Case Diagram........................................................................................................................3
3.3 Use Case Description....................................................................................................................3
4. Analysis Models........................................................................................................................6
Revision History
Name Date Reason For Changes Version
Karl Wiegers 7/13/13 initial draft 1.0 draft 1
Karl Wiegers 8/22/13 baseline following changes after inspection 1.0 approved
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 1
1. Introduction
1.1 Purpose
This Analysis Document describes the various analysis models including the context diagram, thhe
user classes identified the following primary actors and use cases for the Cafeteria Ordering System,
and the system transition diagram.
1.2 Document Conventions
No special typographical conventions are used in this document.
1.3 References
1. Wiegers, Karl. Cafeteria Ordering System Vision and Scope Document,
www.processimpact.com/projects/COS/COS Vision and Scope.docx
2. Beatty, Joy. Process Impact Intranet Development Standard, Version 1.3,
www.processimpact.com/corporate/standards/PI Intranet Development Standard.pdf
3. Rath, Andrew. Process Impact Internet Application User Interface Standard, Version 2.0,
www.processimpact.com/corporate/standards/PI Internet UI Standard.pdf
2. Overall Description
2.1 Product Perspective
The Cafeteria Ordering System is a new software system that replaces the current manual and
telephone processes for ordering and picking up meals in the Process Impact cafeteria. The context
diagram in Figure 1 illustrates the external entities and system interfaces for release 1.0. The system
is expected to evolve over several releases, ultimately connecting to the Internet ordering services
for several local restaurants and to credit and debit card authorization services.
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 2
Figure 1. Context diagram for release 1.0 of the Cafeteria Ordering System.
2.2 User Classes and Characteristics
Patron (favored) A Patron is a Process Impact employee who wants to order meals to be delivered from
the company cafeteria. There are about 600 potential Patrons, of which 300 are
expected to use the COS an average of 5 times per week each. Patrons will sometimes
order multiple meals for group events or guests. An estimated 60 percent of orders will
be placed using the corporate Intranet, with 40 percent of orders being placed from
home or by smartphone or tablet apps.
Cafeteria Staff The Process Impact cafeteria employs about 20 Cafeteria Staff, who will receive
orders from the COS, prepare meals, package them for delivery, and request delivery.
Most of the Cafeteria Staff will need training in the use of the hardware and software
for the COS.
Menu Manager The Menu Manager is a cafeteria employee who establishes and maintains daily menus
of the food items available from the cafeteria. Some menu items may not be available
for delivery. The Menu Manager will also define the cafeteria’s daily specials. The
Menu Manager will need to edit existing menus periodically.
Meal Deliverer As the Cafeteria Staff prepare orders for delivery, they will issue delivery requests to a
Meal Deliverer's smartphone. The Meal Deliverer will pick up the food and deliver it
to the Patron. A Meal Deliverer’s other interactions with the COS will be to confirm
that a meal was (or was not) delivered.
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 3
3. Use Case Approach
3.1 Use Case Identification
Primary Actor Use Cases
Patron 1. Order a Meal
2. Change Meal Order
3. Cancel Meal Order
4. View Menu
5. Register for Payroll Deduction
6. Unregister for Payroll Deduction
7. Manage Meal Subscription
Menu Manager 8. Create a Menu
9. Modify a Menu
10. Delete a Menu
11. Archive Menus
12. Define a Meal Special
Cafeteria Staff 13. Prepare Meal
14. Generate a Payment Request
15. Request Meal Delivery
16. Generate System Usage Reports
Meal Deliverer 17. Record Meal Delivery
18. Print Delivery Instructions
3.2 Use Case Diagram
[Details are not provided in this example.]
3.3 Use Case Description
ID and Name: UC-1 Order a Meal
Created By: Prithvi Raj Date Created: 10/4/13
Primary Actor: Patron Secondary Cafeteria Inventory System
Actors:
Description: A Patron accesses the Cafeteria Ordering System from the corporate
intranet or from home, views the menu for a specific date if desired, selects
food items, and places an order for a meal to be delivered to a specified
location within a specified 15-minute time window.
Trigger: A Patron indicates that he wants to order a meal
Preconditions: PRE-1. Patron is logged into COS.
PRE-2. Patron is registered for meal payments by payroll deduction.
Postconditions: POST-1. Meal order is stored in COS with a status of “Accepted”.
POST-2. Inventory of available food items is updated to reflect items in this
order.
POST-3. Remaining delivery capacity for the requested time window is
updated.
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 4
Normal Flow: 1.0 Order a Single Meal
1. Patron asks to view menu for a specific date. (see 1.0.E1, 1.0.E2)
2. COS displays menu of available food items and the daily special.
3. Patron selects one or more food items from menu. (see 1.1)
4. Patron indicates that meal order is complete. (see 1.2)
5. COS displays ordered menu items, individual prices, and total price,
including taxes and delivery charge.
6. Patron either confirms meal order (continue normal flow) or requests to
modify meal order (return to step 2).
7. COS displays available delivery times for the delivery date.
8. Patron selects a delivery time and specifies the delivery location.
9. Patron specifies payment method.
10. COS confirms acceptance of the order.
11. COS sends Patron an email message confirming order details, price, and
delivery instructions.
12. COS stores order, sends food item information to Cafeteria Inventory
System, and updates available delivery times.
Alternative 1.1 Order multiple identical meals
Flows:
1. Patron requests a specified number of identical meals. (see 1.1.E1)
2. Return to step 4 of normal flow.
1.2 Order multiple meals
1. Patron asks to order another meal.
2. Return to step 1 of normal flow.
Exceptions: 1.0.E1 Requested date is today and current time is after today’s order cutoff
time
1. COS informs Patron that it’s too late to place an order for today.
2a. If Patron cancels the meal ordering process, then COS terminates use
case.
2b. Else if Patron requests another date, then COS restarts use case.
1.0.E2 No delivery times left
1. COS informs Patron that no delivery times are available for the meal
date.
2a. If Patron cancels the meal ordering process, then COS terminates use
case.
2b. Else if Patron requests to pick the order up at the cafeteria, then continue
with normal flow, but skip steps 7 and 8.
1.1.E1 Insufficient inventory to fulfill multiple meal order
1. COS informs Patron of the maximum number of identical meals he can
order, based on current available inventory.
2a. If Patron modifies number of meals ordered, then Return to step 4 of
normal flow.
2b. Else if Patron cancels the meal ordering process, then COS terminates
use case.
Priority: High
Frequency of Use: Approximately 300 users, average of one usage per day. Peak usage load for
this use case is between 9:00 A.M. and 10:00 A.M. local time.
Business Rules: BR-1, BR-2, BR-3, BR-4, BR-11, BR-12, BR-33
Other 1. Patron shall be able to cancel the meal ordering process at any time prior to
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 5
Information: confirming it.
2. Patron shall be able to view all meals he ordered within the previous six
months and repeat one of those meals as the new order, provided that all food
items are available on the menu for the requested delivery date. (Priority = M)
3.
The default date is the current date if the Patron is using the system
before today’s order cutoff time. Otherwise, the default date is the next
day that the cafeteria is open.
Assumptions: Assume that 15 percent of Patrons will order the daily special (source:
previous 6 months of cafeteria data).
ID and Name: UC-5 Register for Payroll Deduction
Created By: Nancy Anderson Date Created: 9/15/13
Primary Actor: Patron Secondary Payroll System
Actors:
Description: Cafeteria patrons who use the COS and have meals delivered must be
registered for payroll deduction. For noncash purchases made through the
COS, the cafeteria will issue a payment request to the Payroll System,
which will deduct the meal costs from the next scheduled employee payday
direct deposit.
Trigger: Patron requests to register for payroll deduction, or Patron says yes when
COS asks if he wants to register
Preconditions: PRE-1. Patron is logged into COS.
Postconditions: POST-2. Patron is registered for payroll deduction.
Normal Flow: 5.0 Register for Payroll Deduction
1. COS asks Payroll System if Patron is eligible to register for payroll
deduction.
2. Payroll System confirms that Patron is eligible to register for payroll
deduction.
3. COS asks Patron to confirm his desire to register for payroll deduction.
4. If so, COS asks Payroll System to establish payroll deduction for
Patron.
5. Payroll System confirms that payroll deduction is established.
6. COS informs Patron that payroll deduction is established.
Alternative None
Flows:
Exceptions: 5.0.E1 Patron is not eligible for payroll deduction
5.0.E2 Patron is already enrolled for payroll deduction
Priority: High
Business Rules: BR-86 and BR-88 govern an employee’s eligibility to enroll for payroll
deduction.
Other Expect high frequency of executing this use case within first 2 weeks after
Information: system is released.
ID and Name: UC-11 Modify a Menu
Created By: Mark Hassall Date Created: 10/7/13
Description: The cafeteria Menu Manager may retrieve the menu for a specific date in
the future, modify it to add new food items, remove or change food items,
Copyright © 2013 by Karl Wiegers and Seilevel
Software Requirements Specification for Cafeteria Ordering System Page 6
create or change a meal special, or change prices, and save the modified
menu.
Exceptions: No menu exists for the specified date; show an error message and let the
Menu Manager enter a new date.
Priority: High
Business Rules: BR-24
Other Certain food items will not be deliverable, so the menu presented to the
Information: Patrons of the COS for delivery will not always exactly match the menu
available for pickup in the cafeteria. The Menu Manager can set which
items are not deliverable.
4. Analysis Models
Figure 2 is a state-transition diagram that shows the possible meal order statuses and the allowed
changes in status.
Figure 2. State-transition diagram for meal order status.
Copyright © 2013 by Karl Wiegers and Seilevel