0% found this document useful (0 votes)
113 views

01 235191 089

This document provides an overview and requirements for the ShopInsight mobile application. It includes an introduction describing the purpose and scope, an overall description of the product and operating environment, and requirement identification using use case diagrams and descriptions. The document outlines functional and non-functional requirements. Key features for consumers include creating an account, logging in, viewing offers and leaving reviews. Businesses can register, send targeted ads, and view analytics. The application will be available on mobile and web with specific browser and OS requirements. Python was selected for the backend to enable data analytics.

Uploaded by

atif mehmood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views

01 235191 089

This document provides an overview and requirements for the ShopInsight mobile application. It includes an introduction describing the purpose and scope, an overall description of the product and operating environment, and requirement identification using use case diagrams and descriptions. The document outlines functional and non-functional requirements. Key features for consumers include creating an account, logging in, viewing offers and leaving reviews. Businesses can register, send targeted ads, and view analytics. The application will be available on mobile and web with specific browser and OS requirements. Python was selected for the backend to enable data analytics.

Uploaded by

atif mehmood
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Table of Contents

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

ATIF MEHMOOD BS-IT 01-235191-089


1. Introduction

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

ATIF MEHMOOD BSIT-089 01-235191-089


their business outlets on our system. After registering, the businesses can respond to the queries /
reviews posted by consumers on their offers to gain the trust of consumers. In addition, the
businesses can perform analytics on the data points that are available from our users and send
targeted advertisements to the consumers. I.e. A business can choose to send a notification to “All
users in 10km vicinity of our outlets who are interested in burgers” for a flat per-user rate cost.

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

2.1 Product Perspective

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.

2.2 Operating Environment

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.

ATIF MEHMOOD BSIT-089 01-235191-089


2.3 Design and Implementation Constraints

● 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.

3. Requirement Identifying Technique

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.

3.1 Use Case Diagram

ATIF MEHMOOD BSIT-089 01-235191-089


ATIF MEHMOOD BSIT-089 01-235191-089
ATIF MEHMOOD BSIT-089 01-235191-089
3.2 Use Case Description

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.

Table 1: Textual Description of Create an account.

Use Case ID: UC-1.1


Use Case Name: Create a user account
Actors: Actor: Consumers
Description: Consumers must have an account on our system. So at very first they must
create an account in order to use the system.
Trigger: Start the software/App
Preconditions: PRE-1: User must have the internet.
PRE-1: User must not have an account already

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.

Exceptions: 1. Internet connectivity lost


2. Leave any Field empty
3. The E-mail address is already registered
4. The password is too weak

Table 2: Textual Description of Login to user account.

Use Case ID: UC-1.2


Use Case Name: Login to user account
Actors:
Primary Actor: Consumer
Description: Consumers might want to be logged in to access data that is relevant to them
on our system
Trigger: User opens the app.

ATIF MEHMOOD BSIT-089 01-235191-089


Preconditions: PRE-1: User must be logged out
PRE-2: User must have an account already
PRE-3: User must have an active internet connection
Postconditions: POST-1. User is logged in to his / her account.
Normal Flow:
1.0 Log in to user account
1. User opens the app.
2. User determines that he already has an account and clicks the “Log in”
button.
3. User enters his e-mail address.
4. User enters his password.
5. User clicks on the “Continue” button.
6. User is redirected to his personalized dashboard indicating a successful
action.

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.

1.0. E2 User enters wrong password


1. User is informed that they entered the wrong password, along with a button
to go to the “Forgot password” screen.
2a. If the user decides to recover his password, then this use case is terminated.
2b. Else if the user cancels the prompt to recover his password, the use case is
restarted.

Business Rules
BR-1: The email address should be valid and correctly formatted.
BR-2: The password must be at least 6 characters long.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 3: Textual Description of Set up a user preferences

Use Case ID: UC-1.3


Use Case Name: Set up a user preferences
Actors:
Primary Actor: Consumer
Description: After signing up, the consumer needs to provide some information about his
area of interests.
Trigger: User creates an account.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: User’s preferences, interests and other information is saved.


POST-2: User is redirected to his personalized dashboard.
Normal Flow:
1.0 Set up preferences after signing up
1. User opens the app.
2. User creates an account. (Include UC 1.2)
3. User is redirected to a preferences setup wizard.
4. User is asked to select his / her city and neighborhood, along with a button
to “Detect location”.
5. User selects his city.
6. User selects his neighborhood.
7. User clicks next.
8. A searchable list of interests is shown to the user.
9. User selects at least 5 interests.
10. User clicks next.
11. User is shown a searchable list of categories.
12. User selects at least 5 categories.
13. User clicks next.
14. User is shown a list of business outlets.
15. User can select any number of outlets that he is interested in.
16. User clicks next.
17. User is asked if he / she would like to receive notifications.
18. User selects his preference and clicks Finish.

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.

ATIF MEHMOOD BSIT-089 01-235191-089


2b. Else if the user decides to cancel, the use case resumes at step 4 of normal
flow.

1.0. E2 User selects less than 5 interests.


1. User is informed that he needs to select at least 5 interests, and the use case
is resumed at step 8 of normal flow.

1.0. E2 User selects less than 5 categories.


1. User is informed that he needs to select at least 5 categories, and the use case
is resumed at step 11 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.

Table 4: Textual Description of Update user preferences

Use Case ID: UC-1.4


Use Case Name: Update user preferences
Actors:
Primary Actor: Consumer
Description: At any time after logging in to the app, the user might want to make changes
to his preferences and settings. For this purpose the user can go to his profile
preferences.
Trigger: User wants to make changes to his preferences and settings.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.
PRE-3: User must have completed the profile set up wizard at least once.
Postconditions: POST-1: User’s preferences, interests and other information is updated.
POST-2: User is redirected to his personalized dashboard.
Normal Flow:
1.0 Update user preferences
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 Preferences

ATIF MEHMOOD BSIT-089 01-235191-089


5. User updates his location under the “Location” section, either automatically
using the “Detect location” button or manually by selecting city and
neighborhood.
6. User selects / deselects the interests from the list in the “Interests” section.
7. User selects / deselects the categories from the list in the “Categories”
section.
8. User toggles the “Receive notifications” option.
9. User clicks save.

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.

1.0. E2 User selects less than 5 interests.


1. User is informed that he needs to select at least 5 interests, and the use case
is resumed at step 6 of normal flow.

1.0. E2 User selects less than 5 categories.


1. User is informed that he needs to select at least 5 categories, and the use case
is resumed 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 in each section of the preferences
page.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 5: Textual Description of Update user profile

Use Case ID: UC-1.5


Use Case Name: Update user profile
Actors:
Primary Actor: User
Description: At any time after logging in to the app, the user might want to make changes
to his profile. For this purpose the user can go to his profile settings.
Trigger: User wants to make changes to his profile.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.
PRE-3: User must have completed the profile set up wizard at least once.
Postconditions: POST-1: User’s profile information is updated.
POST-2: User is shown a feedback message that his profile was updated.
Normal Flow:
1.0 Update user profile 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 Profile Settings.
5. User updates his first name.
6. User updates his last name.
7. User updates his e-mail address.
8. User updates his phone number.
9. User clicks on save..

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.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 6: Textual Description of Update user password

Use Case ID: UC-1.6


Use Case Name: Update user password
Actors:
Primary Actor: User
Description: At any time after logging in to the app, the user might want to change his
password for security purposes.
Trigger: User wants to change his password
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: User’s password is updated successfully.


POST-2: User is shown a feedback message that his password was updated.

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.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 7: Textual Description of Recover user password

Use Case ID: UC-1.7


Use Case Name: Recover user password
Actors:
Primary Actor: User
Description: The user might have forgotten his password and wants to recover it, this use-
case allows the user to recover his forgotten password.
Trigger: User has forgotten his password and wants to recover it.
Preconditions: PRE-1: User must already have an account.
PRE-2: The e-mail address for which the user wants to change the password
must belong to the user.
Postconditions: POST-1: User’s password is recovered successfully.
POST-2: User is shown a feedback message that his password was updated.

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.

Alternative 1.1 Recover password after incorrect login


Flows: 1. User opens the app.
2. User clicks on the “Login” button to be redirected to the login page.
3. User enters his e-mail address.
4. User enters his password.
5. User clicks on the “Continue” button.
6. The user is shown an error message that his password was incorrect.
7. The user determines to recover his password and click on “Forgot
password”.
8. The use-case resumes from step 5 of normal flow.
Exceptions:
1.0. E1 User leaves a required field empty while updating.

ATIF MEHMOOD BSIT-089 01-235191-089


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 10
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
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.

Table 8: Textual Description of View Featured Listings

Use Case ID: UC-1.8


Use Case Name: View featured listings
Actors:
Primary Actor: User
Description: The user can log in to view the featured listings which have been sponsored by
advertisers.
Trigger: User wants to view listings
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: User has been shown featured listings successfully.

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:

ATIF MEHMOOD BSIT-089 01-235191-089


Exceptions: -

Business Rules
BR-1: The featured listings must be shown to the user in a non-intrusive way.

Table 9: Textual Description of View Personalized Listings

Use Case ID: UC-1.9


Use Case Name: View personalized listings
Actors:
Primary Actor: Consumer
Description: The user can log in to view personalized listings which are chosen based on
the user's interest and location.
Trigger: User wants to view listings
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: User has been shown personalized listings successfully.

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 -

Table 10: Textual Description of Filter / Search listings

Use Case ID: UC-1.10


Use Case Name: Filter listings by parameters
Actors:
Primary Actor: Consumer
Description: The user must be able to view filtered listings based on selected search
parameters.

ATIF MEHMOOD BSIT-089 01-235191-089


Trigger: User wants to filter listings
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

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.

Table 11: Textual Description of Post comment / query on listing

Use Case ID: UC-1.11


Use Case Name: Post a comment / query on listing
Actors:
Primary Actor: Consumer
Description: The users must be able to post comments or query on a listing to clear their
doubts or other’s doubts in case of a confusion.
Trigger: A user wants to post a comment / query on a listing.

ATIF MEHMOOD BSIT-089 01-235191-089


Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: The user’s comment is posted successfully.

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.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 12: Textual Description of Post review on listing

Use Case ID: UC-1.12


Use Case Name: Post a review on listing
Actors:
Primary Actor: Consumer
Description: The users must be able to post their reviews related to a listing if they have
availed the offer.
Trigger: A user availed an offer in a listing and wants to share his experience with
others.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.
PRE-3: User must have availed the offer.
Postconditions: POST-1: The user’s review is posted successfully.

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.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 13: Textual Description of Add listing to favorites

Use Case ID: UC-1.13


Use Case Name: Add listing to favorites
Actors:
Primary Actor: Consumer
Description: The users must be able to save listings for easy access at a later time. For this
purpose, users are offered an option to add a listing to favorites.
Trigger: A user wants to save a listing for easy access at a later time.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

Postconditions: POST-1: The listing is added to his favorites successfully.

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 -

Table 14: Textual Description of View favorite listings

Use Case ID: UC-1.14


Use Case Name: View favorite listings
Actors:
Primary Actor: Consumer
Description: The users must be able to view the listings that he has previously saved for
viewing at a later time.
Trigger: A user wants to view a listing that he has previously saved for viewing later.

ATIF MEHMOOD BSIT-089 01-235191-089


Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

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 -

Table 15: Textual Description of Create business partner account

Use Case ID: UC-1.15


Use Case Name: Create business partner account
Actors:
Primary Actor: Business Partner Secondary Actor: Admin
Description: The users must be able create an account as a business partner to claim and
manage their business.
Trigger: A user wants to register and manage their businesses on our platform.
Preconditions: PRE-1: User must already have an account.
PRE-2: User must be logged in.

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.

ATIF MEHMOOD BSIT-089 01-235191-089


2. User scrolls down at the bottom of the homepage to the “For Businesses”
section.
3. User selects the “Become a business partner” button.
4. User is redirected to the Business Partner panel to the sign up page.
5. User enters his name.
6. User enters his phone number.
7. User enters his e-mail address.
8. User enters the description of his business.
9. User enters a brief description of why he wants to become a business partner.
10. User clicks on “Submit request”.
11. The request is received by the admin and the admin verifies the user’s
request.
12. Admin approves the request and sets up access to the business partner to
the business partner panel.
13. User is emailed details of his access credentials of the business partner
panel.

Alternative 1.1 Become a business partner to claim a business


Flows: 1. A user is viewing listings on our platform.
2. The user comes across a listing that belongs to his business.
3. The user opens the listing.
4. The user chooses to view more details about the business.
5. On the business detail page, the user is shown an option to “Claim this
business”.
6. Upon clicking this option, the use case resumes from step 4 of the normal
flow.
Exceptions: 1.0 E1: The user leaves a field empty or fails to satisfy constraints of a field.
1. The user is shown a feedback message that the field was left empty.
2. The use case resumes from step 4 of the normal flow.

Business Rules BR-1: All fields are required and mandatory.


BR-2: Valid contact details must be submitted.
BR-3: “Business description” field must be at least 100 characters.
BR-4: “Why do you want to become a business parnter” field must be at least
250 characters.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 16: Textual Description of Login to Business partner account

Use Case ID: UC-1.16


Use Case Name: Login to business partner account
Actors:
Primary Actor: Business Partner, Admin
Description: The users must be able to log in to the business partner panel to manage their
business.
Trigger: A user wants to access the business partner panel.
Preconditions: PRE-1: The user must already have an account on the business partner panel.

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.

1.0 E2: The user enters incorrect credentials.


1. The user is shown a feedback message that the credentials were incorrect.
2. The use case resumes from step 3 of the normal flow.
Business Rules BR-1: The email and password fields must not be empty.
BR-2: The user must enter correct credentials.
BR-3: The user’s account must be approved by an admin to access the business
partner panel.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 18: Textual Description of Manage my Business

Use Case ID: UC-1.18


Use Case Name: Manage my business
Actors:
Primary Actor: Business Partner, Admin
Description: The business partners are able to manage the business information which is
shown to the consumer end of the application.
Trigger: A business partner wants to update the business information which is shown
to the consumer end of the application.
Preconditions: PRE-1: The user must have an account on the business partner panel.
PRE-2: The user must be logged in to the business partner panel already.
PRE-3: The user has registered a business in the business partner panel at the
time of sign up.
Postconditions: POST-1: The user has successfully updated the business information which is
shown in the consumer end of the application.

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.

Business Rules BR-1: The business title should be at least 4 characters.


BR-2: The business display picture is optional.
BR-3: The business description should be at least 50 characters.
BR-4: The products / services offered by the business must not be left empty.

ATIF MEHMOOD BSIT-089 01-235191-089


Table 19: Textual Description of Add new listing

Use Case ID: UC-1.20


Use Case Name: Add a listing
Actors:
Primary Actor: Business Partner
Description: The business partners must be able to add a new listing to our platform.
Trigger: A business partner wants to register a new outlet under his business.
Preconditions: PRE-1: The user must have an account on the business partner panel.
PRE-2: The user must be logged in to the business partner panel already.
PRE-3: The user has registered a business in the business partner panel at the
time of sign up.
Postconditions: POST-1: The user has successfully created and posted a listing on our platform.

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.

Business Rules BR-1: All mandatory fields must be filled in appropriately.

ATIF MEHMOOD BSIT-089 01-235191-089


4. Functional Requirements

Functional requirements of our system are listed below in tabular form.

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

Rationale 1. To let users notify.

2. To let users, add an ad..

Restrictions and Risk Users may enter the wrong verification email/phone number.

Dependencies None

ATIF MEHMOOD BSIT-089 01-235191-089


Priority High

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

Rationale 1. To let users to pick interests


2. To let users get notified.
3. To let user to upload ads

Users may enter the wrong username or password.


Restrictions and
Risk

Dependencies FR-01

Priority High

Table 10: Select Consumers interests FR

Identifier FR – 03

Title Picking Interests

Requirement Consumers need to pick or select interested brands.

Source Application

ATIF MEHMOOD BSIT-089 01-235191-089


Rationale 1. To let users pick or select brands of their choices.
2. To let users mark any brand strictly not interested.

None
Restrictions and
Risk

Dependencies FR-02

Priority Moderate

Table 11: Upload Sales Ads FR

Identifier FR – 04

Title Upload Ads

Requirement Business partners can upload ads for digitally advertise their products.

Source Application

Rationale 1. To let users to upload ads


2. To let users bind specific locations with ads.

Users may pick the wrong brand location while uploading ads.
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 12:location filter FR

Identifier FR – 05

Title filter by location

Requirement Consumers can see ads based on location

ATIF MEHMOOD BSIT-089 01-235191-089


Source Application

Rationale To let consumers location filters.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate
Table 13:brand bane filter FR

Identifier FR – 06

Title filter by brand name

Requirement Consumers see ads based on brand names

Source Application

Rationale To let consumers apply brand name filter.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 14:product name filter FR

Identifier FR – 07

Title filter by product name

Requirement Consumers see ads based on product name

Source Application

ATIF MEHMOOD BSIT-089 01-235191-089


Rationale To let consumers apply product name filter.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 15:discount rate filter FR

Identifier FR – 08

Title filter by set discount rate

Requirement Consumers see ads based on discount rate

Source Application

Rationale To let consumers apply a discount based filter .

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 16:forget password FR

Identifier FR – 09

Title Forget password

Requirement Consumers and business partners can change their password when they
forget it.

ATIF MEHMOOD BSIT-089 01-235191-089


Source Application

Rationale To let users to use system even they forget their password

None
Restrictions and
Risk

Dependencies FR-01

Priority High

Table 17: give reviews on sales FR

Identifier FR – 10

Title Add Reviews on Sale

Requirement Consumers can add their reviews on sale ads.

Source Application

Rationale To let users make the system authentic by adding reviews on each ad.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 18: delete sales ads FR

Identifier FR – 11

Title Delete ads

ATIF MEHMOOD BSIT-089 01-235191-089


Requirement Business partners can delete sale ads.

Source Application

Rationale To let users to delete old or false ads

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 19: edit sales ads FR

Identifier FR – 12

Title Edit ads

Requirement Business partners can edit sale ads.

Source Application

Rationale To let users make the system authentic by editing ads

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 20: change account settings FR

Identifier FR – 13

ATIF MEHMOOD BSIT-089 01-235191-089


Title Change Account Settings

Requirement Consumers and Business partners can edit their profiles.

Source Application

Rationale To let users to change account settings

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 21: Delete selected brands FR

Identifier FR – 14

Title Delete interests

Requirement Consumers can delete already interested marked brands.

Source Application

Rationale To let users delete brands from their interests list.

None
Restrictions and
Risk

Dependencies FR-01, FR-02, FR-03

Priority Moderate

ATIF MEHMOOD BSIT-089 01-235191-089


Table 22: Change App theme FR

Identifier FR – 15

Title Change App Theme

