System/Software Environment and Description
Fitness and Gym Usage is an Android application for improving health that helps users enhance their fitness and gym knowledge efficiently. Fitness and Gym app will serve as an alternative and innovative way of impacting an individual’s lifestyle. This application takes advantage of the latest technologies, using convenient mobile devices. The application can be used by everyone concerned about fitness and gym workout.
The system was designed around two main components – the mobile application is the client and the web administration is the server. The mobile application was developed in JAVA using Android SDK. It runs with an Android Operating System with a platform of Android 4.1, Jelly Bean or higher. Likewise, the web administration of the system was developed in PHP (Hypertext Pre-Processor). The developer used MySQL to store database in the system. The web server is actually a simple website, where the list of all exercise categories are archived
including the part of the specific exercise, the list of exercises determined for a user, the detail of all exercises including picture, content, title and video. The server can also store the list of health and nutrition tips in the tip categories. When the client sends a request to watch a video or read tips in real-time, internet connection is required.
Using the application, users do not need tutorials to learn more about exercises, nor do they to buy a BMI and heart tracker engine. Users may calculate body mass index or measure
heart rate or review exercises anytime and anywhere even while walking, while on the bus, during rest time, in gym training, and the like. The most significant thing with this app is that the user can utilize it anywhere, anytime to improve health and body shape.
The Fitness and Gym Usage app has five (5) main functions: (1) user profile
management; (2) body mass index calculation; (3) heart tracker measurement; (4) gym training management; and (5) health and nutrition instruction.
Architectural Design
Use Case Diagram of the Proposed System
Use case diagram represents the general overview and interactions of the functionalities and the users. The different use cases represent the processes, and the actors represent the intended users.
Figure 3. Fitness and gym usage application use case diagram.
Figure 3 illustrates the use case diagram of the developed Fitness and Gym Usage. As shown in the use case diagram, the developed system is composed of eighteen (18) use cases.
The process starts when the user presses the icon of the application and the main screen is immediately shown; after which the user is required to create a new profile by following up instructions until the profile creation is done.
The system has the following use cases:
BMI (Body Mass Index). The purpose of this use case is to calculate or measure the user’s weight in relation to height. The application will determine the state of the user to suggest
appropriate exercises. History function will be used to store previous data that will be compared with the next calculations.
Heart Tracking. The purpose of this use case is to measure the heart rate of the user’s body by analyzing the user’s tip of the index finger using the phone’s camera lens. This function will analyze and track heart rate. The heart rate will appear in the screen after some time. History function will be used to store previous heart rate that will be used to compare with the next heart rate or will be used to get the change of the heart rate during the workout.
Gym Training. Exercise is physical activity that is planned, structured and repetitive for the purpose of conditioning the body. The purpose of this use case is to introduce the methods of exercise by watching tutorial videos. The user has to play each video to know how to perform each exercise.
Health and Nutrition. The purpose of this use case is to guide the user how to eat for health. Healthy eating and physical activity are relatively important to enhance health. When the user selects health tips function, a number of tips will appear that the user can learn about heart healthy eating, food labels, diet plans, healthy recipes and improving food choices. When the
user selects nutrition tips function, a number of tips will appear where the user can learn about proteins, carbohydrates, fats, vitamins and more.
Activity Diagram of the Proposed System
The following figures are the activities of an android application for Fitness and Gym Usage. Every activity diagram describes the interaction of the user and the system activities.
These diagrams supported the developer in understanding each user transaction in the system.
They were also used to document the system for further maintenance.
Figure 4. Register a new profile activity diagram.
Figure 4 illustrates how to register a new profile in the activity diagram. The application requires a new profile to register when the customer accesses the application for the first time.
The customer enters the entirely required fields after that the system has validated and checked the existing information. If the information is valid, the system will create a new profile for the customer. If the information is invalid, the customer has to reenter information. Until the whole
information is validated, the system will save data to database and send to server that creates a new profile for the user.
Figure 5. Login activity diagram.
Figure 5 illustrates the Login activity diagram. In order for the user to log into the system, the user is required to input username and password. The system will validate the user
information entered. If username and password are correct, the system will allow access.
Figure 6. Logout activity diagram.
Figure 6 illustrates the logout activity diagram. For the user to log out of the system, the system will notify the confirmation when the user makes a request to log out. After logging out, the system will return to home screen activity. In case, the user rejects log out from the system, it will immediately return to previous state.
Figure 7. Edit profile activity diagram.
Figure 7 illustrates the edit profile activity diagram. For the user to edit the profile, he has to select edit profile function. The system will get the profile from database to show the user.
The user has to edit the need field and submit the information; then, the system will set to database for sending to the server.
Figure 8. BMI calculator activity diagram.
Figure 8 illustrates the BMI calculator activity diagram. Generally, the BMI calculator is calculated based on bodyweight in kilograms divided by height in meters squared. When the user inputs weight and height, the system will automatically calculate the BMI. After calculating, the
system will show the output result of the user’s BMI. The meaning of the value can be determined in the BMIs such as 20; 25 and 30 which determine the state of the user.
Figure 9. BMI history activity diagram.
Figure 9 illustrates the BMI history activity diagram. To view the history of the BMI calculator, the user has to select view history function in the BMI screen. After that, the system will automatically log all values, which means the values will be gathered in the database. The system will show the values in the BMI user interface; if the value is within normal weight standard the user has a healthy body already and needs to preserve it in good shape. If the value
is outside of normal weight standard that means the user is underweight, overweight or obese.
Thus, the system will help recommend appropriate exercises for the user.
Figure 10. Heart rate activity diagram.
Figure 10 illustrates the heart rate activity diagram. To measure the heart rate, the user needs to open the heart tracker function on the main screen of the application. Gently hold the tip of the index finger over the back camera lens to flash the phone. The user must not press too hard
touches the button to start measuring. The camera lens will simply check the pulse by measuring the beats per minute that the system can analyze and process to get the heart rate of the user. The system finally returns the relatively accurate value to the user.
Figure 11. Heart rate history activity diagram.
Figure 11 illustrates the heart rate history activity diagram. To view history of one’s heart rate, the user has to select history function in the heart rate screen. The system will log all
records from previous measurements. The records will be displayed in the heart rate screen that helps the user makes comparisons among various measurements.
Figure 12 illustrates the gym training activity diagram. The user selects gym training function to get exercises. The system sends a request to get data from the server. If there are some errors, the server (web administration) will not allow release of the data. If not, the server will return a list categories to the client (android application) to show on the screen. The user has to choose a category that will show the detail of a category. The system will request all exercises of the category from the server. In case the user chooses to add workout for next time, the system will add exercise to the calendar of the application unless the user chooses to watch a video instruction; the system will require to check login first to restrict the use of content.
Figure13. Reminder activity diagram.
Figure 13 illustrates the reminder activity diagram. The user selects the calendar of the
the content of the calendar provider which is a part of the Android application. A content provider manages access to a central repository of data. The system will show data on the calendar of the application. The user should choose the date to show the list of events and the date. If the user wants to delete one of the events, the system will execute the command. The system will refresh the application’s calendar.
Figure 14. Alert activity diagram.
Figure 14 illustrates the alert activity diagram. The system will get events of the calendar provider to check the current date. The application will notify the added workout on the
notification bar of the phone. The user clicks to open the notification that the application will be opened.
Figure 15. Health and nutrition tips activity diagram.
Figure 15 illustrates the health and nutrition tips activity diagram. The user has to choose
display on the screen. The user should choose each category. Then the system will get all tips of category to display. The user will just read the instructions of the health and nutrition tips.
Sequence Diagram of the Proposed System
Figure 16. Register sequence diagram.
Figure 16 presents the register sequence diagram. The user sends a request to create a new profile. Once the system receives the request, the register form will be displayed on the screen. The user fills up information into the required fields then taps on the button to send data.
The system will send request to add data in the database. The information will be validated by the database and send the information to the server.
Figure 17. Login sequence diagram.
Figure 17 presents the login sequence diagram. The user should click the button to view the login form on the login UI. Meanwhile, the system receives request to display the login form.
The user must enter username and password which are registered by the database. The user
clicks the button to submit the information. The system will verify the corresponding information in the database that the user can log into the system.
Figure 18. Logout sequence diagram.
Figure 18 presents the logout sequence diagram. The user selects the logout button in the logout UI. The logout UI sends request to the logout controller. When the logout controller is requested, the system sets session to confirm requests and return to the user.
Figure 19. BMI calculator sequence diagram.
Figure 19 presents the BMI calculator sequence diagram. The user sends a request to the system UI to view the BMI calculator. The user is required to input weight and height. The system UI sends a request to get attributes which includes the object of each attribute. The system UI sends a request to get “underweight” and receive result in case the BMI < 20. The
system UI sends a request to get standard and receive result in case 20 < the BMI < 25. The system UI sends a request to get “overweight” and receive result in case 25 < the BMI < 30. The system UI sends a request to get “obese” and receive result in case the BMI > 30. The real result will be displayed to the user.
Figure 20. BMI history sequence diagram.
Figure 20 presents the BMI history sequence diagram. The user sends a request to the BMI UI to view the history. The BMI UI sends a request to the database that logs all values gathered from previous calculations. The database responds to the BMI UI to view all values.
Figure 21. Heart rate sequence diagram.
Figure 21 presents the heart rate sequence diagram. The user sends a request to view the heart rate user interface (UI). The object here is the camera lens of the phone. The user needs to cover the camera lens by using the fingertip gently. Along with covering, the user touches the
will send a request to the system that searches for heart rate by calculating bites per minute. The system will record data to process measuring. After that the system will return value to the heart rate UI. The result will be displayed to the user.
Figure 22. History sequence diagram.
Figure 22 presents the history sequence diagram. The user sends a request to view history. The heart rate UI sends a request to read history in the database. The database logs all records from previous session. The database returns all records to the heart rate UI. The heart rate UI will display results to the user.
Figure 23. Gym training sequence diagram.
Figure 23 presents the gym training sequence diagram. The user presses to view gym training. The system UI sends a request to get data from the server. The server will return the list
will send to the server that gets all exercises in the category. In case the user wants to add workout for the next time, the sequence will be stopped. In case the user wants to watch a video exercise, the system UI will send a request to watch the video from the server. The user is required to check login first that will allow the user to play the video.
Figure 24. Reminder sequence diagram.
Figure 24 presents the reminder sequence diagram. The user selects to view the calendar.
The Calendar UI will send a request to the check login of the user. The system will send a request to get the content of the calendar provider to show data on the calendar UI. The user has to choose the date. The calendar UI will send a request to the system to show the list events. If the user likes to delete an event, a request will be sent to the system to delete the event. The system will refresh the calendar of the application.
Figure 25. Alert sequence diagram.
Figure 25 presents the alert sequence diagram. The system gets events and checks the
event that shows the notification bar of the phone. In case the user wants to open the event placed on the notification bar, the user will open the application by clicking on the event.
Figure 26. Health and nutrition tips sequence diagram.
Figure 26 present the health and nutrition tips sequence diagram. The user selects to view the health and nutrition tips. The system UI will send a request to get all categories from the server and show the result back to the system UI. The user should choose a category. The system UI will send a request to get all tips of category from the server that returns results to the system UI.
Class Diagram
Figure 27. Class diagram of fitness and gym usage.
Figure 27 shows the class diagram of the Fitness and Gym Usage app. The class diagram already describes all the details of classes which are related to the system. The class diagram has eight objects: User, Administrator, Category, BMI, Tracker, Tips, Exercise and Notification.
Deployment Diagram of the Proposed System
Figure 28. Deployment diagram.
The deployment diagram presents a static view of the run-time configuration of processing nodes and the components that run on those nodes. The deployment of Fitness and Gym Usage shows the hardware for the system, the software that is installed on the hardware, and the middleware used to connect the web-server and the Android application to one another.
The server contains the web-based and mobile-based alongside with MySQL Database management system. The web server needs an operating system and some based software to be
an environment for running web services such as PHP and MySQL. The mobile serves as a platform to install android application. To access and use the web administration, the authorized person needs the permission of the owner to use the web browser, provided internet connection is available. The Android application deployed in an Android device to be used by the users is not directly connected to the database. There is a specific web service that should be used to access the MySQL Database. The application also requires internet connection.
System/Software Evaluation Results
After the development stage of “Fitness and Gym Usage”, a software evaluation was conducted to test the system capability and effectiveness. The android application was used by trainers at the bodybuilding and gym training centers in Lucena City and establishment owners who were also asked to participate in the evaluation.
The android application was also used by students and employees at Manuel S. Enverga University Foundation who were asked to participate in the evaluation. Purposive sampling method was used in selecting the respondents who were asked to evaluate the developed application. In addition, there were thirty (30) respondents who participated in the evaluation based on the quality model ISO 25010 which comprises eight quality characteristics as follows:
functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability, and portability.
Figure 29. Respondents’ evaluation on the functional suitability of the system.
Figure 29 shows the average result of the functional suitability of the proposed system.
This characteristic is composed of three sub-characteristics such as functional completeness, functional correctness, and functional appropriateness. All functions obtained “agree” rating with weighted mean ranging from 4.3 to 4.5. The completeness criterion which states that the
software can perform all the required tasks got the highest weighted mean of 4.5. The correctness criterion shows that the system still has some bugs and got the lowest weighted mean of 4.3. This means that the developer needs to improve this particular aspect of the application to satisfy customer requirement.
4.5 4.3 4.4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Completeness Correctness Appropriateness
FUNCTIONAL SUITABILITY
Rating