mis 6308 project report
TRANSCRIPT
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
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
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
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.
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
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.
P a g e 6 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 7 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 8 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 9 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 10 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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
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.
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]
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]
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.
P a g e 26 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
A sequence diagram shows object interactions arranged in time sequence.
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.
P a g e 28 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 29 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 30 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 31 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 32 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 33 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 34 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
P a g e 35 | 42
MIS 6308
ResBuddy : Online Restaurant Reservation Management System
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.
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
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
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
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
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
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.