Requirement Consumers and Business partners can change App Theme

Source Application

Rationale To let users change the outlook of the system.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority Moderate

Table 23: Add to favorites FR

Identifier FR – 16

Title Add to favourite

Requirement Consumers and Business partners can pick favourites among sales and
brands

Source Application

Rationale To let users save their favourite sales or brands

None
Restrictions and
Risk

Dependencies FR-01, FR-02

ATIF MEHMOOD BSIT-089 01-235191-089


Priority Moderate

Table 24: See timelines of brands FR

Identifier FR – 17

Title See timeline of brands

Requirement Consumers can see timelines of brands

Source Application

Rationale To let users see timelines of some brands

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 25: Do comments FR

Identifier FR – 18

Title Comments

Requirement Consumers and business partner can posts comments on posts

Source Application

Rationale To let users posts live comments on brands posts

ATIF MEHMOOD BSIT-089 01-235191-089


None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 26: select categories FR

Identifier FR – 19

Title Select categories

Requirement Consumers can set categories in which he want to see ads or sales

Source Application

Rationale To let users select categories, like food, shoes, wears.

None
Restrictions and
Risk

Dependencies FR-01, FR-02

Priority High

Table 27: select scrappers FR

Identifier FR – 20

Title Select Scrapper

ATIF MEHMOOD BSIT-089 01-235191-089


Requirement admin can set a scrapper and run it.

Source Application

Rationale To let admins to select scrappers multiple or single

None
Restrictions and
Risk

Dependencies none

Priority High

Table 28: schedule scrappers FR

Identifier FR – 21

Title Schedule scrapper

Requirement admin can schedule one or more selected scrappers.

Source Application

Rationale To let admins to schedule scrappers.

None
Restrictions and
Risk

Dependencies FR-20

Priority High

ATIF MEHMOOD BSIT-089 01-235191-089


Table 29: Add new scrapper FR

Identifier FR – 22

Title Add new Scrapper

Requirement admin can Add new Scrapper

Source Application

Rationale To let admins to add new scrapper

None
Restrictions and
Risk

Dependencies None

Priority Moderate

Table 30: Delete scrappers FR

Identifier FR – 23

Title Delete scrapper

Requirement admin can Delete scrapper among all scrappers.

Source Application

Rationale To let admins to delete one or multiple scrappers

None
Restrictions and
Risk

Dependencies None

ATIF MEHMOOD BSIT-089 01-235191-089


Priority Moderate

Table 31: Verify scrapper FR

Identifier FR – 24

Title Verify scrapper

Requirement admin can verify scrapper/s

Source Application

Rationale To let admins to test scrappers and see results

None
Restrictions and
Risk

Dependencies None

Priority High

5. Non-Functional Requirements

Nonfunctional requirements of our system are listed below in tabular form.

1.1.1 Usability

ATIF MEHMOOD BSIT-089 01-235191-089


Identifier NFR1

Title
Usability

Requirement Because of user friendly interfaces, users will have


a self-explanatory interface to perform required
tasks. Users will get aware of our web, android and
iOS app within a few minutes. Our interface will
be very simple but it will be highly functional

1.1.2 Flexibility

Identifier NFR2

Title
Flexibility

Requirement Our software will be flexible like we can target


more sites with passage of time there will be gui in
admin through which we can add

more sites,We will be creating a general parser that


will be working for every site

1.1.3 Performance

Identifier NFR3

ATIF MEHMOOD BSIT-089 01-235191-089


Title
Performance

Requirement The performance of the system is highly considered


for the critical environment in which the system
will be deployed.
We will implement high speed, efficient algorithm
and scraper for notifications.
Our parser will be working automatically to bring
ads and display them automatically on our
platform.

1.1.4 Access Security

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

ATIF MEHMOOD BSIT-089 01-235191-089


ATIF MEHMOOD BSIT-089 01-235191-089

You might also like