You are on page 1of 8

<SoftwareName>

SoftwareRequirementsSpecification
<Version>
<Date>
<Group>

<ProjectName>

RevisionHistory
Date
<date>

Description
<Version1>

Author
<YourName>

Comments
<FirstRevision>

DocumentApproval
ThefollowingSoftwareRequirementsSpecificationhasbeenacceptedandapprovedbythe
following:
Signature
PrintedName
Title
Date
<YourName>

LeadSoftwareEng.

A.DavidMcKinnon

Instructor,CptS322

SoftwareRequirementsSpecification

Page2

<ProjectName>

TableofContents
REVISIONHISTORY................................................................................................................................................II
DOCUMENTAPPROVAL........................................................................................................................................II
1.INTRODUCTION.....................................................................................................................................................1
1.1PURPOSE...............................................................................................................................................................1
1.2SCOPE...................................................................................................................................................................1
1.3DEFINITIONS,ACRONYMS,ANDABBREVIATIONS................................................................................................1
1.4OVERVIEW............................................................................................................................................................1
2.GENERALDESCRIPTION....................................................................................................................................1
2.1PRODUCTPERSPECTIVE........................................................................................................................................1
2.2PRODUCTFUNCTIONS...........................................................................................................................................2
2.3USERCHARACTERISTICS......................................................................................................................................2
2.4GENERALCONSTRAINTS.......................................................................................................................................2
3.SPECIFICREQUIREMENTS................................................................................................................................2
3.1EXTERNALINTERFACEREQUIREMENTS...............................................................................................................3
3.1.1UserInterfaces.............................................................................................................................................3
3.1.2HardwareInterfaces....................................................................................................................................3
3.1.3SoftwareInterfaces......................................................................................................................................3
3.1.4CommunicationsInterfaces.........................................................................................................................3
3.2FUNCTIONALREQUIREMENTS...............................................................................................................................3
3.3NONFUNCTIONALREQUIREMENTS......................................................................................................................3
3.5.1Performance.................................................................................................................................................3
3.5.2Reliability.....................................................................................................................................................3
3.5.3Availability...................................................................................................................................................3
3.5.4Security........................................................................................................................................................3
3.5.5Maintainability.............................................................................................................................................3
3.5.6Portability....................................................................................................................................................3
4.ANALYSISMODELS..............................................................................................................................................3
4.1.USECASE............................................................................................................................................................3
4.2CLASSES/OBJECTS..............................................................................................................................................3
4.2.1<Class/Object#1>....................................................................................................................................3
4.2.2<Class/Object#2>....................................................................................................................................4
................................................................................................................................................................................4
4.3SEQUENCEDIAGRAMS*)OPTIONAL...............................................................................................................................4
A.APPENDICES..........................................................................................................................................................4
A.1APPENDIX1.........................................................................................................................................................4
A.2APPENDIX2.........................................................................................................................................................4

SoftwareRequirementsSpecification

Page3

<ProjectName>

SoftwareRequirementsSpecification

Page4

<ProjectName>

1.Introduction
TheintroductiontotheSoftwareRequirementSpecification(SRS)documentshouldprovidean
overviewofthecompleteSRSdocument.Whilewritingthisdocumentpleaserememberthatthis
documentshouldcontainalloftheinformationneededbyasoftwareengineertoadequately
designandimplementthesoftwareproductdescribedbytherequirementslistedinthis
document.(Note:thefollowingsubsectionannotatesarelargelytakenfromtheIEEEGuideto
SRS).

1.1Purpose
WhatisthepurposeofthisSRSandthe(intended)audienceforwhichitiswritten.

1.2Scope
Thissubsectionshould:
(1) Identifythesoftwareproduct(s)tobeproducedbyname;forexample,HostDBMS,Report
Generator,etc
(2) Explainwhatthesoftwareproduct(s)will,and,ifnecessary,willnotdo
(3) Describetheapplicationofthesoftwarebeingspecified.Asaportionofthis,itshould:
(a)Describeallrelevantbenefits,objectives,andgoalsaspreciselyaspossible.For
example,tosaythatonegoalistoprovideeffectivereportingcapabilitiesisnotasgood
assayingparameterdriven,userdefinablereportswitha2hturnaroundandonline
entryofuserparameters.
(b)Beconsistentwithsimilarstatementsinhigherlevelspecifications(forexample,the
SystemRequirementSpecification),iftheyexist.Whatisthescopeofthissoftware
product.

1.3Definitions,Acronyms,andAbbreviations
Thissubsectionshouldprovidethedefinitionsofallterms,acronyms,andabbreviations
requiredtoproperlyinterprettheSRS.Thisinformationmaybeprovidedbyreferencetooneor
moreappendixesintheSRSorbyreferencetootherdocuments.

1.4Overview
Thissubsectionshould:
(1)DescribewhattherestoftheSRScontains
(2)ExplainhowtheSRSisorganized.

2.GeneralDescription
ThissectionoftheSRSshoulddescribethegeneralfactorsthataffect'theproductandits
requirements.Itshouldbemadeclearthatthissectiondoesnotstatespecificrequirements;it
onlymakesthoserequirementseasiertounderstand.
SoftwareRequirementsSpecification

Page1

<ProjectName>

2.1ProductPerspective
ThissubsectionoftheSRSputstheproductintoperspectivewithotherrelatedproductsor
projects.(SeetheIEEEGuidetoSRSformoredetails).

2.2ProductFunctions
ThissubsectionoftheSRSshouldprovideasummaryofthefunctionsthatthesoftwarewill
perform.

2.3UserCharacteristics
ThissubsectionoftheSRSshoulddescribethosegeneralcharacteristicsoftheeventualusersof
theproductthatwillaffectthespecificrequirements.(SeetheIEEEGuidetoSRSformore
details).

2.4GeneralConstraints
ThissubsectionoftheSRSshouldprovideageneraldescriptionofanyotheritemsthatwill
limitthedevelopersoptionsfordesigningthesystem.(SeetheIEEEGuidetoSRSforapartial
listofpossiblegeneralconstraints).

3.SpecificRequirements
ThiswillbethelargestandmostimportantsectionoftheSRS.Thecustomerrequirementswill
beembodiedwithinSection2,butthissectionwillgivetheDrequirementsthatareusedto
guidetheprojectssoftwaredesign,implementation,andtesting.
Eachrequirementinthissectionshouldbe:

Correct

Traceable(bothforwardandbackwardtoprior/futureartifacts)

Unambiguous

Verifiable(i.e.,testable)

Prioritized(withrespecttoimportanceand/orstability)

Complete

Consistent

Uniquelyidentifiable(usuallyvianumberinglike3.4.5.6)

Attentionshouldbepaidtothecarefulyorganizetherequirementspresentedinthissectionso
thattheymayeasilyaccessedandunderstood.Furthermore,thisSRSisnotthesoftwaredesign

SoftwareRequirementsSpecification

Page2

<ProjectName>
document,thereforeoneshouldavoidthetendencytooverconstrain(andthereforedesign)the
softwareprojectwithinthisSRS.

3.1ExternalInterfaceRequirements
[youcanomitoneormoreoftheserequirementsifnotnecessaryinyoursystem]
3.1.1UserInterfaces
3.1.2HardwareInterfaces
3.1.3SoftwareInterfaces
3.1.4CommunicationsInterfaces

3.2FunctionalRequirements
Thissectiondescribesspecificfeaturesofthesoftwareproject.Ifdesired,somerequirements
maybespecifiedintheusecaseformatandlistedintheUseCasesSection.

3.3NonFunctionalRequirements
Nonfunctionalrequirementsmayexistforthefollowingattributes.Oftentheserequirements
mustbeachievedatasystemwidelevelratherthanataunitlevel.Statetherequirementsinthe
followingsectionsinmeasurableterms(e.g.,95%oftransactionshallbeprocessedinlessthan
asecond,systemdowntimemaynotexceed1minuteperday,>30dayMTBFvalue,etc).
Note:i
3.5.1Performance
3.5.2Reliability
3.5.3Availability
3.5.4Security
3.5.5Maintainability
3.5.6Portability

4.AnalysisModels
ListallanalysismodelsusedindevelopingspecificrequirementspreviouslygiveninthisSRS.
Eachmodelshouldincludeanintroductionandanarrativedescription.Furthermore,each
modelshouldbetraceabletheSRSsrequirements.

SoftwareRequirementsSpecification

Page3

<ProjectName>

4.1.UseCase
4.2Classes/Objects
[showyourclassdiagramhereanddescribeeachclassinthenextsection]
4.2.1<Class/Object#1>
4.2.1.1Attributes
4.2.1.2Functions
4.2.2<Class/Object#2>

4.3SequenceDiagrams*)optional

A.Appendices
Appendicesmaybeusedtoprovideadditional(andhopefullyhelpful)information.Ifpresent,
theSRSshouldexplicitlystatewhethertheinformationcontainedwithinanappendixistobe
consideredasapartoftheSRSsoverallsetofrequirements.
ExampleAppendicescouldinclude(initial)conceptualdocumentsforthesoftwareproject,
marketingmaterials,minutesofmeetingswiththecustomer(s),etc.

A.1Appendix1
A.2Appendix2

SoftwareRequirementsSpecification

Page4

You might also like