Non-functional Requirements
Non functional requirements can be defined as follows:-
- In systems engineering and requirements engineering, non-functional requirements are requirements that specify criteria that can be used to judge the operation of a system, rather than specific behaviors.
- It defines the overall qualities or attributes of the resulting system.
- It places restrictions on the product being developed, the development process, and specify external constraints that the product must meet.
“A non-functional requirement is a statement of how a system must behave, it is a constraint upon the systems behavior.”
In general, functional requirements define what a system is supposed to do whereas non-functional requirements define how a system is supposed to be. Non-functional requirements are often called qualities of a system. Other terms for non-functional requirements are “constraints“, “quality attributes”, “quality goals” and “quality of service requirements”.
Non functional requirements are not really requirements but are constraints on implementing functional requirements.
Non-Functional Requirements Classification:
The non-functional requirements are classified as follows:
1. Product Requirements:
Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc.
2. Process Requirements:
Requirements which describe the processes the developing organization must follow and the constraints that they must obey. e.g. process standards used, implementation requirements, etc.
3. External Requirements:
Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc.