Software Requirements Specification: B2D Solutions Eric Berg Josh Dodd

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 33

Software Requirements

Specification
for

Strength Training Application

B2D Solutions
Eric Berg
Josh Dodd

February 14, 2008

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.

3.1.1.3 Functional Requirements

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.

3.1.2.3 Functional Requirements

Forasuccessfulregistration,thefunctionrequiresausernamethathasnomatchingdatabase
entry,aswellasotherinformationthatisvalidated.

3.1.3

RemoveUser

3.1.3.1 Description

Thisfunctionwillremoveauserfromthedatabase,aswellasalloftheusersinformation.
Thefunctionwillacceptinputfromtheadministratorandlocatetheusertoremoveinthe
database.Onlyadministratorswillhavepermissionstoremoveusersfromthesystem.

SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagex

3.1.3.2 Stimulus/Response Sequences

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.

3.1.5.3 Functional Requirements

Forasuccessfulsearch,usermustinvokethesearchfunctionbyclickingsearch.
3.1.6

EditUsers

3.1.6.1 Description

Thisfunctionisanadministrativefunctionforeditinguserinformation.Thefunctionis
usedtoupdateuserinformationonfileastheyprogressthroughthesystem.

SoftwareRequirementsSpecificationforStrengthTrainingApplication
Pagexi

3.1.6.2 Stimulus/Response Sequences

1.
2.
3.
4.
5.

Userindicateseditrecord.
Userenterstheusernameoftherecordinwhichtoedit
Ifrecordnotfoundindatabase,errormessagedisplayedtouser.
Promptsusertoentertheinformationinthedatafieldsinwhichtochange.
Displaystherecordwiththeupdatedinformationtotheuser.

3.1.6.3 Functional Requirements

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

3.2.2.3 Functional Requirements

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

3.3.1.1 Description and Priority

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.

3.3.1.3 Functional Requirements

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.

3.3.5.3 Functional Requirements

None
3.3.6

RemoveExercise

3.3.6.1 Description

ThisfunctionisusedbyCoaches/Trainers toremoveexercises fromthesystem.Inthis


situation,theexercisecanonlyberemovedbytheuseriftheuserhasappropriateprivileges.
Iftheexercisehasbeenaddedtothesystembyanadministratorwithuserprivileges,then
theycanonlyberemovedbyanadministrator.
3.3.6.2 Stimulus/Response Sequences

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.

3.3.9.3 Functional Requirements

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

You might also like