Post on 05-Jul-2018
8/15/2019 Strength Req
1/33
Software RequirementsSpecification
for
Strength Training Application
B2D Solutions
Eric Berg
Josh Dodd
Februar !"# 2$$%
8/15/2019 Strength Req
2/33
Software Requirements Specification for Strength Training Application Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History............................................................................................................................iii
1. Introduction..............................................................................................................................11.1 Purpose.......................................................................................................................................11.2 Software Context........................................................................................................................11.3 Project Scope..............................................................................................................................11.4 References..................................................................................................................................1
2. Overall Description..................................................................................................................32.1 Product Perspective....................................................................................................................32.2 User Classes and Characteristics................................................................................................3
2.2.1 Administration....................................................................................................................... 32.2.2 Coaches/Trainers....................................................................................................................42.2.3 Players....................................................................................................................................4
2.3 Operating Environment..............................................................................................................42.4 Design and Implementation Constraints.....................................................................................4
2.4.1 Economic...............................................................................................................................42.4.2 Ethical and Legal...................................................................................................................42.4.3 Health and Safety...................................................................................................................42.4.4 Manufacturability...................................................................................................................42.4.5 Political.................................................................................................................................. 42.4.6 Social..................................................................................................................................... 52.4.7 Sustainability..........................................................................................................................5
2.5 User Documentation...................................................................................................................5
3. Product Functions....................................................................................................................63.1 General Functions.......................................................................................................................6
3.1.1 Login......................................................................................................................................63.1.2 Add New User........................................................................................................................63.1.3 Remove User..........................................................................................................................7
3.1.4 Logout....................................................................................................................................73.1.5 View Users.............................................................................................................................73.1.6 Edit Users...............................................................................................................................8
3.2 Create Workout Functions..........................................................................................................83.2.1 Add Player............................................................................................................................. 83.2.2 Add Exercise..........................................................................................................................83.2.3 Add Routine...........................................................................................................................93.2.4 Add Schedule.........................................................................................................................93.2.5 Print Workout.......................................................................................................................10
3.3 Data Functions..........................................................................................................................103.3.1 Add Player........................................................................................................................... 103.3.2 Remove Player.................................................................................................................... .113.3.3 View Player..........................................................................................................................11
3.3.4 Edit Player............................................................................................................................113.3.5 Add Exercise........................................................................................................................123.3.6 Remove Exercise..................................................................................................................123.3.7 View Exercise..................................................................................................................... .123.3.8 Edit Exercise........................................................................................................................ 133.3.9 Add Routine.........................................................................................................................133.3.10 Remove Routine...................................................................................................................133.3.11 View Routine.................................................................................................................. .....143.3.12 Edit Routine........................................................................................................................ .14
8/15/2019 Strength Req
3/33
Software Requirements Specification for Strength Training Application Page iii
4. External Interface Requirements.........................................................................................154.1 User Interfaces..........................................................................................................................154.2 Hardware Interfaces..................................................................................................................154.3 Software Interfaces...................................................................................................................15
5. Validation Criteria.................................................................................................................165.1 General Functions.....................................................................................................................16
5.1.1 Login....................................................................................................................................165.1.2 Logout..................................................................................................................................165.1.3 Add New User......................................................................................................................165.1.4 Remove User........................................................................................................................175.1.5 View Users...........................................................................................................................185.1.6 Edit Users............................................................................................................................. 19
5.2 Create Workout Functions........................................................................................................195.2.1 Add Player........................................................................................................................... 195.2.2 Add Schedule....................................................................................................................... 195.2.3 Add Routine.........................................................................................................................205.2.4 Add Exercise........................................................................................................................205.2.5 Print Workout.......................................................................................................................20
5.3 Data Functions..........................................................................................................................21
5.3.1 Add Player........................................................................................................................... 215.3.2 Remove Player.................................................................................................................... .215.3.3 View Player..........................................................................................................................225.3.4 Edit Player............................................................................................................................225.3.5 Add Exercise........................................................................................................................225.3.6 Remove Exercise..................................................................................................................235.3.7 View Exercise..................................................................................................................... .235.3.8 Edit Exercise........................................................................................................................ 245.3.9 Add Routine.........................................................................................................................245.3.10 Remove Routine...................................................................................................................245.3.11 View Routine.................................................................................................................. .....245.3.12 Edit Routine........................................................................................................................ .25
Appendix A: Analysis Models.....................................................................................................26
Appendix B: Issues List...............................................................................................................27
Revision History
Name Date Reason For Changes Version
Eric Berg 2-08-08 Document Initially Created 0.1
Josh Dodd/Eric Berg 2-14-08 Final Document 1.0
8/15/2019 Strength Req
4/33
Software Requirements Specification for Strength Training Application Page iv
1. Introduction
1.1 Purpose
The objective is to build a software system that is user friendly and accurately generates andstores data that assists strength coaches in managing their strength program. The softwaresystem should be very customizable to allow strength coaches maximum freedom to theirspecific programs. The system should generate workout schedules for individual athletesand provide an analysis of each individual athlete’s performance. The system shouldlogically organize data, and dynamically update data that is linked, as set up by theindividual user. In addition, a stand-alone touch screen interface should be implementedthat has restricted access to be used by athletes, trainers, or other allowed users that providesindividual performance and data analysis. This interface will use biometric authentication toverify user identity.
1.2 Software Context
This application is intended to be used by strength trainers and athletes of all levels. It willprovide the ability to track individual performance and historical milestones, test the currentlevel of performance of the athlete, as well as project and set-up future training routinesbased on the current information. It will also provide the ability, if so desired, to track specific groups of athletes based on several specific commonalities, i.e. positions, teams,sports etc. This strength training software program is intended to completely replace theexisting program applications and provide the end user with a user friendly application toaid in the training of several athletes in various and broad ranges of competitive sports.
1.3 Project Scope
With recent advances in research and technology, strength training has become morecomplex in recent times. With the increased amount of knowledge of anatomy andphysiology of the human body comes an increased amount of data that needs to be storedand analyzed for each individual athlete. In order to effectively train athletes, an efficientmethod of tracking and managing this data is needed. Currently the West VirginiaUniversity Strength and Conditioning Staff use outdated software to manage all athletes thatthey train. This software has many issues with efficiency, ease of use and dependability ]1[ .A new system is greatly needed to properly manage data and provide maximum results forboth strength coaches and athletes. This new system should provide many basic functionssuch as: a user-friendly interface, useful data analysis and organization, and usercustomization. It also needs to provide secure user authentication and access level
restrictions, as well as linked databases.
1.4 References
[1] http://www.power51.com/ [2] Ford, Ralph M., and Chris S. Coulston. Design for Electrical and Computer
Engineers. Boston: McGraw-Hill Custom Publishing, 2005.[3] http://homepages.dcc.ufmg.br/~rodolfo/es-1-03/IEEE-Std-830-1998.pdf
http://www.power51.com/http://homepages.dcc.ufmg.br/~rodolfo/es-1-03/IEEE-Std-830-1998.pdfhttp://www.power51.com/http://homepages.dcc.ufmg.br/~rodolfo/es-1-03/IEEE-Std-830-1998.pdf
8/15/2019 Strength Req
5/33
Software Requirements Specification for Strength Training Application Page v
[4] Pressman, Roger S. Software Engineering, A Practitioner’s Approach. Boston:McGraw-Hill Custom Publishing, 2005.
2. Overall Description
2.1 Product Perspective
The history of strength training can be traced back to the times of the Ancient Greeks, whenathletes would do such things as carry calves or other dumbbell like weights in order to
8/15/2019 Strength Req
6/33
Software Requirements Specification for Strength Training Application Page vi
increase strength. With the advancements of today’s technology, strength training hasbecome a complex science. Basic principles of strength training involve a manipulation of the number of repetitions, sets, tempo, exercises and force to cause desired changes instrength, endurance, size of a group of muscles. In strength training terms, an exercise is amotion or group of motions of joints or muscles that target and challenge specific muscles.A repetition, or rep, is one complete cycle of on an exercise. A set is a complete cycle of a
predetermined number of reps of an exercise. Tempo refers to the amount of time betweenreps and sets and exercise.
Strength training programs are based on an individual’s one rep max. A one rep max is theperformed or calculated maximum weight that an individual can successfully lift for onerepetition. A work out schedule is for an athlete consists of a specific number of weeks thatcontain progressive routines of exercises for each determined training day. The amount of weight to be lifted by the athlete is calculated as a percentage of the one rep max for eachspecific exercise.
Software systems in the past have failed to provide an efficient program that consistentlyfollows this basic lifecycle of a workout routine. The most successful software developed inthe strength training fields is a program called Power 5.1. This software does provide a way
to manage athletes and workout, but is extremely outdated for the systems of today, and hasnot offered any software updates in recent years.With advances in recent advances in research and technology, strength training has becomemore complex in recent times. With the increased amount of knowledge of anatomy andphysiology of the human body comes an increased amount of data that needs to be storedand analyzed for each individual athlete. In order to effectively train athletes, an efficientmethod of tracking and managing this data is needed. Currently the West VirginiaUniversity Strength and Conditioning Staff use outdated software to manage all athletes thatthey train. This software has many issues with efficiency, ease of use and dependability[1].A new system is greatly needed to properly manage data and provide maximum results forboth strength coaches and athletes.
2.2 User Classes and Characteristics
The users of the system are:
• Administration
• Coaches/Trainers
• Players
2.2.1 Administration
The administration will be assumed to have good data management skills and have access toall data within the system.
2.2.2 Coaches/Trainers
Coaches and trainers will have access to all workout data fields, but will have limited accessto user and privilege data information.
8/15/2019 Strength Req
7/33
Software Requirements Specification for Strength Training Application Page vii
2.2.3 Players
Players will only be able to view workouts. Players are not able to edit or remove anyinformation within the system.
2.3 Operating Environment
This application will be designed to run on a Windows XP platform. The system shouldprovide a minimum of 256 Kb of RAM. The system should also provide a DVD-R drive forcreating backups of player information. The system should also provide a printer to allowtrainers to print workout schedules for the athletes.
2.4 Design and Implementation Constraints
2.4.1 Economic
• The final sales cost should be competitive with other typing products and specialized numeric
keypad devices that are on the market at the time of sale.
2.4.2 Ethical and Legal
• The system should not interfere with the operation of the personal computer to which it is
attached.
• Only administrators will be allowed to access data
• System will protect user’s identity with 128-bit encryption
2.4.3 Health and Safety
• The system must not expose the user to electrical shock.
2.4.4 Manufacturability
• The system software should be distributed on a CD-ROM disc.
• System software updates should be distributed via the Internet.
• The system software should be compatible with Microsoft operating systems.
• Components for the system should be readily available from national distributors.
2.4.5 Political
• The system software should comply with the Digital Millennium Copyright Act.
2.4.6 Social
8/15/2019 Strength Req
8/33
Software Requirements Specification for Strength Training Application Page viii
• The user interface should provide visual menus to the user.
• All text and images in the user interface should be externalized in order to allow for
localization.
• The system should provide visual and audible notifications to the user when a error occurs.
2.4.7 Sustainability
• System updates will be offered via internet.
2.5 User Documentation
The strength training application end users will be provided a user’s manual for both theadministrators and coaches/trainers access levels. It is understood that the system interfaceand use training of the athletes will be provided by the coaches and trainer users.
3. Product Functions
3.1 General Functions
3.1.1 Login
8/15/2019 Strength Req
9/33
Software Requirements Specification for Strength Training Application Page ix
3.1.1.1 Description
This function is a general login function for all users. The user will be prompted for hisbiometric information via the fingerprint scanner, which will then be validated from thecontents of the user template database. The login function will determine the permissions foruser type.
3.1.1.2 Stimulus/Response Sequences1. User provides user name and password2. User name and password are paired and verified3. If user name/password is not verified, event is logged and an error message is displayed4. User is logged in and a welcome message is displayed.
3.1.1.3 Functional Requirements
For a successful login, the function requires a user name and biometric information pairingthat matches corresponding database template.
3.1.2 Add New User
3.1.2.1 Description
This function will register new users into the system. The administrator will input personalinformation, user type, and a login name. The user will them be required to create abiometric fingerprint template. On submit, the function will check for duplicate entries inthe database and insert the new user into the specific table in database. Only administratorswill have permissions to add users (Coach/Trainer or Player) to the system.
3.1.2.2 Stimulus/Response Sequences
1. Administrator enters all fields.2. Username and biometric template are paired3. If username is not verified an error message is displayed4. All other required information is verified.
5. If information is not verified an error message is displayed6. User is added and a welcome message is displayed.
3.1.2.3 Functional Requirements
For a successful registration, the function requires a username that has no matching databaseentry, as well as other information that is validated.
3.1.3 Remove User
3.1.3.1 Description
This function will remove a user from the database, as well as all of the user’s information.The function will accept input from the administrator and locate the user to remove in thedatabase. Only administrators will have permissions to remove users from the system.
8/15/2019 Strength Req
10/33
Software Requirements Specification for Strength Training Application Page x
3.1.3.2 Stimulus/Response Sequences
1. Prompt administrator for username as well as first and last name of user of which toperform the search.
2. Database is searched for inputted values.3. If user is found, administrator is prompted to remove.4. If remove = true, user is removed, otherwise, return to 1.
5. If user is not found, not found message is displayed.
3.1.3.3 Functional Requirements
For a successful removal, the function requires searchable values that have a matchingdatabase entry, as well as an inputted remove value of true.
3.1.4 Logout
3.1.4.1 Description
This function is a general log out function for all users. When the user logs out, allinformation collected during the session will be saved and the user information will no
longer be accessible without a successful re-login. Also, the logout function willautomatically be executed if the user is idle over a period of time.
3.1.4.2 Stimulus/Response Sequences
1. User indicates logout.2. User is marked as logged out in database3. Logout message displayed.
3.1.4.3 Functional Requirements
For a successful logout, user must invoke the logout function by clicking logout.
3.1.5 View Users
3.1.5.1 Description
This function is an administrator function to view all users of the system. It will list all usersthat are currently enrolled in the system that match the defined search criteria.
3.1.5.2 Stimulus/Response Sequences
1. User indicates view.2. User enters the desired search criteria3. If no matching records found, error message displayed.4. Displays all match records to the User.
3.1.5.3 Functional Requirements
For a successful search, user must invoke the search function by clicking search.
3.1.6 Edit Users
3.1.6.1 Description
This function is an administrative function for editing user information. The function isused to update user information on file as they progress through the system.
8/15/2019 Strength Req
11/33
Software Requirements Specification for Strength Training Application Page xi
3.1.6.2 Stimulus/Response Sequences
1. User indicates edit record.2. User enters the username of the record in which to edit3. If record not found in database, error message displayed to user.4. Prompts user to enter the information in the data fields in which to change.5. Displays the record with the updated information to the user.
3.1.6.3 Functional Requirements
For a successful edit, user must invoke the edit function by clicking edit.
3.2 Create Workout Functions
3.2.1 Add Player
3.2.1.1 Description
This function will add a player to the current workout. Included with the player name willbe the following attributes: height, weight, sport, position. Only coaches and/or athletictrainers will have permission to add or remove players from a workout.
3.2.1.2 Stimulus/Response Sequences
1. Coach/athletic trainer enters desired player name or position.2. Database is searched for player name or position3. If player name or position is not found, the appropriate message is displayed and the user
is asked to enter a new player/position.4. If player name or position is found, the player is added to the current workout and the
‘Player Added’ message is displayed.
3.2.1.3 Functional Requirements
For a successful player addition to a workout, the player must already be in the database andassigned a certain position on a valid sports team. Also, proper messaging and proceduresshould be implemented if an invalid entry is issued.
3.2.2 Add Exercise
3.2.2.1 Description
This function will add an exercise to the current routine. All exercises are stored in adatabase and can be sorted by specific muscle group. Only coaches and/or athletic trainersare allowed permission to add or remove exercises from a routine.
3.2.2.2 Stimulus/Response Sequences
1. Coach or athletic trainer enters exercise name or selects exercise from muscle grouplistings.
2. Database is searched to validate exercise name.3. If exercise does not exist, the ‘Exercise Not Found’ message is displayed and the user is
asked to enter another exercise.4. If the entered exercise is found, the ‘ Added’ message is displayed
and that exercise is added to the routine.
8/15/2019 Strength Req
12/33
Software Requirements Specification for Strength Training Application Page xii
3.2.2.3 Functional Requirements
For a successful exercise addition, the exercise must be in the database and preferably listedunder a certain muscle group. Also, proper messaging and procedures should beimplemented if an invalid entry is issued.
3.2.3 Add Routine
3.2.3.1 Description
This function will add a routine to the current schedule. All routines are stored in thedatabase and include the following attributes: repetitions, sets, and percentage of maximum.Only coaches and/or athletic trainers have permission to add or remove routines from aschedule.
3.2.3.2 Stimulus/Response Sequences
1. Coach or athletic trainer enters routine name.2. Database is searched to validate routine name.3. If routine does not exist, the ‘Routine Not Found’ message is displayed and the user is
asked to enter another routine.4. If the entered exercise is found, the ‘ Added’ message is displayed andthat routine is added to the current schedule.
3.2.3.3 Functional Requirements
For a successful routine addition, the routine name must be in the database. Also, propermessaging and procedures should be implemented if an invalid entry is issued.
3.2.4 Add Schedule
3.2.4.1 Description
This function will add a schedule to the current workout. All schedules are stored in a
database and organized by name. Only coaches and/or athletic trainers are given permissionto add or remove schedules from a workout.
3.2.4.2 Stimulus/Response Sequences
1. Coach or athletic trainer enters schedule name.2. Database is searched to validate the entered schedule name.3. If the schedule name does not exist, the ‘Schedule Not Found’ message will be displayed
and the user will be asked to enter a new schedule.4. If the schedule name does exist, the ‘ Added’ message will be
displayed and that schedule will be added to the current workout.5. If an unwanted schedule needs to be removed from the workout, the user may simply
select that schedule and ‘delete’ it from the workout.
3.2.4.3 Functional Requirements
For a successful schedule addition, the schedule name must be in the database and valid.Also, proper messaging and procedures should be implemented if an invalid entry is issued.
3.2.5 Print Workout
8/15/2019 Strength Req
13/33
Software Requirements Specification for Strength Training Application Page xiii
3.2.5.1 Description
This function will print the current workout. All workouts are stored in the database and canbe organized by player name or player position. All users (coaches/athletic trainers/players)have permission to print workouts.
3.2.5.2 Stimulus/Response Sequences
1. Player, coach, or athletic trainer has a workout document open and selects ‘Print’2. If document prints successfully, the ‘Print Successful’ message is displayed and the user
is returned to viewing the workout document.
3. If the document fails to print, the ‘Print Failed’ message is displayed and the user is
returned to viewing the workout document.
3.2.5.3 Functional Requirements
For a successful workout print, the user must have a valid workout document loaded from
the database. Proper messages should be displayed upon a successful or unsuccessful print
command.
3.3 Data Functions
3.3.1 Add Player
3.3.1.1 Description and Priority
This function is implemented by Coach/Trainer user groups as a way to add players to thesystem. In this case, the player user is not set up with any access permissions and is notallowed/granted permission to any part of the system. It is a means for coaches/trainers toset up workouts for players who they manage, in cases were there is no interaction betweenthe player user and the system.
3.3.1.2 Stimulus/Response Sequences
1. Prompt user player information.
2. Search database duplicate player.
3. Print error message if player already exists.
4. Add the player to the database if new player.
5. Display successful message to user.
3.3.1.3 Functional Requirements
None
3.3.2 Remove Player
3.3.2.1 Description
This function is used by Coaches/Trainers to remove players from the system. In thissituation, the player can only be removed by the user if the player themselves are not users
8/15/2019 Strength Req
14/33
Software Requirements Specification for Strength Training Application Page xiv
of the system. If the player has been added to the system by an administrator with userprivileges, then they can only be removed by an administrator.
3.3.2.2 Stimulus/Response Sequences
1. Prompt user player name.2. Search database for player.
3. If player not found, display error message.4. If player found and has user permissions, display error message.5. Remove player from the system.
3.3.2.3 Functional Requirements
None
3.3.3 View Player
3.3.3.1 Description
This function is used by Coach/Trainer users to view player statistics. In this instance, the
user is allowed to access a player file even if the player has user permissions.3.3.3.2 Stimulus/Response Sequences
1. Prompt user for player name.2. Search database for name.3. If player name not found, display error message.4. Display player profile to the user.
3.3.3.3 Functional Requirements
None
3.3.4 Edit Player
3.3.4.1 Description
This function will allow Coach/Trainer users to edit a players profile as the playerprogresses through the system.
3.3.4.2 Stimulus/Response Sequences
1. Prompt user for player name.2. Search database for player profile.3. If player not found in database, display error message to user.4. If invalid parameters entered, display error message to user.5. Update player profile in the database.
6. Display successful message to user
3.3.4.3 Functional Requirements
None
3.3.5 Add Exercise
8/15/2019 Strength Req
15/33
Software Requirements Specification for Strength Training Application Page xv
3.3.5.1 Description
This function is implemented by Coach/Trainer user groups as a way to add an exercise tothe system. In this case, the user must have privileges to add exercises to the database. Onsubmit the database will be updated.
3.3.5.2 Stimulus/Response Sequences
1. Prompt user for exercise information.2. Search database duplicate exercise.
3. Print error message if already exists.
4. Add the exercise to the database if new exercise.
5. Display successful message to user.
3.3.5.3 Functional Requirements
None
3.3.6 Remove Exercise
3.3.6.1 Description
This function is used by Coaches/Trainers to remove exercises from the system. In thissituation, the exercise can only be removed by the user if the user has appropriate privileges.If the exercise has been added to the system by an administrator with user privileges, thenthey can only be removed by an administrator.
3.3.6.2 Stimulus/Response Sequences
1. Prompt user exercise name.2. Search database for exercise.3. If exercise not found, display error message.4. If exercise found and has user permissions, display error message.5. Remove exercise from the system.
3.3.6.3 Functional Requirements
None
3.3.7 View Exercise
3.3.7.1 Description
This function is used by Coach/Trainer users to view exercise lists. In this instance, the useris allowed to access an exercise file even if the exercise has user permissions.
3.3.7.2 Stimulus/Response Sequences
1. Prompt user for exercise name.2. Search database for name.3. If exercise name not found, display error message.4. Display exercise profile to the user.
3.3.7.3 Functional Requirements
None
3.3.8 Edit Exercise
8/15/2019 Strength Req
16/33
Software Requirements Specification for Strength Training Application Page xvi
3.3..1 Description
This function will allow Coach/Trainer users to edit an exercise. On submit the database willbe updated.
3.3..2 Stimulus/Response Sequences
1. Prompt user for exercise name.
2. Search database for exercise profile.3. If exercise not found in database, display error message to user.4. If invalid parameters entered, display error message to user.5. Update exercise profile in the database.6. Display successful message to user
3.3..3 Functional Requirements
None
3.3.9 Add Routine
3.3.!.1 Description
This function is implemented by Coach/Trainer user groups as a way to add routine to thesystem. In order to add a routine to the database, the logged in user must have privileges todo so. On submit the routine will be added to the system.
3.3.!.2 Stimulus/Response Sequences
1. Prompt user routine information.
2. Search database duplicate routine.
3. Print error message if routine already exists.
4. Add the routine to the database if new routine.
5. Display successful message to user.
3.3.!.3 Functional RequirementsNone
3.3.10 Remove Routine
3.3.1".1 Description
This function is used by Coaches/Trainers to remove routines from the system. In thissituation, the routine can only be removed by the by an administrator with privileges to doso.
3.3.1".2 Stimulus/Response Sequences
1. Prompt user routine id.2. Remove routine from the system.
3.3.1".3 Functional Requirements
None
3.3.11 View Routine
8/15/2019 Strength Req
17/33
Software Requirements Specification for Strength Training Application Page xvii
3.3.11.1Description
This function is used by Coach/Trainer users to view routine.
3.3.11.2Stimulus/Response Sequences
1. Display routines to the user.
3.3.11.3Functional RequirementsNone
3.3.12 Edit Routine
3.3.12.1 Description
This function will allow Coach/Trainer users to edit a routine. User must have appropriateprivileges.
3.3.12.2 Stimulus/Response Sequences
1. Prompt user for routine id.
2. Search database for routine profile.3. If invalid parameters entered, display error message to user.4. Update routine profile in the database.5. Display successful message to user
3.3.12.3 Functional Requirements
None
4. External Interface Requirements
4.1 User Interfaces
System users will interface with the application via the keyboard. To access the application,they will have to enter their username and password. Once a positive match has been foundby the application, the user will be granted access to the application. Once the user is usingthe application, interaction will be done via the keyboard as well as the mouse.
8/15/2019 Strength Req
18/33
Software Requirements Specification for Strength Training Application Page xviii
4.2 Hardware Interfaces
The system will use current system drivers for the mouse, keypad and printer. Theapplication will not be concerned with how the operating system interfaces with thesecomponents, it is just required that they exist and are functional to use all the features of theapplication.
4.3 Software Interfaces
The application will store all data in a database, which the application will have to access toperform the desired user-requested function.
5. Validation Criteria
5.1 General Functions
5.1.1 Login
This function is a general login function for all users. The user will be prompted for hisbiometric information via the fingerprint scanner, which will then be validated from thecontents of the user template database. The login function will determine the permissions foruser type.
Description of input
Username Password Expected Results
Valid Username,Valid Biometric
Valid Valid Successfully logged in.
8/15/2019 Strength Req
19/33
Software Requirements Specification for Strength Training Application Page xix
Valid Username,Invalid Biometric
Valid InvalidError: Invalid
Username/Password Pair.Invalid Username,Valid Biometric
Invalid ValidError: Invalid
Username/Password Pair.Invalid Username,Invalid Biometric
Invalid InvalidError: Invalid
Username/Password Pair.
5.1.2 Logout
This function is a general log out function for all users. When the user logs out, allinformation collected during the session will be saved and the user information will nolonger be accessible without a successful re-login. Also, the logout function willautomatically be executed if the user is idle over a period of time.
Description of input Logout Button Expected Results
Logout Button Valid ValidYou have been successfully
logged out.
5.1.3 Add New User
This function will register new users into the system. The administrator will input personalinformation, user type, and a login name. The user will them be required to create abiometric fingerprint template. On submit, the function will check for duplicate entries inthe database and insert the new user into the specific table in database. Only administratorswill have permissions to add users (Coach/Trainer or Player) to the system
Descriptionof Input
Username BiometricTemplate
FirstName
LastName
UserType
UserClass
Position Height Weight ExpecteResults
All Data
Valid
Valid Valid Valid Valid Valid Valid Valid Valid Valid New
UserAddedInvalidUsername
Invalid Valid Valid Valid Valid Valid Valid Valid Valid ErrorMessag
InvalidBiometricTemplate
Valid Invalid Valid Valid Valid Valid Valid Valid Valid ErrorMessag
InvalidFirst Name
Valid Valid Invalid Valid Valid Valid Valid Valid Valid ErrorMessag
InvalidLast Name
Valid Valid Valid Invalid Valid Valid Valid Valid Valid ErrorMessag
InvalidUser Type
Valid Valid Valid Valid Invalid Valid Valid Valid Valid ErrorMessag
InvalidUser Class
Valid Valid Valid Valid Valid Invalid Valid Valid Valid ErrorMessag
InvalidPosition
Valid Valid Valid Valid Valid Valid Invalid Valid Valid ErrorMessag
InvalidHeight
Valid Valid Valid Valid Valid Valid Valid Invalid Valid ErrorMessag
InvalidWeight
Valid Valid Valid Valid Valid Valid Valid Valid Invalid ErrorMessag
8/15/2019 Strength Req
20/33
Software Requirements Specification for Strength Training Application Page xx
5.1.4 Remove User
This function will remove a user from the database, as well as all of the user’s information.The function will accept input from the administrator and locate the user to remove in thedatabase. Only administrators will have permissions to remove users from the system.
Description of Input Username First Name Last Name Expected ResultsValid Username,Valid
First Name, Valid LastName
Valid Valid Valid User Successfully
Removed from theSystem
Valid Username,Invalid First Name,Valid Last Name
Valid Invalid Valid User Not FoundError Message
Valid Username,ValidFirst Name, Invalid
Last Name
Valid Valid Invalid User Not FoundError Message
Valid Username,Invalid First Name,Invalid Last Name
Valid Invalid Invalid User Not FoundError Message
Invalid Username,
Invalid First Name,Valid Last Name
Invalid Invalid Valid User Not Found
Error Message
InvalidUsername,Valid FirstName, Invalid Last
Name
Invalid Valid Invalid User Not FoundError Message
InvalidUsername,Valid First
Name, Valid LastName
Invalid Valid Valid User Not FoundError Message
Invalid Username,Invalid First Name,Invalid Last Name
Invalid Invalid Invalid User Not FoundError Message
8/15/2019 Strength Req
21/33
Software Requirements Specification for Strength Training Application Page xxi
5.1.5 View Users
This function is an administrator function to view all users of the system. It will list all usersthat are currently enrolled in the system that match the defined search criteria.
Description of Input User Class User Type Position Expected ResultsValid User Class,Valid
User Type, ValidPosition
Valid Valid Valid User RecordsDisplayed
Valid User
Class,Invalid UserType, Valid Position
Valid Invalid Valid Unable to locate
matching recordsError Message
Valid User Class,ValidUser Type, Invalid
Position
Valid Valid Invalid Unable to locatematching records
Error MessageValid User Class,
Invalid User Type,Invalid Position
Valid Invalid Invalid Unable to locatematching records
Error MessageInvalid User Class,Invalid User Type,
Valid Position
Invalid Invalid Valid Unable to locatematching records
Error MessageInvalid User
Class,Valid UserType, Invalid Position
Invalid Valid Invalid Unable to locate
matching recordsError MessageInvalid User
Class,Valid UserType, Valid Position
Invalid Valid Valid Unable to locatematching records
Error MessageInvalid User Class,Invalid User Type,
Invalid Position
Invalid Invalid Invalid Unable to locatematching records
Error Message
5.1.6 Edit Users
This function is an administrative function for editing user information. The function is
used to update user information on file as they progress through the system.
Description of input Username Expected ResultsValid Username Valid Record Opened for Editing
Invalid Username Invalid Error: Record does not exist.
8/15/2019 Strength Req
22/33
Software Requirements Specification for Strength Training Application Page xxii
5.2 Create Workout Functions
5.2.1 Add Player
This function will add a player to the current workout. Included with the player name willbe the following attributes: height, weight, sport, position. Only coaches and/or athletictrainers will have permission to add or remove players from a workout.
Description of input
PlayerName
Player Position Expected Results
Valid PlayerName, Valid
Position
Valid Valid Player added to workout
Valid PlayerName, Invalid
PositionValid Invalid
Error: Invalid PlayerName/Position Pair.
Invalid PlayerName, Valid
PositionInvalid Valid Error: Invalid Player Name
Invalid PlayerName, Invalid
PositionInvalid Invalid Error: Invalid Player Name
5.2.2 Add Schedule
This function will add a schedule to the current workout. All schedules are stored in adatabase and organized by name. Only coaches and/or athletic trainers are given permissionto add or remove schedules from a workout.
Description of input Schedule Id Expected ResultsValid Schedule Id Valid Schedule added to workout
Invalid Schedule Id Invalid Error: Invalid schedule name
5.2.3 Add Routine
This function will add a routine to the current schedule. All routines are stored in thedatabase and include the following attributes: repetitions, sets, and percentage of maximum.Only coaches and/or athletic trainers have permission to add or remove routines from aschedule.
Description of input Routine Id Expected ResultsValid Routine Id Valid Routine added to schedule
Invalid Routine ID Invalid Error: Invalid routine name
8/15/2019 Strength Req
23/33
Software Requirements Specification for Strength Training Application Page xxiii
5.2.4 Add Exercise
This function will add an exercise to the current routine. All exercises are stored in adatabase and can be sorted by specific muscle group. Only coaches and/or athletic trainersare allowed permission to add or remove exercises from a routine.
Description of input
ExerciseName
Muscle Group Expected Results
Valid ExerciseName, Valid
Muscle GroupValid Valid Exercise Added to Routine
Invalid ExerciseName, Valid
Muscle GroupInvalid Valid
Error: Exercise name not indatabase
Valid ExerciseName, InvalidMuscle Group
Valid InvalidError: Invalid exercise
name/muscle group pair
Invalid ExerciseName, InvalidMuscle Group
Invalid InvalidError: Exercise name not in
database
5.2.5 Print Workout
This function will print the current workout. All workouts are stored in the database and canbe organized by player name or player position. All users (coaches/athletic trainers/players)
have permission to print workouts.
Description of input Print Button Expected ResultsValid Print Valid Print Successful
Invalid Print Invalid Error: Print Failed
8/15/2019 Strength Req
24/33
Software Requirements Specification for Strength Training Application Page xxiv
5.3 Data Functions
5.3.1 Add Player
This function is implemented by Coach/Trainer user groups as a way to add players to thesystem. In this case, the player user is not set up with any access permissions and is notallowed/granted permission to any part of the system. It is a means for coaches/trainers toset up workouts for players who they manage, in cases were there is no interactionbetween the player user and the system.
Description of Input
First Name Last Name Position Height Weight ExpectedResults
All DataValid
Valid Valid Valid Valid Valid New PlayerAdded
DuplicateFirst/LastName Pair
Duplicate Duplicate Valid Valid Valid Duplicate PlayerError Message
InvalidPosition
Valid Valid Invalid Valid Valid Error Message
InvalidHeight
Valid Valid Valid Invalid Valid Error Message
InvalidWeight
Valid Valid Valid Valid Invalid Error Message
5.3.2 Remove Player
This function is used by Coaches/Trainers to remove players from the system. In thissituation, the player can only be removed by the user if the player themselves are not usersof the system. If the player has been added to the system by an administrator with userprivileges, then they can only be removed by an administrator.
Description of input
First Name Last Name Expected Results
Valid First Name,Valid Last Name
Valid Valid Player Removed from Database
InvalidCombination
Invalid Invalid Error: Player Not in Database
5.3.3 View Player
This function is used by Coach/Trainer users to view player statistics. In this instance, theuser is allowed to access a player file even if the player has user permissions.
Description of input
First Name Last Name Expected Results
Valid First Name, Valid Valid Player Removed from Database
8/15/2019 Strength Req
25/33
Software Requirements Specification for Strength Training Application Page xxv
Valid Last NameInvalid
CombinationInvalid Invalid Error: Player Not in Database
5.3.4 Edit Player
This function will allow Coach/Trainer users to edit a players profile as the playerprogresses through the system.
Descriptionof Input
First Name Last Name UserClass
Position Height Weight ExpectedResults
All DataValid
Valid Valid Valid Valid Valid Valid New PlayerAdded
InvalidFirst/LastName Pair
Invalid Invalid Valid Valid Valid Valid Player Not inDatabase ErrorMessage
InvalidUser Class
Valid Valid Invalid Valid Valid Valid Error Message
InvalidPosition
Valid Valid Valid Invalid Valid Valid Error Message
InvalidHeight
Valid Valid Valid Valid Invalid Valid Error Message
InvalidWeight
Valid Valid Valid Valid Valid Invalid Error Message
5.3.5 Add Exercise
This function is implemented by Coach/Trainer user groups as a way to add an exercise tothe system. In this case, the user must have privileges to add exercises to the database. On
submit the database will be updated.
Descriptionof Input
ExerciseName
MuscleGroup
Type ExpectedResults
All DataValid
Valid Valid Valid New ExerciseAdded
InvalidName
Valid Valid Invalid Error Message
InvalidMuscleGroup
Valid Valid Valid Error Message
InvalidType
Valid Valid Valid Error Message
8/15/2019 Strength Req
26/33
Software Requirements Specification for Strength Training Application Page xxvi
5.3.6 Remove Exercise
This function is used by Coaches/Trainers to remove exercises from the system. In thissituation, the exercise can only be removed by the user if the user has appropriate privileges.If the exercise has been added to the system by an administrator with user privileges, thenthey can only be removed by an administrator
Description of input
ExerciseName
Expected Results
Valid Name ValidExercise Removed from
DatabaseInvalid
CombinationInvalid Error: Exercise Not in Database
5.3.7 View Exercise
This function is used by Coach/Trainer users to view exercise lists. In this instance, theuser is allowed to access an exercise file even if the exercise has user permissions.
Descriptionof Input
ExerciseName
MuscleGroup
Type ExpectedResults
All DataValid
Valid Valid Valid Exercisedisplayed
InvalidName
Valid Valid Invalid Error Message
InvalidMuscleGroup
Valid Valid Valid Error Message
InvalidType
Valid Valid Valid Error Message
5.3.8 Edit Exercise
This function will allow Coach/Trainer users to edit an exercise. On submit the databasewill be updated.
Descriptionof Input
ExerciseName
MuscleGroup
Type ExpectedResults
All DataValid
Valid Valid Valid Exercisedisplayed
Invalid
Name
Valid Valid Invalid Error Message
InvalidMuscleGroup
Valid Valid Valid Error Message
InvalidType
Valid Valid Valid Error Message
8/15/2019 Strength Req
27/33
Software Requirements Specification for Strength Training Application Page xxvii
5.3.9 Add Routine
This function is implemented by Coach/Trainer user groups as a way to add routine to thesystem. In order to add a routine to the database, the logged in user must have privileges todo so. On submit the routine will be added to the system.
Descriptionof Input Sets Repetitions Percentage ExpectedResultsAll DataValid
Valid Valid Valid New RoutineAdded
InvalidSets
Valid Valid Invalid Error Message
InvalidRepetitions
Valid Valid Valid Error Message
InvalidPercentage
Valid Valid Valid Error Message
5.3.10 Remove Routine
This function is used by Coaches/Trainers to remove routines from the system. In thissituation, the routine can only be removed by the by an administrator with privileges to doso. All routines returned to the user so an invalid set id is not able to be inputted.
5.3.11 View Routine
This function is used by Coach/Trainer users to view routine. There is no user input forthis function. When the function is invoked, routines are displayed to the screen.
5.3.12 Edit Routine
This function will allow Coach/Trainer users to edit a routine. User must have appropriateprivileges.
Descriptionof Input
Sets Repetitions Percentage ExpectedResults
All DataValid
Valid Valid Valid New RoutineAdded
InvalidSets
Valid Valid Invalid Error Message
Invalid
Repetitions
Valid Valid Valid Error Message
InvalidPercentage
Valid Valid Valid Error Message
8/15/2019 Strength Req
28/33
Software Requirements Specification for Strength Training Application Page xxviii
Appendix A: Analysis Models
System Design
8/15/2019 Strength Req
29/33
Software Requirements Specification for Strength Training Application Page xxix
System Use Case
8/15/2019 Strength Req
30/33
Software Requirements Specification for Strength Training Application Page xxx
System Access Use Case
8/15/2019 Strength Req
31/33
Software Requirements Specification for Strength Training Application Page xxxi
Create Workout Use Case
8/15/2019 Strength Req
32/33
Software Requirements Specification for Strength Training Application Page xxxii
Data Use Case
8/15/2019 Strength Req
33/33
Software Requirements Specification for Strength Training Application Page xxxiii
Appendix B: Issues List
None