mis 6308 project report

43
ResBuddy Online Restaurant Reservation Management System MIS 6308 Fall 2015 Project Group 2 Professor Srinivasan Raghunathan Joel Bijapurkar Manjari Raj Ming Chang Sheng Han Liu Wei Chih Chen

Upload: manjari-raj

Post on 14-Apr-2017

617 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: MIS 6308 Project Report

ResBuddy Online Restaurant Reservation Management System

MIS 6308 Fall 2015

Project Group 2

Professor Srinivasan Raghunathan

Joel Bijapurkar Manjari Raj Ming Chang Sheng Han Liu Wei Chih Chen

Page 2: MIS 6308 Project Report

P a g e 1 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Context

Executive Summary …………………………………………………………………………………………… 2

Problem Statement …………………………………………………………………………………………… 2

The Problems …………………………………………………………………………………………… 3

The Objective …………………………………………………………………………………………… 3

The Scope ………………………………………………………………………………………………… 3

Business Process Model and Notation ……………………………………………………………… 4

Context Diagram ……………………………………………………………………………………………… 10

Use Case Description ……………………………………………………………………………………… 11

Use Case Name: Register/Sign in …………………………………………………………… 12

Use Case Name: Search Restaurant ……………………………………………………… 13

Use Case Name: Select Restaurant ………………………………………………………… 14

Use Case Name: Make Reservation ……………………………………………………… 14

Use Case Name: Booking Confirmation ………………………………………………… 15

Use Case Name: Provide Reservation Details ………………………………………… 15

Use Case Name: Alert …………………………………………………………………………… 16

Use Case Name: Rating / Reviews ………………………………………………………… 16

Use Case Name: Cancel Booking …………………………………………………………… 17

Use Case Name: Fine Payment ……………………………………………………………… 18

Documentation of Use Cases …………………………………………………………………………… 19

Use case 1: Register/Sign in …………………………………………………………………… 19

Use case 2: Search Restaurant ……………………………………………………………… 19

Page 3: MIS 6308 Project Report

P a g e 2 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use case 3: Select Restaurant ………………………………………………………………… 19

Use case 4: Make Reservation ……………………………………………………………… 19

Use case 5: Booking Confirmation ………………………………………………………… 20

Use case 6: Provide Reservation Details ……………………………………………… 20

Use case 7: Alert …………………………………………………………………………………… 20

Use case 8: Rating / Reviews ………………………………………………………………… 20

Use case 9:Cancel Booking ………………………………………………………………… 20

Use case 10: Fine Payment …………………………………………………………………… 20

Class Diagram ………………………………………………………………………………………………… 21

Sequence Diagram ………………………………………………………………………………………… 21

Requirements Specification …………………………………………………………………………… 23

Interface Design ……………………………………………………………………………………………… 23

Database Design ……………………………………………………………………………………………… 32

Software Design ……………………………………………………………………………………………… 33

Method …………………………………………………………………………………………………………… 33

Method Name: Cancel Booking()…………………………………………………………… 33

Method Name: Make Reservation()………………………………………………………. 34

Method name: Analyze Preferences()…………………………………………………… 35

Method Name: Analyze Recommendation()…………………………………………… 36

Method Name: Analyze Rating()……………………………………………………………. 37

Controls …………………………………………………………………………………………………………… 38

Page 4: MIS 6308 Project Report

P a g e 3 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Executive Summary Purpose:

ResBuddy App is designed keeping time saving and ease of use in mind. ResBuddy is user friendly and

provides more convenience and enjoyable experience throughout the reservation process. We have

made a very smart and effective improvements to traditional restaurant Apps that has not yet been

implemented, including restaurant recommendation based on user’s preference and rating of a

restaurant, introducing waiting time feature, sending alert to user and checking current menu. The

result is ResBuddy App that provides many advantages over ordinary App in the market and still is just

a download away.

Methodology:

Our design process will focus mainly on two parts: catering the needs and requirements of the users

and making the experience worthwhile and enjoyable. We plan to come up with the main skeleton of

the project and then break it into smaller sub parts for actionable realization. All the designs and

processes are synchronous in nature. The interface design is projected to be highly interactive and

colorful, to keep the customer involved and engrossed. To promote ResBuddy we will team up with

companies in complimentary businesses like taxi services, catering services. The total estimated time in

