Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

` Software Requirements Specification

ProFit
Your Daily Workout and Diet Planner

Prepared by

Fizza Mariyam (SE-19002)

Alishba Arshad (SE-19008)

Zainab Faizan Khan (SE-19014)

Presented To: Miss Zainab Fatima

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.

1.2. Product Scope


1.2.1. Description
This application will facilitate people, especially women, to maintain a healthy
lifestyle by providing them with a virtual exercise trainer and gym assistance
at home without going anywhere else. It will give them a catalogue of
exercises they can choose from. It will also help people to reach their desired
fitness objective by recommending different diet plans and exercises
according to user inputs and targets.
For the exercise trainer part, at first, it will show the users the correct way of
exercising for some particular objective through a video and as users perform
those exercises it will guide them whether their posture is correct or not.
Furthermore, it will also count the number of times the user performs the
specific part of the exercise. It will also maintain a user profile, update their
Body mass index (BMI) and track their performances as they go on to their
journey to a healthy lifestyle. Moreover, it will provide an opportunity to
perform specific exercises while receiving real-time feedback as well.

1.2.2. Benefits and audience


The targeted audience for this application are people of all ages who want to
have a healthy way of living and want to spend a life in an active way with
daily workouts, food with complete nutrients, and a balanced diet. It will help
people to get their bodies in perfect shape and maintain a clean living.

1.3. Definitions, Acronyms, and Abbreviations


Computer Vision
Computer vision is a field of artificial intelligence that trains computers to
interpret and understand the physical world. Using digital images from

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.2. Product Function


The application will provide the user with proper exercise and diet routines
according to their age, gender, and body. The user will enter his/her specific
details to gain accurate proposed routines.

2.3. User classes and characteristics


There will be only two classes of users for this application.

2.3.1 Owners and the developers:


Responsible for the development and maintenance of the application,
databases, and external systems, providing feedback to user queries, and
introducing new exercises in the application as per trends and user demands.

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.

2.4. General Constraints:


● Time Constraints (The project should be completed within one month)
● Constraints of stable internet connection
● Constraints on stable android version
● Only one user profile can be used at a time.

2.5. Assumptions and Dependencies


Some assumed and depending factors include:
● The slow network connection will cause the data retrieval to suffer
from latency
● Since the virtual training shall be provided through users’ mobile
cameras, the poor lightening or camera quality may cause difficulty for
the application to detect poses accurately
● The correct functioning, speed, and availability of firebase shall affect
the functioning of the application

6
● A user will be logged in from only one device
3. Specific Requirements

3.1. Functional Requirements


3.1.1.LOGIN:
● User is prompted to enter his/her email address /username and
password
● The application checks whether such username/email exists in
the app database
● The database is checked whether the combination of correct
password and email is provided
● The user is logged in to the home page
ALTERNATIVES:
Incase email does not exists , the user is displayed with no such
user available sign
Incase of four incorrect login attempts the application displays a
blank screen.

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.

3.1.4. RESET PASSWORD:


● The user clicks on forgot password button on the login screen
● The user is asked to enter his email address or user name
● An OTP is sent to user’s mail
● On correct entering of OTP , the user is displayed a screen
asking for a new password.

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.

3.1.5. VIEW USER PROFILE AND STATISTICS:


● The user clicks on an icon in the navbar in the bottom and is
displayed with his/her profile
● The user shall be able to view his progress for a week , his
frequent exercises and basic information and features.

3.1.6. BROWSE EXERCISE CATALOGUE:


● The user shall be displayed with number of exercise categories
on the exercise screen and the home screen
● The user can select any one of the category
● The workouts for that category shall be listed down on the
exercise screen according to popularity.
● The user can click on any exercise to start his /her training and
add to his routine

3.1.7. TRAIN WITH VIRTUAL TRAINER:


● The user clicks on the exercise category and the workout he
desires or selects from his routine .
● The user shall be displayed a basic video to guide him the steps
of the workout.
● As the user clicks ok button , the phone’s camera shall be
opened
● After the user clicks the start button , a timer of 5 seconds will
be displayed after which the exercise shall be started .The user
shall be displayed correctness of his /her pose and the number
of times reps has been done. The time the user takes to
complete this exercise is also recorded.
● After the user clicks stop button he/she is displayed the
recorded progress and time and asked whether or not the user
wishes to save it in the profile/

3.1.8. GENERATE DIET PLAN:


● The user is prompted for the diet plan and his activity status
(normally how active he is ) and his desired weight .
● The age body mass and gender are all retrieved from user’s
profile
● The user is suggested with number of carbs proteins and fats
he/she should intake

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.1.9. EDIT /MAINTAIN USER PROFILE


● The user clicks on an icon in the navbar in the bottom and is
displayed with his/her profile
● The user shall also be able to edit his basic information like diet
plans or body goals.

3.1.10. SEND FEEDBACK:


● The user can open the software’s official page in the web by
clicking or searching the URL pasted in the application’s info

3.2. Non Functional Requirements


3.2.1. Usability:
The app will be user-friendly and will be easily used by people of all
age groups. It will provide tutorials and step-by-step guides on every
stage through video. An untrained and new user will be able to use the
app after a basic introductory video displayed at the start of the app
and the user shall not face any ambiguity after using the app for one
week.

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.

3.3. External Interface Requirements


3.3.1. Hardware Interfaces:
The application requires a mobile phone either android or iOS and a
suitable internet connection. The mobile phone should have a proper
functional camera.

3.3.2. Software Interfaces


React Native shall be used for making the UI interfaces using android
studio, VS code, and expo CLI.
The recommendation system and the virtual gym trainer shall be built
and implemented by python and its libraries and modules. Mostly
media pipe and open cv shall be used for image processing and pose
detection and pandas numpy and othe ml libraries for recommendation
system. This recommendation and virtual trainer module shall be
developed in jupyter anaconda.
The help guide and documentation shall be built on the web using react
and CSS bootstrap technologies.
Data shall be stored in firebase and JSON files in real-time.

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

You might also like