- Source: Non-functional requirement
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functional requirements that define specific behavior or functions. The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture, because they are usually architecturally significant requirements.
In software architecture, non-functional requirements are known as "architectural characteristics". Note that synchronous communication between software architectural components, entangles them and they must share the same architectural characteristics.
Definition
Broadly, functional requirements define what a system is supposed to do and non-functional requirements define how a system is supposed to be. Functional requirements are usually in the form of "system shall do <requirement>", an individual action or part of the system, perhaps explicitly in the sense of a mathematical function, a black box description input, output, process and control functional model or IPO Model. In contrast, non-functional requirements are in the form of "system shall be <requirement>", an overall property of the system as a whole or of a particular aspect and not a specific function. The system's overall properties commonly mark the difference between whether the development project has succeeded or failed.
Non-functional requirements are often called the "quality attributes" of a system. Other terms for non-functional requirements are "qualities", "quality goals", "quality of service requirements", "constraints", "non-behavioral requirements", or "technical requirements". Informally these are sometimes called the "ilities", from attributes like stability and portability. Qualities—that is non-functional requirements—can be divided into two main categories:
Execution qualities, such as safety, security and usability, which are observable during operation (at run time).
Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the system.
It is important to specify non-functional requirements in a specific and measurable way.
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 current 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 displaying the record count within an acceptably short interval of the number of records changing.
Sufficient network bandwidth may be a non-functional requirement of a system. Other examples include:
See also
ISO/IEC 25010:2011
Consortium for IT Software Quality
ISO/IEC 9126
FURPS
Requirements analysis
Usability requirements
Non-Functional Requirements framework
Architecturally Significant Requirements
SNAP Points
References
External links
Petter L. H. Eide (2005). "Quantification and Traceability of Requirements". CiteSeerX 10.1.1.95.6464.
Dalbey, John. "Nonfunctional Requirements". Csc.calpoly.edu. Retrieved 3 October 2017.
"Modeling Non-Functional Aspects in Service Oriented Architecture" (PDF). Cs.umb.edu. Archived from the original (PDF) on 24 July 2011. Retrieved 3 October 2017.
"Non-Functional Requirements: Do User Stories Really Help?". Methodsandtools.com. Retrieved 3 October 2017.
"Non-Functional Requirements Be Here - CISQ - Consortium for IT Software Quality". it-cisq.org. Retrieved 3 October 2017.
""Do Software Architectures Meet Extra-Functional or Non-Functional Requirements?"". 19 November 2020.
Kata Kunci Pencarian:
- Kerangka kerja NFR
- Goal-oriented requirements engineering
- Tropos
- Attributed goal-oriented requirements analysis
- Asam traneksamat
- Seng
- Spesifikasi kebutuhan perangkat lunak
- Plutonium
- McDonnell Douglas F-15E Strike Eagle
- Manajemen siklus produk
- Non-functional requirement
- Functional requirement
- Non-functional requirements framework
- Requirement
- Non-functional testing
- Architecturally significant requirements
- Requirements analysis
- Software requirements specification
- Requirements elicitation
- List of system quality attributes