Вы находитесь на странице: 1из 8

2/9/2015

SoftwareRequirementsSpecification(SRS)

SoftwareRequirementsSpecification(SRS)
SoftwareRequirementsSpecification
for
<NameofProject>
<authors>
<date>
Version
0.1

Release
Date

ResponsibleParty

MajorChanges

InitialDocumentReleaseforComment

TableofContents
Builtthetableofcontentshere.Insertitwhenyoufinishyourdocument.

1.Introduction
ThefollowingsubsectionsoftheSRSshouldprovideanoverviewoftheentireSRS.

1.1Purpose
IdentifythepurposeofthisSRSanditsintendedaudience.

1.2Scope.
Inthissubsection:
(1)Identifythesoftwareproduct(s)tobeproducedbyname
(2)Explainwhatthesoftwareproduct(s)will,and,ifnecessary,willnotdo
(3)Describetheapplicationofthesoftwarebeingspecified.Asaportionofthis,itshould:
(a)Describetherelevantbenefits,objectives,andgoalsaspreciselyaspossible
(b)Beconsistentwithsimilarstatementsinhigherlevelspecificationsiftheyexist.
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

1/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

1.3Definitions,Acronyms,andAbbreviations
Provide the definitions of all terms, acronyms, and abbreviations required to properly interpret the SRS. This
informationmaybeprovidedbyreferencetoanappendixorotherdocument(s).

1.4References
Inthissubsection:
(1)ProvideacompletelistofalldocumentsreferencedelsewhereintheSRS.
(2)Identifyeachdocumentbytitle,reportnumber(ifapplicable),date,andpublishingorganization.
(3)Specifythesourcesfromwhichthereferencescanbeobtained.

1.5Overview
DescribetherestoftheSRSandhowitisorganized.

2.TheGeneralDescription
Describe the general factors that affect the product and its requirements. This section usually consists of the
fivesubsectionsthatfollow.Thissectiondoesnotstatespecificrequirementseachofitssubsectionsmakesthose
requirements easier to understand they do not specify design or express specific requirements. Such detail is
providedinsection3.

2.1ProductPerspective
ThissubsectionoftheSRSrelatestheproducttootherproductsorprojects.
(1)Iftheproductisindependentandtotallyselfcontained,itshouldbestatedhere.
(2)IftheSRSdefinesaproductthatisacomponentofalargersystemorproject:
(a)Describethefunctionsofeachcomponentofthelargersystemorproject,andidentifyinterfaces
(b)Identifytheprincipalexternalinterfacesofthissoftwareproduct(notadetaileddescription)
(c)Describethecomputerhardwareandperipheralequipmenttobeused(overviewonly)
A block diagram showing the major components of the larger system or project, interconnections, and external
interfacescanbeveryhelpful.

2.2ProductFunctions
Provide a summary of the functions that the software will perform. Sometimes the function summary that is
necessary for this part can be taken directly from the section of the higherlevel specification (if one exists) that
allocatesparticularfunctionstothesoftwareproduct.Thefunctionsshouldbeorganizedinawaythatmakesthe
list of functions understandable to the customer or to anyone else reading the document for the first time. Block
diagrams showing the different functions and their relationships can be helpful. Such a diagram is not a
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

2/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

requirementonthedesignofaproductitselfitissimplyaneffectiveexplanatorytool.

2.3UserCharacteristics
Describe those general characteristics of the eventual users of the product that will affect the specific
requirements.
Many people interact with a system during the operation and maintenance phase of the software life cycle.
Some of these people are users, operators, and maintenance and systems personnel. Certain characteristics of
these people, such as educational level, experience, and technical expertise impose important constraints on the
system'soperatingenvironment.

2.4GeneralConstraints
Provideageneraldescriptionofanyotheritemsthatwilllimitthedeveloper'soptionsfordesigningthesystem.
Thesecaninclude:
(1)Regulatorypolicies
(2)Hardwarelimitationsforexample,signaltimingrequirements
(3)Interfacetootherapplications
(4)Paralleloperation
(5)Auditfunctions
(6)Controlfunctions
(7)Higherorderlanguagerequirements
(8)Signalhandshakeprotocolsforexample,XONXOFF,ACKNACK.
(9)Criticalityoftheapplication
(10)Safetyandsecurityconsiderations

2.5AssumptionsandDependencies
ListanddescribeeachofthefactorsthataffecttherequirementsstatedintheSRS.Thesefactorsarenotdesign
constraints on the software but any changes to them can affect the requirements in the SRS. For example, an
assumptionmightbethataspecificoperatingsystemwillbeavailableonthehardwaredesignatedforthesoftware
product.If,infact,theoperatingsystemisnotavailable,theSRSwouldthenhavetochange.

3.SpecificRequirements
This section of the SRS should contain all the details the software developer needs to create a design. This is
typicallythelargestandmostimportantpartoftheSRS.
(1)Thedetailswithinitshouldbedefinedasindividualspecificrequirements,followingtheguidelinesforsound
requirements(verifiable,unambiguous,etc.)
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

3/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

(2)Specificrequirementsshouldbeorganizedinalogicalandreadablefashion.
(3) Each requirement should be stated such that its achievement can be objectively verified by a prescribed
method.
(4)Sourcesofarequirementshouldbeidentifiedwherethatisusefulinunderstandingtherequirement.
(5)Onewaytoclassifythespecificrequirementsisasfollows:
(a)FunctionalRequirements
(b)PerformanceRequirements
(c)DesignConstraints
(d)Attributes
(e)ExternalInterfaceRequirements
The organization of this section of the SRS should be chosen with the goal of properly specifying the
requirementsinthemostreadablemanner.

3.1.FunctionalRequirements
ThissubsectionoftheSRSshouldspecifywhatistobedonebytheproduct,towhatlevelorspecificrequirement,
whatinputsshouldbetransformedtowhatoutputs(nothowthisisdone),whatspecificoperationsarerequired.
Where the rationale for a requirement is not obvious, provide an explanation. Where issues need to be resolved,
citethose.
For each function, specify requirements on inputs, processing, and outputs. These are usually organized with
thesefoursubparagraphs:
(1)Purposeofthefunction:Providerationaletoclarifytheintentofthefunction.
(2)Inputs:sources,validrangesofvalues,anytimingconcerns,operatorrequirements,specialinterfaces
(3)Operationstobeperformed:validitychecks,responsestoabnormalconditions,typesofprocessingrequired
(4) Outputs: destinations, valid ranges of values, timing concerns, handling of illegal values, error messages,
interfacesrequired

3.2.ExternalInterfaceRequirements
Thisshouldspecify:
(1)Thecharacteristicsthatthesoftwaremustsupportforeachhumaninterfacetothesoftwareproduct.For
example,iftheuserofthesystemoperatesthroughadisplayterminal,thefollowingshouldbespecified:
(a)Requiredscreenformats
(b)Pagelayoutandcontentofanyreportsormenus
(c)Relativetimingofinputsandoutputs
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

4/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

(d)Availabilityofsomeformofprogrammablefunctionkeys.
(2) All the aspects of optimizing the interface with the person who must use the system. This may simply
comprisealistofdo'sanddon'tsonhowthesystemwillappeartotheuser
Specify the logical characteristics of each interface between the software product and the hardware
components of the system. Include such matters as what devices are to be supported, how they are to be
supported,andprotocols.
Specify the use of other required software products (for example, a data management system, an operating
system,oramathematicalpackage),andinterfaceswithotherapplicationsystems.
Foreachrequiredsoftwareproduct,thefollowingshouldbeprovided:
(1)Name
(2)Mnemonic
(3)SpecificationNumber
(4)Versionnumber
(5)Source
Foreachinterface:
(1)Discussthepurposeoftheinterfacingsoftwareasrelatedtothissoftwareproduct.
(2) Define the interface in terms of message content and format. It is not necessary to detail any well
documentedinterface,butareferencetothedocumentdefiningtheinterfaceisrequired.
Specifythevariousinterfacestocommunicationssuchaslocalnetworkprotocols,etc.

3.3.PerformanceRequirements
Thissubsectionshouldspecifyboththestaticandthedynamicnumericalrequirementsplacedonthesoftwareoron
humaninteractionwiththesoftware,asawhole.
(1)Staticnumericalrequirementsmayinclude:
(a)Thenumberofterminalstobesupported
(b)Thenumberofsimultaneoususerstobesupported
(c)Numberoffilesandrecordstobehandled
(d)Sizesoftablesandfiles
Staticnumericalrequirementsaresometimesidentifiedunderaseparatesectionentitledcapacity.
(2)Dynamicnumericalrequirementsmayinclude,forexample,thenumbersoftransactionsandtasksandthe
amountofdatatobeprocessedwithincertaintimeperiodsforbothnormalandpeakworkloadconditions.
All of these requirements should be stated in measurable terms, for example, 95% of the transactions shall be
processedinlessthan1s,ratherthan,operatorshallnothavetowaitforthetransactiontocomplete.
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

5/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

Note: Numerical limits applied to one specific function are normally specified as part of the processing
subparagraphdescriptionofthatfunction.

