In Software Testing industry number of small concept which have worth of million but calculation of those is really tough and also many of the difficulties come across when we are try to defining requirements relate to the Functional-Nonfunctional distinction.
In systems engineering and requirements engineering, basically a non-functional requirement is a requirement which acutely dealing with that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. But in parallel if we talk about Functional Requirement which basically dealing with behavior or functions.
Most of time requirements are definition which focuses mainly on functional requirements, which are based upon the likely to functioning of the product or system to be created.
Functioning, characteristically is associated with Product/System structures for which you might have a menu on page with following controls e.g. Button, Drop down, radio buttons or any other choice, such as: identify a customer, select an item to order, and calculate the amount due.
If we are talking about Functional Requirements so basically they are dealing with factors on which customer’s has main focused or we can say it’s actually the Product on which we are going to work with given requirement.
There are many way to categorize and discuss non-functional requirements. We will limit ourselves to the definitions used by the standard ISO 9126.
For ISO 9126, non-functional requirements are closely linked to “quality in use”. Quality in use is the users experience when using the system. Since the users’ experience is subjective, many of the quality factors will also be subjective.
If we are talking about Nonfunctional Requirements basically they are dealing with factors on which are not the customer focus requirement. Some are the Non Functional factors are listed below.
Non-functional requirements are quality attributes or aspects of how the system is designed, built or implemented.
- Performance of Project
- Maintainability of Project
- Adaptability of Project
- Cost also you can consider as non-functional
- Security of Project
- All Usability aspects of Projects
- Testability of Project
- Scalability of project that how much it is scale-able and handling of users
Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless!