Software Requirements Specification - Gym App
Software Requirements Specification - Gym App
Software Requirements Specification - Gym App
The SRS document describes the system requirements elicitation process conducted and
identifies the requirements for the system to be developed. It should not exceed 10 pages and
it should include:
● Preface provides details on the version of the document and its revision history.
● Introduction describes the need for the system, a brief description of the system’s functions
and how it will work, similar systems and overlapping functionality.
● Glossary defines the technical terms used in the document.
● Method provides details on the method used to elicit the requirements and how you applied
this method.
● User requirements definition describes the services provided for the user. At this stage, this
description is high level, and provided using natural language and diagrams that are
understandable to a non-specialized audience.
● System requirements specification describes the functional and non-functional requirements
in details.
You should view the SRS document as a contract between yourselves and the client of the
system you are developing. Please make sure you address all your users’ concerns when
writing the SRS document.
Software Requirements Specification
GYM app
Table of Contents
1. Introduction 3
1.1 Purpose 3
1.2 Scope 3
1.3 Overview 3
1.4 Need for the System 3
1.5 Similar Apps
2. Functional Analysis 3
3.Operational Scenario 6
4. Other Features 8
8. Glossary 10
2. Functional Analysis
(1) The application will be able to record exercises, repetitions and the diet followed.
Description:The app will have a calendar layout that the user will be able to click on a
specific day where they can find all the events and diet scheduled for the day. Further, the
activities will be monitored and recorded for the same date.
Implementation: A UI is created for the User to enter the repetitions of the exercises
performed, diet followed for the day. Based on the given schedule and the followed schedule,
application gives a score to the user for that day. The score will be a function of the
repetitions mentioned by the application and the repetitions performed by the user. Similarly
for the diet, calories intake and the calories mentioned by the applications will effect the
score.
Criticality: The feature is important because without this user will have no directions to
proceed. This forms the heart of the app.
Risks : The user might enter the wrong data to top the chart and measures are to be taken to
address the issue. Further, this may lead the app to suggest wrong and intense exercises
which may affect the performance of the user and subsequently the app.
Dependency: This depends on the calendar app of the device. Without proper interface with
the calendar app, this makes GYM app malfunction. Further, effectiveness of the accounting
by the user also has impact on the performance.
(2) The application will be able to suggest the videos, diet and schedule them on the
calendar.
Description: The app will take the inputs from the user and suggest videos, diet and schedule
for the user.
Implementation: A data base of the videos (can be from youtube), is created. Based on the
user inputs like what part of the body the user is focussed, the videos will be mapped. For a
low data device case instead of the videos, thumbnails from the video at regular intervals can
be mapped. Further, diet is also planned similarly.
Criticality: This is also an important feature because this is the main feature which is been
absent in many of the available apps.
Risks: The scheduling of videos and diet based on the inputs of the users needs an effective
algorithm. A very effective algorithm after a literature survey will be taken to address the
issue.
Dependency: This relies on the information from youtube. Instead a database collected from
youtube and stored in an external server would address the issue. However since you tube is
available free in near future it wouldn’t be a problem.
(3) The application will be able to track the running activity of the user and convert
them into the calories burnt.
Description: Running speed, calories burnt, the track ran, etc will be monitored and recorded
for the day in the calendar.
Implementation: The app will take the GPS location of the device and tracks the user's
running activity. This will work only with users internet and location ON. This helps in
calculating the calories burnt by the user. For calculation, time taken by the user and the
distance travelled by the user will be considered.
Criticality: This is a less important feature, just to compete with the other apps. This acts like
an add-on. Even without this feature the app would achieve its goal.
Risks: The tracking eats up the battery of the device a lot. This will be addressed by giving an
option to user whether to track the route or not.
Dependency: The GPS interface and the gyrometer of the device have to be properly
accessed for the proper functioning of the app.
(4) The application will be able to score the user globally to motivate the user.
Description: User will be ranked based on the score he/she has obtained and will be ranked
globally in categories of daily and overall performance.
Implementation: The app will record the user's score and upload it to a global server where
ranking is done based on all the users' performance which can be displayed to every user in
the app itself under a unique category named Ranking. This will be done with only prior
permissions from the user so that the privacy of the user is not affected. However even if the
user is not interested in disclosing his identity, ranking can be displayed with some random
comic names.
Criticality: This is also an add-on kind of feature. It is a motivation for the user to be more
discipline towards the workouts and diet.
Risks: The fake accounting might effect the chart. Inorder to avoid the fake accounting by the
users only the data with feasible results is accounted while ranking the user.
Dependency: Seggragation of correct and incorrect data depends on the algorithm. The
algorithm hence decides the function of the app.
Description: Since network availability is not available in many scenaros, app will be
working during offline and low data mode.
Implementation: For a low data mode, instead of videos, pictures from the videos at regular
intervals will be provided. Thus the information is conveyed with a very less data
consumption. Further, the app will be storing the data during offline mode and upload the
same to the server whenever the device goes online.
Criticality: This is an important feature. Most of the devices wont have access to the internet
all the time. Hence this is an important feature for proper functioning of the app.
Risks: The stored data might eat up a lots of space. Hence only bare minimum required data
and optimized data will be stored to manage the storage space.
Dependency: This depends on the available storage in the device and the RAM of the devics.
3. Operational Scenario
Daily Activities:
1. User can look at the videos scheduled for the day and follow the mentioned workout.
2. User has to follow the diet plan.
3. At the end of the day, user will be accounting for all his daily activities.
4. Some of them (say exercises) will be automated while doing the activity itself.
5. The others like diet are accounted at the end of the day. User is trusted to during this
process for a successful schedule.
6. The application gives a score for the day and suggests/re-schedules the plan based on
the daily activity.
7. Further, a global score is provided for the user to motivate him.
DataBase Mapping:
1. Server will have a collection of videos and each video will be labelled with many
categories.
2. When a user requests for videos with specified categories, videos which map to the
categories mentioned by user will be sorted out.
3. Similarly diet related to the categories is also data based and based on the users input
they are also sorted out respectively.
4. Now based on user’s requirement schedule for a week/month will be planned and
displayed on calendar.
5. Further while mapping user input data during usage of app, will be seggragated based
on their age and sex. This ensures proper functioning of a mapping algorithm.
6. Reviews and feedback from the users also segregated based on age and sex.
4. Other Features
Alarming
1. The user will be reminded using the in built alarm app about his work out or schedule.
2. Further, if user permits, the diet can also be reminded at regular intervals.
3. This adds as an extra feature for the app. The turn on and off feature will be given to
let the users customize the app based on their requirements.
Privacy
1. The application will not disclose any personal information of the customers.
2. Even in the global rankings the other user names will not be displayed unless the user
wishes to do so.
3. Further, the application will give access based on secured authorization.
4. The authorization can be linked with the device which the user will be operating while
doing the workouts.
5. Encryption of data will be implemented which will ensure that without the encrypted
key unauthorized access of data impossible.
Version
1. The application will receive feedbacks in a separate category where a user can
comment on the crash of the app, malfunctioning of the app.
2. This will be collected and will be updated in the next versions.
3. Further, every version the changes will be logged. However each version should
support roll back of the app.
Playlist
1. The application will have a playlist which is linked to you tube.
2. This helps the user to push him during the work outs.
3. User will be given choice of the playlist linked to youtube.
4. Since you tube is an open source kind of platform, no extra cost will be involved.
Further users will have access to a wide range of music.
Web Access
1. Devices like mobile happen to be in smaller size and viewing the videos will be
difficult things some times.
2. A web access to every account helps the user to organize the things in a well-planned
manner and track the things.
3. User can have very clear and precise analysis through videos in a web based platform.
4. Later during his workouts he will have the device where he can chose the already
viewed videos.
Compatibility
1. The application should take a maximum of 75 MB of RAM while running.
2. The application should not exceed a window size of 10 inches
3. Application shall be compatible with any android version above 2.3.3.
Demo
1. Demo of using the app should be available during the first time access of the app. This
will be in form of short video and a document.
2. Further this feature will be made as an option in the menu of the app.
Hardware:
1. Touch Screen- The app will access the touch screen of the device for taking inputs.
2. Audio Jack- During the time of playlist while having the workout and video lectures
where user will be trained, the audi jack will be used.
3. System Clock: For alarm and the time calculations during the workout, the app will
use the system clock.
4. GPS and Gyrometer- As mentioned earlier will be used for tracking.
Software:
Internet: App will use the internet data and may cost the user for the same. However,
user can opt out this.
Testing Process
1. The application will be tested with in a university . A university with proffesors and
students, with sufficient male and female users will form a diverse test case.
2. Users will be allowed to use the app for a month, where they input their daily
activities and rate the videos.
3. The app will update suggesting based on the feedback of the users in that span of
testing period.
4. An app review will be taken at the end of the testing duration.
5. Any malfunctions and the crashes of the app will be noted and sorted out.
6. During the process server functioning and algorithm will also be evaluated.
7. Algorithm of mapping, if not efficient will be tweaked based on the user suggestions.
8. Further, during the testing stage, users will be allowed to suggest on what else would
make the app better.
Acronym Expansion
RAM Random Access Memory
MB Mega Bytes
UI User Interface
GPS Global Positioning System
Usefule Links-
Acknowledgements-