Software Requirement Specification
Software Requirement Specification
Objectives:
To introduce the concepts of user and system requirements
system
the constraints under which it operates and is
Requirements
developed The descriptions of the system
services and constraints
that are generated during the
requirements engineering process
What is a requirement?
It may range from a high-level abstract statement
of a service or of a system constraint to a detailed
mathematical functional specification
This is inevitable as requirements may serve a
dual function
May be the basis for a bid for a contract - therefore must be open
to interpretation
May be the basis for the contract itself - therefore must be
defined in detail
Both these statements may be called requirements
Types of requirement
User requirements
Statements in natural language plus diagrams of the
services the system provides and its operational
constraints. Written for customers
System requirements
A structured document setting out detailed
descriptions of the system services. Written as a
contract between client and contractor
Software specification
A detailed software description which can serve as a
basis for a design or implementation. Written for
developers
Requirements readers
Client managers
System end-users
User requirements Client engineers
Contractor managers
System architects
System end-users
Client engineers
System requirements
System architects
Software developers
Functional requirements
Statements of services the system should provide,
how the system should react to particular inputs and
how the system should behave in particular situations.
Non-functional requirements
constraints on the services or functions offered by the
system such as timing constraints, constraints on the
development process, standards, etc.
Domain requirements
Requirements that come from the application domain
of the system and that reflect characteristics of that
domain
Functional Requirements
Describe functionality or system services
Users of a
System Use the requirements to help requirements
maintenance understand the system and
the relationships between its
document
engineers
parts
Requirements document requirements
System Models
Key points
Requirements set out what the system should
do and define constraints on its operation and
implementation
Functional requirements set out services the
system should provide
Non-functional requirements constrain the
system being developed or the development
process
User requirements are high-level statements
of what the system should do
Key points
User requirements should be written in natural
language, tables and diagrams
System requirements are intended to
communicate the functions that the system
should provide
System requirements may be written in
structured natural language, a PDL or in a formal
language
A software requirements document is an agreed
statement of the system requirements