List of system quality attributes
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]
Quality attributes
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
- usability
Many of these quality attributes can also be applied to data quality.
Common subsets
- 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 also
- Non-functional requirement
- Information quality
- ISO/IEC 9126 Software engineering—product quality
- Cognitive dimensions of notations
- Software quality
References
- ↑ Chen, Lianping (2013). "Characterizing Architecturally Significant Requirements". IEEE Software. 30 (2): 38–45. doi:10.1109/MS.2012.174.
Further reading
- 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.
- Toll, Marvin" (2012). "What is PED?"
- [Len Bass, Paul C. Clements, Rick Kazman]" (2012). "Software Architecture in Practice-3rd Edition, 2012"
This article is issued from Wikipedia - version of the 8/20/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.