restaurant concurrency analysistabeec/rit_441/schedule_files/... · the customer has left and the...

15
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).

Upload: others

Post on 23-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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).

Page 2: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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.

Page 3: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the
Page 4: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 5: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the
Page 6: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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.

Page 7: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

3. Preparation

and Serving

Page 8: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 9: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the
Page 10: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 11: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 12: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 13: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 14: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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

Page 15: Restaurant Concurrency Analysistabeec/RIT_441/Schedule_files/... · The customer has left and the table gets prepared for later use. Preconditions: Payment has been received for the

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: