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.

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.

Quality attributes
Notable quality attributes include:

 accessibility
 accountability
 accuracy
 adaptability
 administrability
 affordability
 agility 
 auditability
 autonomy
 availability
 compatibility
 composability
 confidentiality
 configurability
 correctness
 credibility
 customizability
 debuggability
 degradability
 determinability
 demonstrability
 dependability 
 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 
 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

Further reading

Software engineering terminology
Software requirements
Software quality