Type of Software Requirements
Type of Software Requirements
Software Requirements
By:
Maham Tariq
Type of
Software Requirements
1. Functional Requirements
2. Non-Functional Requirements
3. Domain Requirements
4. Inverse Requirements
5. Design and implementation constraints
6. Reliability Requirements
7. Safety Requirements
Functional and non-functional require-
ments
Functional requirements
• Statements of services or functions the system
should provide, how the system should react
to particular inputs and how the system should
behave in particular situations.
Non-functional requirements
• Define system properties and constraints e.g.
reliability, response time and storage require-
ments. Constraints are I/O device capability,
system representations, etc.
• Non-functional requirements may be more crit-
ical than functional requirements. If these are
not met, the system is useless.
Functional requirements
Describe functionality or system services
Depend on the type of software, expected
users and the type of system where the
software is used
Functional user requirements may be
high-level statements of what the system
should do but functional system require-
ments should describe the system services
in detail
Examples of
Functional Requirements
The user shall be able to search either all
of the initial set of databases or select a
subset from it.
The system shall provide appropriate
viewers for the user to read documents in
the document store.
Every order shall be allocated a unique
identifier (ORDER_ID) which the user shall
be able to copy to the account’s perman-
ent storage area.
Non-functional classifications
Product requirements
• Requirements which specify that the delivered
product must behave in a particular way e.g.
execution speed, reliability, etc.
Organisational requirements
• Requirements which are a consequence of or-
ganisational policies and procedures e.g. pro-
cess standards used, implementation require-
ments, etc.
External requirements
• Requirements which arise from factors which
are external to the system and its development
process e.g. inter-operate requirements, legis-
lative requirements, etc.
Note: Interoperability is a property referring to the ability of diverse
systems and organizations to work together (inter-operate)
Non-functional requirement types
Non-functional
requir ements
20
Reliability Requirements
Reliability requirements are those which the software
must meet in order to perform a specific function
under certain stated conditions, for a given period of
time.
The level of reliability requirement can be dependant
on the type of system, i.e. the more critical or life
threatening the system, the higher the level of relia-
bility required.
Reliability can be measured in a number of ways in-
cluding number of bugs per x lines of code, mean
time to failure.
21