Attribute |
Definition |
Compatibility |
The degree to which two or more software modules or packages
can
perform their required functions while sharing the same hardware or
software environment [1] |
Code Complexity |
The degree to which a system or
component has a design or implementation that is difficult to
understand and verify [3] |
Code Coupling |
The degree of interdependence
between software modules [3] |
Completeness |
The degree to which a software
module or package possesses the functions necessary and sufficient to
satisfy user needs [1] |
Comprehensibility |
The degree to which the source
code can be understood easily [2] |
Consistency |
The degree of uniformity,
standardization, and freedom from contradiction within the
documentation or parts of a software package [1] |
Correctness |
The degree of the results
obtained with precision, specified by the user requirements [2] |
Efficiency |
The degree to which a software
module or package performs its required function with minimum
consumption of resources (hardware and / or software) [1] |
Extensibility |
The degree to which the design
of a system can be extended [2] |
Flexibility |
The degree to which a software
module or package can be modified for use in applications or
environments other than those for which it was designed [1] |
Generality |
The degree to which a system
provides a wide range of functions at runtime [2] |
Integrity |
The degree to which a software
package prevents unauthorized access to or modification of computer
programs or data [1] |
Learnability |
The degree to which the code
source of a system is easy to learn [2] |
Maintainability |
The degree to which a software
module or package can be easily modified to correct faults, improve the
performance, or other attributes [2] |
Modifiability |
The ease of changing a system or
component in response to a change request [2] |
Modularity |
The degree to which the
implementation of the functions of a system are independent from one
another [2] |
Modularity at Runtime |
The degree to which the
functions of a system are independent from one another at runtime [2] |
Performance |
The degree to which a system or
component accomplishes its designated functions within give
constraints, such as speed, accuracy, or memory usage [3] |
Portability |
The degree to which a software
package can be transferred from one hardware or software environment to
another [1] |
Reliability |
The degree to which a software
package can execute its required function without causing system
failures [1] |
Reusability |
The degree to which a software
module can be used in another program [1] |
Robustness |
The degree to which a software
module or package can function correctly in the presence of invalid
inputs or highly stressed environmental conditions [1] |
Scalability |
The degree to which they system
can cope with large amount of data and computation at runtime [2] |
Simplicity |
The degree to which a software
module or package has been conceived and implemented in a
straightforward and easily understandable way [1] |
Testability |
The degree to which a software
module or package facilitates the establishment of test criteria and
the performance of tests to determine whether those criteria have been
met [1] |
Usability |
The degree to which a user can
learn to operate, prepare inputs for, and interpret outputs of a
software package [1] |
[1] A. Alvaro, E.S. Almeida, S.R.L. Meira, Quality Attributes for a
Component Quality Model, in: The 10th International Workshop on
Component-Oriented Programming (WCOP) in Conjunction
with the 19th European Conference on Object Oriented Programming (ECOOP), 2005
[2] SO/IEC, Information technology –Software product quality-Part1, in: Quality model, ISO/IEC FDIS 9126-1:2000(E), 2000.
[3] Approved, IEEE Standard Glossary of Software Engineering
Terminology, Office, 121990 (1990)
Last Updated on September 12, 2012.