You are on page 1of 67

Introduction

Purpose
The purpose of this document is to show the functional and non-functional requirements specification of "6alabati" system. It also contains the use case specifications with the related sequence diagrams, state-transition diagram and screen layouts wherever applicable. This document is intended for the developers who will design, implement and test the system. And for the users of the system who are also concerned in the document to make sure that the developers have a complete and correct understanding of the system.

Scope
The objective of the project is to provide system that manages the service of food delivery through web application instead of regular ways of food delivery. The system serves two types of user: Client: The system targeted to serve the client by allowing multiple ordering actions from many enterprises items and smart location determination. Enterprises: It allows the enterprises to interact with users, receive comments and rating of the service they provide. And consists of 2 users also: o Sales man: takes orders from the system, approves them, process them. Managers: create restaurant menu, change branch address, and change menu items and prices.

Product Functions
The system contains 3 roles: customer, sales man, top manager, Branch manager, and visitor. The system allows the customer to order and ask for delivery. The system allows any restaurant to ask for a branch in the system.

The system allows the visitor to explore the system and ask him for registration when trying to use services and order. The system will provide search for restaurants and items. The system allows the top manager to maintain the menu for a series of restaurant.

User Characteristics
Name Customers "consumers " Visitor Description Primary end user of the system who uses the system to order items. End user of the system with limitation to the system. Primary End user of the system who maintains the menu, view reports, view comments and rate for many branches moreover he can black list region and add offers. Primary End user of the system who maintain the profile for a branch and view feedbacks for the branch. Primary End user of the system who maintains orders and accepts it or denies it.

Top manager

Branch manager

Sales man

2 |Page

Specific Requirements
Interface requirements
o User interface This interface enables the customer, seals man, managers to interact with the system.

MSSQL database management system interface The system will use the MsSQL database using this interface. All the data and transactions should be stored and retrieved from the database.

3 |Page

Functional Requirements Registration Register Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Register enable the visitor to register in the system Visitor is allowed to supply the application with relative information. The system is up. The visitor is now an official registered customer. The visitor does not have an account in the system. Visitor NA The visitor clicks on register Ste Action p 1 The system loads the form of registration. 2 The visitor puts in the information needed. 3 The system check validity of information supplied. 4 The customer is redirected to customers homepage. Branching Action 1 The user is informed of illegal information, like used username or irregular email format etc

SUBVARIATIONS

Create Restaurant Account Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Request enterprise edition Enable enterprises to create new account. Visitor will be able to create new account for their restaurant. The system is up The visitor is now an official registered Top manager for the restaurant Registration is not completed Visitor

4 |Page

Dependency Trigger DESCRIPTION

SUBVARIATIONS

NA Enterprise clicks on enterprise registration request Ste Action p 1 Visitor click register restaurant 4 Visitor fills registration form. Branching Action 1

1.1.1.1.
USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION

Add New Branch Usecase

Add new branch. To enable the enterprise to Add new branch to be added in the system with as a branch holding menu items Top manager will be able to create new branch for the restaurant Information should be sent through top manager account The new branch info is sent None Top Manager Click add new branch Ste Action p 1 The top manager clicks manage branches 2 The top manager clicks add new branch 3 The top manager write new branch information

5 |Page

Add New Branch SD

6 |Page

Authentication Login Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Login Enable the customer to login into the application. Enable the customer to use his profile to do operations provided by the application. Customer is on the login panel Customer has an account in the application Customer is logged in and is on the page which was last viewed Customer is not logged in and provided with a reason and supplied with a login panel Customer, Top manager NA The customer provided username and password and then clicks log me in Ste Action p 1 The system checks validity of username and password. 2 The system logs in the customer 3 The system loads the page that the customer came from Branching Action 1 The password or username were wrong, the customer is allowed to try to log in again.

SUBVARIATIONS

Logout Usecase
USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Logout Enable the user to logout from the system Enable the user to leave the system securely, e.g. user should apply username and password again to use the system. The user is already logged in User is logged out User is not logged out Customer, Top manger, Branch manager, Salesman NA

7 |Page

Trigger DESCRIPTION

SUBVARIATIONS

The user clicks on logout Ste Action p 1 The system logs out the user 2 The system redirects the user to the main page Branching Action 1 The system has not logged out the user due to instable state. The user is able to figure that logout was not performed

Menu View Menu Usecase


USE CASE # 2 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View menu Enable the customer to view the menu of a certain restaurant. Customer is allowed to view a menu of any restaurant. Customer is logged in. The Customer views the menu of a certain restaurant congaing items. There is no menu associated to this restaurant yet. Customer, Visitor, Branch Manager, Top manager. Includes View Restaurant abstract use case. The customer clicks on the menu button. Ste Action p 1 The user clicks on the menu button. 2 A menu appears to the user containing the items available. Branching Action 1 The menu is not appearing and an appropriate message will be show to the customer.

SUBVARIATIONS

8 |Page

View Menu SD

9 |Page

Add Item Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Add item Enable the top manger to add specific item The top manger can add a new item to the to existing menu The top manger of the restaurant must be logged in. The menu must be available. The item has been added to the menu correctly The menu has been updated The item hasnt been add to the menu The top manger of the restaurant Include view menu use case The top manger clicks on add item Ste Action p 1 The top manger adds the item to the menu giving it name 2 and description 3 The top manger presses the button save 4 The item added to menu Branching Action 1 2 3 The item hasnt been added correctly The system mentions the reason for that action. The top manger can go back and add the time again

SUBVARIATIONS

10 | P a g e

1.1.1.1.1. Add Item SD

Remove Item Usecase


USE CASE # Goal in Context Scope & Level Preconditions Remove item Enable the top manger to remove an item from the menu The top manger can remove an existing item from the menu The top manger of the restaurant must be logged in. The menu must be available. The item is already existing in the menu Item has been deleted successfully from the menu The menu has been updated The item hasnt been deleted correctly from the menu The top manger of the restaurant Include view menu use case The manger clicks delete item Ste Action p 1 The top manger confirms the delete by pressing yes 2 The top manger press the button save 3 The item deleted from the menu Branching Action

Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

SUBVARIATIONS

11 | P a g e

1 2 3

The item is not removing from the menu. The top manager will be informed with the reason The top manager goes back to the menu and he can delete the item again

Remove Item SD

Edit Item Usecase


USE CASE # Goal in Context Scope & Level Preconditions Edit an item Enable the top manger to Edit an item The top manger can edit the available items in the menu by change price, picture, name or description. The top manger of the restaurant must be logged in. The menu must be available. The item is already existing in the menu Item has be successfully modified The menu has been updated The item hasnt been modified The top manger of the restaurant Include view menu The top manger clicks on edit Ste Action p 1 The top manger modifies the needed entry

Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

12 | P a g e

2 3 4 SUBVARIATIONS 1 2 3

The top manger confirms the modify by pressing yes The top manger presses the button save The item has been modified in the menu Branching Action The item is not modifying. The top manager will be informed with the reason The top manager goes back to the menu and he can edit the item again

1.1.1.1.2. Edit Item SD

Rating & Commenting Comment on Restaurant Usecase


USE CASE # 3 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Comment on a restaurant. Enable The Customer to comment on a certain restaurant. User is allowed to comment on any restaurant to write his opinion. Customer is logged in. The comment has been submitted. The comment is not submitted. Customer, Top manager, branch manager Includes View Restaurant abstract use case.

13 | P a g e

Trigger DESCRIPTION

SUBVARIATIONS

The Customer clicks on add comment to this restaurant button. Ste Action p 1 The Customer fills the comment form. 2 The system validates all required fields. 3 The Customer clicks on submit button. 4 The comment is sent to the Top manager and Branch manager Branching Action 1 The comment is not submitted due to a required filed. The user will be informed with an appropriate message and will be asked to fill the required fields.

Comment on Restaurant SD

Rate Restaurant Usecase


USE CASE # 4 Goal in Context Scope & Level Preconditions Success End Condition Rate restaurant Enable the customer to rate a certain restaurant. Customer is allowed to rate any restaurant. Customer is logged in. The rate has been submitted and calculated.

14 | P a g e

Failed End Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION

The rate is not submitted. Customer. The customer clicks on rating button. Includes View Restaurant abstract use case. Ste Action p 1 The customer clicks on the rating button 2 The customer adds his rating. 3 The rating has been submitted and calculated. Branching Action 1 The customer is not allowed to rate if he rates the restaurant more than one time and an appropriate message will appear to him.

SUBVARIATIONS

Rate Restaurant SD

Like/Dislike Restaurant Usecase


USE CASE # 5 Goal in Context Scope & Level Preconditions Success End Condition Failed End Like/Dislike restaurant. Enable the customer to like/dislike a certain restaurant. Customer is allowed to like/dislike any restaurant. Customer is logged in. Your opinion has been submitted and calculated. The Opinion is not submitted.

15 | P a g e

Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION

Customer. The customer clicks on the like/dislike button. Includes View Restaurant abstract use case. Ste Action p 1 The customer clicks on the like/dislike button 2 The opinion has been submitted and calculated. Branching Action 1 The opinion is not submitted if the customer like/dislike the restaurant more than one time and an appropriate message will appear to him.

SUBVARIATIONS

Like/Dislike Restaurant SD

16 | P a g e

View Comments Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION View comments. To enable the top manager and branch manager to view comments. Enable the top manager and the branch manager to view the customer comments of the restaurant customer comment is sent to the top manager and branch manager restaurant Comments is viewed None Top manager Branch manager Click view Ste Action p 1 The managers open comments manager. 2 The managers view comments from customer Branching Action 1. Message is deleted without being viewed

SUBVARIATIONS

View Comments SD

17 | P a g e

View Rating Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION View rating. the top managers and branch manager to view their restaurants rating to enable the top managers and branch manager to view their restaurants rating biased on the customer rates no pre-condition The rating is viewed None Top manager Branch manager Click print Ste Action p 1 The top managers and branch manager clicks view rating 2 The rating is viewed Branching Action 2.a System view no rating is exist

SUBVARIATIONS

View Rate SD

18 | P a g e

Reply to Comments Usecase


USE CASE # Goal in Context Scope & Level Replay to comments. To enable the top managers and branch manager to reply the comments Enable the managers to replay the comments sent by the suctomer customer sent a comment The reply of comments is sent The reply of comments is not sent if the customer is removed from the system. Top manager Branch manager Click reply Ste Action p 1 The top managers and branch manager open comments manager 2 The top managers and branch manager view comments from customer 2. Systems send the reply message to the proper customer.

Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION

19 | P a g e

Reply to Comment SD

Locating View Customer Location Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION View customer location. To enable the Salesman to view customer location on map and context. The system will show the orders The system will send the location information to the viewer The order is shown The customer location is shown The customer location is not shown if the customer is removed from the system. Salesman Click view Step 1 2 3 location Action The orders is showed The Salesman clicks view location The location is shown

Select Location Usecase


USE CASE # Goal in Select location Customer selects his place

20 | P a g e

Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

Customer specifies the city and neighborhood to see restaurants User is logged in Restaurants that deliver to specified area are previewed No restaurants are viewed Customer NA customer wants to order Ste Action p 1 Customer selects city 2 Systems loads neighborhoods in city specified 3 Customer chooses neighborhood. 4 Customer clicks go 5 Systems manipulate restaurants and return them in a new view.

21 | P a g e

Select Location SD

Ordering
stm Order add item to Order

View ing Menu View Resturant Menu Init ial Click Checkout

Confir m Addr ess & Mobile Page

Customer main page Confi rmed

Not Con firmed suplly address and mobile

Supp lied

Fin al

Place Order Usecase


USE CASE # Place order

22 | P a g e

Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

Enable Customer to place their food order Customers choose whatever items (food) they want and ask to delivery. User is logged in and already defined a location Customer finishes the order and there is no restriction on the order. The customer order is less than the minimum charge Customer Customer click checkout Ste Action p 1 Customer selects a restaurant. 2 Customer select items 3 Repeating 1,2 if needed 4 Select the Checkbox "deliver now" 5 Customer click checkout Branching Action 1 Customer deletes an item from the cart before checking out.

SUBVARIATIONS

Place Order SD

23 | P a g e

View Order Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View order Enable the user to view their orders When the customer's order from restaurants they need to see the status of their order. Customer placed an order Customers are able to see the statues their orders Database connection failed Customer Sales man Include Check out Customer clicks view order. Ste Action p 1 Customers see a list of each order and click on one of them (click view order). 2 Status of the order is appears. 3 Customer click ok Branching Action 1 If the customers don't want to go back to the orders list they can simply click on any other links (example click at home button).

SUBVARIATIONS

24 | P a g e

View Order SD

Schedule an Order Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Schedule order Enable the customers to place an order in a specific time to be deliver Customers may need to order food but they want the order to be in any time in the future (for example the want pizza to delivered next week in 10pm) . User is logged in and has determine the location Customer finishes the order and there is no restriction on the order. The customer order is less than the minimum charge Customer Include Place order <the action upon the system that starts the use case> Ste Action p 1 Customer selects a restaurant. 2 Customer select items 3 Repeating 1,2 if needed 4 Select the Checkbox "deliver later" 5 Customer add the time and the date for the order 6 Customer click checkout Branching Action

SUBVARIATIONS

25 | P a g e

Customer deletes an item from the cart before checking out.

Schedule an Order SD

Checkout Usecase
USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Checkout Enable the customers to activate their orders When a customer checkout they will see the total cost of the order and the summery of the order before submitting their order. Customer is placing an order Customer cancel the order The customer order is less than the minimum charge customer Include Place order Customer click checkout Ste Action p 1 When the customer click check out a summery of the order is appear and the customer is asked to confirm the order

26 | P a g e

2 3 SUBVARIATIONS 1

Customer click on confirm Order is send to the restaurant Branching Action Customer is able to change single items on the checkout list before confirming

Checkout SD

Confirm Address & mobile Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Confirm address & mobile Customer should assure that these information are correct After customers finish their ordering process, they should confirm that the data that the system have about both mobile number and address are correct. customer is logged in and finished his order Order has been sent to the Salesman The order has been canceled and not taken to the Salesman Customer

27 | P a g e

Dependency Trigger DESCRIPTION

SUBVARIATIONS

Include: Checkout The customer clicked on checkout. Ste Action p 1 The customer is supplied with both mobile number and address 2 The user confirms information 3 The system completes the order 4 Salesman order queue is updated Branching Action 1 Customers information are not correct, the customer change the information and then submit changes.

Order Processing Accept Order Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION Accept Order To enable the Salesman to accept an order from customers. The order manager will provide the order information and the customer information. The accepted orders will be retained to the orders queue. The restaurant work time is opened. The order is accepted order status changed to processed the order panel shows estimated time counter The order is rejected if the Salesman click reject. Salesman the order is checked out Ste Action p 1 The order is checked out 2 The system shows new order notification to the Salesman 3 System proposes to the Salesman to enter estimated time or using default estimated time 4 The Salesman choose accept 5 The system sends the notification to the customer that the order accepted. Branching Action 1 The system proposes the Salesman to enter estimated time or using default estimated time.

SUBVARIATIONS

28 | P a g e

Accept Order SD

Decline Order Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION Decline Order To enable the Salesman to decline an order from customers. The order manager will provide the order information and the customer information. The rejected orders will be discarded to the orders history The restaurant work time is opened. The order is accepted Order status changed to processed The order panel shows estimated time counter The order is accepted if the Salesman clicks accept. Salesman the order is checked out Ste Action p 1 The order is checked out 2 The system shows new order notification to the Salesman 3 The Salesman choose reject 4 The system sends the notification to the customer that it is rejected. Branching Action

SUB-

29 | P a g e

VARIATIONS 1 The system propose the Salesman to send explain why rejection message.

Decline Order SD

View Orders Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION View order. To enable the Salesman to view an order from customers. The order manger will provide the order information and the customer information. The order will be view instantly The restaurant work time is opened. The order is viewed if the order is checked out The order is not viewed because the order is not checked out. Salesman Customer the order is checked out Ste Action p 1 The order is checked out 2 The system shows new order notification to the enterprise 3 The system shows the orders as queue

30 | P a g e

View Orders SD

Add Estimated Time Use case


USE CASE # Goal in Context Scope & Level Add estimated time Enable the restaurants to put an estimation time of order to be delivered When a Customer order form a restaurant they need to know how long will their order will take so the sells man can simply enter the estimated time of an order to be delivered Accept an order Sells man enter the time successfully Customer canceled the order Salesman Customer --Click "add estimated time " field Ste Action p 1 Edit " add estimated time " field 2 Write the time or choose the default time 3 Click ok

Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

31 | P a g e

SUBVARIATIONS 1

Branching Action Sells man can write a comment along with the estimated time to notify the user why their order is taking this long

Add Estimated Time SD

See Customer quick Profile Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION See customer quick profile To enable the Salesman to view order's customer quick profile The system shows the checked out orders. The system send the information of user the viewer The order is viewed The customer quick profile is shown None Salesman Click view profile Ste Action p 1 The orders is showed 2 The enterprise clicks view profile 3 The profile is shown

32 | P a g e

See Customer Quick Profile SD

33 | P a g e

Reporting View Report Use case


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION View report Enable the Top manager to view specific reports The Top manger can view daily, weekly, monthly and annually reporters. User must be logged in. The reports are available under the report page The wanted reports has been viewed The report not available Top manger Branch manager The manger click on view Ste Action p 1 The manger chooses specific report 2 The report has been viewed. Branching Action 1 The reports are not shown. The manager will be informed for the reason.

SUBVARIATIONS

34 | P a g e

View Report SD

35 | P a g e

Printing Print Order & location Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION Print order and location To enable the salesman to print order and location The system will provide the accepted orders. The order information will be sent to print interface. The order is accepted The order is printed if: 1- The order is accepted. 2- Printer interface send the form to printer. The order is not printed because: 1- The order is accepted. 2- Printer interface send the form to printer. Salesman Click print Ste Action p 1 The accepted orders will be showed 2 The order is printed Branching Action 1. System shows reason for why the order is not printed

SUBVARIATIONS

36 | P a g e

Print Order SD

Print Report Usecase


USE CASE # Goal in Context Scope & Level Preconditions print report printing daily, weekly, monthly and annually reporters by the manger of the restaurant The top manger can print daily, weekly, monthly and annually reporters. User must be logged in. The reports are available under the report page The report has been printed completely

Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

The report cant be printed Top manager Branch Manager Extends view report The manager clicks on print Ste Action p 1 The manger chooses specific report 2 The manger views the reports 3 The mange clicks on print 4 The report has been printed Branching Action

SUBVARIATIONS

37 | P a g e

The reports are not shown. The manager will be informed for the reason.

38 | P a g e

