List of system quality attributes
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
(Learn how and when to remove this template message)
|
Within systems engineering, quality attributes are realized non-functional requirements used to evaluate the performance of a system. These are sometimes named "ilities" after the suffix many of the words share. They are usually Architecturally Significant Requirements that require architects' attention.[1]
Contents
Quality attributesEdit
Notable quality attributes include:
- accessibility
- accountability
- accuracy
- adaptability
- administrability
- affordability
- agility [Toll] (see Common Subsets below)
- auditability
- autonomy [Erl]
- availability
- compatibility
- composability [Erl]
- configurability
- correctness
- credibility
- customizability
- debugability
- degradability
- determinability
- demonstrability
- dependability
- deployability
- discoverability [Erl]
- distributability
- durability
- effectiveness
- efficiency
- evolvability
- extensibility
- failure transparency
- fault-tolerance
- fidelity
- flexibility
- inspectability
- installability
- integrity
- interchangeability
- interoperability [Erl]
- learnability
- maintainability
- manageability
- mobility
- modifiability
- modularity
- operability
- orthogonality
- portability
- precision
- predictability
- process capabilities
- producibility
- provability
- recoverability
- relevance
- reliability
- repeatability
- reproducibility
- resilience
- responsiveness
- reusability [Erl]
- robustness
- safety
- scalability
- seamlessness
- self-sustainability
- serviceability (a.k.a. supportability)
- securability
- simplicity
- stability
- standards compliance
- survivability
- sustainability
- tailorability
- testability
- timeliness
- traceability
- transparency
- ubiquity
- understandability
- upgradability
- vulnerability
- usability
Many of these quality attributes can also be applied to data quality.
Common subsetsEdit
- 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.
- 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 alsoEdit
- Non-functional requirement
- Information quality
- ISO/IEC 9126 Software engineering—product quality
- Cognitive dimensions of notations
- Software quality
ReferencesEdit
- ^ Chen, Lianping (2013). "Characterizing Architecturally Significant Requirements". IEEE Software. 30 (2): 38–45. doi:10.1109/MS.2012.174.
Further readingEdit
- Erl, Thomas (2008), "SOA: Principles of Service Design", Prentice Hall, NJ.
- Gitzel, Korthausa, Schadera (2007). "Using established Web Engineering knowledge in model-driven approaches". Science of Computer Programming 66(2), 30 April 2007, 105–124.
- Len Bass, Paul C. Clements, Rick Kazman" (2012). "Software Architecture in Practice-3rd Edition, 2012"