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 architecture characteristics, or "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 (see Common subsets below)
- auditability
- autonomy
- availability
- compatibility
- composability
- confidentiality
- configurability
- correctness
- credibility
- customizability
- debuggability
- degradability
- determinability
- demonstrability
- dependability (see Common subsets below)
- deployability
- discoverability
- distributability
- durability
- effectiveness
- efficiency
- evolvability
- extensibility
- failure transparency
- fault-tolerance
- fidelity
- flexibility
- inspectability
- installability
- integrity
- interchangeability
- interoperability
- learnability
- localizability
- maintainability
- manageability
- mobility
- modifiability
- modularity
- observability
- operability
- orthogonality
- portability
- precision
- predictability
- process capabilities
- producibility
- provability
- recoverability
- redundancy
- relevance
- reliability
- 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
- 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" (PDF). IEEE Software. 30 (2): 38–45. doi:10.1109/MS.2012.174. hdl:10344/3061. S2CID 17399565.
Further reading
- 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.). ISBN 9780321815736.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.