Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Definition  





2 Examples  





3 See also  





4 References  





5 External links  














Non-functional requirement






العربية
Čeština
Eesti
Español
فارسی

Hrvatski
Magyar
Македонски
Монгол

Norsk bokmål
Português
Українська


 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Quality attributes)

Insystems 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.[1]

Insoftware architecture, non-functional requirements are known as "architectural characteristics".[2]

Definition[edit]

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 modelorIPO 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",[3] or "technical requirements".[4] 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:

  1. Execution qualities, such as safety, security and usability, which are observable during operation (at run time).
  2. Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the system.[5][6]

It is important to specify non-functional requirements in a specific and measurable way.[7][8]

Examples[edit]

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:

  • Adaptability
  • Auditability and control
  • Availability (see service level agreement)
  • Backup
  • Boot up time
  • Capacity, current and forecast
  • Certification
  • Compliance
  • Configuration management
  • Conformance
  • Cost, initial and Life-cycle cost
  • Data integrity
  • Data retention
  • Dependency on other parties
  • Deployment
  • Development environment
  • Disaster recovery
  • Documentation
  • Durability
  • Efficiency (resource consumption for given load)
  • Effectiveness (resulting performance in relation to effort)
  • Elasticity
  • Emotional factors (like fun or absorbing or has "Wow! Factor")
  • Environmental protection
  • Escrow
  • Exploitability
  • Extensibility (adding features, and carry-forward of customizations at next major version upgrade)
  • Failure management
  • Fault tolerance (e.g. Operational System Monitoring, Measuring, and Management)
  • Flexibility (e.g. to deal with future changes in requirements)
  • Footprint reduction - reduce the exe files size
  • Integrability (e.g. ability to integrate components)
  • Internationalization and localization
  • Interoperability
  • Legal and licensing issues or patent-infringement-avoidability
  • Maintainability (e.g. mean time to repair – MTTR)
  • Management
  • Memory Optimization
  • Modifiability
  • Network topology
  • Open source
  • Operability
  • Performance / response time (performance engineering)
  • Platform compatibility
  • Privacy (compliance to privacy laws)
  • Portability
  • Quality (e.g. faults discovered, faults delivered, fault removal efficacy)
  • Readability
  • Reliability (e.g. mean time between/to failures – MTBF/MTTF)
  • Reporting
  • Resilience
  • Resource constraints (processor speed, memory, disk space, network bandwidth, etc.)
  • Response time
  • Reusability
  • Robustness
  • Safetyorfactor of safety
  • Scalability (horizontal, vertical)
  • Security (cyber and physical)
  • Software, tools, standards etc. Compatibility
  • Stability
  • Supportability
  • Testability
  • Throughput
  • Transparency
  • Usability (human factors) by target user community
  • Volume testing
  • See also[edit]

    References[edit]

    1. ^ Chen, Lianping; Ali Babar, Muhammad; Nuseibeh, Bashar (2013). "Characterizing Architecturally Significant Requirements". IEEE Software. 30 (2): 38–45. doi:10.1109/MS.2012.174. hdl:10344/3061. S2CID 17399565.
  • ^ Fundamentals of Software Architecture: An Engineering Approach. 2020. ISBN 978-1492043454.
  • ^ Stellman, Andrew; Greene, Jennifer (2005). Applied Software Project Management. O'Reilly Media. p. 113. ISBN 978-0-596-00948-9. Archived from the original on 2015-02-09.
  • ^ Ambler, Scott. "Technical (Non-Functional) Requirements: An Agile Introduction". Agile Modelling. Ambysoft Inc. Retrieved 5 October 2018.
  • ^ Wiegers, Karl; Beatty, Joy (2013). Software Requirements, Third Edition. Microsoft Press. ISBN 978-0-7356-7966-5.
  • ^ Young, Ralph R. (2001). Effective Requirements Practices. Addison-Wesley. ISBN 978-0-201-70912-4.
  • ^ Zimmermann, Olaf; Stocker, Mirko (2021). Design Practice Repository. LeanPub.
  • ^ Glinz, Martin (2008). "A Risk-Based, Value-Oriented Approach to Quality Requirements" (PDF). IEEE Software. 25 (2): 34–41. doi:10.1109/MS.2008.31. S2CID 19015424.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Non-functional_requirement&oldid=1228689893"

    Categories: 
    Software requirements
    Systems engineering
    Software quality
    Management cybernetics
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Use American English from March 2019
    All Wikipedia articles written in American English
    Articles needing additional references from February 2023
    All articles needing additional references
    Articles with J9U identifiers
    Articles with LCCN identifiers
     



    This page was last edited on 12 June 2024, at 16:45 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki