Professional Documents
Culture Documents
S ft R
Requirements
i t
Specification
Software
S ft Requirements
R i t Specification:
S ifi ti AC
Contract
t t
Document
y Requirements document is a reference
f document.
y SRS document is a contract between the
d
development
l t tteam and
d th
the customer.
t
y Once the SRS document is approved by the
customer,
y any subsequent controversies are settled
byy referring
g the SRS document.
SW R
Requirements
i t SSpecification
ifi ti
y Purpose of SRS
y communication between the Customer, Analyst,
system developers, maintainers, ...
y contract between Purchaser and Supplier
y firm foundation for the design phase
y support system
y testing
g activities
y support project management and control
y controlling the evolution of the system
SRS Document (CONT.)
y The SRS document
doc ment is kno
known
n as black-box
black bo
specification:
y the system is considered as a black box whose internal
details are not known.
y only its visible external (i.e. input/output) behavior is
documented.
I
Input
tDData
t O t t Data
Output D t
S
SRS Document (CONT.)
y SRS document concentrates on:
y what needs to be done
y carefully avoids the solution (“how to do”) aspects.
y The SRS document serves as a contract
y between development team and the customer.
y Should be carefully written
SRS Document (CONT.)
y The requirements at this stage:
y written using end-user
end user terminology
terminology.
y If necessary:
y later a formal
f requirement specification
f
may be developed from it.
Software Requirements Specification
(SRS)
1. Introduction
1.1 Purpose
p
1.2 Scope
1.3 Definitions, Acronyms and Abbreviations
1.4 References
1.5 Overview
SRS - Introduction Section
y Purpose
y delineate the purpose of the particular SRS
y specify the intended audience for the SRS
y Scope
y identify
y the SW p
products to be p
produced byy name
y explain what the SW product will do, and if necessary,
what it will not do
y describe the application of the SW being specified
specified. ie
ie.
benefits, objectives, goals as precisely as possible
y Overview
y describe what the rest of the SRS contains
y how the SRS is organized
SRS P
Prototype
t t O
Outline
tli
[ IEEE SRS Standard ]
2 General description
2.
2.1 Product perspective
2 2 Product function summary
2.2
2.3 User characteristics
2 4 General constraints
2.4
2.5 Assumptions and dependencies
Product Perspective
y State whether the product is independent and
totally self contained
y If the product is component of a larger system
then:
y describe the functions of each component of the larger
system and identify interfaces
y overview of the principal external interfaces of this
product
y overview of HW and peripheral equipment to be used
y Give a block diagram showing the major
components of the product, interconnections, and
external interfaces.
Product Functions
y Provide a summary of functions the SW will
perform
f
y The functions should be organized in such a
way that they are understandable by the user
User Characteristics
C
y Describe
D ib th
the generall characteristics
h t i ti off th
the
eventual users of the product. (such as
educational level
level, experience and technical
expertise )
General Constraints
y Regulatory policies
y HW limitations
y Interfaces to other applications
y Parallel operation
y Audit functions
y Control functions
y Criticality
y of the application
pp
y Safety and security considerations
SRS Prototype Outline
[ IEEE SRS Standard ]
3. Specific Requirements
- Functional requirements
- External
E l iinterface
f requirements
i
- Performance requirements
- Design constraints
- Attributes eg. security, availability,
maintainability, transferability/conversion
- Other requirements
Appendices
pp
Index
Functional Requirements
y Introduction
y describe purpose of the function and the
approaches and techniques employed
y Inputs and Outputs
y sources of inputs and destination of outputs
y quantities,
quantities units of measure
measure, ranges of valid inputs
and outputs
y timing
g
Functional Requirements
y Processing
y validation of input data
y exact sequence of operations
y responses to abnormal situations
y any methods (eg. equations, algorithms) to be used
to transform inputs to outputs
External Interface Requirements
y User interfaces
y Hardware
H d iinterfaces
t f
y Software interfaces
y Communications
C interfaces
f
y Other requirements
y database:
d t b f
frequency off use, accessing
i capabilities,
biliti
static and dynamic organization, retention requirements
for data
y operations: periods of interactive and unattended
operations, backup, recovery operations
y site
it adaptation
d t ti requirements
i t
Appendices
y Not always necessary
y It may include:
y sample I/O formats
y DFD,
DFD ERD d
documents
t
y results of user surveys, cost analysis studies
y supporting documents to help readers of SRS
Ch
Characteristics
t i ti off a Good
G d SRS
y Unambiguous
g
y Complete
y Verifiable
y Consistent
y Modifiable
y Traceable
y Usable during the Operation and
Maintenance phase
Examples of Requirements statements
y The data set will contain an end of Ambiguous
file character.
y The product should have a good Non-verifiable
human interface.
y The program shall never enter an Non-verifiable
infinite loop
loop.
y The output of the program shall Non-verifiable
usually be given within 10 secs.
y The output of a program shall be Verifiable
given within 20secs of event X 60%
of the time.
time
Examples of Bad SRS
D
Documents
t
y Unstructured
U t t d Specifications:
S ifi ti
y Narrative essay --- one of the worst types of
specification doc
document:
ment
y Difficult to change,
y difficult to be precise
precise,
y difficult to be unambiguous,
y scope for
f contradictions,
t di ti etc.
t
Examples of Bad SRS
D
Documents
t
y Noise:
y Presence of text containing information irrelevant to
the problem.
problem
y Silence:
y aspects important to proper solution of the problem
are omitted.
Examples of Bad SRS
D
Documents
t
y Overspecification:
y Addressing “how to” aspects
y For example, “Library member names should be stored
in a sorted descending order”
y Overspecification restricts the solution space for the
designer.
y Contradictions:
y Contradictions might arise
y if the same thing described at several places in different ways.
Examples of Bad SRS
Documents
y Ambiguity:
y Literary expressions
y Unquantifiable aspects, e.g. “good user interface”
y Forward References:
y References to aspects of problem
y defined only later on in the text
text.
y Wishful Thinking:
y Descriptions
p of aspects
p
y for which realistic solutions will be hard to find.
Complete
Consistent
y No two requirements are in conflict
Modifiable
y Structure and style of SRS is such that
changes to requirements can be made easily,
completely and consistently.
y SRS organisation
i ti -- table
t bl off contents,
t t index,
i d
explicit cross-referencing
y no redundancy y
Traceable
y An SRS is traceable if the origin of each
requirement is clear and it facilitates the
referencing of each requirement in future.
y Backward traceability
y requirement explicitly referencing its source in
previous documents
p
y Foward traceability
y each requirement has a unique name or reference
number and it can be traced to design documents,
program implementation.
SRS Review
y Formal Review done by
y Users, Developers,
Managers, Operations personnel