FUNCTIONAL REQUIREMENTS and Non Functional RQ
FUNCTIONAL REQUIREMENTS and Non Functional RQ
If there is any one thing any project must have in order not to be doomed to failure, that is a
sensible and comprehensive collection of both the functional and non-functional requirements.
Any project’s requirements need to be well thought out, balanced and clearly understoodby all
involved, but perhaps of most importance is that they are not dropped or compromised halfway
through the project.
However, what exactly is the difference between ‘functional’ and ‘non functional’ requirements?
It’s not that complex, and once you understand the difference, the definition will be clear.
A functional requirement for a milk carton would be “ability to contain fluid without leaking”
Business Rules
Transaction corrections, adjustments and cancellations
Administrative functions
Authentication
Authorization levels
Audit Tracking
External Interfaces
Certification Requirements
Reporting Requirements
Historical Data
Legal or Regulatory Requirements
So what about Non-Functional Requirements? What are those, and how are they different?
Simply put, the difference is that non-functional requirements describe how the system works,
while functional requirements describe what the system should do.
NON-FUNCTIONAL REQUIREMENT :
The definition for a non-functional requirement is that it essentially specifies how the system
should behave and that it is a constraint upon the systems behaviour. One could also think of
non-functional requirements as quality attributes for of a system.
A non-functional requirement for a hard hat might be “must not break under pressure of less than
10,000 PSI”
Non-functional requirements cover all the remaining requirements which are not covered by the
functional requirements. They specify criteria that judge the operation of a system, rather than
specific behaviors, for example: “Modified data in a database should be updated for all users
accessing it within 2 seconds.”
Many different stakeholders have a vested interest in getting the non-functional requirements
right particularly in the case of large systems where the buyer of the system is not necessarily
also the user of the system.
The importance of non-functional requirements is therefore not to be trifled with. One way of
ensuring that as few as possible non-functional requirements are left out is to use non-functional
requirement groups.