Within
systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their Enterprise life cycle, life cycles. At its core, systems engineering uti ...
, 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
In linguistics, a suffix is an affix which is placed after the stem of a word. Common examples are case endings, which indicate the grammatical case of nouns and adjectives, and verb endings, which form the conjugation of verbs. Suffixes can ca ...
many of the words share. They are usually
architecturally significant requirements that require architects' attention.
In
software architecture
Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements a ...
, 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
In ethics and governance, accountability is equated with answerability, culpability, liability, and the expectation of account-giving.
As in an aspect of governance, it has been central to discussions related to problems in the public secto ...
*
accuracy
*
adaptability
Adaptability ( "fit to, adjust") is a feature of a system or of a process. This word has been put to use as a specialised term in different disciplines and in business operations. Word definitions of adaptability as a specialised term differ littl ...
*
administrability
*
affordability
*
agility
Agility or nimbleness is an ability to change the body's position quickly and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, and endurance. More specifically, it ...
*
auditability
*
autonomy
In developmental psychology and moral, political, and bioethical philosophy, autonomy is the capacity to make an informed, uncoerced decision. Autonomous organizations or institutions are independent or self-governing. Autonomy can also be ...
*
availability
*
compatibility
*
composability
*
confidentiality
Confidentiality involves a set of rules or a promise sometimes executed through confidentiality agreements that limits the access to or places restrictions on the distribution of certain types of information.
Legal confidentiality
By law, la ...
*
configurability
*
convenience
*
correctness
*
credibility
Credibility comprises the objective and subjective components of the believability of a source or message. Credibility is deemed essential in many fields to establish expertise. It plays a crucial role in journalism, teaching, science, medicin ...
*
customizability
*
debuggability
*
degradability
*
determinability
*
demonstrability
*
dependability
*
deployability
*
discoverability Discoverability is the degree to which something, especially a piece of content or information, can be found in a search of a file, database, or other information system. Discoverability is a concern in library and information science, many aspects ...
*
distributability
*
durability
*
effectiveness
Effectiveness or effectivity is the capability of producing a desired result or the ability to produce desired output. When something is deemed effective, it means it has an intended or expected outcome, or produces a deep, vivid impression.
Et ...
*
efficiency
Efficiency is the often measurable ability to avoid making mistakes or wasting materials, energy, efforts, money, and time while performing a task. In a more general sense, it is the ability to do things well, successfully, and without waste.
...
*
elasticity
*
evolvability
*
extensibility
Extensibility is a software engineering and systems design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be t ...
*
failure transparency
*
familiarity
*
fault-tolerance
*
fidelity
Fidelity is the quality of faithfulness or loyalty. Its original meaning regarded duty in a broader sense than the related concept of '' fealty''. Both derive from the Latin word , meaning "faithful or loyal". In the City of London financial m ...
*
flexibility
Stiffness is the extent to which an object resists deformation in response to an applied force.
The complementary concept is flexibility or pliability: the more flexible an object is, the less stiff it is.
Calculations
The stiffness, k, of a ...
*
inspectability
*
installability
*
integrity
Integrity is the quality of being honest and having a consistent and uncompromising adherence to strong moral and ethical principles and values.
In ethics, integrity is regarded as the honesty and Honesty, truthfulness or of one's actions. Integr ...
*
interactivity
*
interchangeability
*
interoperability
*
intuitiveness
*
learnability
Learnability is a quality of products and interfaces that allows users to quickly become familiar with them and able to make good use of all their features and capabilities.
Software testing
In software testing learnability, according to ISO/IEC ...
*
localizability
*
maintainability
Maintainability is the ease of maintaining or providing maintenance for a functioning product or service. Depending on the field, it can have slightly different meanings.
Usage in different fields Engineering
In engineering, maintainability ...
*
manageability
*
mobility
*
modifiability
*
modularity
Modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a system into varying ...
*
observability
*
operability
*
orthogonality
In mathematics, orthogonality is the generalization of the geometric notion of '' perpendicularity''. Although many authors use the two terms ''perpendicular'' and ''orthogonal'' interchangeably, the term ''perpendicular'' is more specifically ...
*
portability
*
precision
*
predictability
*
process capabilities
*
producibility
*
provability
*
recoverability
*
redundancy
*
relevance
Relevance is the connection between topics that makes one useful for dealing with the other. Relevance is studied in many different fields, including cognitive science, logic, and library and information science. Epistemology studies it in gener ...
*
reliability
*
repairability
*
repeatability
*
reproducibility
*
resilience
*
responsiveness
*
reusability
In computer programming, reusability describes the quality of a software asset that affects its ability to be used in a software system for which it was ''not'' specifically designed. An asset that is easy to reuse and provides utility is conside ...
*
robustness
*
safety
Safety is the state of being protected from harm or other danger. Safety can also refer to the control of recognized hazards in order to achieve an acceptable level of risk.
Meanings
The word 'safety' entered the English language in the 1 ...
*
scalability
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
*
seamlessness
*
self-sustainability
*
serviceability (a.k.a. supportability)
*
securability
*
simplicity
Simplicity is the state or quality of being wikt:simple, simple. Something easy to understand or explain seems simple, in contrast to something complicated. Alternatively, as Herbert A. Simon suggests, something is simple or Complexity, complex ...
*
stability
*
standards compliance
*
survivability
*
sustainability
Sustainability is a social goal for people to co-exist on Earth over a long period of time. Definitions of this term are disputed and have varied with literature, context, and time. Sustainability usually has three dimensions (or pillars): env ...
*
tailorability
*
testability
*
timeliness
*
traceability
*
transparency
*
ubiquity
*
understandability
*
upgradability
*
usability
Usability can be described as the capacity of a system to provide a condition for its users to perform the tasks safely, effectively, and efficiently while enjoying the experience. In software engineering, usability is the degree to which a softw ...
*
vulnerability
Many of these quality attributes can also be applied to
data quality
Data quality refers to the state of qualitative or quantitative pieces of information. There are many definitions of data quality, but data is generally considered high quality if it is "fit for tsintended uses in operations, decision making and ...
.
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
Agility or nimbleness is an ability to change the body's position quickly and requires the integration of isolated movement skills using a combination of balance, coordination, speed, reflexes, strength, and endurance. More specifically, it ...
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
An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
) 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
Information quality (IQ) is the quality of the content of information systems. It is often pragmatically defined as: "The fitness for use of the information provided". IQ frameworks also provides a tangible approach to assess and measure DQ/IQ in a ...
*
ISO/IEC 9126
ISO/IEC 9126 ''Software engineering — Product quality'' was an international standard for the evaluation of software quality. It has been replaced by ISO/IEC 25010:2011.
The fundamental objective of the ISO/IEC 9126 standard is to address som ...
''Software engineering—product quality''
*
Cognitive dimensions of notations
*
Software quality
References
Further reading
*
*
*
{{DEFAULTSORT:List Of System Quality Attributes
Software engineering terminology
Software requirements
Software quality
Systems engineering