1. Functionality
Indicates what the software does to meet expectations. It is based on requirements such as suitability, accuracy, security, interoperability, and compliance with standards and regulations.
2. Reliability
Indicates the capability of the software to maintain a given level of performance when used under special conditions. It is based on requirements such as maturity, fault tolerance, and recoverability. Maturity is when the software doesn't experience interruptions in the case of internal software failures. Fault tolerance indicates the ability to control the failure and maintain a given level of behavior. Recoverability indicates the ability to recover after a failure.
3. Usability
Indicates the software's ability to be understood by, used by, and attractive to users. It dictates that the software be compliant with standards and regulations for usability.
4. Efficiency
Indicates the ability to provide a given level of performance both in terms of appropriate and timely response and resource utilization.
5. Maintainability
Indicates the ability to provide a given level of performance both in terms of appropriate and timely response and resource utilization.
6. Portability
Indicates the software's ability to be ported from one platform to another and its capability to coexist with other software in a common environment and sharing common resources.
Note:
1. In typical scenarios, the key quality attributes that will be in focus
are “Scalability,” “Security,” “High availability,” “Reliability,” and “Performance”—also known as SHARP qualities.
2. There are two types of quality attributes
a. Runtime qualities
Those that result in the runtime behavior of the system (such as “Performance,”
“Security,” and “Scalability”)
b. Design qualities
Those that can be evaluated only over the life cycle of an application
(such as “Maintainability” and “Flexibility” qualities).
3. Mutual impact of quality attributes
No comments:
Post a Comment