![]() |
||||||||||||
![]() |
Functional and Non-Functional Requirements
|
|||||||||||
|
Probably the most frequently used means of requirements classification is Functional and Non-Functional. This classification helps identify whether a requirement will affect the functionality of the system (Functional) or whether it will constrain the system (Non-Functional). This classification is probably the most beneficial in that it helps define what system functions are being considered.
Requirementing, by Clearly Put, uses a
Functional and Non-Functional
means of classification. Functional Requirement (Function) A Functional Requirement is a requirement that, when satisfied, will allow the user to perform some kind of function. For example:
For the most part, when people are talking about Business Requirements, they are referring to Functional Requirements which are generally referred to as “requirements”. Functional Requirements have the following characteristics:
Non-Functional Requirement A Non-Functional Requirement is usually some form of constraint or restriction that must be considered when designing the solution. For example:
For the most part when people are talking about Constraints, they are referring to Non-Functional Requirements. Non-Functional Requirements have the same following characteristics:
Non-Functional requirements tend to identify “user” constraints and “system” constraints. Business requirements should be kept pure and not reflect any solution thinking. A system constraint is a constraint imposed by the system and not dictated by a Business Need. Since system constraints are part of a “solution”, they should be documented in the System Specifications document. For example:
This is a restriction imposed by the system and not a user request.
Some people like to further classify the Non-Functional Requirments into such categories as “Performance Constraints, Design Constraints, Quality Constraints, etc.. This classification can be used if there is deemed to be a benefit.
Summary
|