Upload
phamtram
View
218
Download
0
Embed Size (px)
Citation preview
Systems Analysis and Design
Final Deliverable 360 Pro Performance Management System Chua, Collado, Evilla, Miralles, Purificacion
29 November 2016 Sir Paolo Agloro
Table of Contents Executive Summary p. 2
I. Introduction p. 2
II. Study Methodology p. 4
III. Summary and Analysis of Findings p. 5
IV. Proposed System p.6
V. Requirements Definition p. 7
VI. Appendices p. 9
A. Current System Study p. 9
1. Inventory of Inputs and Outputs p. 9
2. Data Flow Diagrams p. 15
a) Physical p. 15
(1) Context Level Diagram p. 15
(2) Level 0 Diagram p. 15
(3) Level 1 Diagrams p. 16
b) Logical p. 15
(1) Context Level Diagram p. 15
(2) Level 0 Diagram p. 15
(3) Level 1 Diagrams p. 16
B. Proposed System p. 20
1. User Interface Design p. 20
a) Inventory of Inputs and Outputs p. 20
2. Proposed System Data Flow Diagrams p. 35
a) Logical p. 35
(1) Context Level Diagram p. 35
(2) Level 0 Diagram p. 36
(3) Level 1 Diagrams p. 36
b) Physical p. 35
(1) Context Level Diagram p. 35
(2) Level 0 Diagram p. 35
(3) Level 1 Diagrams p. 36
3. Process Descriptions p. 41
a) Logic Models p. 41
4. Use Case Model p. 46
a) Use Case Diagram p. 46
b) Use Case Descriptions p. 47
C. Client Acceptance p. 73
1
Executive Summary
360 Pro Performance Management System solves the problems of the current performance system of the gym through a seamless, unified and integrated single page application. Highlighted in this document are the various methods employed to come up with a proposed system that automates Pro Score computation, athlete performance tracking, leaderboard generation, and Workout of The Week display—this solution provides value to both coaches and athletes by making it easier and simpler to track and manage performance. I. Introduction
Company 360 Fitness Club is a gym that specializes in circuit training and traditional fitness
regimens. Currently, there are branches in Ortigas, Makati, Quezon City, BGC Fort Bonifacio, Alabang and Pioneer. The group’s client is the Head Coach and Program Director for the gym, Chappy Callanta.
As most of the fitness facilities, there are a lot of problems in managing it. Such
problems include the management of the records of each trainee, keeping track of their progress, and stoking their interest to stay, all of which affects the churn rate and retention of customers.
Management of the individual records of gym-goers and trainees is tedious as 360 Fitness Club still uses an index card approach to track improvements of each trainee. It is difficult to track these progresses via the existing index card system. Sometimes, the index cards get lost or damaged, along with the fact that they are also prone to weathering, storage of data using these index cards get out of hand.
Also, one of the toughest tasks 360 Fitness Club has is getting members to stick with their programs. Tracking their progress using an index card is not efficient and intuitive. Results can take time to achieve, and some members simply lose interest before they reach that level. Some members consider dropping out.
2
A need to access and manage trainee data arises, and tracking individual
performance over time becomes an important ingredient for the retention of the customers. System
The client has requested the design and development of a system which will help
monitor the progress of their members. The system will be able to provide forms wherein the client will input the athletes’ personal information, statistics, and performance data, all of which are accessible through a dashboard. The system should be able to generate evaluation of the athletes’ performance via a ProScore system and display it on the dashboard. The ProScore system is a set of standards for a particular training routine established by the trainers of the gym. This ProScore system will then be used in a leaderboard to display the top performing athletes. Objectives of the Project
The project’s primary objective is to develop a web-based tracking and evaluation
system. The team aims to develop a web system which will allow the client to input members’ personal data, statistics, and performance data into the system, and generate reports and scores for every member of the gym. The system aims to automate the current tracking system and help improve 360 Fitness Club’s membership management.
Furthermore, the team needs to collect information regarding the current system and practices to effectively develop this system. Accordingly, the project also aims to create a study of the client’s current system to have accurate descriptions of the current processes, and identify problems and risks associated with the current system. By doing this, the team is able to develop a new system which can respond to the gym’s need for an effective monitoring mechanism while providing solutions to the problems of the current system.
Scope of the System
The system will cover all the needs of a membership performance tracker. It seeks
to overhaul 360 Fitness Club’s existing index card system and add even more features that will help in addressing the issue of member retention.
The system will be needing inputs such as each member’s training regimen, personal information, pretest data, post test data, and statistics to be measured by their trainee like height and weight.
The expected outputs of this system will include an overview of each trainee’s overall statistical improvement and performance ratings along with a member leaderboard and the workout of the week to give members a discernable output.
3
II. Study Methodology
The system that is being studied is the performance tracking process of 360 Pro coaches. First, the system analysts did a background check on 360 Fitness Club. They studied the goals and mission of the gym and the programs that were being offered. Second, the analysts interviewed Chappy Callanta, the Program Director of 360 Pro, to get an overall view of 360 Fitness Club and 360 Pro. The analysts used open-ended questions to get more in depth knowledge on the company. They were able to get a gist of the current process of both 360 Fitness Club and 360 Pro. With this knowledge at hand, the analysts were able to pinpoint a process in the system in 360 Pro that can be drastically improved for better efficiency. Third, the analysts did field research and went to the venue where 360 Pro is being held. Their task in this field research is to verify the problem that the process had and how it affected other parts of the process. Here, they gathered information by observing the current process and interviewing a number of coaches with a series of closed and open-ended questions. The analysts then participated in a trial of 360 Pro’s program. The purpose of this is to get an overall feel of the process and develop empathy for the users (both coaches and athletes). The analysts wanted to identify how both the coaches and athletes feel while the current process is taking place. And finally, the analysts illustrated physical and logical level one and level two data flow diagrams of the current as-is process to get a clearer picture of the problem in the process and to find a solution. They then collaborated on a solution and started illustrating physical and logical level one and level two data flow diagrams of a new proposed system. With knowledge of the current system, the analysts were able to design the proposed system to enhance the efficiency of its users and to inspire and encourage its users to keep training in the gym; thus, helping the retainment of gym members. The proposed system focuses on the coach as its main user, and so the analysts revolved their design of the system on this. The analysts then illustrated proposed system and design with use cases and logic models. They have also listed down the functional requirements of the new system to aid them in creating the new system.
4
III. Summary of Analysis and Findings
The bottleneck in the current system is caused by three main factors: duplicating multiple records of the same athlete (by date and by session), no way to sort pro scores among all athletes, and manual comparisons between previous and present scores.
This points to other different problems like the inability of coaches to conduct group data encoding for athletes. Their whole process relies on a 360 Pro Numbers document. The result is a faulty management system that is difficult to keep track of and maintain, making the company unable to fully sell their value proposition towards customers. We found that the system defers the coaches from actually using it and instead resorts to doing rough estimates on athlete performance.
5
IV. Proposed System
The proposed system has automated a number of the processes found in the old system. Processes that handle athlete tracking, leaderboard maintenance, dashboard updates, and 360 pro score calculations are now mostly automated by the system. Databases for handling 360 pro scores, leaderboard data, and athlete data have been made to reflect their unautomated counterparts and tweaked to suit system needs.
Along with the updated data stores is a new one, the workout database, for storing workout data that will be vital to the automation of the system. Extraneous and redundant data stores have now been integrated into the new databases in the proposed system. The leaderboard has also gone from a manually updated and physically present whiteboard to an automated one that may be virtually flashed on a screen.
Aside from updates to the current system’s processes, the proposed system has new additions to the current one’s features as well. The proposed system now has a dashboard for both coaches and athletes that display a miniature form of the leaderboard, the Workout of the Week, an athlete’s significant stats, and an athlete’s 360 Pro Score. There is also an added automated message and notification system via e-mail that gives athletes updates on their progress, triggered by significant changes in their performance as gathered from their 360 Pro Score data.
The aforementioned changes are made in order to accommodate the automation of
the system and to solve its redundancy problems which have plagued its users with inefficiency.
Data Stores that were once physical, like athlete data and the leaderboard, are now
put into digital databases that can accessed by the system and its users easily as compared to manually having to search through file cabinets. 360 Pro Scores are now stored in their own database, which allows the system to immediately proceed with the calculation of the data fed to it by the users and to provide a more efficient way of tracking progress through the use of the data gathered from the database itself. The use of these new databases also remove the need for the duplication of records that make performance tracking hard for the both the coaches and the users in the first place.
The addition of the dashboard and the automated notification system was made to
address the issue of member retention. Due to the possibility that inefficient performance tracking contributes to a higher member churn rate, these new implementations serves as a way to bridge the gap between athletes and their own performance data. Through this, the athletes can see their own data and track their own performance themselves.
6
V. Requirements Definition Functional Requirements
Name Description Priority
Create Athlete Profile The admin should be able to create an athlete profile and input his details into the system. This includes the ‘choose a sport‘ function and ‘choose a gender’ function.
High
Create a testing session Creates a testing session for the monthly 360 pro score fitness tests. Includes subsections: Mobility/Stability, Reaction Time, Lower Body, Upper Body, Speed and Endurance.
High
Conduct tests The specific exercises are listed according to the sport chosen, and the norm calculations are based on gender of the athletes included in the testing session. Conducting the test allows the user to input the test data for each specific subsection and the exercises included in the subsection.
High
Testing Summary The testing summary concludes the workout and shows the 360 Pro Score of all the athletes that have undergone the testing.
High
Add Workout of The Week (WoW) This function allows the admin user to put the WoW for the current week for the system.
High
Notifications The program must allow for sending of notification through email to remind the athlete of his monthly test results.
Medium
Leaderboard The function sorts the athletes by pro score and shows the top scorers. The leaderboard must be able to sort by name, pro score, sport, and gender.
Medium
Add an athlete for testing The function will allow the addition of athletes to a current testing session for a specific sport.
Medium
Calculate 360 Pro Score The program should automatically compute for the pro score using the data inputted by the user. Calculations of the 360 pro score must be based on the gender of the athletes.
Medium
Member Dashboard The member dashboard should display the current pro score of the athlete and display all relevant statistics according to his sport. It displays the workout of the week (WoW), and where the athlete ranks in the leaderboard.
Medium
7
Administrator Dashboard The administrator dashboard lists the navigation of the web application. It should include options to create a 360 pro score testing session
Medium
BMI calculator This function automatically calculates the athlete’s BMI using the athlete’s weight and height.
Low
Choose a gender The function enables the administrator to choose a particular gender for an athlete through a dropdown menu.
Low
Choose a sport The function enables the administrator to choose a particular sport for an athlete through a dropdown menu.
Low
Edit Profile The user must be able to edit the profile of the athlete. This includes editing the athlete’s information (weight, height, etc.).
Low
Add/Change Profile Picture The user must be able to add/change his/her profile picture.
Low
Non-Functional Requirements
Name Description Priority
Athlete Search Bar This function allows the admin to search for athlete profiles.
High
Login/Logout The login/logout button allows the user to start/end a session with the system.
Low
8
VI. Appendices
A. Current System Study
1. Inventory of Inputs and Outputs
Input: Mobility/Stability
This is the screen for the mobility component of the test.
9
Input: Reaction Time Test
This screen is for the Reaction Time component of the test. It also illustrates the exercises and norms related to the component.
Input: Lower Body Power Test
This screen is for the Lower Body Power component of the test. It also illustrates the exercises and norms related to the component.
10
Input: Upper Body Power Test
This screen is for the Upper Body Power component of the test. It also illustrates the exercises and norms related to the component.
Input: Lower Body Strength Test
This screen is for the Lower Body Strength component of the test. It also illustrates the exercises and norms related to the component.
11
Input: Upper Body Strength Test
This screen is for the Upper Body Strength component of the test. It also illustrates the exercises and norms related to the component.
Input: Agility Test
This screen is for the Agility component of the test. It also illustrates the exercises and norms related to the component.
12
Input: Speed Test
This screen is for the Speed component of the test. It also illustrates the exercises and norms related to the component.
Input: Endurance Test
This screen is for the Endurance component of the test. It also illustrates the exercises and norms related to the component.
13
Input and Output: Cover Sheet
This screen shows the overall ProScore.
Cover Sheet Example Of Nico Salva
This is a picture of an actual test by the Athlete Nico Salva.
14
2. Data Flow Diagrams
a.) Current Context Level DFD
b.) Current Level 0 DFDs
15
c.) Current Level 1 DFDs
16
17
18
19
B. Proposed System
1. User Interface Design
a.) Proposed Inventory of Inputs and Outputs
Narrative Overview
Form Input / Output
Description This serves as the home screen of the application and displays all the actions a coach can do.
Screen Administrator Dashboard
Users Coach
Functions Display a mini leaderboard Display Workout of the Week Provide a search function to find athletes Provide an option to start testing session Provide an option for creating an athlete Provide an option for adding a Workout of the Week Provide a way to go to the Leaderboard and Provide a way to go to a view athlete profile screen
Controls Search bar - is typed into to search for athletes ● Possible input must be a string. ● Athlete names that turn up using the search can be clicked and
redirects to the view athlete profile screen ● Text box on default shows “Enter athlete name”
Start testing button - allows the coach to start a testing session
● User is expected to click the button ● Button should redirect to start testing session screen upon click
Create athlete button - allows the coach to create an athlete
● User is expected to click the button ● Button should redirect to the create athlete screen upon click
Add Workout of the Week main button - allow the coach to add a workout of the week
● User is expected to click the button ● Button should redirect to add workout of the week page upon
click Edit Workout of the Week (call-to-action) - Allow the coach to edit the workout of the week
● User is expected to click the button ● Button should redirect to a screen for editing the Workout of the
Week
20
Display mini leaderboard - Allows the user to see a small version of the athlete leaderboard
● Clicking on a name on the leaderboard should redirect them to the athlete profile of the athlete’s name that has been clicked
Go to leaderboard (Navigation) - Allows the user to go to the main leaderboard
● The user is expected to click on the option in the navigation pane
● Should redirect to the main leaderboard screen upon click Go to leaderboard (call-to-action) - Allows the user to go to the main leaderboard
● The user is expected to click the button ● The button should redirect to the main leaderboard screen upon
click Profile - Shows the currently logged in user
● Clicking on the name on the user should redirect the user to their own profile page
21
Administrator Dashboard - Sample Design
22
Narrative Overview
Form Input
Description This serves as the screen where the coach can choose athletes to participate in a testing session
Screen Start Testing Session
Users Coach
Functions Adds athletes into test list Search function to add athletes into the testing session
Controls Start Test Session - Is clicked to start the testing session with currently selected athletes
● User is expected to click the button ● Should redirect to Test Session screen with the athletes listed
Search bar - is typed into to search for athletes
● Possible input can be all of possible keyboard inputs. ● Athlete names that turn up using the search can be clicked and
adds athlete to the roster ● Text box on default shows “Enter athlete name”
Start Testing Session - Sample Design
23
Narrative Overview
Form Output
Description This serves as the Athlete Profile when the Coach searches for an Athlete. He is able to see the statistics and can conduct a training session right away.
Screen View Athlete Profile (Admin View)
Users Coach
Functions Show Athlete Profile Provide option to start test session Provide option to update athlete weight Display athlete ranking Display mini leaderboard Display athlete’s 360 Pro Score and Stats Search Athlete Profile
Controls Search bar - is typed into to search for athletes ● Possible input must be a string. ● Athlete names that turn up using the search can be clicked and
redirects to the view athlete profile screen ● Text box on default shows “Enter athlete name”
Display mini leaderboard - Allows the user to see a small version of the athlete leaderboard
● Clicking on a name on the leaderboard should redirect them to the athlete profile of the athlete’s name that has been clicked
● Displays ranking of current athlete on the leaderboard Go to leaderboard (Navigation) - Allows the user to go to the main leaderboard
● The user is expected to click on the option in the navigation pane ● Should redirect to the main leaderboard screen upon click
Go to leaderboard (call-to-action) - Allows the user to go to the main leaderboard
● The user is expected to click the button ● The button should redirect to the main leaderboard screen upon click
Profile - Shows the currently logged in user
● Clicking on the name on the user should redirect the user to their own profile page
Start test session button - allows the coach to start a testing session
● User is expected to click the button ● Button should redirect to start testing session screen upon click
Update weight - Allows the user to update the current athlete’s weight
● The user is expected to click the button ● Upon the button click, user should be redirected to a screen where or
prompt where the athlete’s weight can be edited
24
Athlete Profile (Admin View) - Sample Design
25
Narrative Overview
Form Input
Description This screen will be shown when the coach is registering a new athlete. It asks for the name, email, and picture for identification and gender and sport for conducting tests.
Screen Create Athlete
Users Coach
Functions Parse needed data in order to create an athlete Add profile photo Add new athlete profile into the athlete database
Controls Text Parse Fields - Accepts data from the user ● Fields should not be empty ● User is expected to enter data into the fields ● Input into the email text field must be written in proper email format ● Only string variables may be used for the name, gender, and sports text fields ● Text Parse fields will have a corresponding message and turn red upon detecting
invalid or empty data Add Photo - Allows the user to upload a profile picture
● Upon clicking the option, a prompt will come up to accept a photo ● The photo to be used must only be in .jpg or .png format
Delete Photo - Allows the user to delete an uploaded profile picture
● Deletes an uploaded profile picture upon click ● There must be an uploaded photo upon clicking ● If there is no profile picture uploaded, an error message loads stating “No profile
picture to be deleted.” Create Athlete Button - Allows the user to create an athlete with the provided data
● If any text field is empty or has invalid data an error message loads stating “Please accomplish and review all required fields.”
● Creates an athlete profile with the parsed data and adds it into the athlete database
26
Create Athlete - Sample Design
27
Narrative Overview
Form Input
Description These are the screens shown while conducting the test. The coach may skip or conduct the test. Skipping the test will automatically give a score of 0 to the athlete,
Screen Test Session
Users Coach
Functions Provides a list of the chosen athletes and their results in the current test ● The results are measured and displayed differently depending on
exercise Provides an option to skip a test for one athlete
Controls Start Test - prompts the user to conduct the test normally then input the results ● User is expected to click the button
Skip - this skips the current athlete being tested
● This places a value of 0 in the athlete’s test result ● Moves to the next athlete if the current athlete is not the last in the list ● User is expected to click the button
Finish Test - Moves on to the next test in the component
● User is expected to click the button ● Redirects to a Test Session screen with different content
Test Session - Sample Design
28
Narrative Overview
Form Output
Description This screen displays the leaderboard. The default setting is by ProScore with all athletes and sports included. There is a filter available to get the sorted list that one wants.
Screen Leaderboard
Users Coach, Athlete
Functions Go to athlete profile Search for athlete profiles Display Leaderboard Sort Leaderboard Rankings
Controls Search Athlete - searches for athlete in leaderboard ● Input must be string variable
Ranking - displays chosen ranking bracket
● User is expected to choose from drop-down list ● Upon clicking an option, the main leaderboard shows the portion of
the leaderboard chosen Sport - displays leaderboard for athletes in the chosen sport only
● User is expected to choose from drop-down list ● Upon clicking an option, the main leaderboard shows the ranking of
each athlete under a chosen sport Athlete leaderboard entry - displays chosen athlete’s profile
● User is expected to click the athlete’s row in leaderboard ● Redirects to chosen athlete’s profile
29
Leaderboard - Sample Design
30
Narrative Overview
Form Input/Output
Description This screen allows the coach to create a WoW that will be available to be viewed by the athletes.
Screen Add Workout of The Week
Users Coach
Functions Provides options for adding exercises to the current Workout of the Week
Controls Workout Name - textbox for the name of the exercise to be done ● Input must be string variable
Repetitions - textbox for the number of repetitions per set
● Input must be integer variable Sets - textbox for number of sets
● Input must be integer variable
Add Workout of The Week - Sample Design
Narrative Overview
31
Form Output
Description This screen shows the overall score of the athletes after the test.
Screen Testing Summary
Users Coach
Functions The only functions of this screen is for the coach to return to the dashboard or to the leaderboard. Aside from these, It displays the calculated pro score based on norms, sport, and gender associated with the athlete.
Controls Return to Dashboard - Redirects to Dashboard screen ● User is expected to click the button
Go to Leaderboard - Redirects to Leaderboard screen
● User is expected to click the button
Testing Summary - Sample Design
32
Narrative Overview
Form Input/Output
Description The athlete profile using the member view shows the statistics of the athlete, the workout of the week, and his rank as part of the mini leaderboard.
Screen Athlete Profile (Member View)
Users Athlete
Functions Show Athlete Profile Provide option to update athlete weight Display athlete ranking Display mini leaderboard Display athlete’s 360 Pro Score and Stats Search Athlete Profile
Controls Search bar - is typed into to search for athletes ● Possible input can be all of possible keyboard inputs. ● Athlete names that turn up using the search can be clicked and
redirects to the view athlete profile screen ● Text box on default shows “Enter athlete name”
Display mini leaderboard - Allows the user to see a small version of the athlete leaderboard
● Clicking on a name on the leaderboard should redirect them to the athlete profile of the athlete’s name that has been clicked
● Displays ranking of current athlete on the leaderboard Go to leaderboard (Navigation) - Allows the user to go to the main leaderboard
● The user is expected to click on the option in the navigation pane ● Should redirect to the main leaderboard screen upon click
Profile - Shows the currently logged in user
● Clicking on the name on the user should redirect the user to their own profile page
Edit Profile - allows the athlete to edit their profile
● User is expected to click the button ● Button should redirect to an edit screen for athletes to edit their
athlete profile data Update weight - Allows the user to update the current athlete’s weight
● The user is expected to click the button ● Upon the button click, user should be redirected to a screen where or
prompt where the athlete’s weight can be edited
Athlete Profile (Member View) - Sample Design
33
34
2. Proposed System Data Flow Diagrams
a.) Proposed Context Level DFD
b.) Proposed Level 0 DFDs
35
c.) Proposed Level 1 DFDs
36
37
38
39
40
3. Process Descriptions
a. Level 0
Activity Diagram for Register and Track System
Structured English for Computing ProScore
Compute ProScore IF numberOfParticipants = 1
IF participant = 'Male' IMPLEMENT maleProScoreTest
ELSE IMPLEMENT femaleProScoreTest
ELSE FOREACH participant do
IF participant = 'Male' IMPLEMENT maleProScoreTest
ELSE IMPLEMENT femaleProScoreTest
return ProScore
41
Structured English for Generating Dashboard IF numberOfTestingSessions > 0
IMPLEMENT showLatestProScore IMPLEMENT showTrackResults IMPLEMENT showSelfRanking
SHOW WorkoutOfTheWeek
Activity Diagram for Generating Leaderboard
42
b. Level 1
Structured English for Calculating ProScore IF athleteConductedTest THEN
receiveInput compareTestScoreToNormsOfProScore return ProScore
ELSE ProScore = 0
Structured English for Displaying Ranks on Leaderboard
Self-Ranking IMPLEMENT get SortedListOfAthletesBasedOnProScore IMPLEMENT x = BinarySearch(NameOfUser) IF x IsFirstOrSecond
DISPLAY TopFiveOfLeaderBoard ELSEIF x IsLastOrSecondToTheLast
DISPLAY BottomFiveOfLeaderBoard ELSE
DISPLAY TwoIndecesAboveX DISPLAY x DISPLAY TwoIndecesBelowX
43
Structured English for Sorting Leaderboard Sorting Leaderboard IMPLEMENT bubbleSort(listOfAthletesBasedOnProScore) IF gender = "Male"
FOREACH maleAthlete IMPLEMENT displayNameOfAthlete
ELSEIF gender = "Female" FOREACH femaleAthlete
IMPLEMENT displayNameOfAthlete ELSEIF sport = "Basketball"
FOREACH basketballAthelete IMPLEMENT displayNameOfAthlete
ELSEIF sport = "Futsal" FOREACH futsalAthlete
IMPLEMENT displayNameOfAthlete ELSEIF sport = "Swimming"
FOREACH swimmingAthlete IMPLEMENT displayNameOfAthlete
ELSEIF sport = "X" ; X is a specific sport FOREACH XAthlete
IMPLEMENT displayNameOfAthlete ELSE
RETURN listOfAthletesBasedOnProScore
44
Activity Diagram for Updating BMI
Structured English for Compare ProScore and Other Statistics to Previous
IF current360PoScore > previous360ProScore THEN display current360ProScore display greenArrowUpward
ELSEIF current360ProScore < previous360ProScore display current360ProScore display redArrowDownward
ELSE
display current360ProScore
45
4. Use Case Model
a.) Use Case Diagram
46
b.) Use Case Descriptions
Use Case ID: UC 01
Use Case Name: Retrieve Athlete Profile
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Retrieve data contained in athlete profile
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
Post Condition: The administrator dashboard displays a page containing detailed
information on a specific athlete
Business Trigger: A coach needs to look at an athlete’s profile
Flow:
Main Path Extension Alternative Path
1. Coach clicks on search bar
located on the navigation
pane of the administrator
dashboard and types into it
1.1. Coach clicks on a name
on the mini leaderboard
2. System retrieves athlete
profile data contained in
Athlete Database
2.1. If system does not
find any athlete
profiles in the
database it will
prompt an error
message on the
page:
“No athlete profiles
found.”
3. System displays a list of
athlete profiles by their:
a. Name b. Gender c. Sport
47
4. Coach clicks on the name for
a specific athlete
profile.
5. System retrieves
profile data of the specific
athlete contained in
athlete database
6. System displays the a detailed summary of the athlete profile on the page containing the following:
a. Name b. E-mail Address c. Contact number d. Gender e. Sport f. Weight g. Height h. Current 360 Pro
Score
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
48
Use Case ID: UC 02
Use Case Name: Add Workout of the Week (WOW)
Prepared By: Johannah Miralles
Last updated: November 28, 2016
Objective: Add a workout of the week into the system
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
Post Condition: A workout of the week is logged into the workout database
Business Trigger: Coach wants to add a new workout of the week into the workout database
Flow:
Main Path Extension Alternative Path
1. Coach clicks on “Add WoW”
button on the administrator
dashboard
2. System generates a form to
parse new workout
3. Coach clicks confirm 3.1. Coach clicks on the
“Cancel” button.
2.1.2. The coach is
sent back to
their
administrator
dashboard
4. System logs the Workout of
the Week into the database
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
49
Use Case ID: UC 03
Use Case Name: Update Performance Data
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Update an athlete’s Performance data
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
● A testing session has been created
Post Condition: System generates a testing summary
Business Trigger: There are changes to an athlete’s performance data after a testing session
has been accomplished
Flow:
Main Path Extension Alternative Path
1. Coach updates Performance
Data using the fields on the
form generated by starting
a testing session
2. Coach clicks the button
“Finish Test” on the testing
session form
2.2. Coach clicks “Skip”
2.2.1. System
scraps current
testing session
form
2.2.2. System goes
to the next
workout on
queue.
4. System gives a message
prompt with a review of all
inputted data
50
5. Coach clicks “Confirm”
button on message prompt
5.1. Coach clicks “Review
Data” button on message
Prompt
5.1.1. System
displays filled out
testing session
form being
worked on
6. System generates a testing
summary using the
performance data
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
51
Use Case ID: UC 04
Use Case Name: Display Administrator Dashboard
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Display the administrator dashboard to a user
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
Post Condition: The leaderboard dashboard is displayed with necessary updates
Business Trigger: The coach has logged-in to their account
Flow: Identify the step by step actor-system interaction as the use case is being executed
Main Path Extension Alternative Path
1. The coach logs into their account
1.1 The coach clicks on the “dashboard” button on the navigation pane
2. The system gathers the necessary data for the statistics on the dashboard
3. System displays the administrator dashboard
Business Rules:
1. Coach must be a valid employee of the gym.
52
Use Case ID: UC 05
Use Case Name: Generate Testing Summary
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Generate a testing summary
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
● An to the performance data must have been made
Post Condition: A testing summary of the data inputted will be generated and used
Business Trigger: An athlete has completed a testing session via a coach
Flow:
Main Path Extension Alternative Path
1. Coach inputs data by updating performance data
2. System parses data from coach input
3. System generates a testing summary
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
53
Use Case ID: UC 06
Use Case Name: Calculate 360 Pro Score
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Calculate new 360 Pro Score
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
● There must be a generated test summary
Post Condition: Processed raw score data is stored into a temporary variable
Business Trigger: An athlete has completed a testing session via a coach
Flow:
Main Path Extension Alternative Path
1. System uses the data in the testing summary to calculate new 360 Pro score
2. System runs the raw data through some calculations
3. System compares raw calculated data to a lookup table
4. System stores processed data in a temporary variable
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
54
Use Case ID: UC 07
Use Case Name: Update 360 Pro Scores
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Update 360 Pro Score database
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
● A new calculation for a 360 Pro Score has been made
Post Condition: The 360 Pro Score database is updated
Business Trigger: An athlete has completed a testing session via a coach
Flow:
Main Path Extension Alternative Path
1. System retrieves processed data from the temporary variable where the recalculated 360 Pro Score is held
2. System updates and reflects changes to the 360 Pro Score database accordingly
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
55
Use Case ID: UC 08
Use Case Name: Compute Rankings
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Recompute leaderboard rankings
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be an existing athlete profile in the system
● 360 Pro Scores are Updated
Post Condition: Newly computed ranking data is reflected unto the system’s leaderboard
database
Business Trigger: An athlete has completed a testing session via a coach
Flow:
Main Path Extension Alternative Path
1. System uses the updated data in the 360 Pro Score database to calculate for new rankings
2. System runs the 360 Pro Score data through some calculations
3. System compares processed ranking data to other ranking data in the leaderboard database
4. System updates the leaderboard database.
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
56
Use Case ID: UC 09
Use Case Name: Compare Current and Updated 360 Pro Scores
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Compare Old 360 Pro Scores to the New 360 Pro Scores
Actor: Coach
Preconditions: ● The user must be logged-in as an Administrator
● There must be a generated test summary
● 360 Pro Scores are Updated
Post Condition: ● System boolean for queueing a notification prompt to be sent
● An arrow pointing up or down is displayed next to an athlete’s Pro
Score on their dashboard
Business Trigger: An athlete has completed a testing session or has had their via a coach
Flow:
Main Path Extension Alternative Path
1. System stores previous 360 Pro Score data into a temporary variable
2. System retrieves corresponding new 360 Pro Score from the 360 Pro Score database
3. System stores compares 360 Pro Score in temporary variable to new 360 Pro Score.
4. System returns “true” for a change in 360 Pro Score
4.1. System returns “false” for a change In 360 Pro Score
4.1.1. No queue for pending notification prompt
57
5. System returns “true” for a higher new 360 Pro Score
5.1. System returns “false” for a higher new 360 Pro Score
5.1.1. A downwards arrow is displayed beside an athlete’s 360 Pro Score on their dashboard 5.1.2. A pending email notification to be sent is queued
6. The system displays an upwards arrow beside the corresponding athlete’s 360 Pro Score
7. The system queues a pending email notification for the corresponding athlete
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
58
Use Case ID: UC 10
Use Case Name: Sort Rankings
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Sort rankings by a specific category
Actor: Coach, Athlete
Preconditions: ● The user must be logged-in as an Administrator
● The user must be logged-in as an Member
● There must be an existing athlete profile in the system
Post Condition: Leaderboard rankings are sorted by a specific category
Business Trigger: An athlete or a coach wants to see their ranking in a specific category
Flow:
Main Path Extension Alternative Path
1. On the main leaderboard, the user selects a specific category from a drop down
1.1. On the user dashboard,
the user accesses their
own mini leaderboard
through the main
screen.
1.1.2. The user clicks
on a small arrow that
will show them the
categories for
sorting.
1.1.3 The system
sorts the leaderboard
by category
1.1.4. The system
displays the sorted
leaderboard
2. The system groups the leaderboard rankings according to a specific category
59
3. The system displays the sorted leaderboard
Business Rules:
1. The gym membership of the athlete should be valid and not expired
2. Coach must be a valid employee of the gym.
60
Use Case ID: UC 11
Use Case Name: Send Fitness Update Notification
Prepared By: Johannah Miralles
Last updated: November 26, 2016
Objective: Send email notification concerning an athlete’s fitness updates
Actor: Athlete
Preconditions: ● The user must be logged-in as a member
● There must be an existing athlete profile in the system
● There must be changes to the corresponding member’s 360 Pro
Score
Post Condition: The system is able to send an system generated e-mail to an athlete
containing updates to their 360 pro score
Business Trigger: A new athlete subscribes to email updates for performance tracking
Flow:
Main Path Extension Alternative Path
1. System generates automatic
fitness notification e-mail to
the athlete based on
changes to the 360 Pro
Score
1.1. If system detects no
changes in the 360 Pro
Score
1.1.1. System will
have no
automatic
notifications
sent to the
Athlete
1.2 System generates
automatic fitness
notification e-mail to
the athlete based on
changes to the 360
Pro Score
Business Rules:
1. The gym membership of the athlete should be valid and not expired
61
Use Case ID: UC 012
Use Case Name: Display Member Dashboard
Prepared By: Jacob Purificacion
Last updated: November 26, 2016
Objective: Display all relevant data about the athlete
Actor: Athlete
Preconditions: ● An athlete must have an existing athlete profile
● Athlete must be logged in as a member
Post Condition: ● Athlete profile’s performance data is displayed
Business Trigger: The athlete has completed the application process and has paid the
membership fee
Flow:
Main Path Extension Alternative Path
1. Athlete enters login
credentials
1.1 The coach clicks on the “dashboard” button on the navigation pane
2. The system gathers the
necessary data for the
statistics on the dashboard
3. System displays the
member dashboard
Business Rules:
1. The gym membership of the athlete should be valid and not expired
62
Use Case ID: UC 013
Use Case Name: Display Leaderboard
Prepared By: Jacob Purificacion
Last updated: November 26, 2016
Objective: Show rankings of members according to Pro Score
Actor: Athlete
Preconditions: ● An athlete must have an existing athlete profile
● User must be logged in as a member
Post Condition: ● Athlete profile’s 360 Pro Score Ranking is shown
● Other athletes within the user’s ranking bracket are also shown
Business Trigger: The athlete is a currently active member in the gym with a valid
membership accompanied a coach that facilitates their training regimen
Flow:
Main Path Extension Alternative Path
1. Athlete clicks on “Go to
Leaderboard” button on the
dashboard
1.1. Athlete clicks on
“Leaderboard”
button on the
dashboard
2. System gathers data from
the leaderboard database
3. System displays the athlete
ranking
Business Rules:
1. The gym membership of the athlete should be valid and not expired
63
Use Case ID: UC 014
Use Case Name: Create Testing Session
Prepared By: Jacob Purificacion
Last updated: November 28, 2016
Objective: Create a testing session to record performance data
Actor: Coach
Preconditions: ● An athlete must have an existing athlete profile
● User must be logged in as an administrator
Post Condition: ● A form for a testing session must be generated
Business Trigger: The athlete is a currently active member in the gym with a valid
membership accompanied a coach that facilitates their training regimen
Flow:
Main Path Extension Alternative Path
1. Coach clicks on “Start
Testing Session” button on
the administrator dashboard
1.1 Coach clicks on “Start
Testing Session” button
on an athlete’s profile
page
2. System prompts user to
enter an Athlete’s name
3. System searches for the
athlete’s name in the
database
3.1. Athlete name does
not exist
3.1.1. System gives a
warning message “No
athletes found.”
4. System retrieves the athlete
data and for updating
athlete performance data
5. Coach selects a set of
workouts for the testing
session
6. System generates a form to
handle workout sessions.
64
Business Rules:
1. The gym membership of the athlete should be valid and not expired
Use Case ID: UC 015
Use Case Name: Create Athlete Profile
Prepared By: Jacob Purificacion
Last updated: November 27, 2016
Objective: Create athlete profile entry in database
Actor: Coach
Preconditions: ● User must be logged in as administrator
Post Condition: The athlete profile entry must be saved in the database and accessible in
the future
Business Trigger: An athlete has completed the membership application and has paid
Flow:
Main Path Extension Alternative Path
1. The coach clicks on
“Register New Athlete” on
their Administrator
dashboard
2. System generates a form
with the following fields:
a. Name b. E-mail Address c. Contact number d. Gender e. Weight f. Height g. Photo
3. Coach fills up form
4. Coach clicks Confirm button 4.1. Coach has not filled
up all required fields
4.1.1. System
generates
65
warning
message on
empty fields
4.1.2. Coach fills
out remaining
fields
4.2 Two or more fields
match an existing
athlete profile’s data
fields
4.2.1. Generate a
warning
message that
the user may
already exist
on the system
and brings up
the existing
athlete profile
5. System loads confirmation
with a message: “Are you sure
you want to add this user?”
along with a review of all data
inputs from the form
6. Coach clicks “Yes” 6.1. Coach clicks “No”
6.1.1. The
confirmation message
box is closed
6.1.2. The Athlete
Profile form is cleared
7. New athlete profile is added
and store into the athlete
database
Business Rules:
1. Athlete profile to be created must not already exist in the database
66
Use Case ID: UC 016
Use Case Name: Search Athlete Profile
Prepared By: Jacob Purificacion
Last updated: November 27, 2016
Objective: Search for a specific athlete profile entry in database
Actor: Coach
Preconditions: ● Coach must be logged in as administrator
Post Condition: The system displays the specific athlete profile
Business Trigger: Coach needs to check an athlete’s statistics
Flow:
Main Path Extension Alternative Path
1. System prompts coach to
enter an athlete name
2. System searches for matching
names in database
2.1. Athlete name does not
exist
2.1.1. System brings up
blank name entry
prompt
3. System retrieves data from
database
4. System displays list of
matching athlete’s profile
Business Rules:
1. Coach must be a valid employee
2. Athlete must have an existing profile
67
Use Case ID: UC 017
Use Case Name: Sort Athlete Profiles
Prepared By: Jacob Purificacion
Last updated: November 27, 2016
Objective: Display sorted list of profiles according to different credentials
Actor: Coach
Preconditions: ● Coach must be logged in as administrator
Post Condition: The list of profiles must be sorted according to specific credentials
Business Trigger: Coach needs to check the list of athletes
Flow:
Main Path Extension Alternative Path
1. Coach opens list of athletes
automatically sorted by 360
Pro Score Ranking
1.1 Coach clicks header for
Name
1.1.1 System sorts the list
alphabetically according to
athlete names
1.1.2 Coach clicks header
again
1.1.3 System reverses the
list order
1.2 Coach clicks header for
sport
1.2.1 System sorts the list
of athletes according to sport
1.2.2 Coach clicks header
again
1.2.3 System reverses list
order
1.3 Coach clicks header for
Pro Score
1.3.1 System sorts list
according to 360 Pro score
ranking
1.3.2 Coach clicks header
again
1.3.3 System reverses list
order
68
1.4 Coach clicks header for
gender
1.4.1 System sorts list
according to gender
1.4.2 Coach clicks header
again
1.4.3 System reverses list
order
Business Rules:
1. Coach must be a valid employee
69
Use Case ID: UC 018
Use Case Name: Edit Athlete Profile
Prepared By: Jacob Purificacion
Last updated: November 27, 2016
Objective: Create athlete profile entry in database
Actor: Coach, Athlete
Preconditions: ● Coach must be logged in as administrator
● Athlete must have an existing profile in the database
Post Condition: Athlete’s data must be updated in the database
Business Trigger: Athlete needs to make changes in his personal information
Flow:
Main Path Extension Alternative Path
1. The user opens an athlete’s
profile
2. The user clicks on “Edit
profile” button
3. System generates a form
with the following fields:
a. Name b. E-mail Address c. Contact number d. Sport e. Weight f. Height
4. User clicks Save All button 4.1. Coach clicks Cancel
button
4.1.1. System
Discards
changes
4.1.2. System
displays
athlete’s
profile
70
5. System updates the profile
entry in the database with the new
information
Business Rules:
1. Athlete must be a valid member
2. Coach must be a valid employee
71
C. Client Acceptance
This document establishes formal acceptance of all the deliverables for the 360 Pro Performance Tracking System project. The project has met all the acceptance criteria as defined in the requirements document and project scope statement. A project audit has been performed to verify that all deliverables meet performance and product requirements. Additionally, a product evaluation has been performed and determined that all products meet the quality and functional requirements defined within this project.
Approved by:
____________________
Chappy Callanta Head Coach and Program Director
360 Fitness Club
Prepared by:
____________________
Alexander Hans Collado Jr. Project Manager Batak Solutions
72