having Resbuddy functional is 6 months.

Conclusion:

As Food Service Industry is become more competitive, and are increasing their standards, we believe

the ResBuddy App will become a very popular amongst the diners. ResBuddy is a right fit in the ever

growing Food Service Industry. We believe that ResBuddy will create a new wave of users who enjoy

dining experience a few clicks away. We strongly apprehend that ResBuddy will prove to be a

worthwhile and profitable investment.

Page 5: MIS 6308 Project Report

P a g e 4 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Problem Statement The Problems:

- Restaurant recommendations are vague

- Current menu is not available

- Booking availability and waiting time is not reflected

- Alerting option unavailable

The Objective:

- Recommend Restaurants from user’s chosen preference reviews there by using his choice for making new recommendation

- Allow the user to see the current available menu

- Provides the current seat availability along with the time one has to wait in order to get the placed order

- Alerts the user when their confirmed booking is approaching

The Scope:

- The estimated cost of new system should be approximately $10000

- The new system should be implemented in six month

- The development and operation should not require any additional manpower

Page 6: MIS 6308 Project Report

P a g e 5 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Business Process Model and Notation Business Process Modeling Notation (BPMN) is a method of illustrating business processes in the form of a diagram similar to a flowchart.

Page 7: MIS 6308 Project Report

P a g e 6 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 8: MIS 6308 Project Report

P a g e 7 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 9: MIS 6308 Project Report

P a g e 8 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 10: MIS 6308 Project Report

P a g e 9 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 11: MIS 6308 Project Report

P a g e 10 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 12: MIS 6308 Project Report

P a g e 11 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Context Diagram

A System Context Diagram (SCD) in software engineering and systems engineering is a diagram that defines the boundary between the system, or part of a system, and its environment, showing the entities that interact with it. The context diagram represents the interaction between the different external actors and the ResBuddy : Online Restaurant Reservation Management System.

Page 13: MIS 6308 Project Report

P a g e 12 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case Diagram

A use case diagram is a graphic depiction of the interactions among the elements of a

system. A use case is a methodology used in system analysis to identify, clarify, and

organize system requirements.

Page 14: MIS 6308 Project Report

P a g e 13 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case Description

A use case description is used to define the normal and exceptional flow of

methodologies.

Use Case: 1

Use Case Name: Register/Sign in

Primary Actor: User

Trigger: A user initiate to login the system

Relationships:

Includes:

Extends:

Normal flow of events:

1. The ResBuddy asks User if he or she would like to login as

current member, register as new member:

If the user wants to login as current member,

The S-1: Sign in subflow is performed.

If the user wants to register as new member,

The S-2: Register subflow is performed.

Subflows:

S-1:Sign in

1. The system requests that the user enter username and password.

2. The user enters username and password. 3. The system validates the entered username and password

and logs the user into the system. S-2:Register

Page 15: MIS 6308 Project Report

P a g e 14 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

1. The system requests the user to enter username, password

and user detail.

2. The system validates the entered username, password and

user detail and creates a new user record.

Exceptions:

S-1.3.a. If invalid verification then display failed authentication

message and login screen.

S-2.2.a. If invalid verification then display username already exist

message and ask user to reset username.

Page 16: MIS 6308 Project Report

P a g e 15 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 2 Use Case Name: Search Restaurant

Primary Actor: User Trigger: A user looks for restaurant to make reservation

Relationships:

Includes: Register/Sign in

Extends:

Normal flow of events:

1. The system requests for location data

2. The system display preference data based on the user’s last

selection

3. The system uses the google map to retrieve the Restaurant List

that satisfy the preference and location.

Alternative Flow

1.a. The user manually sets the location data instead of GPS data

2.a. The user manually sets the preference data.

Exception Flow

2.b. If user doesn’t have a history preference, display the

preference selection to user.

Page 17: MIS 6308 Project Report

P a g e 16 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 3 Use Case Name: Select Restaurant

Primary Actor: User Trigger: A user select a restaurant from Restaurant List

Relationships:

Includes: Search Restaurant

Extends:

Normal flow of events:

1. The system selects the Restaurant from Restaurant List

2. The system retrieves the Restaurant Details from Restaurant

DB.

3. Display Restaurant Details to the user.

Page 18: MIS 6308 Project Report

P a g e 17 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 4

Use Case Name: Make Reservation Primary Actor: User

Trigger: A user initiates make reservation based on chosen

restaurant

Relationships:

Includes: Select Restaurant

Extends:

Normal flow of events:

1. The system executes Select Restaurant use case.

2. The system retrieves Availability from the selected restaurant.

3. User choose a time slot.

4. The system executes Provide Reservation Details use case

Exceptional Flow:

3.a. If the user's preferred time slot is not available on the chosen

restaurant, the user can go back and choose a different time or

restaurant.

Page 19: MIS 6308 Project Report

P a g e 18 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 5

Use Case Name: Booking Confirmation Primary Actor: Restaurant

Trigger: Once the user submit the booking

Relationships:

Includes: Provide Reservation Details

Extends:

Normal flow of events:

1. The Restaurant feeds back Booking Confirmation based on

Reservation

2. System sends Booking Confirmation to user.

Use Case: 6

Use Case Name: Provide Reservation Details Primary Actor:

Trigger: User submit the reservation

Relationships:

Includes: Make Reservation

Extends:

Normal flow of events:

1. The system retrieves User, Restaurant, Time slot to

generate Reservation Details

2. Send Reservation Details to the Restaurant and the User

Page 20: MIS 6308 Project Report

P a g e 19 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 7

Use Case Name: Alert Primary Actor:

Trigger: Every 2 hours/1 hour before a Reservation is happening

Relationships:

Includes:

Extends:

Normal flow of events:

1. For every account, the system retrieve Reservation Details

based on User

2. When 2 hours before reservation, if not canceled, send

Reservation Alter to user.

3. When 1 hour before reservation, check Reservation status, if

not canceled, again send Reservation Alter to user.

Page 21: MIS 6308 Project Report

P a g e 20 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 8

Use Case Name: Rating / Reviews Primary Actor: User

Trigger: A user click on history reservation to rate / review the

restaurant

Relationships:

Includes:Make Reservation

Extends:

Normal flow of events:

1. The system displays the Reservation Details.

2. User select unrated / unreviewed Reservation.

3. User select rating level and enter review, and submit.

4. Verify rating level and review, if meet criteria, display success

message and rating & review record quick view.

Exception flow

4.a. Verify rating level and review, if rating is left empty, display

rating needed message.

4.b. Verify rating level and review, if review exceed limit, display

review exceed message.

Page 22: MIS 6308 Project Report

P a g e 21 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 9

Use Case Name: Cancel Booking Primary Actor: User

Trigger: A user initiates a cancellation of booking

Relationships:

Includes: Booking Confirmation

Extends:

Normal flow of events:

1. User submits a cancellation request for the confirmed

reservation

2. System sends cancellation request to restaurant

Page 23: MIS 6308 Project Report

P a g e 22 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Use Case: 10

Use Case Name: Fine Payment Primary Actor:

Trigger: The system initiate the fine payment

Relationships:

Includes:

Extends:

Normal flow of events:

1. System filters the reservation that were canceled within 45

mins from the scheduled booking or experienced user absence.

2. System executes these user with their selected payment

method.

3. System processes the payment by sending the payment details

to the payment gateway.

4. System acknowledges user and restaurant about successful

payment.

5. Restaurant receive payment

Exceptions

4a. If Payment processing fails, show failure message and return to step 2.

Page 24: MIS 6308 Project Report

P a g e 23 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Documentation of Use Cases

A set of information describing the contents, format, and structure of a database and the relationship between its elements, used to control access to and manipulation of the database.

Use case 1: Register/Sign in

Username: Data element

Password: Data element

User detail = Phone Number + Email

User record = Username + Password + User detail + Preference

Use case 2: Search Restaurant

Location: Data element

Preference = 1{Cuisine Type}15 + #people

Cuisine Type = Cafeteria + Dinners + Delis +Bakeries +Barbeque + Mexican + Greek + Thai + American +

Burger + Turkish + Italian + French + Seafood + Japanese + Indian + Chinese +Vietnamese

Price level = [$|$$|$$$|$$$$]

Restaurant = Restaurant Name + Cuisine Type + Price level + Address + Operation Hour + (Dress Code)

Restaurant List = 1{Restaurant + Distance} 15

Use case 3: Select Restaurant

Restaurant Details = Restaurant + Menu + AvgRating + ReviewTag + 0{Rating & Reviews Record}

