List of system quality attributes

Non-functional requirements for system evaluation

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)

This article is in list format but may read better as prose. You can help by converting this article, if appropriate. Editing help is available. (September 2015)

|

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "List of system quality attributes" – news · newspapers · books · scholar · JSTOR (January 2017) (Learn how and when to remove this message)

|

(Learn how and when to remove this message)

Within systems engineering, quality attributes are realized non-functional requirements used to evaluate the performance of a system. These are sometimes named architecture characteristics, or "ilities" after the suffix many of the words share. They are usually architecturally significant requirements that require architects' attention.[1]

In software architecture, these attributed are known as "architectural characteristic" or non-functional requirements. Note that it's software architects' responsibility to match these attributes with business requirements and user requirements. Note that synchronous communication between software architectural components, entangles them and they must share the same architectural characteristics. [2]

## Quality attributes

[edit]

Notable quality attributes include:

* accessibility
* accountability
* accuracy
* adaptability
* administrability
* affordability
* agility (see Common subsets below)
* analyzability
* auditability
* autonomy
* availability
* compatibility
* composability
* confidentiality
* configurability
* convenience
* correctness
* credibility
* customizability
* debuggability
* degradability
* determinability
* demonstrability
* dependability (see Common subsets below)
* deployability
* discoverability
* distributability
* durability
* effectiveness
* efficiency
* elasticity
* evolvability
* extensibility
* failure transparency
* familiarity
* fault-tolerance
* fidelity
* flexibility
* inspectability
* installability
* integrity
* interactivity
* interchangeability
* interoperability
* intuitiveness
* learnability
* localizability
* maintainability
* manageability
* mobility
* modifiability
* modularity
* observability
* operability
* orthogonality
* portability
* precision
* predictability
* process capabilities
* producibility
* provability
* recoverability
* redundancy
* relevance
* reliability
* repairability
* repeatability
* reproducibility
* resilience
* responsiveness
* reusability
* robustness
* safety
* scalability
* seamlessness
* self-sustainability
* serviceability (a.k.a. supportability)
* securability (see Common subsets below)
* simplicity
* stability
* standards compliance
* survivability
* sustainability
* tailorability
* testability
* timeliness
* traceability
* transparency
* ubiquity
* understandability
* upgradability
* usability
* vulnerability

Many of these quality attributes can also be applied to data quality.

## Common subsets

[edit]

* Together, reliability, availability, serviceability, usability and installability, are referred to as RASUI.
* Functionality, usability, reliability, performance and supportability are together referred to as FURPS in relation to software requirements.
* Agility in working software is an aggregation of seven architecturally sensitive attributes: debuggability, extensibility, portability, scalability, securability, testability and understandability.
* For databases reliability, availability, scalability and recoverability (RASR), is an important concept.
* Atomicity, consistency, isolation (sometimes integrity), durability (ACID) is a transaction metric.
* When dealing with safety-critical systems, the acronym reliability, availability, maintainability and safety (RAMS) is frequently used.[citation needed]
* Dependability is an aggregate of availability, reliability, safety, integrity and maintainability.
* Integrity depends on security and survivability.
* Security is a composite of confidentiality, integrity and availability. Security and dependability are often treated together.

## See also

[edit]

* Non-functional requirement
* Information quality
* ISO/IEC 9126 Software engineering—product quality
* Cognitive dimensions of notations
* Software quality

## References

[edit]

1. ^ Chen, Lianping (2013). "Characterizing Architecturally Significant Requirements" (PDF). IEEE Software. 30 (2): 38–45\. doi:10.1109/MS.2012.174. hdl:10344/3061. S2CID 17399565.
2. ^ Richards, Mark; Ford, Neal (2020). Fundamentals of Software Architecture: An Engineering Approach. O'Reilly Media, Incorporated. ISBN 978-1492043454.

## Further reading

[edit]

* Erl, Thomas (2007). SOA: Principles of Service Design. Prentice Hall. ISBN 9780132344821.
* Gitzel, R.; Korthausa, A.; Schadera, M. (30 April 2007). "Using established Web Engineering knowledge in model-driven approaches". Science of Computer Programming. 66 (2): 105–124\. doi:10.1016/j.scico.2006.09.001.
* Bass, Len; Clements, Paul C.; Kazman, Rick (2012). Software Architecture in Practice (3rd ed.). Addison-Wesley. ISBN 9780321815736.

* v
* t
* e

Software quality

Qualities|

| Internal|

* Size
* Maintainability
* Flexibility
* Portability
* Reusability
* Readability
* Scalability
* Testability
* Understandability
* Loose coupling
* Orthogonality

|

External|

* Usability
* Reliability
* Adaptability
* Correctness
* Accuracy
* Efficiency
* Robustness
* Security
* Safety

Standards and lists|

* ISO/IEC 9126
* Non-functional requirements
* List of system quality attributes

Processes|

* Software quality management
* Software quality control
* Software quality assurance

*   * Commons

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template