Milestone 3 for project for online food ordering system

profilenilex370
group05_121072_10353724_Online-Food-Ordering_21.docx

2

Online Food Ordering

System

System Proposal Report

Grade: 70/100

Group - 5Sija Nepal, 1001732745

Sanju Nepal, 1001731590

Sita Rana Magar, 1001748816

Subhadra Paudel, 1001756766

Sarbani Tuladhar, 1001669

2208-INSY-5341-001-ANALYSIS-AND-DESIGN-FALL-2020

TABLE OF CONTENTS

TOPIC                                                                                               PAGE NO.

1.  Activity Diagram ............................................................................................................... 3 

2.  Use Cases Diagram ............................................................................................................ 4 

3.  Use Cases Description ....................................................................................................... 5-11

A. Create Account .............................................................................................................. 5

B. Login ................................................................................................................................ 6

C. Create Order .................................................................................................................. 7

D. Review Order ................................................................................................................. 8

E. Order Payment ............................................................................................................... 9

F. Delivery Information …................................................................................................ 10

G. Create and Update Menu............................................................................................. 11

4.  Initial Class Diagrams …..................................................................................................... 12 

5.  Sequence Diagrams …...................................................................................................... 13-17

A. Login .......................................................................................................................... 13

B. Create Account .......................................................................................................... 14

C. Update Account ......................................................................................................... 14

D. Create Menu .............................................................................................................. 15

E. Update Menu ............................................................................................................ 15

F. Add to Cart ............................................................................................................... 16

G. Edit Cart .................................................................................................................... 16

H. Place Order ............................................................................................................... 17

1. Activity Diagram

When customer visit our site, the new customer can create new account, the old customer can directly sign in, look at the menu, create order, make a payment, and get it delivered.

2. Use Case Diagram

Here, we have designed the function of our system, and tried to show how it works using use case diagram. We have created 7 use cases for the system. They are as follows: Comment by Sikora, Riyaz: You mention 7 use cases but only list 5 below. You also show 8 and not 7 use cases in the use case diagram.

· Login

· Create Order

· Review Order

· Order Payment

· Delivery Information

Comment by Sikora, Riyaz: Activities related to Maintain & Update Menu use case are not shown in the activity diagram.

3. Use Case Description : Comment by Sikora, Riyaz: Use Case Description for Provide Customer Information use case is missing.

A. Create New Account Comment by Sikora, Riyaz: There is no use case called “Create Account” mentioned in the Include relationships. A use case cannot have an include relationship with itself.

Use-Case Name: Create new account                     ID: 1           Importance level: High

Primary Actor: Customer                                       User Case Type: Detail, Essential

Stakeholders and Interest:

Customer wants to create an account 

Brief Description:

This use case describes how customer creates an account with valid contact information

Trigger: 

A customer will create an account with username and password.

Type:

External

Relationships:

          Association: Customer

Include: Create account, provide customer information Comment by Sikora, Riyaz: A call to Provide Customer Information use case should be included in the Normal Flow of Events.

Generalization:

Normal Flow of Events:

1. Customers create an account with either email or phone no.

2. Customer provides delivery address.

3. Customers can save their card information.

Sub flows:

Alternate / Exceptional flows:

If invalid information is entered, then error will occur.

B. Login

Use-Case Name: Login                           ID: 2                           Importance level: High

Primary Actor: Customer                      Use-Case Type: Detail, Essential

Stakeholders and Interest:

Customer: wants to access menu and make an order 

Brief Description:

This use case describes how the user can login as customer and get access to menu

Trigger:

The customer clicks on the “login” button

Type:

External

Relationships:

          Association: Customer

          Include : Create Account   Comment by Sikora, Riyaz: There is an include relationship with Create Order shown on the use case diagram. Comment by Sikora, Riyaz: There is no include relationship between Login and Create Account shown on the use case diagram.

          Extend:

Generalization:

Normal Flow of Events:

1. The customer clicks on the “login” button on the Home page.

2. The customer enters their login username and password.

3. The customer is verified with correct login information.

4. After successful login, the customer arrives at the page of the menu list.

5. The customer can click the logout button to log out from their account.

Sub flows:

S-1: login as customer

The customer sees a screen showing the menu of the restaurant .

Alternate / Exceptional flows:

1.  Incorrect username and password.

2.  Retry username and password option.

3.  The customer arrives at the home page to retry.

C. Create Order

Use-Case Name: Create an order                      ID:                Importance level: High

Primary Actor: Customer                                Use-Case Type: Detail, Essential

Stakeholders and Interest:

Customer: wants to create a new order 

Brief Description:

Trigger:

The user clicks on the “add item” button

Type:

External

Relationships:

          Association: 

          Include :  Comment by Sikora, Riyaz: There is an include relationship with Review Order shown on the use case diagram.

          Extend:

Generalization:

Normal Flow of Events:

1. The customer has access to the menu system.

2. The customer clicks on the add item button beside the food item in the menu list to choose the food they want, and the food item is secured in the shopping cart.

3. The customer can go to the shopping cart page after the order is created.

4. The customer can modify their order like adding and removing food items or any additional changes in the shopping cart.

5. The customer then clicks on “checkout cart”.

Sub flows:

Alternate / Exceptional flows:

1.  Incomplete information.

2.  The Customer will see an error.

