You are on page 1of 14

[YourProject] Requirements Specification

[YourProject] Requirements Specification


Version 1.0
September 24, 2013
Use this Requirements Specification template to document the requirements for your product or
service, including priority and approval. Tailor the specification to suit your project, organizing the
applicable sections in a way that wors best, and use the checlist to record the decisions about what is
applicable and what isn!t.
The format of the requirements depends on what wors best for your project.
This document contains instructions and e"amples which are for the benefit of the person writing the
document and should be removed before the document is finalized.
To regenerate the T#$, select all %$T&'() and press *+.
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 5 o f 50
[YourProject] Requirements Specification
ab!e of "ontents
1. EXECUTIVE SUMMARY.............................................................................................3
1.1 PROJECT OVERVIEW.................................................................................................................... 3
1.2 PURPOSE AND SCOPE OF THIS SPECIFICATION...................................................................................3
2. PRODUCT/SERVICE DESCRIPTION............................................................................3
2.1 PRODUCT CONTEXT.................................................................................................................... 3
2.2 USER CHARACTERISTICS............................................................................................................... 3
2.3 ASSUMPTIONS............................................................................................................................ 3
2.4 CONSTRAINTS............................................................................................................................ 3
2.5 DEPENDENCIES.......................................................................................................................... 4
3. REQUIREMENTS......................................................................................................4
3.1 FUNCTIONAL REQUIREMENTS......................................................................................................... 5
3.2 USER INTERFACE REQUIREMENTS................................................................................................... 5
3.3 USABILITY................................................................................................................................. 5
3.4 PERFORMANCE........................................................................................................................... 6
3.4.1 Capacity.......................................................................................................................... 6
3.4.2 Availability....................................................................................................................... 6
3.4.3 Latency........................................................................................................................... 6
3.5 MANAEABILITY!MAINTAINABILITY.................................................................................................. 6
3.5.1 Monitoring....................................................................................................................... 6
3.5.2 Maintenance.................................................................................................................... 6
3.5.3 Operations....................................................................................................................... 6
3.6 SYSTEM INTERFACE!INTERATION................................................................................................... "
3.6.1 Network an !arware "nter#aces...................................................................................$
3.6.2 %yste&s "nter#aces.......................................................................................................... $
3." SECURITY.................................................................................................................................. #
3.$.1 'rotection........................................................................................................................ (
3.$.2 A)t*ori+ation an A)t*entication....................................................................................(
3.# DATA MANAEMENT.................................................................................................................... #
3.$ STANDARDS COMPLIANCE............................................................................................................. #
3.1% PORTABILITY.............................................................................................................................. #
4. USER SCENARIOS/USE CASES..................................................................................9
5. DELETED OR DEFERRED REQUIREMENTS..................................................................9
6. REQUIREMENTS CONFIRMATION/STAKEHOLDER SIN!OFF.......................................1"
APPENDIX.................................................................................................................11
APPENDIX A. DEFINITIONS& ACRONYMS& AND ABBREVIATIONS.....................................................................11
APPENDIX B. REFERENCES.................................................................................................................. 11
APPENDIX C. REQUIREMENTS TRACEABILITY MATRIX.................................................................................11
APPENDIX D. ORANI'IN THE REQUIREMENTS....................................................................................... 13
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age / o f 50
[YourProject] Requirements Specification
5. 7"ecutive Summary
1.1 Project Overview
8escribe this project or product and its intended audience, or provide a lin or reference to the project
charter.
1.2 Purpose and Scope of this Specification
8escribe the purpose of this specification and its intended audience. 9nclude a description of what is
within the scope what is outside of the scope of these specifications. *or e"ample:
#n scope
This document addresses requirements related to phase / of 6roject (:
modification of $lassification 6rocessing to meet legislative mandate (;$.
modification of &abor Relations 6rocessing to meet legislative mandate (;$.
$ut of Scope
The following items in phase 2 of 6roject ( are out of scope:
modification of $lassification 6rocessing to meet legislative mandate <=>.
modification of &abor Relations 6rocessing to meet legislative mandate <=>.
%6hase 2 will be considered in the development of the requirements for 6hase /, but the 6hase 2
requirements will be documented separately.)
/. 6roduct,Service 8escription
9n this section, describe the general factors that affect the product and its requirements. This section
should contain bacground information, not state specific requirements %provide the reasons why
certain specific requirements are later specified).
2.1 Product Contet
?ow does this product relate to other products@ 9s it independent and self'contained@ 8oes it interface
with a variety of related systems@ 8escribe these relationships or use a diagram to show the major
components of the larger system, interconnections, and e"ternal interfaces.
2.2 !ser Characteristics
$reate general customer profiles for each type of user who will be using the product. 6rofiles should
include:
Student,faculty,staff,other
e"perience
technical e"pertise
other general characteristics that may influence the product
2." #ssumptions
&ist any assumptions that affect the requirements, for e"ample, equipment availability, user e"pertise,
etc. *or e"ample, a specific operating system is assumed to be availableA if the operating system is
not available, the Requirements Specification would then have to change accordingly.
2.$ Constraints
8escribe any items that will constrain the design options, including
parallel operation with an old system
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 2 o f 50
[YourProject] Requirements Specification
audit functions %audit trail, log files, etc.)
access, management and security
criticality of the application
system resource constraints %e.g., limits on dis space or other hardware limitations)
other design constraints %e.g., design or other standards, such as programming language or
framewor)
2.% &ependencies
&ist dependencies that affect the requirements. 7"amples:
This new product will require a daily download of data from <,
Bodule < needs to be completed before this module can be built.
2. Requirements
8escribe all system requirements in enough detail for designers to design a system satisfying the
requirements and testers to verify that the system satisfies requirements.
#rganize these requirements in a way that wors best for your project. See 0 0 , #rganizing the
Requirements for different ways to organize these requirements.
8escribe every input into the system, every output from the system, and every function performed
by the system in response to an input or in support of an output. %Specify what functions are to be
performed on what data to produce what results at what location for whom.)
7ach requirement should be numbered %or uniquely identifiable) and prioritized.
See the sample requirements in *unctional Requirements, and System 9nterface,9ntegration, as well
as these e"ample priority definitions:
Priorit% &efinitions
The following definitions are intended as a guideline to prioritize requirements.
6riority 5 C The requirement is a Dmust haveE as outlined by policy,law
6riority / C The requirement is needed for improved processing, and the fulfillment of the
requirement will create immediate benefits
6riority 2 C The requirement is a Dnice to haveE which may include new functionality
9t may be helpful to phrase the requirement in terms of its priority, e.g., FThe value of the employee
status sent to 89S must be either ( or 9F or F9t 'ou!( be nice if the application warned the user that
the e"piration date was 2 business days awayF. (nother approach would be to group requirements
by priority category.
( good requirement is:
$orrect
Unambiguous %all statements have e"actly one interpretation)
$omplete %where T;8s are absolutely necessary, document why the information is unnown,
who is responsible for resolution, and the deadline)
$onsistent
Raned for importance and,or stability
Gerifiable %avoid soft descriptions lie Dwors wellE, Dis user friendlyEA use concrete terms and
specify measurable quantities)
Bodifiable %evolve the Requirements Specification only via a formal change process, preserving
a complete audit trail of changes)
8oes not specify any particular design
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 0 o f 50
[YourProject] Requirements Specification
Traceable %cross'reference with source documents and spawned documents).
".1 'unctiona( Requirements
9n the e"ample below, the requirement numbering has a scheme ' ;R-&R-1HH %;R for ;usiness
Requirement, &R for &abor Relations). *or small projects simply ;R'HH would suffice. Ieep in mind
that if no prefi" is used, the traceability matri" may be difficult to create %e.g., no differentiation between
!1/! as a business requirement vs. a test case)
The following table is an e"ample format for requirements. $hoose whatever format wors best for
your project.
*or 7"ample:
Req) Requirement "omments Priorit%
&ate
R*'(
S+,
Re*ie'e( -
.ppro*e(
;R-&R-13
The system should associate
a supervisor indicator with
each job class.
;usiness 6rocess J
DBaintenance
2 4,52,10 ;ob 8ylan,
Bic Kagger
;R-&R-1L
The system should handle
any number of fees %e"isting
and new) associated with
unions.
;usiness 6rocess J
D$hanging 8ues in the
SystemE
(n e"ample of a new fee is
an initiation fee.
/ 4,52,10 ;ob 8ylan,
Bic Kagger
;R-&R-51
The system should capture
and maintain job class status
%i.e., active or inactive)
;usiness 6rocess J
DBaintenanceE
Some job classes are old
and are no longer used.
?owever, they still need to
be maintained for legal,
contract and historical
purposes.
/ 4,52,10 ;ob 8ylan,
Bic Kagger
;R-&R-5.
The system should assign the
Supervisor $ode based on
the value in the Kob $lass
table and additional criteria as
specified by the clients.
(pril /113 C Mew
requirement. 9t is one of
three new requirements
from ;R-&R-12.
/
;R-&R-5L
The system should provide
the &abor Relations office with
the ability to override the
system'derived ;argaining
Unit code and the Union
$ode for to'be'determined
employee types, including
hourly appointments.
(pril /113 C Mew
requirement. 9t is one of
three new requirements
from ;R-&R-10.
3,55,/113 C 6riority
changed from / to 2.
/
2
".2 !ser )nterface Requirements
9n addition to functions required, describe the characteristics of each interface between the product and
its users %e.g., required screen formats,organization, report layouts, menu structures, error and other
messages, or function eys).
"." !sa*i(it+
9nclude any specific usability requirements, for e"ample,
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 3 o f 50
[YourProject] Requirements Specification
&earnability
The user documentation and help should be complete
The help should be conte"t sensitive and e"plain how to achieve common tass
The system should be easy to learn
%See http:,,www.usabilitynet.org,)
".$ Performance
Specify static and dynamic numerical requirements placed on the system or on human interaction with
the system:
Static numerical requirements may include the number of terminals to be supported, the number of
simultaneous users to be supported, and the amount and type of information to be handled.
8ynamic numerical requirements may include the number of transactions and tass and the amount
of data to be processed within certain time period for both normal and pea worload conditions.
(ll of these requirements should be stated in measurable form. *or e"ample, F+3N of the transactions
shall be processed in less than 5 secondF rather than Dan operator shall not have to wait for the
transaction to completeE.
3.4.1 "apacit%
9nclude measurable capacity requirements %e.g., the number of simultaneous users to be supported,
the ma"imum simultaneous user load, per'user memory requirements, e"pected application
throughput)
3.4.2 .*ai!abi!it%
9nclude specific and measurable requirements for:
?ours of operation
&evel of availability required
$overage for geographic areas
9mpact of downtime on users and business operations
9mpact of scheduled and unscheduled maintenance on uptime and maintenance communications
procedures
reliability %e.g., acceptable mean time between failures %BT;*), or the ma"imum permitted number
of failures per hour).
3.4.3 /atenc%
9nclude e"plicit latency requirements, e.g., the ma"imum acceptable time %or average time) for a service
request.
".% ,ana-ea*i(it+.,aintaina*i(it+
3.0.1 +onitorin1
9nclude any requirements for product or service health monitoring, failure conditions, error detection,
logging, and correction.
3.0.2 +aintenance
Specify attributes of the system that relate to ease of maintenance. These requirements may relate to
modularity, comple"ity, or interface design. Requirements should not be placed here simply because
they are thought to be good design practices.
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age . o f 50
[YourProject] Requirements Specification
3.0.3 $perations
Specify any normal and special operations required by the user, including:
periods of interactive operations and periods of unattended operations
data processing support functions
bacup and recovery operations
safety considerations and requirements
disaster recovery and business resumption
"./ S+stem )nterface.)nte-ration
Specify the use of other required products %e.g., a database or operating system), and interfaces with
other systems %e.g., UO?ires pacage interfaces with 6ub$ooie and #8S, ?766S system interfaces
with ;udget system). *or each interface, define the interface in terms of message format and content.
*or well'documented interfaces, simply provide a reference to the documentation.
#utline each interface between the product and the hardware or networ components of the system.
This includes configuration characteristics %e.g., number of ports, instruction sets), what devices are to
be supported, and protocols %e.g., signal handshae protocols).
3.2.1 3et'or4 an( 5ar('are #nterfaces
Specify the logical characteristics of each interface between the product and the hardware or networ
components of the system. This includes configuration characteristics %e.g., number of ports, instruction
sets), what devices are to be supported, and protocols %e.g., signal handshae protocols).
3.2.2 S%stems #nterfaces
7"ample systems interface requirements:
A. System1-to-System2 Interface
The Pe"ternal partyQ will create and send a fi"ed length te"t file as an email attachment to
System/mailRu.washington.edu to be imported into the System/ system for payroll calculation. This file
must be received on 789T day by 0:11 6B in order to be processed in the 789T night run. The
requirements below document the file specifications, data transfer process, and specific schedule. This
file is referred to as F*ileMameF in this document.
'i(e Structure and 'ormat
(.5. The *ileMame file is a fi"ed length te"t file.
(./. The *ileMame file is an unformatted (S$99 file %te"t'only).
(.2. The *ileMame file contains a batch totals record and several detail records.
'i(e &escription0 1atch 2ota(s Record
(.0. The batch totals record can be placed at the beginning, in the middle, or at the end of the file.
(.3. The batch totals record contains the following:
5. Record Type %value: <()
/. 6rocess Type %value: ()
2. ;atch Mumber %2 digit number assigned by 6ayroll 8ept)
0. #rigin $ode %(9S)
3. Total number of detail records
.. Total deduction amount
'i(e &escription0 &etai( Records
(... The *ileMame file contains a row for each record meeting """ criteria.
(.4. 7ach row in the *ileMame file contains the following fields, comma'delimited and encased in double'
quotes where the data includes commas or spaces:
7mployee 9d
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 4 o f 50
[YourProject] Requirements Specification
Record Type
6rocess 8ate %BB88==)
<=S Mumber
7lement $ode
(mount
(mount Sign
=ear *lag
Total (mount
Total (mt Sign
".3 Securit+
3.6.1 Protection
Specify the factors that will protect the system from malicious or accidental access, modification,
disclosure, destruction, or misuse. *or e"ample:
encryption
activity logging, historical data sets
restrictions on intermodule communications
data integrity checs
3.6.2 .ut7ori8ation an( .ut7entication
Specify the (uthorization and (uthentication factors. $onsider using standard tools such as 6ub$ooie.
".4 &ata ,ana-ement
Specify the requirements for any information that is to be placed into a database, including
types of information used by various functions
frequency of use
data access rules
data entities and relationships
integrity constraints
data retention
valid range, accuracy, and,or tolerance
units of measure
data formats
default or initial values
".5 Standards Comp(iance
Specify the requirements derived from e"isting standards, policies, regulations, or laws %e.g., report
format, data naming, accounting procedures, audit tracing). *or e"ample, this could specify the
requirement for software to trace processing activity. Such traces are needed for some applications to
meet minimum regulatory or financial standards. (n audit trace requirement may, for e"ample, state
that all changes to a payroll database must be recorded in a trace file with before and after values.
".16 Porta*i(it+
9f portability is a requirement, specify attributes of the system that relate to the ease of porting the
system to other host machines and,or operating systems. *or e"ample,
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age L o f 50
[YourProject] Requirements Specification
6ercentage of components with host'dependent codeA
6ercentage of code that is host dependentA
Use of a proven portable languageA
Use of a particular compiler or language subsetA
Use of a particular operating systemA
The need for environment'independence ' the product must operate the same regardless of
operating systems, networs, development or production environments.
0. User Scenarios,Use $ases
6rovide a summary of the major functions that the product will perform. #rganize the functions to be
understandable to the customer or a first time reader. 9nclude use cases and business scenarios, or
provide a lin to a separate document %or documents). ( business scenario:
8escribes a significant business need
9dentifies, documents, and rans the problem that is driving the scenario
8escribes the business and technical environment that will resolve the problem
States the desired objectives
Shows the D(ctorsE and where they fit in the business model
9s specific, and measurable, and uses clear metrics for success
3. 8eleted or 8eferred Requirements
9dentify any requirements that have been deleted after approval or that may be delayed until future
versions of the system. *or e"ample:
Req)
9usiness
Requirement
Status "omments Pri
&ate
R*'(
S+,
Re*ie'e(
-.ppro*e(
;R-&R-15
The system should
validate the relationship
between ;argaining
Unit,&ocation and Kob
$lass.
(pril /113:
8eleted.
This requirement
has been replaced
by ;R-&R-12. and
;R-$$-22.
;usiness 6rocess J
D(ssigning a
;argaining Unit to an
(ppointmentE
5 4,52,10 ;ob 8ylan,
Bic Kagger
;R-&R-1/
The system should
validate that the
supervisor indicator is
correct according to job
class.
8eferred to 6hase /;:
2,/+,/113
(pril /113:
8eferred to 6hase
/;.
;usiness 6rocess J
D(ssigning a
;argaining Unit to an
(ppointmentE
2 4,52,10 ;ob 8ylan,
Bic Kagger
;R-&R-12
The system should
derive the bargaining
unit code, union code,
and supervisor
indicator from the job
class code and
location.
(pril /113: 8eleted
Replaced by
;R-&R-5. and
;R-&R-54.
;usiness 6rocess J
D(ssigning a
;argaining Unit to an
(ppointmentEA This
will eliminate the
need, typically, for the
user to enter the
bargaining unit code,
union code and
supervisor indicator.
5 4,52,10 ;ob 8ylan,
Bic Kagger
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age + o f 50
[YourProject] Requirements Specification
.. Requirements $onfirmation,Staeholder sign'off
9nclude documentation of the approval or confirmation of the requirements here. *or e"ample:
+eetin1 &ate .tten(ees :name an( ro!e; "omments
4,52,14 ;ob 8ylan, &abor Relations SB7
Bic Kagger, &abor Relations SB7
Ringo Starr, Technical 6roject Banager
8ebbie ?arry, Technical (nalyst
Kanis Koplin, Technical (nalyst
*red Beyer, 6roject Banager
$onfirmed ;R-&R-15 C ;R-&R-53
10,53,13 ;ob 8ylan, &abor Relations SB7
Bic Kagger, &abor Relations SB7
Ringo Starr, Technical 6roject Banager
8eferred , 8eleted: ;R-&R-15 ' ;R-&R-10,
;R-&R-14, ;R-&R-5/, ;R-&R-50,
;R-&R-53, ;R-&R-1., ;R-&R-54
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 51 o f 50
[YourProject] Requirements Specification
(667M89<
The appendi"es are not always considered part of the actual Requirements Specification and are not
always necessary. They may include
Sample input,output formats, descriptions of cost analysis studies, or results of user surveysA
Supporting or bacground information that can help the readers of the Requirements SpecificationA
( description of the problems to be solved by the systemA
Special pacaging instructions for the code and the media to meet security, e"port, initial loading, or
other requirements.
Ohen appendi"es are included, the Requirements Specification should e"plicitly state whether or not
the appendi"es are to be considered part of the requirements.
1. &efinitions, .cron%ms, an( .bbre*iations
8efine all terms, acronyms, and abbreviations used in this document.
2. References
&ist all the documents and other materials referenced in this document.
3. Requirements raceabi!it% +atri<
The following trace matri" e"amples show one possible use of naming standards for deliverables
%*unctional(rea'8ocType'MM). The number has no other meaning than to eep the documents unique.
*or e"ample, the ;argaining Unit (ssignment 6rocess *low would be ;U('6*'15.
*or e"ample %5):
9usiness Requirement .rea &e!i*erab!es Status
;R-&R-15
The system should validate the relationship
between ;argaining Unit,&ocation and Kob
$lass.'''$omments: ;usiness 6rocess J
F(ssigning a ;argaining Unit to an
(ppointmentF %6riority 5)
;U( ;U('$8'15
(ssign ;U $onceptual 8esign
(ccepted
;U('6*'15
8erive ;argaining Unit'6rocess
*low 8iagram
(ccepted
;U('6*'15
8erive ;argaining Unit'6rocess
*low 8iagram
(ccepted
;R-&R-1+
The system should provide the capability for
the &abor Relations #ffice to maintain the
job class,union relationship.'''$omments:
;usiness 6rocess J FBaintenanceF %6riority
5)
;U( ;U('$8'15
(ssign ;U $onceptual 8esign
(ccepted
;U('6*'1/
;U (ssignment Rules Baint
6rocess *low 8iagram
Ready*orReview
*or e"ample %/):
9i8Req#& Pri
+ajor
.rea
&e*st#tems
&e!i*#&
&e!i* 3ame Status
;R-&R-15 5 ;U( ;U('$8'15 (ssign ;U $onceptual 8esign (ccepted
;R-&R-15 5 ;U( ;U('8S'1/ ;argaining Unit (ssignment 8; Bodification
8escription
(ccepted
;R-&R-15 5 ;U( ;U('6*'15 8erive ;argaining Unit'6rocess *low 8iagram (ccepted
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 55 o f 50
[YourProject] Requirements Specification
9i8Req#& Pri
+ajor
.rea
&e*st#tems
&e!i*#&
&e!i* 3ame Status
;R-&R-15 5 ;U( ;U('U$8'15 ;U (ssign &R Use$ase 8iagram Ready*orReview
;R-&R-15 5 ;U( ;U('U$T'115 ;U (ssignment by 6$ Use$ase ' (dd
(ppointment and 8erive U;U
Reviewed
;R-&R-15 5 ;U( ;U('U$T'11/ ;U (ssignment by 6$ Use$ase ' (dd
(ppointment %U;U Mot *ound)
Reviewed
;R-&R-15 5 ;U( ;U('U$T'11. ;U (ssignment by 6$ Use$ase ' Bodify
(ppointment %Removed U;U)
Reviewed
;R-&R-1+ 5 ;U( ;U('$8'15 (ssign ;U $onceptual 8esign (ccepted
;R-&R-1+ 5 ;U( ;U('8S'1/ ;argaining Unit (ssignment 8; Bodification
8escription
(ccepted
;R-&R-1+ 5 ;U( ;U('6*'1/ ;U (ssignment Rules Baint 6rocess *low 8iagram(ccepted
;R-&R-1+ 5 ;U( ;U('U$8'12 ;U (ssign Rules Baint Use$ase 8iagram Reviewed
;R-&R-1+ 5 ;U( ;U('U$T'103 ;U (ssignment Rules Baint: Successfully (dd Mew
(ssignment Rule
Reviewed
;R-&R-1+ 5 ;U( ;U('U$T'135 ;U (ssignment Rules BaintUse$ase: Bodify Rule Reviewed
;R-&R-1+ 5 ;U( ;U('U$T'132 ;U (ssignment Rules BaintUse$ase ' Review
(ssignment Rules
Reviewed
;R-&R-1+ 5 ;U( ;U('U$T'134 ;U (ssignment Rules BaintUse$ase: 9nactivate
&ast Rule for a ;U
Reviewed
;R-&R-1+ 5 ;U( ;U('U9'1/ ;U (ssignRules Baint U9 Bocups Ready*orReview
;R-&R-1+ 5 ;U( ;U('T$'1/5 ;U (ssignment Rules Baint Test$ase: (dd Mew
Rule %(ssociated Kob $lass 8oes Mot 7"ist) '
Success
Ready*orReview
;R-&R-1+ 5 ;U( ;U('T$'1/4 ;U (ssignment Rules Baint Test$ase: Bodify Rule
' Success
Ready*orReview
;R-&R-1+ 5 ;U( ;U('T$'123 ;U (ssignment Rules Baint Test$ase: (dd Mew
Rule %(ssociated Kob $lass 8oes Mot 7"ist) ' 7rror
$ondition
Ready*orReview
;R-&R-1+ 5 ;U( ;U('T$'10+ ;U (ssignment Rules Baint Test$ase: Bodify Rule
' 7rror $ondition
Ready*orReview
*or e"ample %2):
9i8Req#& "&01 "&02 "&03 "&04 =#01 =#02 ="01 ="02 ="03 "01 "02 "03 "04
;R-&R-15
X X X X X
;R-&R-1+
X X X X X X
;R-&R-51
X X X X
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 5/ o f 50
[YourProject] Requirements Specification
9i8Req#& "&01 "&02 "&03 "&04 =#01 =#02 ="01 ="02 ="03 "01 "02 "03 "04
;R-&R-55
X
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 52 o f 50
[YourProject] Requirements Specification
4. $r1ani8in1 t7e Requirements
This section is for information only as an aid in preparing the requirements document.
8etailed requirements tend to be e"tensive. Sive careful consideration to your organization scheme.
Some e"amples of organization schemes are described below:
9% S%stem +o(e
Some systems behave quite differently depending on the mode of operation. *or e"ample, a control
system may have different sets of functions depending on its mode: training, normal, or emergency.
9% =ser "!ass
Some systems provide different sets of functions to different classes of users. *or e"ample, an elevator
control system presents different capabilities to passengers, maintenance worers, and fire fighters.
9% $bjects
#bjects are real'world entities that have a counterpart within the system. *or e"ample, in a patient
monitoring system, objects include patients, sensors, nurses, rooms, physicians, medicines, etc.
(ssociated with each object is a set of attributes %of that object) and functions %performed by that
object). These functions are also called services, methods, or processes. Mote that sets of objects may
share attributes and services. These are grouped together as classes.
9% >eature
( feature is an e"ternally desired service by the system that may require a sequence of inputs to affect
the desired result. *or e"ample, in a telephone system, features include local call, call forwarding, and
conference call. 7ach feature is generally described in a sequence of stimulus'response pairs, and may
include validity checs on inputs, e"act sequencing of operations, responses to abnormal situations,
including error handling and recovery, effects of parameters, relationships of inputs to outputs, including
input,output sequences and formulas for input to output.
9% Stimu!us
Some systems can be best organized by describing their functions in terms of stimuli. *or e"ample, the
functions of an automatic aircraft landing system may be organized into sections for loss of power, wind
shear, sudden change in roll, vertical velocity e"cessive, etc.
9% Response
Some systems can be best organized by describing all the functions in support of the generation of a
response. *or e"ample, the functions of a personnel system may be organized into sections
corresponding to all functions associated with generating paychecs, all functions associated with
generating a current list of employees, etc.
9% >unctiona! 5ierarc7%
Ohen none of the above organizational schemes prove helpful, the overall functionality can be
organized into a hierarchy of functions organized by common inputs, common outputs, or common
internal data access. 8ata flow diagrams and data dictionaries can be used to show the relationships
between and among the functions and data.
.((itiona! "omments
Ohenever a new Requirements Specification is contemplated, more than one of the organizational
techniques given above may be appropriate. 9n such cases, organize the specific requirements for
multiple hierarchies tailored to the specific needs of the system under specification.
There are many notations, methods, and automated support tools available to aid in the documentation
of requirements. *or the most part, their usefulness is a function of organization. *or e"ample, when
organizing by mode, finite state machines or state charts may prove helpfulA when organizing by object,
object'oriented analysis may prove helpfulA when organizing by feature, stimulus'response sequences
may prove helpfulA and when organizing by functional hierarchy, data flow diagrams and data
dictionaries may prove helpful.
,var,www,apps,conversion,tmp,scratch-.,/01230214.doc September /0, /152
6age 50 o f 50