restaurant concurrency analysistabeec/rit_441/schedule_files/... · the customer has left and the...
TRANSCRIPT
Restaurant Concurrency Analysis
Ross Kahn, Elysia Haight, Colton Presler
We went to Peppermint’s Restaruant on West Henrietta Road to observe restaurant
concurrency. It is a small diner-like establishment that still uses paper for orders and receipts, and no
fancy computer system in the kitchen. The hostess also does not need a computer to tell her which
tables are available; instead, she simply looks in the main area of the restaurant and gauges seating
from what she sees. We broke down the main steps for the use case “Customer eats at restaurant” into
6 parts, which can be seen in the diagram below.
There are 6 main actors (Waitress, Customer, Food Runner, Cook, Hostess, and Bus Boy) along with
some important non-actor entities (Order Bin, Register, Order, Meal, Delivery Area, Waiting List, Table,
and Kitchen).
Below are the Use Case Narratives for each of the given tasks in the system
diagram, with their corresponding sequence or activity diagrams:
1. Seating
Name: 1. Seating
Context: Analysis
Description:
A customer enters a restaurant, and is seated at a table by the hostess.
Preconditions:
A Customer has entered the restaurant.
A table has been prepared (See 6. Table Prep)
Workflow:
1. The Hostess requests the desired number of seats from the Customer 2. The Hostess evaluates the restaurant for available tables 3. The Hostess enters the Customer into the Waiting List 4. The Hostess notices that a Table has become available 5. The Hostess removes the Customer from the Waiting List 6. The Hostess escorts the Customer to the Table
Results:
The customer is seated at a table.
Variants:
A restaurant may not employ a hostess; customers may seat themselves.
Tables may be available when the Customer arrives and they are not put on the Waiting List.
Exceptions:
If no tables are available and the wait is too long, the customer may choose to leave the
establishment.
2. Ordering Name: 2. Ordering
Context: Analysis
Description:
The customer request the items that they would like to be ordered.
Preconditions:
The customer must be seated in the restaurant (See 1. Seating).
Workflow:
1. The Customer determines what they would like to order. 2. The Waitress checks in with the Customer to determine if they are ready to order. 3. The Customer gives the Waitress the needed information to create their Order. 4. The Waitress constructs the Customer’s Order. 5. The Waitress delivers a copy of the Order to the Order Bin.
Results:
The order is placed with the waitress, and a copy is in the Order Bin.
Variants:
The Customer is not ready to order when the Waitress checks in, the Waitress then returns to
check in again at a later time.
Exceptions:
N/A
3. Preparation and Serving
Name: 3. Preparation and Serving
Context: Analysis
Description:
Food is prepared in the kitchen by the cooks according to an order, and food runners take
completed meals to tables.
Preconditions:
There is at least one cook and at least one food runner.
An Order has been placed in the Order Bin (See 2. Ordering)
Workflow:
1. Cook takes and removes food Order from the Order Bin 2. Cook prepares a Meal equivalent to the Order 3. Cook puts completed Meal in Delivery Area 4. Food runner waits for there to be a Meal in the Delivery Area 5. Food runner takes the Meal to the Table 6. Food runner returns to kitchen
Results:
A customer gets the meal they ordered
Variants:
None
Exceptions:
The customer requests something different to be done with their meal; go back to step 3.
3. Preparation
and Serving
4. Eating
Name: 4. Eating
Context: Analysis
Description:
Customer(s) eats the meal they ordered and the waitress periodically checks on the customer(s)
Preconditions:
Customer has received a meal they ordered (See 3. Preparation and Serving)
Workflow:
1. Waitress checks if the Customer needs anything 2. Waitress acts on request (if any) from the Customer 3. Waitress looks for and acts on requests (raised hands) from any other Customers 4. Waitress checks on other Customers and asks if they need anything 5. Customer eats meal
Results:
Customer is finished with their Meal
Any requests from any customers gets acted on by Waitress
Variants:
None
Exceptions:
None
5.Payment
Name: 5. Payment
Description:
Payment is given for the meal received.
Preconditions:
The meal has been consumed (see Eating)
Activities:
1. The Customer requests the check from the Waitress 2. The Waitress checks her collection of checks for the correct check 3. The Waitress delivers the check to the Customer 4. The Customer presents the payment to the Waitress 5. The Waitress enters the payment into the Register and prints a receipt 6. The Waitress delivers the receipt to the Customer 7. The Customer releases the Table
Alternates:
The Customer may present payment before the bill is delivered. The Waitress may deliver the bill before the Customer requests it.
Exceptions:
The meal received was defective and a bill was not created.
Results:
The restaurant has been reimbursed for services rendered. The Customer no longer has a hold on the Table.
5. Payment
6. Table Prep
Name: Table Prep
Description:
The customer has left and the table gets prepared for later use.
Preconditions:
Payment has been received for the food (see Payment)
Activities:
1. The Busboy waits for a Customer to release their Table 2. The Busboy cleans the Table
Alternates:
None
Exceptions:
None
Results:
The table is empty and ready for the next customer. The entire transaction is complete.
Below are the RC Cards for the main actors:
Name: Busboy
Description:
The Busboy is in charge of cleaning any tables that have been released by the Customers.
State: Collaboration:
None None
Behavior: Collaboration:
Clean Table Table
6. Table Prep
Name: Customer
Description:
The Customer is generally requesting actions of the restaurant entities; it is the driving force behind the whole cycle.
State: Collaboration:
None None
Behavior: Collaboration:
Request Table Occupy Table Request Meal Consume Meal Request Check Pay Check Release Table Request Waiting Seat Release Waiting Seat
Hostess Hostess, Table Waitress, Orderbin Waitress Waitress Waitress, Register Table Waiting Area Waiting Area
Name: Cook
Description:
A Cook takes an Order from the Order Bin and uses it to prepare a Meal. When the Meal is completed, the Cook places the Meal in the Delivery Area
State: Collaboration:
Order Bin to use Delivery Area to use
Order Bin Delivery Area
Behavior: Collaboration:
Prepares Meals Places Meals in Delivery Area Take Order from Order Bin
Meal Meal, Delivery Area Order, Order Bin
Name: Hostess
Description:
A person who manages the waitress/table associations in the restaurant
State: Collaboration:
Knows collection of Tables Knows collection of Waitresses
Table Waitress
Behavior: Collaboration:
Check available tables Assign customer to table Assign waitress to table
Table Table, Customer Table, Waitress
Below are the RC Cards for the non-actor entities in the restaurant: Name: Table
Description:
The Table entity is essentially a lock that only one Customer can obtain at a time.
State: Collaboration:
Is Occupied Is Clean
None None
Behavior: Collaboration:
Occupy Release Clean
None None None
Name: Food Runner
Description:
A person who delivers the prepared Meals to the customers’ tables.
State: Collaboration:
Know Delivery Area to use Know Tables to bring Meals to
Delivery Area Table
Behavior: Collaboration:
Deliver Meal to Table Meal, Table
Name: Waitress
Description:
A person who waits on customer by taking orders, assures quality experience, and accepts payment from customers.
State: Collaboration:
Know assigned Tables Know assigned Customers Have collection of Orders from Customers Know the Kitchen and which Order Bin to use
Table Customer Order Kitchen, Order Bin
Behavior: Collaboration:
Collect order from customers Deliver order to kitchen Asses if customer has any requests Tally check for customer Accept payment from customer
Meal, Table Order, Kitchen, Order Bin Customer Check (placeholder), Customer Payment (placeholder), Customer
Name: Register
Description:
The Register holds submitted payments and is the source of change
State: Collaboration:
Money None
Behavior: Collaboration:
Submit Payment Request Change Print Receipt
None None None
Name: Delivery Area
Description:
Completed meals are placed in the Delivery Area by a Cook. Food Runners take Meals in the Delivery Area to Tables.
State: Collaboration:
Collection of Meals Meal
Behavior: Collaboration:
Add Meal Remove Meal
Meal Meal
Name: Kitchen
Description:
The Kitchen is where the Cooks prepare Meals. The Kitchen contains the Order Bin.
State: Collaboration:
Collection of Cooks One or more Order Bins
Cook Order Bin
Behavior: Collaboration:
Maintain and manage Cooks Maintain and manage Meal preparation
Cook Cook
Name: Order Bin
Description:
An Order Bin is a collection of Orders. A Waitress places an Order from a Customer into the Order Bin, and a Cook takes Orders out of the Order Bin.
State: Collaboration:
Collection of Orders Order
Behavior: Collaboration:
Add Order Remove Order
Order Order
Name: Waiting List
Description:
A queue of Customers waiting to be seated.
State: Collaboration:
Queue of 0 to N Customers Customer
Behavior: Collaboration:
Name: Meal
Description:
A food/drink item that a customer will consume
State: Collaboration:
Behavior: Collaboration:
Name: Order
Description:
A description of a Meal for a given Customer, so that a Cook can turn the Order into a Meal
State: Collaboration:
Description of a Meal Customer that the Order belongs to
Meal Customer
Behavior: Collaboration: