Professional Documents
Culture Documents
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
SUBVARIATIONS
4 |Page
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. 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
6 |Page
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
SUBVARIATIONS
8 |Page
View Menu SD
9 |Page
SUBVARIATIONS
10 | P a g e
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
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
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
14 | P a g e
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
15 | P a g e
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
SUBVARIATIONS
View Comments SD
17 | P a g e
SUBVARIATIONS
View Rate SD
18 | P a g e
Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Trigger DESCRIPTION
19 | P a g e
Reply to Comment SD
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
Supp lied
Fin al
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
SUBVARIATIONS
24 | P a g e
View Order SD
SUBVARIATIONS
25 | P a g e
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
27 | P a g e
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.
SUBVARIATIONS
28 | P a g e
Accept Order SD
SUB-
29 | P a g e
VARIATIONS 1 The system propose the Salesman to send explain why rejection message.
Decline Order SD
30 | P a g e
View Orders SD
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
32 | P a g e
33 | P a g e
SUBVARIATIONS
34 | P a g e
View Report SD
35 | P a g e
SUBVARIATIONS
36 | P a g e
Print Order SD
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
SUBVARIATIONS
39 | P a g e
Edit information SD
SUBVARIATIONS
40 | P a g e
41 | P a g e
SUBVARIATIONS
View History SD
42 | P a g e
SUBVARIATIONS
Customer addFavoriteItem()
Customer
CustomerMangment
Customer
43 | P a g e
SUBVARIATIONS
44 | P a g e
45 | P a g e
Change Location SD
46 | P a g e
SUBVARIATIONS
47 | P a g e
Blacklist Region SD
48 | P a g e
SUBVARIATIONS
49 | P a g e
50 | P a g e
Search SD
Preconditions Success End Condition Failed End Condition Primary, Secondary Actors Dependency Trigger DESCRIPTION
51 | P a g e
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
SUBVARIATIONS
54 | P a g e
Bored Scroller SD
EXTENSIONS
SUBVARIATIONS
55 | P a g e
56 | P a g e
SUBVARIATIONS
57 | P a g e
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
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.
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
Replay Comment
Branch Manager
uc Use Case Model
Block c ustomer
logout
AddFav oriteCustomer
View Menu
include
Add Annaouncment
Branch Manager
View Coment
61 | P a g e
Customer
62 | P a g e
Sales man
63 | P a g e
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
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
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 +
67 | P a g e