Use case 4: Make Reservation

Time =

[0|0:30|1|1:30|2|2:30|3|3:30|4|4:30|5|5:30|6|6:30|7|7:30|8|8:30|9|9:30|10|10:30|11|11:30|12

|12:30|13|13:30|14|14:30|15|15:30|16|1:30|17|17:30|18|18:30|19|19:30|20|20:30|21|21:30|22

|22:30|23|23:30]

Page 25: MIS 6308 Project Report

P a g e 24 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Date =

[1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31]

Month =

[January|February|March|April|May|June|July|August|September|October|November|December]

Table Size= [2|4|6|more]

Availability = {Time + Table Size + Table Number}

Time slot = {Month + Date + Time}

Use case 5: Booking Confirmation

Result = [Accepted | Rejected]

Booking Confirmation = Reservation Details + Result

Use case 6: Provide Reservation Details

Reservation Details = Username + Phone Number + #people + Restaurant + Time slot

Use case 7: Alert

Reservation Alert = Reservation Details + (1 hour alert) + (2 hours alert)

Use case 8: Rating / Reviews

Rating level = [1|2|3|4|5]

Rating & Reviews Record = Rating + Reviews + Username + Restaurant Name

Use case 9:Cancel Booking

Cancellation = Reservation Details + Cancel Time

Use case 10: Fine Payment

Payment Details = First Name + Last Name + Card# + Expire Date + Security Code

Payment Method = [Credit Card|Debit Card|Paypal]

Page 26: MIS 6308 Project Report

P a g e 25 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Class Diagram

A class diagram is an illustration of the relationships and source code dependencies

among classes in the Unified Modeling Language (UML). In this context, a class defines

the methods and variables in an object, which is a specific entity in a program or the

unit of code representing that entity.

Sequence Diagram

A Sequence diagram is an interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart.

Page 27: MIS 6308 Project Report

P a g e 26 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

A sequence diagram shows object interactions arranged in time sequence.

Page 28: MIS 6308 Project Report

P a g e 27 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Requirements Specification

A requirement specification is a formal document used to describe in detail for software developers a product's intended capabilities, appearance, and interactions with users.

1. As a user, I want to filter restaurant depending on the location of my choice, so that my restaurant booking option is not limited to my current location.

2. As a user, I want to filter restaurant depending on my food preference, so that I receive only a

list of restaurants offering my choice of food.

3. As a user, I want to view the reviews of more frequent visitors on the top, so that if I find a common choice of preference and find the review justified. I would like to try other restaurants the reviewer might have tried.

4. As a user, while making a booking I want to know the average wait time.

5. As a user, I want to receive an alert 2 hour and 1 hour before my scheduled booking so that I

can plan and act accordingly.

6. As a user, I want to avail the booking cancellation option in case of last minute change in plan. The cancellation facility might aid the user looking for instant booking.

Interface Design

User Interface Design is the design of websites, computers, appliances, machines, mobile communication devices, and software applications with the focus on the user’s experience and interaction. The goal of user interface design is to make the user’s interaction as simple and efficient as possible, in terms of accomplishing user goals—what is often called user-centered design.

Page 29: MIS 6308 Project Report

P a g e 28 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 30: MIS 6308 Project Report

P a g e 29 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 31: MIS 6308 Project Report

P a g e 30 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 32: MIS 6308 Project Report

P a g e 31 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 33: MIS 6308 Project Report

P a g e 32 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 34: MIS 6308 Project Report

P a g e 33 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 35: MIS 6308 Project Report

P a g e 34 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 36: MIS 6308 Project Report

P a g e 35 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Page 37: MIS 6308 Project Report

P a g e 36 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Database Design

Database design is the process of producing a detailed data model of a database. This data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a data definition language, which can then be used to create a database.

Page 38: MIS 6308 Project Report

P a g e 37 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Software Design

A software design methodology can be structured as comprising of the software

design process component and the software design representation or diagrammatic

component. The process component is based on the basic principles established in the

methodolog y while the representation component is the "blueprint" from which the

code for the software will be built.

Method

Method Name: Cancel Booking()

Class Name: Reservation

Clients (Consumers): Restaurant

Associated Use Cases: Cancel Booking

Description of Responsibilities: To cancel the booking for previous confirmed reservation

