Milestone 3 for project for online food ordering system
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: 3 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.