Professional Documents
Culture Documents
SRS Document
SRS Document
SRS Document
Specification
Prepared by
Contents
1. INTRODUCTION 3
1.1. PURPOSE 3
1.2. PROJECT SCOPE 3
1.3. INTENDED AUDIENCE 3
1.4. REFERENCES 4
1.5. GLOSSARY 4
2. OVERALL DESCRIPTION 4
1
4.1 USER INTERFACES 22
4.2 PROTOTYPE 22
23
4.2 HARDWARE INTERFACES 24
4.3 SOFTWARE INTERFACES 24
4.4 COMMUNICATIONS INTERFACES 24
4.5 SYSTEM INTERFACES 24
5. NONFUNCTIONAL REQUIREMENTS. 24
List of Figures
FIGURE 1- USER USE CASE DIAGRAM._________________________________________________________10
FIGURE 2 - PARTNER USE CASE DIAGRAM.____________________________________________________14
FIGURE 3 - ADMIN USE CASE DIAGRAM.______________________________________________________18
2
1. Introduction
1.1. Purpose
The purpose of this document is to outline the software requirements for
the development of a gym finder service. The aim of the service is to provide
users with a platform to search for gyms in their local area. The software
will be designed to meet the needs of both gym-goers and gym owners.
3
should convey and confirm the required functionality and represent a
contractual agreement between the involved parties.
Additionally, the document may also be shared with potential investors or
clients to provide an overview of the project's goals and requirements.
1.4. References
IEEE recommended practice for software requirements specifications, IEEE
standard 830, 1998.
1.5. Glossary
Term Definition
Partner Person who owns or manages a gym and is interested in promoting their
business on the platform.
User Person who is interested in finding and comparing gyms in their local area.
Database Collection of all the information monitored by this system.
Stakeholder Any person with an interest in the project who is not a developer.
2. Overall description
4
The system interfaces with a payment system, including a software
accessible credit system to handle billing quickly and easily. The payments
system should be operable such that it can return information to the system
as to whether payment was successful or failed.
Gym-goers are the primary users of the gym finder service. They are individuals
who are interested in finding and comparing gyms in their local area. They may be
fitness enthusiasts, athletes, or individuals who are looking to start a fitness
routine. Characteristics of gym-goers include:
Comfortable using technology to search for gyms and manage their account
on the platform.
Interested in finding a gym that meets their specific needs and preferences,
such as location, price, and facilities.
Willing to share their personal information, such as location, name and email
address, in order to find their preferred gym.
Gym owners / partners are the secondary users of the gym finder service. They are
individuals who own or manage a gym and are interested in promoting their
business on the platform. They may be small business owners, franchise owners, or
managers of larger gym chains. Characteristics of gym owners include:
iii. Administrators
5
Administrators are the tertiary users of the gym finder service. They are individuals
who are responsible for managing the platform and ensuring that it runs smoothly.
They may be project managers, software developers, or quality assurance testers.
Characteristics of administrators include:
iv. Developers
Developers are responsible for building and maintaining the gym finder service.
They may be software engineers, programmers, front-end developers, or back-end
developers. Characteristics of developers include:
Quality assurance testers are responsible for testing the gym finder service to
ensure that it meets the requirements outlined in the SRS document. They may be
software testers, quality assurance engineers, or quality assurance analysts.
Characteristics of quality assurance testers include:
6
Experienced in managing software development projects.
Able to create and manage project timelines and budgets.
Skilled in communicating with stakeholders and managing project risks and
issues.
8
Search for gyms.
Actor: User
Preconditions: The user has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If there are no gyms that match the user's search criteria, the platform displays a message
indicating that no results were found.
If the user encounters any issues during the search process, they can contact customer
support for assistance.
Actor: User
Description: The user wants to save their favorite gyms for future reference.
Preconditions: The user has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If the user encounters any issues while saving a favorite gym, they can contact customer
support for assistance.
9
Receive notifications.
Actor: User
Description: The user wants to receive notifications about special offers, promotions, and
updates to their favorite gyms.
Preconditions: The user has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If the user encounters any issues while receiving notifications, they can contact customer
support for assistance.
Actor: User
Description: The user wants to filter search results based on specific criteria.
Preconditions: The user has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If there are no gyms that match the user's search criteria, the platform displays a message
indicating that no results were found.
10
If the user encounters any issues during the search process, they can contact customer
support for assistance.
This use case describes the steps a user takes to filter search results based on specific criteria,
such as gym facilities, price, and distance. The platform displays a list of filter options, such as
gym facilities, price range, distance, and ratings, which the user can select to further refine their
search results.
Post reviews
Actor: User
Description: The user wants to post a review about their gym experience on the platform.
Preconditions: The user has a stable internet connection and a compatible device. The user has
visited a gym that is listed on the platform.
Basic Flow:
Alternate Flows:
If the user encounters any issues while posting a review, they can contact customer
support for assistance.
This use case describes the steps a user takes to post a review about their gym experience on the
platform. The user logs in to their account and searches for the gym they visited using the search
function. Once the gym listing is displayed, the user selects the option to post a review and fills
out the review form, including a rating and any additional comments. The user then submits the
review.
11
ii. Partner / Gym Owner
12
Fill Partnership Form.
Description: The gym owner wants to fill out a partnership form to join the gym finder system.
Preconditions: The gym owner has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If the gym owner encounters any issues while filling out the form, they can contact
customer support for assistance.
This use case describes the steps a gym owner takes to fill out a partnership form to join the gym
finder system. The form asks for information about the gym, including gym facilities, pricing,
and contact information. The gym owner can select the preferred method of communication for
the partnership. Once the form is filled out, the gym owner submits it to join the platform as a
partner.
Description: The gym owner wants to manage their gym listing on the platform.
Preconditions: The gym owner has a stable internet connection and a compatible device.
Basic Flow:
13
4. The gym owner updates the gym listing information as needed.
5. The gym owner saves the changes to the gym listing.
Alternate Flows:
If the gym owner encounters any issues while managing their gym listing, they can
contact customer support for assistance.
This use case describes the steps a gym owner takes to manage their gym listing on the
platform. The gym owner logs in to their account and selects the option to manage their gym
listing. The platform displays the gym listing information, such as facilities, pricing, and
opening hours, and the gym owner updates the information as needed. Additionally, the gym
owner uploads a virtual tour of the gym for users to view. The gym owner then saves the
changes to the gym listing.
Respond to reviews.
Description: The gym owner wants to respond to reviews left by users on their gym listing.
Preconditions: The gym owner has a stable internet connection and a compatible device.
Basic Flow:
Alternate Flows:
If the gym owner encounters any issues while responding to reviews, they can contact
customer support for assistance.
The platform should be able to handle a large number of users and gym listings without any
performance issues. This can be achieved by optimizing the codebase, implementing caching
mechanisms, and using a scalable infrastructure. Additionally, the platform should be regularly
monitored and tested to ensure that it is performing optimally.
14
Pay for Advertisements.
Description: The gym owner wants to pay for advertisements on the platform to increase the
visibility of their gym listing.
Preconditions: The gym owner has a stable internet connection and a compatible device. The
gym owner has created a profile for their gym on the platform.
Basic Flow:
Alternate Flows:
If the gym owner encounters any issues while paying for advertisements, they can contact
customer support for assistance.
This use case describes the steps a gym owner takes to pay for advertisements on the platform to
increase the visibility of their gym listing. The gym owner logs in to their account and selects the
option to pay for advertisements. The platform displays a list of advertising options and pricing,
and the gym owner selects the desired option. The gym owner provides payment information and
completes the transaction. The platform then displays the advertisement for the gym listing.
View statistics.
Description: The gym owner wants to view statistics about their gym's performance on the
platform.
Preconditions: The gym owner has a stable internet connection and a compatible device. The
gym owner has created a profile for their gym on the platform.
Basic Flow:
15
3. The platform displays statistics about the gym's performance on the platform, such as the
number of views and clicks on the gym listing, and the number of reviews and ratings
received.
Alternate Flows:
If the gym owner encounters any issues while viewing their gym statistics, they can
contact customer support for assistance.
This use case describes the steps a gym owner takes to view statistics about their gym's
performance on the platform. The gym owner logs in to their account and selects the option to
view their gym statistics. The platform displays statistics about the gym's performance, such as
the number of views and clicks on the gym listing, and the number of reviews and ratings
received.
iii. Admin.
16
Administrator use case.
Actor: Administrator
Description: The administrator wants to manage the overall functionality and performance of
the gym finder system.
Preconditions: The administrator has a stable internet connection and a compatible device. The
gym finder system is fully implemented and operational.
Basic Flow:
Alternate Flows:
If the administrator encounters any issues while managing the gym finder system, they
can contact technical support for assistance.
This use case describes the steps an administrator takes to manage the overall functionality and
performance of the gym finder system. The administrator logs in to their account and selects the
option to manage users, gyms, or reviews, depending on the task at hand. The administrator can
edit or delete user, gym, or review information as needed. The administrator can also view
system statistics to monitor the gym finder system's performance.
3.2.1. Registration
17
Input: valid email, password, name, age.
Path:
1. Navigate to the registration page.
2. enter a valid email, password, name, age.
3. click “Register” button.
4. verify that the user account is created successfully.
3.2.2. Login
Path:
1.Navigate to the login page.
2. enter a valid email & password.
3. click the “Login” button.
Post condition: user can access their account information and search for gyms.
Path:
1. Navigate to the homepage.
2. Enter a valid location (e.g., city, state, zip code).
3. Click the "Search" button.
4. Verify that a list of nearby gyms is displayed.
5. Verify that the list contains relevant information, such as gym name, address, phone number,
and distance from the user's location.
18
Expected output: List of nearby gyms is displayed.
Post conditions: User can view the list of nearby gyms and select one for further information.
Preconditions: User has searched for a gym and is on the gym details page.
Path:
1. Navigate to the gym details page.
2. Enter a valid Gym name.
3. Click the "View Details" button.
4. gym details are displayed.
Expected output: Details of the gym are displayed, such as name, address, phone number,
website, amenities, and membership plans.
Post conditions: User can view the gym details and interact with the gym (e.g., leave a review,
select a membership plan).
Preconditions: User has selected a gym and is on the gym details page.
Path:
1. Navigate to the gym details page.
2. Enter a review text.
3. Click the "Submit Review" button.
4. Verify that the review is submitted successfully.
5. Verify that the review is displayed on the gym details page.
Expected output: Review is submitted and displayed on the gym details page.
19
Post conditions: Review is added to the gym's profile and displayed for other users to view.
Preconditions: User has selected a gym and is on the gym details page.
Path:
1. Navigate to the gym details page.
2. Enter a valid Gym name.
3. Select a rating (1-5 stars).
4. Click the "Submit Rating" button.
5. Verify that the rating is submitted successfully.
6. Verify that the rating is displayed on the gym details page.
Expected output: Rating is submitted and displayed on the gym details page.
Post conditions: Rating is added to the gym's profile and displayed for other users to view.
Preconditions: User has selected a gym and is on the gym details page.
Path:
1. Navigate to the gym details page.
2. Enter a valid Gym name.
3. Select a membership plan.
4. Click the "Select Plan" button.
5. Verify that the membership plan is selected successfully.
6. Verify that the plan is added to the user's account.
Expected output: Membership plan is selected and added to the user's account.
Post conditions: User can access the gym's amenities and services based on their membership
plan.
20
21
4. External Interface Requirements.
The system will have a web-based user interface that is accessible from any
device with an internet connection and a compatible web browser. The user
interface will be designed to be user-friendly and easy to navigate, with clear
instructions and prompts for users.
4.2 Prototype
22
Figure 6 - prototype 3
Figure 7 – prototype 4
Figure 8 - prototype 5
23
4.2 Hardware Interfaces
The system will be compatible with multiple devices, including desktop
computers, laptops, tablets, and smartphones. The system will require an internet
connection to access the platform.
5. Nonfunctional requirements.
iii. Reliability: The system should be reliable and able to handle a high
volume of search requests without crashing or experiencing
downtime.
24
iv. Scalability: The system should be scalable to accommodate future
growth and increasing user traffic.
viii. User Feedback: The system should allow users to provide feedback
on the search results and improve its performance based on user
feedback.
25
5.2 Logical databases of requirements
Figure 9 - ERD
26
Figure 10 -ERD mapping
27
5.3 Security requirements
iii. User Roles and Access Control: The system should define different
user roles, such as admin, member, and guest, with different access
levels and permissions.
vii. Audit Logging: The system should maintain an audit log of all user
activities and system events, including login attempts, data access,
and changes to system configurations.
viii. Data Backup and Recovery: The system should have a backup and
recovery plan in place to ensure that data is not lost in case of a
security breach or system failure.
28
x. Compliance: The system should comply with all relevant data
protection laws and regulations, such as GDPR, HIPAA, and PCI-
DSS, to ensure the privacy and security of user data.
29