Professional Documents
Culture Documents
Software Requirements Specification
Software Requirements Specification
ProFit
Your Daily Workout and Diet Planner
Prepared by
1
Table of Contents
1. Introduction……………………………………………………………02
a. Purpose of Requirements Document………………….02
b. Project Scope…………………………………………...02
c. Definitions, Acronyms, and Abbreviations……………02
d. References……………………………………………….04
e. Overview………………………………………………...04
2. General Description……………………………………………………05
a. Product Perspective…………………………………….05
b. Product Function……………………………………….05
c. User Classes and Characteristics………………………05
d. General Constraints…………………………………….05
e. Assumptions and Dependencies………………………..05
3. Specific Requirements…………………………………………………06
a. Functional Requirements……………………………….06
b. Non Functional Requirements………………………….08
c. External Interface Requirements………………………09
4. Index
2
1. Introduction
1.1. Purpose of Requirements Document
This Software Requirements Specification provides a complete description of
all the functions and specifications of the automated system monitoring
application. It will explain the purpose and features of the system, the
interfaces of the system, what the system will do, the constraints under which
it must operate.
The main idea behind this application is to provide virtual training and
assistance to all the gym freaks out there who are unable to go to the gym due
to different reasons and obstacles. It helps them achieve their desired goals by
providing them different exercise training, diet recommendations, exercise
suggestions according to their needs and targets.
3
cameras and videos and in-depth learning models, machines can accurately
identify and classify objects
Image processing
Pictures describe the world, each image has its own story, it contains a lot of
important information that can be useful in many ways. This information can
be obtained with the help of a technique known as Image Processing.
It is a major component of computer vision that plays a key role in many
real-world examples
Pose Detection
The ML Kit Pose Detection API is a simple flexible solution so that app
developers can get the subject body in real-time from a continuous video or
still image. Standing describes the body position simultaneously with a set of
points with a history of the skeletal structure. Local symptoms are associated
with different body parts such as the shoulders and hips. Related position
symbols can be used to distinguish one position from another.
Open CV
OpenCV is a library of programming functions mainly aimed at real-time
computer vision.
APK
Android Package is the Android application package file format used by the
Android operating system, and a number of other Android-based operating
systems for distribution and installation of mobile apps, mobile games, and
middleware.
APK Extraction
Extracting apk files from the file system of the smartphone for further
analysis.
APK Decompiling
It refers to reverse-engineering the android app by decompiling its apk file and
accessing java and XML files.
GUI
GUI stands for the graphical user interface. A user interface based on graphics
(icons and pictures and menus) instead of text; uses a mouse as well as a
keyboard as an input device, where the user clicks on a visual screen that has
icons, windows and menus, by using a pointing device. GUI makes it easy for
the user, therefore makes it user-friendly.
Machine Learning
4
Machine learning is the study of computer algorithms that can improve
automatically through experience and by the use of data.
Python
Python is an interpreted high-level general-purpose programming language.
Its design philosophy emphasises code readability with its use of significant
indentation. Its language constructs as well as its object-oriented approach aim
to help programmers write clear, logical code for small and large-scale
projects.
React Native
React Native is an open-source UI software framework created by Meta
Platforms, Inc. It is used to develop applications for Android, Android TV,
iOS, macOS, tvOS, Web, Windows, and UWP by enabling developers to use
the React framework along with native platform capabilities.
Expo CLI
Expo CLI is a command line app that is the main interface between a
developer and Expo tools. It is used for a variety of tasks, such as: creating
new projects , developing native apps, running the project server, viewing
logs and opening app in a simulator
1.4. References
1. https://www.infoq.com/articles/human-pose-estimation-ai-powered-fitne
ss-apps/
2. https://bleedai.com/introduction-to-pose-detection-and-basic-pose-clas
sification/
3. https://www.iaeme.com/MasterAdmin/Journal_uploads/IJARET/VOLUME_1
1_ISSUE_12/IJARET_11_12_272.pdf
1.5. Overview
The rest of the document describes the project in more detail.
Section 2 (General Description) describes the constraints the project must live
in , the assumptions and dependencies for this application, and the actors and
their way of communicating with the product. It also describes the project’s
basic functionality i.e. what actually the project is designed to do.
The 3rd section of the document consists of requirements described in a more
specific manner. It elaborates each of the functionality and sub functionalities
and also the quality attributes that the project is expected to meet. The
hardware and the software tools needed for the development and
implementation of this application are also mentioned in this section.
5
2. General Description:
2.1. Product Perspective
The application based on virtual trainers, diet, and exercise recommenders can
be used by a wide range of people belonging to different backgrounds
regardless of their age, gender, race, etc. It will ease people to have a proper
gym environment at home just a tap away.
2.3.2 Community:
These users will be able to download the application, use the functionalities of
the application, store and view their progress, and edit and provide their basic
information to the application. They can also contact the owners for any query
or request a specific exercise training through the application’s page.
6
● A user will be logged in from only one device
3. Specific Requirements
3.1.2. SIGNUP;
● Users are prompted to enter email address, username ,password
, gender , age , body mass and the desired body goal .
● The user profile is automatically created which can be edited
later.
● The user is directed to home screen
● An email is sent to the user’s inbox to inform him of successful
creation of application
ALTERNATIVES:
In case the email address is not valid the user is displayed
invalid email address sign.
In case the password is not valid the user is displayed the
password doesn't match the given criteria message.
3.1.3. LOGOUT;
● The user clicks on the logout button in the profile section
● The user profile closes on the application and the user is
displayed with the application's landing screen.
7
● The user is logged in to the account and directed to home
screen
ALTERNATIVES:
In case the user enters the wrong OTP , the user is directed
back to the login page.
8
● The user is also provided with sample plans that he/she can opt
for.
● The user is required to enter his daily intake of his diet and
water, progress of which shall be displayed in the user’s
progress screen
3.2.2. Reliability:
The application shall be available to the users 24/7 97% of the time
without failure. In case of a network failure , the logs and records of
the user shall be stored in local storage that would be automatically
synced to the database when the network regains. However the user
shall be able to interact and would be displayed only those records that
reside inside the application remote database. No heavy downloadable
component shall be involved that will lead to system crash.
3.2.3. Performance:
The load time of the application shall not be more than 1 second given
that the internet connections are satisfactory.
3.2.4. Security:
The user data shall be stored inside a firebase that provides security
features for data protection. The user shall not be displayed data of
other users. When signing into the application ,the application shall be
blanked automatically in case of four unsuccessful login attempts. If
9
the user wishes to reset the password, he/she shall be provided with
OTP to ensure that a verified user is trying to access the account.
3.2.5. Portability:
The application shall be able to run on both android and ios platforms .
As the data is stored in cloud services, the user can easily convert his
application profile from one mobile phone to another.
3.2.6. Safety:
As data is backed up on firebase, all the synced progress shall be saved
and recovered. So the risk of losing synced data shall not be more than
1%. No entered data except for user basic information shall be editable
and a user can edit only his/her own data.
10
INDEX
A
Acronyms,and Abbreviation--------------------------------------------Page 3
App—--------------------------------------------------------------------- Page 4
APK ------------------------------------------------------------------------Page 4
APK Extraction ---------------------------------------------------------- Page 4
APK Decompling----------------------------------------------- --------- Page 4
Assumptions and Dependencies —------------------------- ------------Page 6
C
Computer Vision—-------------------------------------------------------Page 3
E
Expo CLI ----------------------------------------------------------------- Page 5
External Interface Requirement—-------------------------------------Page 10
F
Functional Requiremnets—-----------------------------------------------Page 7
G
GUI---------------------------------------------------------------------------- Page 4
General Contraints —--------------------------------------------------- ----Page 6
I
Image processing---------------------------------------------------------------- Page 4
M
Machine Learning-------------------------------------------------------------- Page 4
N
Non-Functional Requirement—--------------------------------------------------Page 9
11
O
OpenCV-------------------------------------------------------------------------- Page 4
P
Python ---------------------------------------------------------------------------Page 5
Pose Detection------------------------------------------------------------------ Page 4
Purpose of Requirements Document --------------------------------------- -Page 3
Product Scope--------------------------------------------------------------------Page 3
Product Perspective -----------------------------------------------------------Page 6
Product Function—--------------------------------------------------------------Page 6
R
React Native ----------------------------------------------------------------------Page 5
S
Specific Requirements—-------------------------------------------------------- Page 7
U
User class and characteristics—-------------------------------------------------Page 6
12