3. The Customer will return to shopping cart page and continue completing the information. 

D. Review Order

Use-Case Name: Review order                        ID: 4               Importance level: High

Primary Actor: Customer                               Use-Case Type: Detail, Essential

Stakeholders and Interest:

Customer: wants to ensure the order is placed correctly with the right address.

Brief Description:

This use case describes how customers can review their order and confirm the delivery address.

Trigger:

Customer clicks on the “checkout cart” button.

Type:

External

Relationships:

          Association: Customer

          Include: Review order Comment by Sikora, Riyaz: A use case cannot have an include relationship with itself. There is an include with Make a Payment use case shown on the use case diagram.

          Extend:

Generalization:

Normal Flow of Events:

1. The customer will review the order they created.

2. The customer can still go back and make changes to their order.

3. The customer provides an address for delivery or can choose the one that exists in file.

4. The customer can add special delivery instructions.

5. The customer clicks on the place order button which takes them to the order payment page.

Sub flows:

Alternate / Exceptional flows:

1.  If the customer has an incomplete address filled.

2. The customer will see a page showing errors.

3. The customer is required to return to the delivery information section to fill the correct address.

E. Make Payment

Use-Case Name: Make a payment                          ID: 5           Importance level: High

Primary Actor: Customer                                      Use-Case Type: Detail, Essential

Stakeholders and Interest:

Customer

Brief Description:

This use case describes how the customer makes a payment to pay for their order.

Trigger:

The customer presses the “Place Order” button.

Type:

External

Relationships:

          Association: Customer

          Include: Make a payment Comment by Sikora, Riyaz: A use case cannot have an include relationship with itself. There is an include relationship with Order and Delivery Confirmation shown on the use case diagram.

          Extend: 

Generalization:

Normal Flow of Events:

1. The customer can use the payment options they saved previously while creating their account.

2. The customer can choose different cards for payment.

Sub flows:

None

Alternate / Exceptional flows:

1.  If incorrect or incomplete card information is filled.

2. The customer will see a page showing errors.

3. The customer is required to return to the “order payment” page and fill in correct information.

F. Delivery Information

Use-Case Name: Order and Delivery confirmation     ID: 6 Importance level: High

Primary Actor: Customer, Restaurant, Driver             User Case Type: Detail, Essential

Stakeholders and Interest:

Customer: to get the confirmation notification of the order

Restaurant: to fulfill customer order

Driver: to deliver food

Brief Description: 

This use case describes the order confirmation that the customer gets, how the restaurant receives the food order, and the driver delivers food to the designated address.

Trigger:

The customer clicks the “make the payment” option. 

The restaurant and the driver get notified.

Type:

External

Relationships:

          Association: Customer, Restaurant, Driver

          Include: Order and Delivery Information Comment by Sikora, Riyaz: A use case cannot have an include relationship with itself.

          Extend:

Generalization:

Normal Flow of Events:

1. After finalizing the order and information and making the payment, the customer will click the “make a payment” button and the person will get the order confirmation email or message.

2. The restaurant will be notified about the order as well as the driver.

3. The customer will receive an email or message regarding any update of the order status and delivery.

Sub flows:

1. Once the order is ready, the driver heads towards the delivery address.

2. The restaurant will provide the estimated time of delivery to the customer.

Alternate / Exceptional flows:

1. If street hazards like traffic is on way than the customer will be notified about delay.

2. The customer will get notified if any order cannot be fulfilled or any special demand cannot be fulfilled.

G. Create and Update Menu

Use-Case Name: Maintain and Update menu     ID: 7               Importance level: High

Primary Actor: IT Department /Admin                      User Case Type: Detail, Essential

Stakeholders and Interest:

IT Department: to access the app system to check if the app functions correctly without any technical error and to create and update menu lists in the app.

Brief Description:

This use case describes how the IT department creates the menu list and how the changes in the menu or the whole system are dealt.

Trigger:

IT people will access the system.

Type:

External

Relationships:

          Association: IT Department

          Include: Create menu and Update menu Comment by Sikora, Riyaz: These include relationships are not shown on the use case diagram.

          Extend:     

Generalization:

Normal Flow of Events:

1. The IT Department will access the system in order to check if it functions correctly.

2. The IT Department will update the menu as per the need of the restaurant.

3. The IT Department will provide solutions for any technological difficulties that occur while accessing the application.

Sub flows:

Alternate / Exceptional flows:

4. Class Diagram

In our Initial Class Diagram, we have created 5 classes for our system known as Customer Class, Admin Class, Shopping Cart Class, Checkout Class, and Menu List Class. All these classes have their own functions.

5. Sequence Diagram

In the sequence diagram, it shows the interactions of objects arranged in time series and the series of messages exchanged between objects required to carry out the functionality of the scenario.

A. Login:

B. Create Account:

C. Update Account Comment by Sikora, Riyaz: There is no such use case in the use case diagram.

D. Create menu : Comment by Sikora, Riyaz: There is no such use case in the use case diagram.

E. Update menu : Comment by Sikora, Riyaz: There is no such use case in the use case diagram.

F. Add to Cart Comment by Sikora, Riyaz: There is no such use case in the use case diagram.

G. Edit Cart : Comment by Sikora, Riyaz: There is no such use case in the use case diagram.

H. Place Order Comment by Sikora, Riyaz: There is no such use case in the use case diagram.