Software Requirements Specification: B2D Solutions Eric Berg Josh Dodd
Software Requirements Specification: B2D Solutions Eric Berg Josh Dodd
Software Requirements Specification: B2D Solutions Eric Berg Josh Dodd
Specification
for
B2D Solutions
Eric Berg
Josh Dodd
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pageii
TableofContents
TableofContents...........................................................................................................................ii
RevisionHistory............................................................................................................................iii
1. Introduction..............................................................................................................................1
1.1
1.2
1.3
1.4
Purpose.......................................................................................................................................1
SoftwareContext........................................................................................................................1
ProjectScope..............................................................................................................................1
References..................................................................................................................................1
2. OverallDescription..................................................................................................................3
2.1
ProductPerspective....................................................................................................................3
2.2
UserClassesandCharacteristics................................................................................................3
2.2.1 Administration.......................................................................................................................3
2.2.2 Coaches/Trainers....................................................................................................................4
2.2.3 Players....................................................................................................................................4
2.3
OperatingEnvironment..............................................................................................................4
2.4
DesignandImplementationConstraints.....................................................................................4
2.4.1 Economic...............................................................................................................................4
2.4.2 EthicalandLegal...................................................................................................................4
2.4.3 HealthandSafety...................................................................................................................4
2.4.4 Manufacturability...................................................................................................................4
2.4.5 Political..................................................................................................................................4
2.4.6 Social.....................................................................................................................................5
2.4.7 Sustainability..........................................................................................................................5
2.5
UserDocumentation...................................................................................................................5
3. ProductFunctions....................................................................................................................6
3.1
GeneralFunctions.......................................................................................................................6
3.1.1 Login......................................................................................................................................6
3.1.2 AddNewUser........................................................................................................................6
3.1.3 RemoveUser..........................................................................................................................7
3.1.4 Logout....................................................................................................................................7
3.1.5 ViewUsers.............................................................................................................................7
3.1.6 EditUsers...............................................................................................................................8
3.2
CreateWorkoutFunctions..........................................................................................................8
3.2.1 AddPlayer.............................................................................................................................8
3.2.2 AddExercise..........................................................................................................................8
3.2.3 AddRoutine...........................................................................................................................9
3.2.4 AddSchedule.........................................................................................................................9
3.2.5 PrintWorkout.......................................................................................................................10
3.3
DataFunctions..........................................................................................................................10
3.3.1 AddPlayer...........................................................................................................................10
3.3.2 RemovePlayer.....................................................................................................................11
3.3.3 ViewPlayer..........................................................................................................................11
3.3.4 EditPlayer............................................................................................................................11
3.3.5 AddExercise........................................................................................................................12
3.3.6 RemoveExercise..................................................................................................................12
3.3.7 ViewExercise......................................................................................................................12
3.3.8 EditExercise........................................................................................................................13
3.3.9 AddRoutine.........................................................................................................................13
3.3.10 RemoveRoutine...................................................................................................................13
3.3.11 ViewRoutine.......................................................................................................................14
3.3.12 EditRoutine.........................................................................................................................14
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pageiii
4. ExternalInterfaceRequirements.........................................................................................15
4.1
4.2
4.3
UserInterfaces..........................................................................................................................15
HardwareInterfaces..................................................................................................................15
SoftwareInterfaces...................................................................................................................15
5. ValidationCriteria.................................................................................................................16
5.1
GeneralFunctions.....................................................................................................................16
5.1.1 Login....................................................................................................................................16
5.1.2 Logout..................................................................................................................................16
5.1.3 AddNewUser......................................................................................................................16
5.1.4 RemoveUser........................................................................................................................17
5.1.5 ViewUsers...........................................................................................................................18
5.1.6 EditUsers.............................................................................................................................19
5.2
CreateWorkoutFunctions........................................................................................................19
5.2.1 AddPlayer...........................................................................................................................19
5.2.2 AddSchedule.......................................................................................................................19
5.2.3 AddRoutine.........................................................................................................................20
5.2.4 AddExercise........................................................................................................................20
5.2.5 PrintWorkout.......................................................................................................................20
5.3
DataFunctions..........................................................................................................................21
5.3.1 AddPlayer...........................................................................................................................21
5.3.2 RemovePlayer.....................................................................................................................21
5.3.3 ViewPlayer..........................................................................................................................22
5.3.4 EditPlayer............................................................................................................................22
5.3.5 AddExercise........................................................................................................................22
5.3.6 RemoveExercise..................................................................................................................23
5.3.7 ViewExercise......................................................................................................................23
5.3.8 EditExercise........................................................................................................................24
5.3.9 AddRoutine.........................................................................................................................24
5.3.10 RemoveRoutine...................................................................................................................24
5.3.11 ViewRoutine.......................................................................................................................24
5.3.12 EditRoutine.........................................................................................................................25
AppendixA:AnalysisModels.....................................................................................................26
AppendixB:IssuesList...............................................................................................................27
RevisionHistory
Name
Date
ReasonForChanges
EricBerg
JoshDodd/EricBerg
20808
21408
DocumentInitiallyCreated
FinalDocument
Version
0.1
1.0
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pageiv
1.
Introduction
1.1
Purpose
Theobjectiveistobuildasoftwaresystemthatisuserfriendlyandaccuratelygeneratesand
storesdatathatassistsstrengthcoachesinmanagingtheirstrengthprogram.Thesoftware
systemshouldbeverycustomizabletoallowstrengthcoachesmaximumfreedomtotheir
specificprograms. Thesystemshouldgenerateworkoutschedulesforindividualathletes
and provide an analysis of each individual athletes performance. The system should
logically organize data, and dynamically update data that is linked, as set up by the
individualuser. Inaddition,astandalonetouchscreeninterfaceshouldbeimplemented
thathasrestrictedaccesstobeusedbyathletes,trainers,orotherallowedusersthatprovides
individualperformanceanddataanalysis.Thisinterfacewillusebiometricauthenticationto
verifyuseridentity.
1.2
SoftwareContext
Thisapplicationisintendedtobeusedbystrengthtrainersandathletesofalllevels.Itwill
providetheabilitytotrackindividualperformanceandhistoricalmilestones,testthecurrent
levelofperformanceoftheathlete,aswellasprojectandsetupfuturetrainingroutines
basedonthecurrentinformation. Itwillalsoprovidetheability, ifsodesired,totrack
specificgroupsofathletesbasedonseveralspecificcommonalities,i.e.positions,teams,
sportsetc.Thisstrengthtrainingsoftwareprogramisintendedtocompletelyreplacethe
existingprogramapplicationsandprovidetheenduserwithauserfriendlyapplicationto
aidinthetrainingofseveralathletesinvariousandbroadrangesofcompetitivesports.
1.3
ProjectScope
With recent advances in research and technology, strength training has become more
complex in recent times. With the increased amount of knowledge of anatomy and
physiologyofthehumanbodycomesanincreasedamountofdatathatneedstobestored
andanalyzedforeachindividualathlete.Inordertoeffectivelytrainathletes,anefficient
method of tracking and managing this data is needed. Currently the West Virginia
UniversityStrengthandConditioningStaffuseoutdatedsoftwaretomanageallathletesthat
theytrain.Thissoftwarehasmanyissueswithefficiency,easeofuseanddependability [1] .
Anewsystemisgreatlyneededtoproperlymanagedataandprovidemaximumresultsfor
bothstrengthcoachesandathletes.Thisnewsystemshouldprovidemanybasicfunctions
such as: a userfriendly interface, useful data analysis and organization, and user
customization. It also needs to provide secure user authentication and access level
restrictions,aswellaslinkeddatabases.
1.4
References
[1]
[2]
[3]
http://www.power51.com/
Ford,RalphM.,andChrisS.Coulston.DesignforElectricalandComputer
Engineers.Boston:McGrawHillCustomPublishing,2005.
http://homepages.dcc.ufmg.br/~rodolfo/es103/IEEEStd8301998.pdf
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagev
[4]
Pressman,RogerS.SoftwareEngineering,APractitionersApproach.Boston:
McGrawHillCustomPublishing,2005.
2.
OverallDescription
2.1
ProductPerspective
ThehistoryofstrengthtrainingcanbetracedbacktothetimesoftheAncientGreeks,when
athleteswoulddosuchthingsascarrycalvesorotherdumbbelllikeweightsinorderto
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagevi
increase strength. With the advancements of todays technology, strength training has
becomeacomplexscience.Basicprinciplesofstrengthtraininginvolveamanipulationof
the number of repetitions, sets, tempo, exercises and force to cause desired changes in
strength,endurance,sizeofagroupofmuscles.Instrengthtrainingterms,anexerciseisa
motionorgroupofmotionsofjointsormusclesthattargetandchallengespecificmuscles.
Arepetition,orrep,isonecompletecycleofonanexercise.Asetisacompletecycleofa
predeterminednumberofrepsofanexercise.Temporeferstotheamountoftimebetween
repsandsetsandexercise.
Strengthtrainingprogramsarebasedonanindividualsonerepmax.Aonerepmaxisthe
performedorcalculatedmaximumweightthatanindividualcansuccessfullyliftforone
repetition.Aworkoutscheduleisforanathleteconsistsofaspecificnumberofweeksthat
containprogressiveroutinesofexercisesforeachdeterminedtrainingday.Theamountof
weighttobeliftedbytheathleteiscalculatedasapercentageoftheonerepmaxforeach
specificexercise.
Softwaresystemsinthepasthavefailedtoprovideanefficientprogramthatconsistently
followsthisbasiclifecycleofaworkoutroutine.Themostsuccessfulsoftwaredevelopedin
thestrengthtrainingfieldsisaprogramcalledPower5.1.Thissoftwaredoesprovideaway
tomanageathletesandworkout,butisextremelyoutdatedforthesystemsoftoday,andhas
notofferedanysoftwareupdatesinrecentyears.
Withadvancesinrecentadvancesinresearchandtechnology,strengthtraininghasbecome
morecomplexinrecenttimes. Withtheincreasedamountofknowledgeofanatomyand
physiologyofthehumanbodycomesanincreasedamountofdatathatneedstobestored
andanalyzedforeachindividualathlete.Inordertoeffectivelytrainathletes,anefficient
method of tracking and managing this data is needed. Currently the West Virginia
UniversityStrengthandConditioningStaffuseoutdatedsoftwaretomanageallathletesthat
theytrain.Thissoftwarehasmanyissueswithefficiency,easeofuseanddependability[1].
Anewsystemisgreatlyneededtoproperlymanagedataandprovidemaximumresultsfor
bothstrengthcoachesandathletes.
2.2
UserClassesandCharacteristics
Theusersofthesystemare:
Administration
Coaches/Trainers
Players
2.2.1 Administration
Theadministrationwillbeassumedtohavegooddatamanagementskillsandhaveaccessto
alldatawithinthesystem.
2.2.2 Coaches/Trainers
Coachesandtrainerswillhaveaccesstoallworkoutdatafields,butwillhavelimitedaccess
touserandprivilegedatainformation.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagevii
2.2.3 Players
Playerswillonlybeabletoviewworkouts.Playersarenotabletoeditorremoveany
informationwithinthesystem.
2.3
OperatingEnvironment
ThisapplicationwillbedesignedtorunonaWindowsXPplatform.Thesystemshould
provideaminimumof256KbofRAM.ThesystemshouldalsoprovideaDVDRdrivefor
creatingbackupsofplayerinformation.Thesystemshouldalsoprovideaprintertoallow
trainerstoprintworkoutschedulesfortheathletes.
2.4
DesignandImplementationConstraints
2.4.1
Economic
Thefinalsalescostshouldbecompetitivewithothertypingproductsandspecializednumeric
keypaddevicesthatareonthemarketatthetimeofsale.
2.4.2
EthicalandLegal
Thesystemshouldnotinterferewiththeoperationofthepersonalcomputertowhichitis
attached.
Onlyadministratorswillbeallowedtoaccessdata
Systemwillprotectusersidentitywith128bitencryption
2.4.3
2.4.4
HealthandSafety
Thesystemmustnotexposetheusertoelectricalshock.
Manufacturability
ThesystemsoftwareshouldbedistributedonaCDROMdisc.
SystemsoftwareupdatesshouldbedistributedviatheInternet.
ThesystemsoftwareshouldbecompatiblewithMicrosoftoperatingsystems.
Componentsforthesystemshouldbereadilyavailablefromnationaldistributors.
2.4.5
2.4.6
Political
ThesystemsoftwareshouldcomplywiththeDigitalMillenniumCopyrightAct.
Social
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pageviii
Theuserinterfaceshouldprovidevisualmenustotheuser.
Alltextandimagesintheuserinterfaceshouldbeexternalizedinordertoallowfor
localization.
2.4.7
2.5
Thesystemshouldprovidevisualandaudiblenotificationstotheuserwhenaerroroccurs.
Sustainability
Systemupdateswillbeofferedviainternet.
UserDocumentation
Thestrengthtrainingapplicationenduserswillbeprovidedausersmanualforboththe
administratorsandcoaches/trainersaccesslevels.Itisunderstoodthatthesysteminterface
andusetrainingoftheathleteswillbeprovidedbythecoachesandtrainerusers.
3.
ProductFunctions
3.1
GeneralFunctions
3.1.1
Login
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pageix
3.1.1.1 Description
Thisfunctionisageneralloginfunctionforallusers.Theuserwillbepromptedforhis
biometricinformationviathefingerprintscanner,whichwillthenbevalidatedfromthe
contentsoftheusertemplatedatabase.Theloginfunctionwilldeterminethepermissionsfor
usertype.
3.1.1.2 Stimulus/Response Sequences
1.
2.
3.
4.
Userprovidesusernameandpassword
Usernameandpasswordarepairedandverified
Ifusername/passwordisnotverified,eventisloggedandanerrormessageisdisplayed
Userisloggedinandawelcomemessageisdisplayed.
Forasuccessfullogin,thefunctionrequiresausernameandbiometricinformationpairing
thatmatchescorrespondingdatabasetemplate.
3.1.2
AddNewUser
3.1.2.1 Description
Thisfunctionwillregisternewusersintothesystem.Theadministratorwillinputpersonal
information, user type, and a login name. The user will them be required to create a
biometricfingerprinttemplate.Onsubmit,thefunctionwillcheckforduplicateentriesin
thedatabaseandinsertthenewuserintothespecifictableindatabase.Onlyadministrators
willhavepermissionstoaddusers(Coach/TrainerorPlayer)tothesystem.
3.1.2.2 Stimulus/Response Sequences
1.
2.
3.
4.
5.
6.
Administratorentersallfields.
Usernameandbiometrictemplatearepaired
Ifusernameisnotverifiedanerrormessageisdisplayed
Allotherrequiredinformationisverified.
Ifinformationisnotverifiedanerrormessageisdisplayed
Userisaddedandawelcomemessageisdisplayed.
Forasuccessfulregistration,thefunctionrequiresausernamethathasnomatchingdatabase
entry,aswellasotherinformationthatisvalidated.
3.1.3
RemoveUser
3.1.3.1 Description
Thisfunctionwillremoveauserfromthedatabase,aswellasalloftheusersinformation.
Thefunctionwillacceptinputfromtheadministratorandlocatetheusertoremoveinthe
database.Onlyadministratorswillhavepermissionstoremoveusersfromthesystem.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagex
1. Promptadministratorforusernameaswellasfirstandlastnameofuserofwhichto
performthesearch.
2. Databaseissearchedforinputtedvalues.
3. Ifuserisfound,administratorispromptedtoremove.
4. Ifremove=true,userisremoved,otherwise,returnto1.
5. Ifuserisnotfound,notfoundmessageisdisplayed.
3.1.3.3 Functional Requirements
Forasuccessfulremoval,thefunctionrequiressearchablevaluesthathaveamatching
databaseentry,aswellasaninputtedremovevalueoftrue.
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, all
information collected duringthesessionwill besavedandtheuserinformation willno
longer be accessible without a successful relogin. Also, the logout function will
automaticallybeexecutediftheuserisidleoveraperiodoftime.
3.1.4.2 Stimulus/Response Sequences
1. Userindicateslogout.
2. Userismarkedasloggedoutindatabase
3. Logoutmessagedisplayed.
3.1.4.3 Functional Requirements
Forasuccessfullogout,usermustinvokethelogoutfunctionbyclickinglogout.
3.1.5
ViewUsers
3.1.5.1 Description
Thisfunctionisanadministratorfunctiontoviewallusersofthesystem.Itwilllistallusers
thatarecurrentlyenrolledinthesystemthatmatchthedefinedsearchcriteria.
3.1.5.2 Stimulus/Response Sequences
1.
2.
3.
4.
Userindicatesview.
Userentersthedesiredsearchcriteria
Ifnomatchingrecordsfound,errormessagedisplayed.
DisplaysallmatchrecordstotheUser.
Forasuccessfulsearch,usermustinvokethesearchfunctionbyclickingsearch.
3.1.6
EditUsers
3.1.6.1 Description
Thisfunctionisanadministrativefunctionforeditinguserinformation.Thefunctionis
usedtoupdateuserinformationonfileastheyprogressthroughthesystem.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexi
1.
2.
3.
4.
5.
Userindicateseditrecord.
Userenterstheusernameoftherecordinwhichtoedit
Ifrecordnotfoundindatabase,errormessagedisplayedtouser.
Promptsusertoentertheinformationinthedatafieldsinwhichtochange.
Displaystherecordwiththeupdatedinformationtotheuser.
Forasuccessfuledit,usermustinvoketheeditfunctionbyclickingedit.
3.2
CreateWorkoutFunctions
3.2.1
AddPlayer
3.2.1.1 Description
Thisfunctionwilladdaplayertothecurrentworkout.Includedwiththeplayernamewill
bethefollowingattributes:height,weight,sport,position. Onlycoachesand/orathletic
trainerswillhavepermissiontoaddorremoveplayersfromaworkout.
3.2.1.2 Stimulus/Response Sequences
1. Coach/athletictrainerentersdesiredplayernameorposition.
2. Databaseissearchedforplayernameorposition
3. Ifplayernameorpositionisnotfound,theappropriatemessageisdisplayedandtheuser
isaskedtoenteranewplayer/position.
4. Ifplayernameorpositionisfound,theplayerisaddedtothecurrentworkoutandthe
PlayerAddedmessageisdisplayed.
3.2.1.3 Functional Requirements
Forasuccessfulplayeradditiontoaworkout,theplayermustalreadybeinthedatabaseand
assignedacertainpositiononavalidsportsteam.Also,propermessagingandprocedures
shouldbeimplementedifaninvalidentryisissued.
3.2.2
AddExercise
3.2.2.1 Description
Thisfunctionwilladdanexercisetothecurrentroutine.Allexercisesarestoredina
databaseandcanbesortedbyspecificmusclegroup.Onlycoachesand/orathletictrainers
areallowedpermissiontoaddorremoveexercisesfromaroutine.
3.2.2.2 Stimulus/Response Sequences
1. Coachorathletictrainerentersexercisenameorselectsexercisefrommusclegroup
listings.
2. Databaseissearchedtovalidateexercisename.
3. Ifexercisedoesnotexist,theExerciseNotFoundmessageisdisplayedandtheuseris
askedtoenteranotherexercise.
4. Iftheenteredexerciseisfound,the<Exercise_Name>Addedmessageisdisplayed
andthatexerciseisaddedtotheroutine.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexii
Forasuccessfulexerciseaddition,theexercisemustbeinthedatabaseandpreferablylisted
under a certain muscle group. Also, proper messaging and procedures should be
implementedifaninvalidentryisissued.
3.2.3
AddRoutine
3.2.3.1 Description
Thisfunctionwilladdaroutinetothecurrentschedule.Allroutinesarestoredinthe
databaseandincludethefollowingattributes:repetitions,sets,andpercentageofmaximum.
Onlycoachesand/orathletictrainershavepermissiontoaddorremoveroutinesfroma
schedule.
3.2.3.2 Stimulus/Response Sequences
1. Coachorathletictrainerentersroutinename.
2. Databaseissearchedtovalidateroutinename.
3. Ifroutinedoesnotexist,theRoutineNotFoundmessageisdisplayedandtheuseris
askedtoenteranotherroutine.
4. Iftheenteredexerciseisfound,the<Routine_Name>Addedmessageisdisplayedand
thatroutineisaddedtothecurrentschedule.
3.2.3.3 Functional Requirements
Forasuccessfulroutineaddition,theroutinenamemustbeinthedatabase.Also,proper
messagingandproceduresshouldbeimplementedifaninvalidentryisissued.
3.2.4
AddSchedule
3.2.4.1 Description
Thisfunctionwilladdascheduletothecurrentworkout.Allschedulesarestoredina
databaseandorganizedbyname.Onlycoachesand/orathletictrainersaregivenpermission
toaddorremoveschedulesfromaworkout.
3.2.4.2 Stimulus/Response Sequences
1. Coachorathletictrainerentersschedulename.
2. Databaseissearchedtovalidatetheenteredschedulename.
3. Iftheschedulenamedoesnotexist,theScheduleNotFoundmessagewillbedisplayed
andtheuserwillbeaskedtoenteranewschedule.
4. Iftheschedulenamedoesexist,the<Schedule_Name>Addedmessagewillbe
displayedandthatschedulewillbeaddedtothecurrentworkout.
5. Ifanunwantedscheduleneedstoberemovedfromtheworkout,theusermaysimply
selectthatscheduleanddeleteitfromtheworkout.
3.2.4.3 Functional Requirements
Forasuccessfulscheduleaddition,theschedulenamemustbeinthedatabaseandvalid.
Also,propermessagingandproceduresshouldbeimplementedifaninvalidentryisissued.
3.2.5
PrintWorkout
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexiii
3.2.5.1 Description
Thisfunctionwillprintthecurrentworkout.Allworkoutsarestoredinthedatabaseandcan
beorganizedbyplayernameorplayerposition.Allusers(coaches/athletictrainers/players)
havepermissiontoprintworkouts.
3.2.5.2 Stimulus/Response Sequences
1. Player,coach,orathletictrainerhasaworkoutdocumentopenandselectsPrint
2. Ifdocumentprintssuccessfully,thePrintSuccessfulmessageisdisplayedandtheuser
isreturnedtoviewingtheworkoutdocument.
3. Ifthedocumentfailstoprint,thePrintFailedmessageisdisplayedandtheuseris
returnedtoviewingtheworkoutdocument.
3.2.5.3 Functional Requirements
Forasuccessfulworkoutprint,theusermusthaveavalidworkoutdocumentloadedfrom
thedatabase.Propermessagesshouldbedisplayeduponasuccessfulorunsuccessfulprint
command.
3.3
DataFunctions
3.3.1
AddPlayer
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddplayerstothe
system.Inthiscase,theplayeruserisnotsetupwithanyaccesspermissionsandisnot
allowed/grantedpermissiontoanypartofthesystem.Itisameansforcoaches/trainersto
setupworkoutsforplayerswhotheymanage,incaseswerethereisnointeractionbetween
theplayeruserandthesystem.
3.3.1.2 Stimulus/Response Sequences
1.
2.
3.
4.
5.
Promptuserplayerinformation.
Searchdatabaseduplicateplayer.
Printerrormessageifplayeralreadyexists.
Addtheplayertothedatabaseifnewplayer.
Displaysuccessfulmessagetouser.
None
3.3.2
RemovePlayer
3.3.2.1 Description
This function is used by Coaches/Trainers to remove players from the system. In this
situation,theplayercanonlyberemovedbytheuseriftheplayerthemselvesarenotusers
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexiv
ofthesystem.Iftheplayerhasbeenaddedtothesystembyanadministratorwithuser
privileges,thentheycanonlyberemovedbyanadministrator.
3.3.2.2 Stimulus/Response Sequences
1.Promptuserplayername.
2.Searchdatabaseforplayer.
3.Ifplayernotfound,displayerrormessage.
4.Ifplayerfoundandhasuserpermissions,displayerrormessage.
5.Removeplayerfromthesystem.
3.3.2.3 Functional Requirements
None
3.3.3
ViewPlayer
3.3.3.1 Description
ThisfunctionisusedbyCoach/Traineruserstoviewplayerstatistics.Inthisinstance,the
userisallowedtoaccessaplayerfileeveniftheplayerhasuserpermissions.
3.3.3.2 Stimulus/Response Sequences
1.Promptuserforplayername.
2.Searchdatabaseforname.
3.Ifplayernamenotfound,displayerrormessage.
4.Displayplayerprofiletotheuser.
3.3.3.3 Functional Requirements
None
3.3.4
EditPlayer
3.3.4.1 Description
This function will allow Coach/Trainer users to edit a players profile as the player
progressesthroughthesystem.
3.3.4.2 Stimulus/Response Sequences
1.Promptuserforplayername.
2.Searchdatabaseforplayerprofile.
3.Ifplayernotfoundindatabase,displayerrormessagetouser.
4.Ifinvalidparametersentered,displayerrormessagetouser.
5.Updateplayerprofileinthedatabase.
6.Displaysuccessfulmessagetouser
3.3.4.3 Functional Requirements
None
3.3.5
AddExercise
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexv
3.3.5.1 Description
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddanexerciseto
thesystem.Inthiscase,theusermusthaveprivilegestoaddexercisestothedatabase.On
submitthedatabasewillbeupdated.
3.3.5.2 Stimulus/Response Sequences
1.
2.
3.
4.
5.
Promptuserforexerciseinformation.
Searchdatabaseduplicateexercise.
Printerrormessageifalreadyexists.
Addtheexercisetothedatabaseifnewexercise.
Displaysuccessfulmessagetouser.
None
3.3.6
RemoveExercise
3.3.6.1 Description
1.Promptuserexercisename.
2.Searchdatabaseforexercise.
3.Ifexercisenotfound,displayerrormessage.
4.Ifexercisefoundandhasuserpermissions,displayerrormessage.
5.Removeexercisefromthesystem.
3.3.6.3 Functional Requirements
None
3.3.7
ViewExercise
3.3.7.1 Description
ThisfunctionisusedbyCoach/Traineruserstoviewexerciselists.Inthisinstance,theuser
isallowedtoaccessanexercisefileeveniftheexercisehasuserpermissions.
3.3.7.2 Stimulus/Response Sequences
1.Promptuserforexercisename.
2.Searchdatabaseforname.
3.Ifexercisenamenotfound,displayerrormessage.
4.Displayexerciseprofiletotheuser.
3.3.7.3 Functional Requirements
None
3.3.8
EditExercise
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexvi
3.3.8.1 Description
ThisfunctionwillallowCoach/Traineruserstoeditanexercise.Onsubmitthedatabasewill
beupdated.
3.3.8.2 Stimulus/Response Sequences
1.Promptuserforexercisename.
2.Searchdatabaseforexerciseprofile.
3.Ifexercisenotfoundindatabase,displayerrormessagetouser.
4.Ifinvalidparametersentered,displayerrormessagetouser.
5.Updateexerciseprofileinthedatabase.
6.Displaysuccessfulmessagetouser
3.3.8.3 Functional Requirements
None
3.3.9
AddRoutine
3.3.9.1 Description
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddroutinetothe
system.Inordertoaddaroutinetothedatabase,theloggedinusermusthaveprivilegesto
doso.Onsubmittheroutinewillbeaddedtothesystem.
3.3.9.2 Stimulus/Response Sequences
1.
2.
3.
4.
5.
Promptuserroutineinformation.
Searchdatabaseduplicateroutine.
Printerrormessageifroutinealreadyexists.
Addtheroutinetothedatabaseifnewroutine.
Displaysuccessfulmessagetouser.
None
3.3.10 RemoveRoutine
3.3.10.1
Description
This function is used by Coaches/Trainers to remove routines from the system. In this
situation,theroutinecanonlyberemovedbythebyanadministratorwithprivilegestodo
so.
3.3.10.2
Stimulus/Response Sequences
1.Promptuserroutineid.
2.Removeroutinefromthesystem.
3.3.10.3
Functional Requirements
None
3.3.11 ViewRoutine
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexvii
3.3.11.1Description
ThisfunctionisusedbyCoach/Traineruserstoviewroutine.
3.3.11.2Stimulus/Response Sequences
1.Displayroutinestotheuser.
3.3.11.3Functional Requirements
None
3.3.12 EditRoutine
3.3.12.1
Description
ThisfunctionwillallowCoach/Traineruserstoeditaroutine.Usermusthaveappropriate
privileges.
3.3.12.2
Stimulus/Response Sequences
1.Promptuserforroutineid.
2.Searchdatabaseforroutineprofile.
3.Ifinvalidparametersentered,displayerrormessagetouser.
4.Updateroutineprofileinthedatabase.
5.Displaysuccessfulmessagetouser
3.3.12.3
Functional Requirements
None
4.
ExternalInterfaceRequirements
4.1
UserInterfaces
Systemuserswillinterfacewiththeapplicationviathekeyboard.Toaccesstheapplication,
theywillhavetoentertheirusernameandpassword.Onceapositivematchhasbeenfound
bytheapplication,theuserwillbegrantedaccesstotheapplication.Oncetheuserisusing
theapplication,interactionwillbedoneviathekeyboardaswellasthemouse.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexviii
4.2
HardwareInterfaces
The system will use current system drivers for the mouse, keypad and printer. The
application will not be concerned with how the operating system interfaces with these
components,itisjustrequiredthattheyexistandarefunctionaltouseallthefeaturesofthe
application.
4.3
SoftwareInterfaces
Theapplicationwillstorealldatainadatabase,whichtheapplicationwillhavetoaccessto
performthedesireduserrequestedfunction.
5.
ValidationCriteria
5.1
GeneralFunctions
5.1.1
Login
Thisfunctionisageneralloginfunctionforallusers.Theuserwillbepromptedforhis
biometricinformationviathefingerprintscanner,whichwillthenbevalidatedfromthe
contentsoftheusertemplatedatabase.Theloginfunctionwilldeterminethepermissionsfor
usertype.
Descriptionof
input
ValidUsername,
ValidBiometric
Username
Password
ExpectedResults
Valid
Valid
Successfullyloggedin.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexix
ValidUsername,
InvalidBiometric
InvalidUsername,
ValidBiometric
InvalidUsername,
InvalidBiometric
5.1.2
Valid
Invalid
Invalid
Valid
Invalid
Invalid
Error:Invalid
Username/PasswordPair.
Error:Invalid
Username/PasswordPair.
Error:Invalid
Username/PasswordPair.
Logout
Thisfunctionisagenerallogoutfunctionforallusers.Whentheuserlogsout,all
informationcollectedduringthesessionwillbesavedandtheuserinformationwillno
longerbeaccessiblewithoutasuccessfulrelogin.Also,thelogoutfunctionwill
automaticallybeexecutediftheuserisidleoveraperiodoftime.
Descriptionofinput
LogoutButton
LogoutButtonValid
Valid
5.1.3
ExpectedResults
Youhavebeensuccessfully
loggedout.
AddNewUser
Thisfunctionwillregisternewusersintothesystem.Theadministratorwillinputpersonal
information,usertype,andaloginname.Theuserwillthemberequiredtocreatea
biometricfingerprinttemplate.Onsubmit,thefunctionwillcheckforduplicateentriesin
thedatabaseandinsertthenewuserintothespecifictableindatabase.Onlyadministrators
willhavepermissionstoaddusers(Coach/TrainerorPlayer)tothesystem
Description Username Biometric First
Last
User
User
Position Height Weight Expected
ofInput
Template Name Name Type
Class
Results
AllData
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
New
Valid
User
Added
Invalid
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Error
Username
Message
Invalid
Valid
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Error
Biometric
Message
Template
Invalid
Valid
Valid
Invalid Valid
Valid
Valid
Valid
Valid
Valid
Error
FirstName
Message
Invalid
Valid
Valid
Valid
Invalid Valid
Valid
Valid
Valid
Valid
Error
LastName
Message
Invalid
Valid
Valid
Valid
Valid
Invalid Valid
Valid
Valid
Valid
Error
UserType
Message
Invalid
Valid
Valid
Valid
Valid
Valid
Invalid Valid
Valid
Valid
Error
UserClass
Message
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Invalid Valid
Valid
Error
Position
Message
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Invalid Valid
Error
Height
Message
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Valid
Invalid Error
Weight
Message
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexx
5.1.4
RemoveUser
Thisfunctionwillremoveauserfromthedatabase,aswellasalloftheusersinformation.
Thefunctionwillacceptinputfromtheadministratorandlocatetheusertoremoveinthe
database.Onlyadministratorswillhavepermissionstoremoveusersfromthesystem.
DescriptionofInput
ValidUsername,Valid
FirstName,ValidLast
Name
ValidUsername,
InvalidFirstName,
ValidLastName
ValidUsername,Valid
FirstName,Invalid
LastName
ValidUsername,
InvalidFirstName,
InvalidLastName
InvalidUsername,
InvalidFirstName,
ValidLastName
Invalid
Username,ValidFirst
Name,InvalidLast
Name
Invalid
Username,ValidFirst
Name,ValidLast
Name
InvalidUsername,
InvalidFirstName,
InvalidLastName
Username
Valid
FirstName
Valid
LastName
Valid
ExpectedResults
UserSuccessfully
Removedfromthe
System
UserNotFound
ErrorMessage
Valid
Invalid
Valid
Valid
Valid
Invalid
UserNotFound
ErrorMessage
Valid
Invalid
Invalid
UserNotFound
ErrorMessage
Invalid
Invalid
Valid
UserNotFound
ErrorMessage
Invalid
Valid
Invalid
UserNotFound
ErrorMessage
Invalid
Valid
Valid
UserNotFound
ErrorMessage
Invalid
Invalid
Invalid
UserNotFound
ErrorMessage
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxi
5.1.5
ViewUsers
Thisfunctionisanadministratorfunctiontoviewallusersofthesystem.Itwilllistallusers
thatarecurrentlyenrolledinthesystemthatmatchthedefinedsearchcriteria.
DescriptionofInput
ValidUserClass,Valid
UserType,Valid
Position
ValidUser
Class,InvalidUser
Type,ValidPosition
ValidUserClass,Valid
UserType,Invalid
Position
ValidUserClass,
InvalidUserType,
InvalidPosition
InvalidUserClass,
InvalidUserType,
ValidPosition
InvalidUser
Class,ValidUser
Type,InvalidPosition
InvalidUser
Class,ValidUser
Type,ValidPosition
InvalidUserClass,
InvalidUserType,
InvalidPosition
5.1.6
UserClass
Valid
UserType
Valid
Position
Valid
ExpectedResults
UserRecords
Displayed
Valid
Invalid
Valid
Valid
Valid
Invalid
Valid
Invalid
Invalid
Invalid
Invalid
Valid
Invalid
Valid
Invalid
Invalid
Valid
Valid
Invalid
Invalid
Invalid
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
Unabletolocate
matchingrecords
ErrorMessage
EditUsers
Thisfunctionisanadministrativefunctionforeditinguserinformation.Thefunctionis
usedtoupdateuserinformationonfileastheyprogressthroughthesystem.
Descriptionofinput
ValidUsername
InvalidUsername
Username
Valid
Invalid
ExpectedResults
RecordOpenedforEditing
Error:Recorddoesnotexist.
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxii
5.2
CreateWorkoutFunctions
5.2.1
AddPlayer
Thisfunctionwilladdaplayertothecurrentworkout.Includedwiththeplayernamewill
bethefollowingattributes:height,weight,sport,position.Onlycoachesand/orathletic
trainerswillhavepermissiontoaddorremoveplayersfromaworkout.
Descriptionof
input
ValidPlayer
Name,Valid
Position
ValidPlayer
Name,Invalid
Position
InvalidPlayer
Name,Valid
Position
InvalidPlayer
Name,Invalid
Position
5.2.2
Player
Name
PlayerPosition
ExpectedResults
Valid
Valid
Playeraddedtoworkout
Valid
Invalid
Error:InvalidPlayer
Name/PositionPair.
Invalid
Valid
Error:InvalidPlayerName
Invalid
Invalid
Error:InvalidPlayerName
AddSchedule
Thisfunctionwilladdascheduletothecurrentworkout.Allschedulesarestoredina
databaseandorganizedbyname.Onlycoachesand/orathletictrainersaregivenpermission
toaddorremoveschedulesfromaworkout.
Descriptionofinput
ValidScheduleId
InvalidScheduleId
5.2.3
ScheduleId
Valid
Invalid
ExpectedResults
Scheduleaddedtoworkout
Error:Invalidschedulename
AddRoutine
Thisfunctionwilladdaroutinetothecurrentschedule.Allroutinesarestoredinthe
databaseandincludethefollowingattributes:repetitions,sets,andpercentageofmaximum.
Onlycoachesand/orathletictrainershavepermissiontoaddorremoveroutinesfroma
schedule.
Descriptionofinput
ValidRoutineId
InvalidRoutineID
RoutineId
Valid
Invalid
ExpectedResults
Routineaddedtoschedule
Error:Invalidroutinename
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxiii
5.2.4
AddExercise
Thisfunctionwilladdanexercisetothecurrentroutine.Allexercisesarestoredina
databaseandcanbesortedbyspecificmusclegroup.Onlycoachesand/orathletictrainers
areallowedpermissiontoaddorremoveexercisesfromaroutine.
Descriptionof
input
ValidExercise
Name,Valid
MuscleGroup
InvalidExercise
Name,Valid
MuscleGroup
ValidExercise
Name,Invalid
MuscleGroup
InvalidExercise
Name,Invalid
MuscleGroup
5.2.5
Exercise
Name
MuscleGroup
ExpectedResults
Valid
Valid
ExerciseAddedtoRoutine
Invalid
Valid
Error:Exercisenamenotin
database
Valid
Invalid
Error:Invalidexercise
name/musclegrouppair
Invalid
Invalid
Error:Exercisenamenotin
database
PrintWorkout
Thisfunctionwillprintthecurrentworkout.Allworkoutsarestoredinthedatabaseandcan
beorganizedbyplayernameorplayerposition.Allusers(coaches/athletictrainers/players)
havepermissiontoprintworkouts.
Descriptionofinput
ValidPrint
InvalidPrint
PrintButton
Valid
Invalid
ExpectedResults
PrintSuccessful
Error:PrintFailed
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxiv
5.3
DataFunctions
5.3.1
AddPlayer
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddplayerstothe
system.Inthiscase,theplayeruserisnotsetupwithanyaccesspermissionsandisnot
allowed/grantedpermissiontoanypartofthesystem.Itisameansforcoaches/trainersto
setupworkoutsforplayerswhotheymanage,incaseswerethereisnointeraction
betweentheplayeruserandthesystem.
Descriptio
nofInput
AllData
Valid
Duplicate
First/Last
NamePair
Invalid
Position
Invalid
Height
Invalid
Weight
5.3.2
FirstName
LastName
Position
Height
Weight
Expected
Results
NewPlayer
Added
DuplicatePlayer
ErrorMessage
Valid
Valid
Valid
Valid
Valid
Duplicate
Duplicate
Valid
Valid
Valid
Valid
Valid
Invalid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
Invalid
Valid
ErrorMessage
Valid
Valid
Valid
Valid
Invalid
ErrorMessage
RemovePlayer
ThisfunctionisusedbyCoaches/Trainerstoremoveplayersfromthesystem.Inthis
situation,theplayercanonlyberemovedbytheuseriftheplayerthemselvesarenotusers
ofthesystem.Iftheplayerhasbeenaddedtothesystembyanadministratorwithuser
privileges,thentheycanonlyberemovedbyanadministrator.
Descriptionof
input
ValidFirstName,
ValidLastName
Invalid
Combination
5.3.3
FirstName
LastName
ExpectedResults
Valid
Valid
PlayerRemovedfromDatabase
Invalid
Invalid
Error:PlayerNotinDatabase
ViewPlayer
ThisfunctionisusedbyCoach/Traineruserstoviewplayerstatistics.Inthisinstance,the
userisallowedtoaccessaplayerfileeveniftheplayerhasuserpermissions.
Descriptionof
input
ValidFirstName,
FirstName
LastName
ExpectedResults
Valid
Valid
PlayerRemovedfromDatabase
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxv
ValidLastName
Invalid
Combination
5.3.4
Invalid
Invalid
Error:PlayerNotinDatabase
EditPlayer
ThisfunctionwillallowCoach/Traineruserstoeditaplayersprofileastheplayer
progressesthroughthesystem.
Description
ofInput
AllData
Valid
Invalid
First/Last
NamePair
Invalid
UserClass
Invalid
Position
Invalid
Height
Invalid
Weight
5.3.5
FirstName
LastName
Position
Height
Weight
Valid
User
Class
Valid
Valid
Valid
Valid
Invalid
Invalid
Valid
Valid
Valid
Valid
Valid
Valid
Invalid
Valid
Valid
Valid
Expected
Results
NewPlayer
Added
PlayerNotin
DatabaseError
Message
ErrorMessage
Valid
Valid
Valid
Valid
Invalid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
Valid
Invalid
Valid
ErrorMessage
Valid
Valid
Valid
Valid
Valid
Invalid
ErrorMessage
AddExercise
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddanexerciseto
thesystem.Inthiscase,theusermusthaveprivilegestoaddexercisestothedatabase.On
submitthedatabasewillbeupdated.
Description
ofInput
AllData
Valid
Invalid
Name
Invalid
Muscle
Group
Invalid
Type
Exercise
Name
Valid
Muscle
Group
Valid
Type
Valid
Valid
Invalid
Expected
Results
NewExercise
Added
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxvi
5.3.6
RemoveExercise
ThisfunctionisusedbyCoaches/Trainerstoremoveexercisesfromthesystem.Inthis
situation,theexercisecanonlyberemovedbytheuseriftheuserhasappropriateprivileges.
Iftheexercisehasbeenaddedtothesystembyanadministratorwithuserprivileges,then
theycanonlyberemovedbyanadministrator
5.3.7
Descriptionof
input
Exercise
Name
ValidName
Valid
Invalid
Combination
ExerciseRemovedfrom
Database
Invalid
Error:ExerciseNotinDatabase
ExpectedResults
ViewExercise
ThisfunctionisusedbyCoach/Traineruserstoviewexerciselists.Inthisinstance,the
userisallowedtoaccessanexercisefileeveniftheexercisehasuserpermissions.
Description
ofInput
AllData
Valid
Invalid
Name
Invalid
Muscle
Group
Invalid
Type
5.3.8
Exercise
Name
Valid
Muscle
Group
Valid
Type
Valid
Valid
Invalid
Expected
Results
Exercise
displayed
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
EditExercise
ThisfunctionwillallowCoach/Traineruserstoeditanexercise.Onsubmitthedatabase
willbeupdated.
Description
ofInput
AllData
Valid
Invalid
Name
Invalid
Muscle
Group
Invalid
Type
Exercise
Name
Valid
Muscle
Group
Valid
Type
Valid
Valid
Invalid
Expected
Results
Exercise
displayed
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxvii
5.3.9
AddRoutine
ThisfunctionisimplementedbyCoach/Trainerusergroupsasawaytoaddroutinetothe
system.Inordertoaddaroutinetothedatabase,theloggedinusermusthaveprivilegesto
doso.Onsubmittheroutinewillbeaddedtothesystem.
Description
ofInput
AllData
Valid
Invalid
Sets
Invalid
Repetitions
Invalid
Percentage
Sets
Repetitions
Percentage
Valid
Valid
Valid
Valid
Valid
Invalid
Expected
Results
NewRoutine
Added
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
ErrorMessage
5.3.10 RemoveRoutine
ThisfunctionisusedbyCoaches/Trainerstoremoveroutinesfromthesystem.Inthis
situation,theroutinecanonlyberemovedbythebyanadministratorwithprivilegestodo
so.Allroutinesreturnedtotheusersoaninvalidsetidisnotabletobeinputted.
5.3.11 ViewRoutine
ThisfunctionisusedbyCoach/Traineruserstoviewroutine.Thereisnouserinputfor
thisfunction.Whenthefunctionisinvoked,routinesaredisplayedtothescreen.
5.3.12 EditRoutine
ThisfunctionwillallowCoach/Traineruserstoeditaroutine.Usermusthaveappropriate
privileges.
Description
ofInput
AllData
Valid
Invalid
Sets
Invalid
Repetitions
Invalid
Percentage
Sets
Repetitions
Percentage
Valid
Valid
Valid
Valid
Valid
Invalid
Expected
Results
NewRoutine
Added
ErrorMessage
Valid
Valid
Valid
ErrorMessage
Valid
Valid
Valid
ErrorMessage
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxviii
AppendixA:AnalysisModels
SystemDesign
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxix
SystemUseCase
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxx
SystemAccessUseCase
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxxi
CreateWorkoutUseCase
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxxii
DataUseCase
SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexxxiii
AppendixB:IssuesList
None