Non-functional requirements

Non-functional requirements

In systems engineering and requirements engineering, non-functional requirements are requirements which specify criteria that can be used to judge the operation of a system, rather than specific behaviors. This should be contrasted with functional requirements that specify specific behavior or functions. 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". Qualities, aka. non-functional requirements, can be divided into two main categories.
# Execution qualities, such as security and usability, are observable at run time.
# Evolution qualities, such as testability, maintainability, extensibility and scalability, are embodied in the static structure of the software system.

Examples

A system may be required to present the user with a display of the number of records in a database. This is a functional requirement. How up-to-date this number needs to be is a non-functional requirement. If the number needs to be updated in real time, the system architects must ensure that the system is capable of updating the displayed record count within an acceptably short interval of the number of records changing.

Sufficient network bandwidth may also be a non-functional requirement of a system.

Other examples:

* Accessibility
* Audit and control
* Availability (see service level agreement)
* Certification
* Dependency on other parties
* Documentation
* Efficiency (resource consumption for given load)
* Effectiveness (resulting performance in relation to effort)
* Escrow
* Extensibility (adding features, and carry-forward of customizations at next major version upgrade)
* Legal and licensing issues
* Interoperability
* Maintainability
* Open Source
* Performance / Response time (see Performance Engineering)
* Platform compatibility
* Price
* Quality (e.g. Faults Discovered, Faults Delivered, Fault Removal Efficacy)
* Reliability (e.g. Mean Time Between Failures - MTBF)
* Resilience
* Resource constraints (processor speed, memory, disk space, network bandwidth etc. )
* Robustness
* Scalability (horizontal, vertical)
* Security
* Software, tools, standards etc. Compatibility
* Stability
* Supportability
* Testability
* Usability by target user community

For example: Online response times, timing of the company offices, security, back-up etc...

ee also

*ISO 9126
*Requirements analysis
*List of System Quality Attributes
*Functional requirements
*Usability Requirements
*Non-Functional Requirements framework (NFR)
*URPS

External links

Scientific Links
* [http://www.idi.ntnu.no/grupper/su/fordypningsprosjekt-2005/eide-fordyp05.pdf http://www.idi.ntnu.no/grupper/su/fordypningsprosjekt-2005/eide-fordyp05.pdf]

Templates and Examples
* [http://www.csc.calpoly.edu/~jdalbey/SWE/QA/nonfunctional.html www.csc.calpoly.edu]
* [http://www.volere.co.uk/ Volere Requirements Resources]

Modeling Non-Functional Properties in SOA
* [http://dssg.cs.umb.edu/projects/soa Modeling Non-Functional Properties in Service Oriented Architecture]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Non-functional requirements framework — NFR (Non Functional Requirements) is a framework on Goal Modelling. The analysis begins with softgoals that represent NFR which stakeholders agree upon. Softgoals are goals that are hard to express, but tend to be global qualities of a software… …   Wikipedia

  • Non-Functional Requirements framework — NFR (Non Functional Requirements) is a framework on Goal Modelling. The analysis begins with softgoals that represent NFR which stakeholders agree upon. Softgoals are goals that are hard to express, but tend to be global qualities of a software… …   Wikipedia

  • Non-functional tests — Non functional testing is the testing of a software application for its non functional requirements. The names of many non functional tests are often used interchangeably because of the overlap in scope between various non functional requirements …   Wikipedia

  • Non-functional testing — is the testing of a software application for its non functional requirements. The names of many non functional tests are often used interchangeably because of the overlap in scope between various non functional requirements. For example, software …   Wikipedia

  • Non-functional requirement — In systems engineering and requirements engineering, a non functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. This should be contrasted with… …   Wikipedia

  • Functional requirements — In software engineering, a functional requirement defines a function of a software system or its component. A function is described as a set of inputs, the behavior, and outputs (see also ). Functional requirements may be calculations, technical… …   Wikipedia

  • Requirements analysis — in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders,… …   Wikipedia

  • Non-regression testing — (NRT) is an approach of software testing. The purpose of non regression testing is to verify that, after introducing or updating a given software application, previous software functions have not been compromised. This is aimed at preventing… …   Wikipedia

  • Non-conventional trademark — A non conventional trademark, also known as a nontraditional trademark, is any new type of trademark which does not belong to a pre existing, conventional category of trade mark, and which is often difficult to register, but which may… …   Wikipedia

  • Goal-oriented Requirements Language — (GRL) is a language that is designed to support goal oriented modeling and reasoning about requirements, especially the non functional requirements [1] . It allows to express conflict between goals and helps to make decisions that resolve… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”