Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project.
The document in this file is an annotated outline for specifying software requirements, adapted from the IEEE uide to !oftware "equirements !pecifications #!td $%&'())%*. Tailor this to your needs, remo+ing explanatory comments as you go along. ,here you decide to omit a section, you might -eep the header, but insert a comment saying why you omit the data.
Agency Name
ersion! (n)
Date! (mm"dd"yyyy)
1. Revision History
Revision # Revision Date Description of Change Author
2. Distribution
Recipient Name Recipient Organization Distribution Method
Table of $ontents
%& 'ntroduction 1.1Purpose 1.2 Scope 1.3 Definitions, Acronyms, and Abbreviations. 1.4 References 1.5 vervie! % 1 1 1 1 1 % 2 . . . . % % % % 3 4 4 4 5 5 & & 5 . $ $ $ $ $ 10 (& (& (& (( (( (( ((
(& T)e *+erall Description 2.1 Product Perspective ..(.( !ystem Interfaces ..(.. Interfaces ..(.% /ardware Interfaces ..(.0 !oftware Interfaces ..(.1 2ommunications Interfaces ..(.3 4emory 2onstraints ..(.5 6perations ..(.$ !ite 7daptation "equirements 2.2 Product "unctions 2.3 #ser $%aracteristics 2.4 $onstraints 2.5 Assumptions and Dependencies 2.& Apportionin' of Re(uirements. ,& Specific Requirements 3.1 )*ternal +nterfaces 3.2 "unctions 3.3 Performance Re(uirements 3.4 ,o'ical Database Re(uirements 3.5 Desi'n $onstraints %.1.( !tandards 2ompliance 3.& Soft!are System Attributes %.3.( "eliability %.3.. 7+ailability %.3.% !ecurity %.3.0 4aintainability %.3.1 Portability 3.- r'ani/in' t%e Specific Re(uirements %.5.( !ystem 4ode %.5.. 8ser 2lass %.5.% 6bjects %.5.0 9eature %.5.1 !timulus %. 5.3 "esponse %.5.5 9unctional /ierarchy
3.. Additional $omments .&$)ange /anagement Process -&Document Appro+als 0&Supporting 'nformation
11 %% %( %(
%& 'ntroduction
1%e follo!in' subsections of t%e Soft!are Re(uirements Specifications 2SRS3 document s%ould provide an overvie! of t%e entire SRS.
%&% Purpose
+dentify t%e purpose of t%is SRS and its intended audience. +n t%is subsection, describe t%e purpose of t%e particular SRS and specify t%e intended audience for t%e SRS.
%&( Scope
+n t%is subsection4 213 +dentify t%e soft!are product2s3 to be produced by name 223 )*plain !%at t%e soft!are product2s3 !ill, and, if necessary, !ill not do 233 Describe t%e application of t%e soft!are bein' specified, includin' relevant benefits, ob5ectives, and 'oals 243 6e consistent !it% similar statements in %i'%er7level specifications if t%ey e*ist
%&. References
+n t%is subsection4 213 Provide a complete list of all documents referenced else!%ere in t%e SRS 223 +dentify eac% document by title, report number 2if applicable3, date, and publis%in' or'ani/ation 233 Specify t%e sources from !%ic% t%e references can be obtained. 1%is information can be provided by reference to an appendi* or to anot%er document.
%&- *+er+iew
+n t%is subsection4 213 Describe !%at t%e rest of t%e SRS contains 223 )*plain %o! t%e SRS is or'ani/ed
Describe t%e 'eneral factors t%at affect t%e product and its re(uirements. 1%is section does not state specific re(uirements. +nstead, it provides a bac8'round for t%ose re(uirements, !%ic% are defined in section 3, and ma8es t%em easier to understand.
Specify t%e use of ot%er re(uired soft!are products and interfaces !it% ot%er application systems. "or eac% re(uired soft!are product, include4 213 9ame 223 :nemonic 233 Specification number 243 ;ersion number 253 Source "or eac% interface, provide4 213 Discussion of t%e purpose of t%e interfacin' soft!are as related to t%is soft!are product 223 Definition of t%e interface in terms of messa'e content and format (&%&- $ommunications 'nterfaces Specify t%e various interfaces to communications suc% as local net!or8 protocols, etc. (&%&0 /emory $onstraints Specify any applicable c%aracteristics and limits on primary and secondary memory. (&%&2 *perations Specify t%e normal and special operations re(uired by t%e user suc% as4 213 1%e various modes of operations in t%e user or'ani/ation 223 Periods of interactive operations and periods of unattended operations 233 Data processin' support functions 243 6ac8up and recovery operations 29ote4 1%is is sometimes specified as part of t%e #ser +nterfaces section.3 (&%&3 Site Adaptation Requirements +n t%is section4 213 Define t%e re(uirements for any data or initiali/ation se(uences t%at are specific to a 'iven site, mission, or operational mode 223 Specify t%e site or mission7related features t%at s%ould be modified to adapt t%e soft!are to a particular installation
"or clarity4 213 1%e functions s%ould be or'ani/ed in a !ay t%at ma8es t%e list of functions understandable to t%e customer or to anyone else readin' t%e document for t%e first time. 223 1e*tual or 'rap%ic met%ods can be used to s%o! t%e different functions and t%eir relations%ips. Suc% a dia'ram is not intended to s%o! a desi'n of a product but simply s%o!s t%e lo'ical relations%ips amon' variables.
(&. $onstraints
Provide a 'eneral description of any ot%er items t%at !ill limit t%e developer<s options. 1%ese can include4 213 Re'ulatory policies 223 =ard!are limitations 2for e*ample, si'nal timin' re(uirements3 233 +nterface to ot%er applications 243 Parallel operation 253 Audit functions 2&3 $ontrol functions 2-3 =i'%er7order lan'ua'e re(uirements #$* Si'nal %ands%a8e protocols 2for e*ample, > 97> "", A$?79A$?3 #)* Reliability re(uirements 2103 $riticality of t%e application 2113 Safety and security considerations
;alid ran'e, accuracy and@or tolerance #nits of measure 1imin' Relations%ips to ot%er inputs@outputs Screen formats@or'ani/ation Aindo! formats@or'ani/ation Data formats $ommand formats )nd messa'es
,&( 4unctions
"unctional re(uirements define t%e fundamental actions t%at must ta8e place in t%e soft!are in acceptin' and processin' t%e inputs and in processin' and 'eneratin' t%e outputs. 1%ese are 'enerally listed as Bs%allC statements startin' !it% D1%e system s%allE 1%ese include4 ;alidity c%ec8s on t%e inputs )*act se(uence of operations Responses to abnormal situation, includin' verflo! $ommunication facilities )rror %andlin' and recovery )ffect of parameters Relations%ip of outputs to inputs, includin' +nput@ utput se(uences "ormulas for input to output conversion
+t may be appropriate to partition t%e functional re(uirements into sub7functions or sub7 processes. 1%is does not imply t%at t%e soft!are desi'n !ill also be partitioned t%at !ay.
Static numerical re(uirements are sometimes identified under a separate section entitled capacity. Dynamic numerical re(uirements may include, for e*ample, t%e numbers of transactions and tas8s and t%e amount of data to be processed !it%in certain time periods for bot% normal and pea8 !or8load conditions. All of t%ese re(uirements s%ould be stated in measurable terms. "or e*ample, F5G of t%e transactions s%all be processed in less t%an 1 second rat%er t%an, An operator s%all not %ave to !ait for t%e transaction to complete. 29ote4 9umerical limits applied to one specific function are normally specified as part of t%e processin' subpara'rap% description of t%at function.3
233 Accountin' procedures 243 Audit 1racin' "or e*ample, t%is could specify t%e re(uirement for soft!are to trace processin' activity. Suc% traces are needed for some applications to meet minimum re'ulatory or financial standards. An audit trace re(uirement may, for e*ample, state t%at all c%an'es to a payroll database must be recorded in a trace file !it% before and after values.
Specify attributes of soft!are t%at relate to t%e ease of portin' t%e soft!are to ot%er %ost mac%ines and@or operatin' systems. 1%is may include4 Percenta'e of components !it% %ost7dependent code Percenta'e of code t%at is %ost dependent #se of a proven portable lan'ua'e #se of a particular compiler or lan'ua'e subset #se of a particular operatin' system nce t%e relevant c%aracteristics are selected, a subsection s%ould be !ritten for eac%, e*plainin' t%e rationale for includin' t%is c%aracteristic and %o! it !ill be tested and measured. A c%art li8e t%is mi'%t be used to identify t%e 8ey c%aracteristics 2ratin' t%em =i'% or :edium3, t%en identifyin' !%ic% are preferred !%en tradin' off desi'n or implementation decisions 2!it% t%e +D of t%e preferred one indicated in t%e c%art to t%e ri'%t3. 'D ( . % 0 1 3 5 $ ) (& (( (. $)aracteristic 2orrectness Efficiency 9lexibility Integrity:!ecurity Interoperability 4aintainability Portability "eliability "eusability Testability 8sability 7+ailability #"/"8 % ( , . 0 2 3 9 %: %% %(
Definitions of t%e (uality c%aracteristics not defined in t%e para'rap%s above follo!. H $orrectness 7 e*tent to !%ic% pro'ram satisfies specifications, fulfills userIs mission ob5ectives H )fficiency 7 amount of computin' resources and code re(uired to perform function H "le*ibility 7 effort needed to modify operational pro'ram H +nteroperability 7 effort needed to couple one system !it% anot%er H Reliability 7 e*tent to !%ic% pro'ram performs !it% re(uired precision H Reusability 7 e*tent to !%ic% it can be reused in anot%er application H 1estability 7 effort needed to test to ensure performs as intended H #sability 7 effort re(uired to learn, operate, prepare input, and interpret output
,&2&. 4eature A feature is an e*ternally desired service by t%e system t%at may re(uire a se(uence of inputs to effect t%e desired result. )ac% feature is 'enerally described in as se(uence eof stimulus7response pairs. ,&2&- Stimulus Some systems can be best or'ani/ed by describin' t%eir functions in terms of stimuli. ,& 2&0 Response Some systems can be best or'ani/ed by describin' t%eir functions in support of t%e 'eneration of a response. ,&2&2 4unctional #ierarc)y A%en none of %e above or'ani/ational sc%emes prove %elpful, t%e overall functionality can be or'ani/ed into a %ierarc%y of functions or'ani/ed by eit%er common inputs, common outputs, or common internal data access. Data flo! dia'rams and data dictionaries can be use dot s%o! t%e relations%ips bet!een and amon' t%e functions and data.
+dentify t%e c%an'e mana'ement process to be used to identify, lo', evaluate, and update t%e SRS to reflect c%an'es in pro5ect scope and re(uirements.
1%e Appendices are not al!ays considered part of t%e actual re(uirements specification and are not al!ays necessary. 1%ey may include4 2a3 Sample +@ formats, descriptions of cost analysis studies, results of user surveys 2b3 Supportin' or bac8'round information t%at can %elp t%e readers of t%e SRS 2c3 A description of t%e problems to be solved by t%e soft!are 2d3 Special pac8a'in' instructions for t%e code and t%e media to meet security, e*port, initial loadin', or ot%er re(uirements A%en Appendices are included, t%e SRS s%ould e*plicitly state !%et%er or not t%e Appendices are to be considered part of t%e re(uirements. Tables on the following pages pro+ide alternate ways to structure section % on the specific requirements.
*utline for SRS Section , *rgani;ed by /ode! ersion % %. !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( 4ode ( %...(.( 9unctional requirement (.( ..... %...(. n 9unctional requirement (.n %.... 4ode . ..... %...m 4ode m %...m.( 9unctional requirement m.( ..... %...m.n 9unctional requirement m.n %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , *rgani;ed by /ode! ersion ( %. !pecific "equirements %.( 9unctional "equirements %.(.( 4ode ( %.(.(.( External interfaces %.(.(.( 8ser interfaces %.(.(.. /ardware interfaces %.(.(.% !oftware interfaces %.(.(.0 2ommunications interfaces %.(.(.. 9unctional "equirement %.(.(...( 9unctional requirement ( ..... %.(.(... n 9unctional requirement n %.(.(.% Performance %.(.. 4ode . ..... %.(.m 4ode m %.. ;esign constraints %.% !oftware system attributes %.0 6ther requirements
*utline for SRS Section , *rgani;ed by 5ser $lass %. !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( 8ser class ( %...(.( 9unctional requirement (.( ..... %...(. n 9unctional requirement (.n %.... 8ser class . ..... %...m 8ser class m %...m.( 9unctional requirement m.( ..... %...m.n 9unctional requirement m.n %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , *rgani;ed by *bject % !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 2lasses:6bjects %...( 2lass:6bject ( %...(.( 7ttributes #direct or inherited* %...(.(.( 7ttribute ( ..... %...(.(. n 7ttribute n %...(.. 9unctions #ser+ices, methods, direct or inherited* %...(...( 9unctional requirement (.( ..... %...(... m 9unctional requirement (.m %...(.% 4essages #communications recei+ed or sent* %.... 2lass:6bject . ..... %...p 2lass:6bject p %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
% !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. !ystem features %...( !ystem 9eature ( %...(.( Introduction:Purpose of feature %...(.. !timulus:"esponse sequence %...(.% 7ssociated functional requirements %...(.%.( 9unctional requirement ( ..... %...(.%. n 9unctional requirement n %.... !ystem 9eature . ..... %...m !ystem 9eature m ..... %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , *rgani;ed by Stimulus % !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( !timulus ( %...(.( 9unctional requirement (.( ..... %...(. n 9unctional requirement (.n %.... !timulus . ..... %...m !timulus m %... m.( 9unctional requirement m.( ..... %... m.n 9unctional requirement m.n %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , *rgani;ed by Response % !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( "esponse ( %...(.( 9unctional requirement (.( ..... %...(. n 9unctional requirement (.n %.... "esponse . ..... %...m "esponse m %... m.( 9unctional requirement m.( ..... %... m.n 9unctional requirement m.n %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , *rgani;ed by 4unctional #ierarc)y % !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( Information flows %...(.( ;ata flow diagram ( %...(.(.( ;ata entities %...(.(.. Pertinent processes %...(.(.% Topology %...(.. ;ata flow diagram . %...(...( ;ata entities %...(.... Pertinent processes %...(...% Topology ..... %...(.n ;ata flow diagram n %...(.n.( ;ata entities %...(.n.. Pertinent processes %...(.n.% Topology %.... Process descriptions %.....( Process ( %.....(.( Input data entities %.....(.. 7lgorithm or formula of process %.....(.% 7ffected data entities %...... Process . %.......( Input data entities %........ 7lgorithm or formula of process %.......% 7ffected data entities .<. %.....m Process m %.....m.( Input data entities %.....m.. 7lgorithm or formula of process %..... m.% 7ffected data entities %...% ;ata construct specifications %...%.( 2onstruct ( %...%.(.( "ecord type %...%.(.. 2onstituent fields %...%.. 2onstruct . %...%...( "ecord type %...%.... 2onstituent fields <.. %...%. p 2onstruct p %...%. p.( "ecord type
%...%. p.. 2onstituent fields %...0 ;ata dictionary %...0.( ;ata element ( %...0.(.( =ame %...0.(.. "epresentation %...0.(.% 8nits:9ormat %...0.(.0 Precision:7ccuracy %...0.(.1 "ange %...0.. ;ata element . %...0...( =ame %...0.... "epresentation %...0...% 8nits:9ormat %...0...0 Precision:7ccuracy %...0...1 "ange <.. %...0.( ;ata element ( %...0. (.( =ame %...0. (.. "epresentation %...0. (.% 8nits:9ormat %...0. (.0 Precision:7ccuracy %...0. (.1 "ange %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements
*utline for SRS Section , S)owing /ultiple *rgani;ations % !pecific "equirements %.( External interface requirements %.(.( 8ser interfaces %.(.. /ardware interfaces %.(.% !oftware interfaces %.(.0 2ommunications interfaces %.. 9unctional requirements %...( 8ser class ( %...(.( 9eature (.( %...(.(.( Introduction:Purpose of feature %...(.(.. !timulus:"esponse sequence %...(.(.% 7ssociated functional requirements %...(.. 9eature (.. %...(...( Introduction:Purpose of feature %...(.... !timulus:"esponse sequence %...(...% 7ssociated functional requirements <.. %...(.m 9eature (.m %...(.m.( Introduction:Purpose of feature %...(.m.. !timulus:"esponse sequence %...(. m.% 7ssociated functional requirements %.... 8ser class . ..... %...n 8ser class n ..... %.% Performance "equirements %.0 ;esign 2onstraints %.1 !oftware system attributes %.3 6ther requirements