3.4.DesignConstraints
Designconstraintscanbeimposedbyotherstandards,hardwarelimitations,etc.
Specifytherequirementsderivedfromexistingstandardsorregulations.Theymightinclude:
(1)Reportformat
(2)Datanaming
(3)Accountingprocedures
(4) Audit Tracing. For example, this could specify the requirement for software to trace processing activity.
Suchtracesareneededforsomeapplicationstomeetminimumgovernmentorfinancialstandards.Anaudittrace
requirementmight,forexample,statethatallchangestoapayrolldatabasemustberecordedinatracefilewith
beforeandaftervalues.
Identifytherequirementsforthesoftwaretooperateinsidevarioushardwareconstraints

3.5.QualityCharacteristics
There are a number of quality characteristics that can apply to software. Pick the ones most important to this
productanddevelopasectionforeachone.Definitionsofthequalitycharacteristicsfollow.
Correctnessextenttowhichprogramsatisfiesspecifications,fulfillsusersmissionobjectives
Efficiencyamountofcomputingresourcesandcoderequiredtoperformfunction
Flexibilityeffortneededtomodifyoperationalprogram
Integrity/securityextenttowhichaccesstosoftwareordatabyunauthorizedpeoplecanbecontrolled
Interoperabilityeffortneededtocoupleonesystemwithanother
Maintainabilityeffortrequiredtolocateandfixanerrorduringoperation
Portabilityeffortneededtotransferfromoneh/wors/wenvironmenttoanother
Reliabilityextenttowhichprogramperformswithrequiredprecision
Reusabilityextenttowhichitcanbereusedinanotherapplication
Testabilityeffortneededtotesttoensureperformsasintended
Usabilityeffortrequiredtolearn,operate,prepareinput,interpretoutput
Describetherationaleforincludingthischaracteristicforthisproduct.
Describehowthepresence,absence,orlevelofthischaracteristicwillbemeasuredidentifywaystotestthe
characteristiconcetheproductiscomplete.

http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

6/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

3.6.OtherRequirements
Certain requirements may, due to the nature of the software, the user organization, etc., be placed in separate
categoriessuchasthosebelow.
Thiscouldspecifytherequirementsforanydatabasethatistobedevelopedaspartoftheproduct.Thismight
include:
(1)Typesofinformation
(2)Frequencyofuse
(3)Accessingcapabilities
(4)Dataelementandfiledescriptions
(5)Relationshipofdataelements,recordsandfiles
(6)Staticanddynamicorganization
(7)Retentionrequirementsfordata
Note: If an existing data base package is to be used, this package should be named under Interfaces to
Softwareanddetailsofusingitspecifiedthere.
Thiscouldspecifythenormalandspecialoperationsrequiredbytheusersuchas:
(1)Thevariousmodesofoperationsintheuserorganizationforexample,userinitiatedoperations
(2)Periodsofinteractiveoperationsandperiodsofunattendedoperations
(3)Dataprocessingsupportfunctions
(4)Backupandrecoveryoperations
Note:ThisissometimesspecifiedaspartoftheUserInterfacessection.
Thiscould:
(1)Definetherequirementsforanydataorinitializationsequencesthatarespecifictoagivensite,mission,or
operationalmode,forexample,safetylimits.
(2)Specifyfeaturesthatshouldbemodifiedtoadaptthesoftwaretoaninstallation.

4.SupportingInformation
Thesupportinginformationthatis,theTableofContents,theAppendices,andtheIndex,maketheSRSeasierto
use.TheAppendicesarenotalwaysconsideredpartoftheactualrequirementsspecificationandarenotalways
necessary.Theymightinclude:
(a)SampleI/Oformats,descriptionsofcostanalysisstudies,resultsofusersurveys.
(b)SupportingorbackgroundinformationthatcanhelpthereadersoftheSRS.
(c)Adescriptionoftheproblemstobesolvedbythesoftware.
http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

7/8

2/9/2015

SoftwareRequirementsSpecification(SRS)

(d)Thehistory,background,experienceandoperationalcharacteristicsoftheorganizationtobesupported.
(e)Acrossreferencelist,arrangedbymilestone,ofthoseincompletesoftwarerequirementsthataretobe
completedbyspecifiedmilestones.
(f)Specialpackaginginstructionsforthecodeandthemediatomeetsecurity,export,initialloading,or
otherrequirements.
(3) When Appendices are included, the SRS should explicitly state whether or not the Appendices are to be
consideredpartoftherequirements.

http://www.site.uottawa.ca/~shervin/courses/seg4105/project/SRS.html

8/8

Вам также может понравиться