01 235191 089
01 235191 089
Introduction 1
Purpose 1
Scope 1
Overall Description 2
Product Perspective 2
Operating Environment 2
Design and Implementation Constraints 3
Requirement Identifying Technique 3
Use Case Diagram 3
Use Case Description 6
Functional Requirements 25
Non-Functional Requirements 38
1.1.1 Usability 38
1.1.2 Flexibility 39
1.1.3 Performance 39
1.1.4 Access Security 40
References 40
This SRS document provides an overview of the process of requirements analysis and the specific
requirements of the product to be developed. This document aims to lay a solid foundation for
developing the right product which is the need of the market.
This document will describe the functionality that is required by the stakeholders; consumers and
businesses, in case of ShopInsight app. This document will outline the specific requirements in
technical terms, which need to be fulfilled in the proposed system, such that it proves to be valuable
to both businesses and consumers alike.
1.1 Purpose
The product under discussion is the ShopInsight application which aims to provide a unified
platform for connecting businesses and consumers. Our application incentivizes the consumers by
keeping them up-to-date on the up and coming discount offers and promotions being introduced
by their favorite brands and products available in their vicinity and interest.
At the same time, we provide a simplified and efficient advertising platform to businesses to
promote their offerings with targeting based on the collected users’ data. This platform aims to
provide an alternative to social media marketing but with much more conversion rate and
optimized costs.
1.2 Scope
The objective of the proposed system is to offer a multi-platform application software that will
facilitate two types of users; consumers and businesses.
The consumers can choose to sign up to the application by selecting their interests, categories,
location and favorite brands. They can also choose to subscribe to certain interests, categories, or
their favorite brands to get notified about the discount offers pertaining to the selected interests.
The app will provide an easy-to-use and intuitive interface to consumers to interact with our
systems from multiple platforms. The consumers can choose to filter out the offers based on
interests, categories, and location radius around their live location. Additionally, the consumers
can leave reviews and ratings to businesses and the promotions offered by them.
The proposed system aims to facilitate the businesses by offering a business partner panel that can
be accessed from a web browser. The business partner panel will allow the business
representatives to access our system from a business perspective. This will allow them to register
In addition, there will be an admin panel which will allow moderators and superusers to access all
the businesses on the platform and manage their discount promotions.
2. Overall Description
The ShopInsight software application aims to connect businesses to consumers and can be
classified as a B2C application. It can be considered a replacement for an existing application
GoLootLo but with a lot more features and functionalities.
Although, the GoLootLo app has adopted a good marketing strategy by offering exclusive discount
offers to consumers but it does not have the capacity to be valuable to consumers or businesses.
The main reason for that is because they are not collecting data from their users; users can not sign
up and tweak the options to their interest.
Thus, the ShopInsight application can prove to be a tough competitor to the aforementioned system
but with a lot more useful features than just a plain and boring advertisement listing that is provided
by GoLootLo.
The consumer-facing application will be able to operate on the mobile and desktop platforms. OE-
1.1: The mobile application will operate correctly and be fully functional on Android 5.0+ and
iOS 10.1+.
OE-1.2: The web application will operate correctly on the following web browsers; Chrome
version 42 and higher, Opera version 29 and higher, Microsoft Edge build 14 and later, Firefox
version 39 and above, and Safari version 10.1 and higher.
OE-2.1: The business partner panel will be accessible from a desktop web browser, and the
browser compatibility will be the same as consumer-facing application.
● We have chosen Python programming language as the main backend language which will
allow us to implement data analytics and reporting features in a shorter amount of time as
compared to other programming languages, due to availability of helper libraries.
● The business partner panel can not be effectively designed and fully implemented for
mobile-based platforms due to being data-centric, intricate, and business-critical.
We have used Use Case as the requirement identifying technique for our application. We elicit
requirements by analyzing the use cases of our application and how it will help the users to resolve
the problem they are facing or the action that they want to perform. The use case diagrams for the
proposed system are illustrated below.
Below is an overview of the use-case model that is applicable for our proposed system. This
includes a list of names and brief descriptions of all use cases and actors, along with applicable
relationships.
Postconditions: POST-1: After a successful signup they are passed to the login screen.
Normal Flow: 1.0: Sign up from homepage
1. Click Signup button
2. Fill Form on sign up Screen
3. Press “sign up” action button
4. He got notification about the status of his/her request.
Alternative
Flows: 1.1 Already have an account
1. User opens the app
2. User determines that he does not have an account and clicks on “Sign up”
button.
3. Upon submitting the form, he is shown a message with a button; the message
says “It looks like the e-mail address is already registered. would you like to
log in?”.
4. User selects “Yes”.
5. Return to step 3 of normal flow.
Exceptions:
1.0. E1 User enters an email address that is not registered.
1. The user is informed that the e-mail address is not registered, along with a
button to go to the “Sign up” screen.
2a. If the user does not go to sign up screen, then the use case is restarted.
2b. Else if the user decides to sign up with the e-mail address, the use case is
terminated.
Business Rules
BR-1: The email address should be valid and correctly formatted.
BR-2: The password must be at least 6 characters long.
Alternative -
Flows:
Exceptions:
1.0. E1 User selects “Detect location” but Location Services are off.
1. The user is asked to enable the location services automatically, or try again
after enabling location services.
2a. If the user selects to turn on location services automatically, the use case
resumes at step 7 of normal flow.
Business Rules
BR-1: The user must specify his location; either automatically or manually.
BR-2: The user must select at least 5 interests.
BR-3: The user must select at least 5 categories.
BR-4: The user must make a valid selection at each step of the wizard to go to
next step.
Alternative -
Flows:
Exceptions:
1.0. E1 User selects “Detect location” but Location Services are off.
1. The user is asked to enable the location services automatically, or try again
after enabling location services.
2a. If the user selects to turn on location services automatically, the use case
resumes at step 6 of normal flow.
2b. Else if the user decides to cancel, the use case resumes at step 5 of normal
flow.
Business Rules
BR-1: The user must specify his location; either automatically or manually.
BR-2: The user must select at least 5 interests.
BR-3: The user must select at least 5 categories.
BR-4: The user must make a valid selection in each section of the preferences
page.
Alternative -
Flows:
Exceptions:
1.0. E1 User leaves a required field empty while updating.
1. The user is shown an error message related to the field in which the error
occurred.
2. After clicking OK on the error message, the use case is resumed at step 5 of
normal flow.
Business Rules
BR-1: The user must specify his first name.
BR-2: The user must specify his last name.
BR-3: The user must specify a valid e-mail address.
BR-4: The user must specify a valid phone number.
Normal Flow:
1.0 Update user password after logging in.
1. User opens the app.
2. User logs in to his account if he is not already logged in. (Include UC 1.1)
3. User clicks on his Profile dropdown menu.
4. User selects the Change password option.
5. User enters his old password.
6. User enters his new password.
7. User confirms his new password by entering it again.
8. User clicks on the Update Password button.
Alternative -
Flows:
Exceptions:
1.0. E1 User leaves a required field empty while updating.
1. The user is shown an error message related to the field in which the error
occurred.
2. After clicking OK on the error message, the use case is resumed at step 5 of
normal flow.
1.0 E2 The password confirmation field does not match the new password
field.
1. The user is shown an error message that the two passwords he entered do
not match.
2. User clicks OK to close the error message, the use case is resumed at step 7
of normal flow.
Business Rules
BR-1: The user must enter his correct current password.
BR-2: The new password must be at least 6 characters long.
BR-3: The new password and confirm password fields must match.
Normal Flow:
1.0 Recover password by clicking on “Forgot password”
1. User opens the app.
2. User clicks on the “Login” button to be redirected to the login page.
3. User determines that he does not remember the password.
4. User clicks on the “Forgot password” link.
5. User is redirected to a page with a form.
6. User enters his e-mail address.
7. User receives an e-mail with instructions to recover the password.
8. User clicks on the link in the e-mail in order to verify the ownership of his
account.
9. User is redirected to the Password Reset page.
10. User enters his new password.
11. User confirms his new password by entering it again.
12. User clicks on the Update Password button.
1.0 E2 The password confirmation field does not match the new password
field.
1. The user is shown an error message that the two passwords he entered do
not match.
2. User clicks OK to close the error message, the use case is resumed at step
11 of normal flow.
Business Rules
BR-1: The recovery email address must be registered already.
BR-2: The new password must be at least 6 characters long.
BR-3: The new password and confirm password fields must match.
Normal Flow:
1.0 View featured listings on dashboard
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. Under the first section named “Featured”, users are shown featured listings
which have been sponsored by advertisers.
Alternative -
Flows:
Business Rules
BR-1: The featured listings must be shown to the user in a non-intrusive way.
Normal Flow:
1.0 View featured listings on dashboard
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. Under the second section named “Recommended for you”, users are shown
personalized listings which are chosen based on user’s interest.
Alternative -
Flows:
Exceptions: -
Business Rules -
Postconditions: POST-1: User has been shown filtered listings successfully according to
selected filters.
Normal Flow:
1.0 View filtered listings on the search results page.
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. On top of the page, the user clicks on the filter icon, and a modal dialog is
presented.
5. The user selects location from the modal dialog; either manually or
automatically using location services.
6. The user selects a radius in which he wants to search listings. Default is 5km.
7. The user may choose to disable location filter.
8. The user can choose interests on the base of which to filter the listings.
9. The user may choose to disable the interest filter.
10. The user can choose categories on the base of which to filter the listings.
11. The user may choose to disable the category filter.
12. The user can optionally enter keywords to search.
13. The user clicks on filter listings.
14. The modal dialog is closed and the user is shown the filtered listings.
Alternative -
Flows:
Exceptions: 1.0 E1: User fails to select at least 1 filter.
1. The user is shown a feedback message to select at least 1 filter.
2. The use case is resumed from step 5 of the normal flow.
Business Rules
BR-1: At least 1 filter must be selected on whose basis to filter the listings.
Normal Flow:
1.0 Post comment on a listing
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. User selects a random listing either from the recommended or featured
section.
5. User scrolls down to the bottom of the page where there are two options.
“Post a comment”, and “Post a review”.
6. The user selects post a comment option and a modal dialog is displayed.
7. The user enters the comment text.
8. User clicks on the “Post” button.
9. The user is shown a feedback message and his comment is posted
successfully.
Alternative -
Flows:
Exceptions: 1.0 E1: User does not enter at least 10 characters in comment text.
1. The user is shown a feedback message to enter at least 10 characters.
2. The use case is resumed from step 6 of the normal flow.
Business Rules
BR-1: The comment text must contain at least 10 characters.
Normal Flow:
1.0 Post comment on a listing
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. User selects a random listing either from the recommended or featured
section.
5. User scrolls down to the bottom of the page where there are two options.
“Post a comment”, and “Post a review”.
6. The user selects post a review option and a modal dialog is displayed.
7. The user enters the review text.
8. The user rates the number of stars out of 5 for the offer.
8. User clicks on the “Post” button.
9. The user is shown a feedback message and his review is posted successfully.
Alternative -
Flows:
Exceptions: 1.0 E1: User does not enter at least 50 characters in review text.
1. The user is shown a feedback message to enter at least 50 characters.
2. The use case is resumed from step 6 of the normal flow.
1.0 E2: User does not select a star rating for the review.
1. The user is shown a feedback message to select a star rating.
2. The use case is resumed from step 6 of the normal flow.
Business Rules
BR-1: The review text must contain at least 50 characters.
BR-2: The review star rating must be selected.
Normal Flow:
1.0 Add listing to favorites
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. User selects a random listing either from the recommended or featured
section.
5. User selects the heart icon with the label “Add to favorites”, and the user is
shown a passive feedback message indicating that the listing was added to
favorites successfully.
Alternative -
Flows:
Exceptions: -
Business Rules -
Postconditions: POST-1: The listing is shown a list of listings that he has previously favorited.
Normal Flow:
1.0 Add listing to favorites.
1. User opens the app.
2. User logs in to the app if he is not already logged in.
3. User is navigated to his personalized dashboard.
4. User selects a random listing either from the recommended or featured
section.
5. User selects the heart icon with the label “Add to favorites”, and the user is
shown a passive feedback message indicating that the listing was added to
favorites successfully.
Alternative -
Flows:
Exceptions: -
Business Rules -
Postconditions: POST-1: The user’s business partner account is created and he is able to access
the business partner panel successfully.
Normal Flow:
1.0 Create a business partner account from homepage.
1. User navigates to the ShopInsight homepage.
Postconditions: POST-1: The user has successfully logged in and redirected to the dashboard
of the business partner panel.
Normal Flow:
1.0 Log in to business partner account from business partner panel.
1. User navigates to the ShopInsight Business Partner subdomain.
2. User selects the “Login” option.
3. User is redirected to the login page of the business partner panel.
4. User enters his email address.
6. User enters his password.
7. User clicks on the “Login” button.
8. User is redirected to the Business partner panel dashboard.
Alternative 1.1 Log in to the business partner panel from ShopInsight homepage.
Flows: 1. A user navigates to the ShopInsight homepage.
2. User scrolls down to the For business section.
3. The user selects become a business partner button.
4. The use case is resumed from step 1 of the normal flow.
Exceptions: 1.0 E1: The user leaves a field empty.
1. The user is shown a feedback message that the field was left empty.
2. The use case resumes from step 3 of the normal flow.
Normal Flow:
1.0 Update business information.
1. User navigates to the ShopInsight Business Partner subdomain.
2. User logs in to his account if he is not already logged in.
3. User is redirected to the Business partner panel dashboard.
4. User navigates to the Manage business page.
5. User updates the business title.
6. User updates the business display picture.
7. User updates the business description.
8. User updates the services / products offered by the business.
6. User clicks on “Save”
8. The business information is saved successfully.
Alternative -
Flows:
Exceptions: 1.0 E1: The user fails to fill in a field that is required.
1. The user is shown a feedback message highlighting the error message.
2. The use case is resumed from step 5 of the normal flow.
Normal Flow:
1.0 Add a new listing
1. User navigates to the ShopInsight Business Partner subdomain.
2. User logs in to his account if he is not already logged in.
3. User is redirected to the Business partner panel dashboard.
4. User navigates to the Manage listings page.
5. User navigates to the “Add new listing” page.
6. User enters a title for the listing.
7. User enters a description of the listing.
8. User adds a display picture of the listing.
9. User enters the discount attributes of the listing. (I.e. Flat 20% off; Up to
50% off)
10. User enters the start date of the offer.
11. User enters the end date of the offer.
12. User enters terms & conditions for availing the offer.
13. User clicks on “Save” and the listing is saved successfully.
Alternative -
Flows:
Exceptions: 1.0 E1: The user fails to enter the required information about the listing.
1. The user is shown a feedback message that the required information was
skipped.
2. The use case is resumed from step 6 of the normal flow.
Table 8: Sign up FR
Identifier FR – 01
Title Sign Up
Requirement Consumers and business partners would need to sign up for creating
their accounts, and become normal user of system.
Source Application
Restrictions and Risk Users may enter the wrong verification email/phone number.
Dependencies None
Table 9: Sign in FR
Identifier FR – 02
Title Sign In
Requirement Consumers need to sign in for picking interests and getting notified about
discounts and sales. Business partners need to sign in for uploading ads
and digitally advertise their products.
Source Application
Dependencies FR-01
Priority High
Identifier FR – 03
Source Application
None
Restrictions and
Risk
Dependencies FR-02
Priority Moderate
Identifier FR – 04
Requirement Business partners can upload ads for digitally advertise their products.
Source Application
Users may pick the wrong brand location while uploading ads.
Restrictions and
Risk
Priority High
Identifier FR – 05
None
Restrictions and
Risk
Priority Moderate
Table 13:brand bane filter FR
Identifier FR – 06
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 07
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 08
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 09
Requirement Consumers and business partners can change their password when they
forget it.
Rationale To let users to use system even they forget their password
None
Restrictions and
Risk
Dependencies FR-01
Priority High
Identifier FR – 10
Source Application
Rationale To let users make the system authentic by adding reviews on each ad.
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 11
Source Application
None
Restrictions and
Risk
Priority High
Identifier FR – 12
Source Application
None
Restrictions and
Risk
Priority High
Identifier FR – 13
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 14
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 15
Source Application
None
Restrictions and
Risk
Priority Moderate
Identifier FR – 16
Requirement Consumers and Business partners can pick favourites among sales and
brands
Source Application
None
Restrictions and
Risk
Identifier FR – 17
Source Application
None
Restrictions and
Risk
Priority High
Identifier FR – 18
Title Comments
Source Application
Priority High
Identifier FR – 19
Requirement Consumers can set categories in which he want to see ads or sales
Source Application
None
Restrictions and
Risk
Priority High
Identifier FR – 20
Source Application
None
Restrictions and
Risk
Dependencies none
Priority High
Identifier FR – 21
Source Application
None
Restrictions and
Risk
Dependencies FR-20
Priority High
Identifier FR – 22
Source Application
None
Restrictions and
Risk
Dependencies None
Priority Moderate
Identifier FR – 23
Source Application
None
Restrictions and
Risk
Dependencies None
Identifier FR – 24
Source Application
None
Restrictions and
Risk
Dependencies None
Priority High
5. Non-Functional Requirements
1.1.1 Usability
Title
Usability
1.1.2 Flexibility
Identifier NFR2
Title
Flexibility
1.1.3 Performance
Identifier NFR3
Identifier NFR4
Title
Access Security
Requirement System should be safeguard against deliberate and
intrusive faults from internal and external sources.
There will be complete security which will help to
avoid the loss of any kind of organization’s or
user’s data.
6. References
[1] https://golootlo.pk/blog/
[2] https://www.cuponation.de/
[3] https://designthinking.ideo.com/
[4] https://hbr.org/2018/09/why-design-thinking-works