Arguments Received: The booking details for the confirmed reservation

Type of Value Returned: Boolean (true/false)

Pre-Conditions:

The user should have created at least one reservation

ResBuddy must have confirmed the reservation

The user hasn’t cancelled the reservation

The user should have valid a login ID

Post-Conditions:

The reservation is cancelled and the cancellation confirmation is generated.

Pseudo Code:

Get reservation details

send the cancellation request to the respective restaurant

get cancellation confirmation from the restaurant

update the reservation status in the database

display the cancel confirmation

End

Page 39: MIS 6308 Project Report

P a g e 38 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Method Name: Make Reservation ()

Class Name: Reservation

Clients (Consumers): Restaurant

Associated Use Cases: Make Reservation

Description of Responsibilities: To create a reservation for the user

Arguments Received: restaurant ID, user ID, number of people and time slot

Type of Value Returned: VarChar2

Pre-Conditions:

Customer should already be signed-in or should register

Minimum details to proceed with the restaurant booking should be available

Post-Conditions: Booking Confirmation is generated

Pseudo Code:

Validate user

Receive location detail set by the user

Generate a list of restaurants based on the user’s preference and location.

Receive user’s choice of restaurant.

Request for menu and provide it to the user

Request for availability and provide it to the user

Accept the user’s booking

End

Page 40: MIS 6308 Project Report

P a g e 39 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Method name: Analyze Preferences()

Class name: Analyze

Clients: Analyze Recommendation

Associated use cases: Search Restaurant

Description of responsibilities: To analyze customer preferences. Find trending cuisines.

Arguments received: The preference settings of a customer and the customer details

Type of Value Returned: Void

Pre-Conditions:

Users must have set preferences.

User should have a valid login ID

Post-Conditions: Update database with generated patterns

Pseudo Code:

Get customer data

Repeat for each customer

Get preference data

Repeat for each preference

Get cuisine id

Increase count

End

End

Update cuisine ranks in database.

End

Page 41: MIS 6308 Project Report

P a g e 40 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Method Name: Analyze Recommendation ()

Class Name: Analyze

Clients (Consumers): Diner

Associated Use Cases: Rating/Reviews, Search Restaurant

Description of Responsibilities:To generate recommended restaurant for user

Arguments Received: The user preference restaurant available in the Restaurant DB

Type of Value Returned: Varchar2

Pre-Conditions:

User should have set at least one preference in ResBuddy.

User should have a valid login ID.

Analyze Ratings method should have been executed.

Post-Conditions:

Different restaurants are recommended to the user based on their preference

Pseudo Code:

Read the User Preference.

Get the location (GPS or User specified).

Get the list of restaurants from Google Map

Filter restaurants based on Preference.

Display the restaurant details based on their average rating in descending order.

End

Page 42: MIS 6308 Project Report

P a g e 41 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Method Name: Analyze Rating()

Class Name: Analyze

Clients (Consumers): Analyze Recommendation Associated Use Cases: Rating / Reviews Description of Responsibilities: To calculate average ratings for a restaurant.

Arguments Received: The restaurant ratings from previous customers of the restaurant Type of Value Returned: Void Pre-Conditions:

Restaurant should have at least one rating and review

User should have valid login ID

Post-Conditions: Average rating of the restaurant is updated in the database.

Pseudo Code:

For each new review

Retrieve the restaurant ID Get review rating

Recalculate restaurant average rating using the new rating

Update average rating

End

Page 43: MIS 6308 Project Report

P a g e 42 | 42

MIS 6308

ResBuddy : Online Restaurant Reservation Management System

Controls

Activities involved in ensuring a process are predictable, stable, and consistently

operating at the target level of performance with only normal variation.

1. In case of no show or if a confirmed booking is cancelled less than 45 minutes prior the scheduled booking, flat cancellation charges shall be deducted.

2. Each user can make a maximum of 3 reservations per day and 10 reservations per profile.

3. The reported waiting time would be weighted with median number and average waiting time of the restaurant.

4. A user will only be able to rate and submit reviews for the restaurants they have visited and each visit will have only one review.

5. In case if the restaurant cancels any prior booking then the restaurant should inform the users.

6. In case there is a fine associated with the user’s account, till the time we don’t receive a payment confirmation from the bank, the user’s account stands suspended.