Specification
Version 1.0
Submission Date: 11/28/2015
Monmouth University
Department of CS & SE
Table of Contents
1 INTRODUCTION
1.1
1.2
1.3
1.4
1.5
PURPOSE
SCOPE
GLOSSARY OF TERMS
REFERENCES
Overview
2
2
2
3
3
2 OVERALL DESCRIPTION
4
5
3 SPECIFIC REQUIREMENTS
6
6
6
7
7
8
8
9
10
11
11
11
12
12
12
13
14
4 SUPPORTING INFORMATION
14
Revision History
Date
Version
Description
Authors
11/22/2015
1.0.0
11/25/2015
1.0.1
11/28/2015
1.0.2
1 Introduction
1.1 Purpose
The purpose of this document is to outline a detailed functional requirements description of the
Food Advisor application. The document will cover the high level objectives, features and
functionalities of the application to be built, how the system will achieve its intended overall
objectives, how it will react to various user interactions, and the external interfaces required to
support normal system operations. This document takes into consideration the viewpoints of both
the system developers as well as the stakeholders involved in the system.
1.2 Scope
This software product will offer users the option to conveniently find/search restaurants based on
their personal food/taste preferences, within New Jersey state. The system will be designed to
enable users to enjoy an improved dining experience, by offering custom restaurant
recommendations as per users personal food preference choices, reducing customer
disappointment and enhancing overall customer satisfaction. The system shall be built to serve as
an online-based mobile and desktop application
Search Attributes
System parameters that are used to customize
restaurant search results as per user
preference selection.
1.4 References
Template Use Case-Based SRS.doc
Food Advisor App Use Case- v1.0
Food Advisor Vision Document- version 1.0
1.5 Overview
The rest of this document outlines the overall system description with detailed description of
high level functional requirements aimed for the purpose of facilitating product development.
2 Overall Description
2.1 Use-Case Model Survey
Figure 2.1 below describes all the involved actors and their interactions with the Food Advisor
system. The Use Cases depict the key system functionalities supported by the Food Advisor
application. A detailed description of all the Use-Case scenarios has been provided in the Food
Advisor Use Case Specification Document; version 1.0
Figure 2.1: A high level Use Case Diagram of the Food Advisor Application.
3 Specific Requirements
3.1
Use-Case Reports
The system shall prompt the user to register or login to the food advisor app.
3.1.1.3 The system shall request the user to choose the type of user they wish to be.
3.1.1.4 The system shall request the user to set up user name and password.
3.1.1.5 The system shall verify if the username and password are available and valid.
3.1.1.6
If the user details are not available/incorrect, the system shall display an error and
requests to try.
3.1.1.7
3.1.1.8
Once all details are confirmed by the user, the system shall now request user to type in
code provided to them through a text sent on their phone.
3.1.1.9
The system shall send a confirmation email to the user after authentication and shall
display account creation success message on screen.
3.1.2.9 The system shall request user to make an initial restaurant subscription payment.
3.1.2.10 The system shall use the authentication gateway to clear user payment.
3.1.2.11 Once the payment has been received, the system shall send the user a confirmation mail
and displays successful registration message.
3.1.4.3 If the username or password is incorrect, the system shall request user to try again or
choose the resend login details option.
3.1.4.4 After successful login attempt, the user shall choose activities option from home screen.
3.1.4.5 The system shall now show options that the admin can perform.
3.1.4.6 The admin can choose to view system records.
3.1.4.7 The system allows the admin to sort and display records as needed.
3.1.4.8 The system provides option to print or download these records as shown.
3.1.6.5 The system shall calculate and display the overall cost of subscription, including service
charges, and taxes.
3.1.6.6 The system shall prompt the user to enter the payment details then receives the unique
cart number and allows user to confirm the purchase.
3.1.6.7 The system shall give the details about purchasing process made by the customer and
the details of the taxes involved with the cost.
3.1.6.8 If the card details or paypal details are incorrect, the payment gets declined and
system shall advise the user to enter the correct details.
3.1.6.9 If there are insufficient funds in their bank account the system shall decline the
purchase.
3.1.6.10 The system shall send a confirmation email/text message to the user with specific
details of the purchase made.
3.1.7.2.2 If no search results are returned for the users search preference profile, the system
shall display an error message: ERR3.1.7.
3.1.7.2.3 The system shall allow the user to specify the choice to "Specify/Refine User
Preferences (see 3.1.8 below).
3.1.7.2.4 The system shall allow the user to specify their choice to Generate Default
Recommendations (see 3.1.9 below).
The system shall allow the user to opt for a default restaurant recommendations
choice.
3.1.9.2 The system shall prepare a search query based on current restaurant ratings along with a
weighted priority listing (specified in section 1.3) to generate a default list of
restaurants.
10
3.1.9.3
The system shall execute the prepared search query to generate default list of restaurant
recommendations.
3.1.9.4 The system shall display the returned results in the order of highest to lowest user
rating.
3.1.9.5 If the search result has no results, the system shall throw an error: ERR3.1.9.
3.1.10 Check-in
3.1.10.1 The system shall allow a registered user the option to tag their friends from social media
sites (facebook, and twitter) with a restaurant entry of their choice.
3.1.10.2 The system shall allow the user to input a text comment (not exceeding 50 characters)
along with the check-in.
3.1.10.3 The system shall prompt the user to confirm the check-in operation.
3.1.10.4 The system shall display a confirmation message to the user of the check-in status.
3.1.10.5 The system shall register the users check-in status.
3.1.10.6 The system shall allow the user to make their check-in status either public or private.
3.1.11Rate a Restaurant
3.1.11.1 The system shall allow the user to give their rating (not mandatory) to a particular
restaurant of their choice on a scale of 1 to 5.
3.1.11.2 On choosing Submit option the system shall make the user rating public for other users
to see.
3.1.11.3 The system shall allow the user to cancel the rating before submission.
11
3.1.12.3 If the restaurant search returns no results, the system shall display error code:
ERR3.1.12.
3.1.12.4 The system shall provide a submission option (possibly with a submit button) to enter
the user's review comments.
3.1.12.5 The system shall allow the comment to be displayed to all users only in read-only view,
once its submitted and screened (see Req 11.1.1).
3.1.12.6 The system shall display the timestamp and commenter's name at the top of the
published review comment.
12
3.1.14.9 The system shall only allow the restaurant owners to add/modify photos/videos in their
restaurant profile.
3.1.14.10
The system shall display a confirmation message when the file is uploaded into
The system shall allow the user to set the visibility status of the uploaded
4 Supporting Information
13
The table below shows a list of error codes used by the system and their corresponding
descriptions.
Error Code
Description
ERR3.1.12
ERR3.1.15
text
Character limit exceeds maximum limit of
ERR3.1.14
ERR3.1.7
ERR3.1.9
200
File format not supported
No restaurants match the user search criteria.
No restaurants recommendations can be
populated with the current system search
query.
14