Customer Profile Management Edit Personal Information


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Edit personal information Enable the customers to change their current information Customers can add remove or edit their locations, personal information and favorites. Customer is logged in Change is accepted Change is not accepted (example: customer can't have less than on location) Customer --Click "setting" button Ste Action p 1 Click setting button 2 All editable items are appearing (locations, personal information, favorites and networks ...etc.) 3 Choose an item 4 Edit the item's information 5 Select save Branching Action 1 If the customer click anywhere else to navigate away form in the editing mood a message appear to notify the customer that the changes is not saved yet!

SUBVARIATIONS

39 | P a g e

Edit information SD

View Last Orders


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View last orders Enable the customer to see their current orders Allow the customer to see the status of their current transaction and see the transaction details They have an undelivered order Customers are able to see their current orders Customer has no current order Customer Salesman --Click "Current order" button Ste Action p 1 Click " current order " button 2 List of current orders appears 3 Click an order 4 See the status of the order Branching Action 1 Can always go back without seeing the status

SUBVARIATIONS

40 | P a g e

View Last Orders SD

41 | P a g e

View History Transactions Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View history transaction Enable the customer to see their previous orders Allow the customer to see the status of their previous transaction and see the transaction details Customer is logged in Customers are able to see their pervious orders There is no order made yet Customer --Click "history" button Ste Action p 1 Click "history" button 2 List of previous orders appears 3 Click an order 4 See the log of the order Branching Action 1 Can always go back without seeing the log

SUBVARIATIONS

View History SD

42 | P a g e

Add Favorite items


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Add favorite item Enable Customer to mark an item as a favorite one The customer can mark an item as favorite one if he keeps ordering the same item frequency. Customer is logged in Item is marked as favorite --Customer --Click "add favorite item" button Ste Action p 1 Click "add favorite item" button 3 Customer is ask for conformation 4 Click ok

SUBVARIATIONS

1.1.1.1.3. Add Favorite items SD


sd AddFavoriteItem

Customer addFavoriteItem()

Customer

CustomerMangment

Customer

addFavoriteItem() addFavoriteItem() ItemAdded() ItemAdded()

43 | P a g e

View Favorite items


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View favorite items Enable customers to see their favorite restaurants or food Its just like a shortcut to order. When there is a food or restaurants in their location selected as favorite then it can easily ordered The item is selected as favorite The favorite item is appeared to the customer Database connection error Customer --Click "favorite" button Ste Action p 1 Click favorite button 2 List of favorite food and restaurant shows up 3 Costumer select "back "button Branching Action 1 2 Select an item Redirect to the item.

SUBVARIATIONS

44 | P a g e

View Favorite Items SD

Restaurant Profile Management Change Location Request Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION Send change location request To enable the system to modify location of certain branch The system will shows the mail request manager The request info is sent to the admin mail. Information should be sent through top manager account Certain branch is selected New location information is sent None Top manager Click change location Ste Action p 1 The enterprise clicks manage branches 2 The enterprise clicks certain branch 3 The enterprise write new location information 4 The new location is sent to the admin mail

45 | P a g e

Change Location SD

46 | P a g e

Blacklist Region Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Black list a region Enable the restaurant to blacklist a region Some restaurants doesnt want to deliver to a certain districts for their own reason so they simply can add that districts to their black lists Top manager is logged in District is added to black list Cant black list that district (example: already in the blacklist) Top manager --Click "add to blacklist " Ste Action p 1 Click "add to blacklist " 2 Choose whither its a customer or a region 3 Click ok 4 Choose the district and click ok 5 District is added Branching Action 1 Top manager can cancel that process at any step

SUBVARIATIONS

47 | P a g e

Blacklist Region SD

48 | P a g e

Add Favorite Customer


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Add favorite Customer Enable restaurants to mark a customer as a favorite one When a customer is ordering frequently from a restaurant that restaurant can make the customer as favorite. Top manager is logged in Customer marked as a favorite --Branch Manager --Click "add favorite customer" button Ste Action p 1 Click "add favorite customer" button 2 Enter the customer id in the textbox and click ok 3 Customer information appears and ask for conformation 4 Click ok Branching Action 1 If the customer information doesnt match what the top manager looking for the top manager can go back and reenter the customer id

SUBVARIATIONS

49 | P a g e

Add Favorite Customer SD

Searching Search Usecase


USE CASE # Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION Search Customer looks for specific item, restaurant or category System performs search on items, restaurants or category depending on the keyword proposed by the customer and the search type is chosen. Customer is logged in. Search results are viewed for the customer No search results were found Customer NA Customer presses search Ste Action p 1 System searches the DB for the keyword in the category related tables. 2 System returns result to the customer in a new view

50 | P a g e

Search SD

Advanced Search Usecase


USE CASE # Goal in Context Scope & Level Adv search Allows the customer to search with more powerful search techniques. System performs advanced search on items, restaurants or category depending on the keyword proposed by the customer and the search type is chosen in addition to the advanced techniques marked. Customer is logged in Search results are viewed for the customer No search results were found Customer Extends: Search Customer presses adv. search. Ste Action p 1 System searches the DB for the keyword in the category related tables. 2 System returns result to the customer in a new view

Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION

51 | P a g e

Restaurants View Restaurant Usecase


USE CASE # 1 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION View Restaurant Enable the customer to view a restaurant from the category of restaurants. Customer is allowed to view the menu of any restaurant. Customer is logged in. The Customer views the restaurant and related information to that restaurant including the menu. There is no menu associated to this restaurant yet. Customer, Visitor. None. The customer clicks on the restaurant name or picture. Ste Action p 1 The customer clicks on the name or the picture of the restaurant. 2 A menu appears to the customer containing the items available for the chosen restaurant Branching Action 1 2 The restaurant is closed or not added yet to the system. The system is not accepting the customer order if he is not allowed to order from the desired restaurant.

SUBVARIATIONS

52 | P a g e

View Restaurant SD

View Offers
USE CASE # 6 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION View Offers Enable the customer to view the offers for a certain restaurant. Customer is allowed to view the offers of any restaurant. Customer is logged in. The customer is able to see offers related to a restaurant. There is no offer available to a certain restaurant. Customer, Visitor. The costumer clicks on the view offers button. Includes View Restaurant abstract use case. Ste Action p 1 The costumer clicks on the view offers button 2 Offers will be displayed to the user. 3 The customer can choose an offer if he is interested. Ste Branching Action p Branching Action 1 Offers are not shown if there are no existing offers for the restaurant.

EXTENSIONS

SUBVARIATIONS

53 | P a g e

View Bored Scroller Usecase


USE CASE # 8 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION View bored scroll. Enable the customer to view the bored scroll. The customer chooses a restaurant randomly from a scroll list before placing an order. Customer is logged in. The customer chooses a restaurant. The customer cannot view the bored scroll and cannot choose a restaurant from the list. Customer, Visitor. The customer chooses a restaurant randomly before placing an order from the list in the home page. None. Ste Action p 1 The customer scrolls the list. 2 The customer clicks on a restaurant randomly. 3 The restaurant is chosen and the user referred to the menu of that restaurant. Branching Action 1 2 There is no restaurant exist in the bored scroll. The customer clicks outside the list and the restaurant is not chosen.

SUBVARIATIONS

54 | P a g e

Bored Scroller SD

View Restaurant of the Day Usecase


USE CASE # 9 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION View restaurant of the day. Enable the customer to view the restaurant of the day. The customer chooses the recommended restaurant of the day based on the user rating. Customer is logged in. The restaurant is chosen and the customer views the menu of the restaurant. The restaurant is not viewed. Customer, Visitor. The user chooses the restaurant of the day from the home page. None. Ste Action p 1 The customer chooses the restaurant of the day from the home page. 2 The menu for the chosen restaurant appears and he can place an order. Ste Branching Action p Branching Action 1 There is no restaurant appearing in the home page.

EXTENSIONS

SUBVARIATIONS

55 | P a g e

Restaurant of the day SD

56 | P a g e

View Most Wanted Items Usecase


USE CASE # 10 Goal in Context Scope & Level Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger Dependency DESCRIPTION View most wanted items Enable the customer to view the most wanted and ordered items. Customer can choose the most wanted items paced on the numbers of orders related to this item. Customer is logged in. The customer views the most wanted items and can choose one of items. The customer cannot view the most wanted items and cannot choose one of it. Customer. The customer views a restaurant and view the most wanted items the menu. None. Ste Action p 1 The customer chooses a restaurant. 2 The menu of that restaurant appears to the user. 3 The customer is able to view and choose an item from the most wanted items. Branching Action 1 2 The user is not allowed to view the restaurant most wanted items. There is no most wanted items exist in the system yet

SUBVARIATIONS

57 | P a g e

View Most Wanted Item SD

Performance Requirements
All components must perform well enough to be practical for use in a web server environment under these circumstances: A high Internet connection (512 Mb and above) needed to have the desired load factor of: 0.3. The system will handle 500 processes per second at the same time. Response time for a process at maximum will be 0.05 sec

Logical Database Requirements


The database will store all the information related to the customer like (name, phone number, address, the map of his location, favorite item, and his comments). Moreover all the information that is associated with the order will be stored and can be view by the customer and the manager. The database shall store the menu, items, offers, comments, rates, favorite customers, blocked customer, blocked region, reports and orders as well as all the transactions

58 | P a g e

Design Constraints
The system will be implemented using PHP markup language. The system will be designed using Server/Client architecture. The website's user interface will be support dynamic updating.

Software System Attributes


Reliability The main time between failures (MTBF) shall be more than 8 month

Usability o The customers shall finish their order with the minimum click and less effort. The restaurants shall easily mange and trace an order with one screen for many different orders.

Availability The system should be available during the opening time of the restaurants.

Security o o The system requires user name and password for any user The password for all users shall be stored and transferred in encrypted format.

59 | P a g e

Portability The smart delivery system will be run on different operating system since it is developed using PHP language and MySQL database storge

Appendix
Usecase Diagrams Visitor

60 | P a g e

Top Manager
uc Use Case Model Enterprise Add item Add New branch include Add Offers Edit item View Menu include

include Login TopMAnager Logout include View Report include View Restaurant Print Report Delete Iitem

include change location

View Comment include blocklistRigon

Replay Comment

Branch Manager
uc Use Case Model

Block c ustomer

logout

AddFav oriteCustomer

View Menu

include

Add Annaouncment

Branch Manager

View Coment

Replay Comment include

View Report Login View Rate

Print report include

61 | P a g e

Customer

62 | P a g e

Sales man

63 | P a g e

State Machine Diagrams Visitor

64 | P a g e

Customer

Top Manager

65 | P a g e

Branch Manager

Sales Man

66 | P a g e

Class diagram
class Class Model

topManager + + + + + + AddItem() : void BlockListReg ion() : void changeLocati on() : void CreatNewBran ch() : void DeleteItem () : void EditItem() : void + + + + +

Mana ger PassWord: int Username: int PrintReport() : void ReplayComme nt() : void ViewComment() : void ViewRate() : void ViewReport() : void + +

interface topManager

branchManager AddFavoriteCustomer() : void ReplayComme nt() : void

interface branchManager

Sale sMan super scrollBar interface customer + me nu view menu() : void super Top5/mostWantedItem + + + + + + AcceptOrder() : void AddEsimatedTime() : void CancelOrde r() : void PrintOrder() : void SeeCustomerQuickProf() : void ViewOrder() : void super super Report Password: int UserName: int

super customer + + + + + + + + + + + + + + + + + + + City: int Mobile: int Name: int checkout() : void CommentOnResta urant() : void EditInformat ion() : void LikeOrDislikeRestaurant() : void PlaceOrder() : void RateRestaura nt() : void ScheduleOrd er() : void Search() : void SelectLocati on() : void ViewBoredScroll() : void ViewFavoriteItem() : void ViewHistory() : void ViewLastOrder() : void ViewMenu() : void ViewMostWantedItem() : void ViewOffers() : void ViewOrder() : void ViewRestaurant() : void ViewRestaurantOfDay() : void super customerMangment super authontication super Loca tion super FeedBack + + super Order super Sea rch super Top manger interface v isi tor Googl eMap Edit super regerstration super blacklist interface salesMan

v isitor ViewMenu() : void ViewRestaurant() : void

location City: string District : string Map_Picture: Image Number_Bulidi ng : string Room_Numbe r: String branch CITY: string -

comment Content: string date: Date time: Time Title: string Writer: string rate customer: Customer score: int

item Order Items_list: Iterm restaurant branch_list: Branch menu: string Name: string Top_Manager_ ID: string me nu Items_list: List Descriptio n: Image image: Image Name: string Price: int +

Report Content: string date: Date Duration: int generateReport() : Report

67 | P a g e

You might also like