This is an overview of the Quint 2 software qualities. It can be extended with the implications for a specific project
Versie | 1.0 | Creatie datum | 02-05-2021 |
This refers to the correctness of the functions, an ATM may provide a cash dispensing function but is the amount correct?
Characterizes the ability of the system to change to new specifications or operating environments.
Characterizes the ability to identify the root cause of a failure within the software.
Satisfaction of latent user desires and preferences, through services, behavior and presentation beyond actual
demands.
Amount of time the product is available to the user at the time it is needed.
Characterizes the amount of effort to change a system.
Clarity of making the user aware of the functions the software can perform.
Where appropriate certain industry (or government) laws and guidelines need to be complied with, i.e. SOX. This subcharacteristic addresses the compliant capability of software.
Similar to compliance for functionality, but this characteristic relates to portability. One example would be Open SQL conformance which relates to portability of database used.
Effort needed to reestablish the essential functionality after a breakdown.
This characteristic is concerned with the system resources used when providing the required functionality. The amount of disk space, memory, network etc. provides a good indication of this characteristic. As with a number of these characteristics, there are overlaps. For example the usability of a system is influenced by the system's Performance, in that if a system takes 3 hours to respond the system would not be easy to use although the essential issue is a performance or efficiency characteristic.
Clarity of the software product’s status (progression bars, etc.).
The ability of software to withstand (and recover) from component, or environmental, failure.
Existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs.
Availability of instructions for the user on how to interact with the software
Characterizes the effort required to install the software.
A given software component or system does not typically function in isolation. This subcharacteristic concerns the ability of a software component to interact with other components or systems.
Learning effort for different users, i.e. novice, expert, casual etc.
The ability to identify and fix a fault within a software component is what the maintainability characteristic addresses. In other software quality models this characteristic is referenced as supportability. Maintainability is impacted by code readability or complexity as well as modularization. Anything that helps with identifying the cause of a fault and then fixing the fault is the concern of maintainability. Also the ability to verify (or test) a system, i.e. testability, is one of the subcharacteristics of maintainability.
Effort needed to (re)establish the software’s running status.
This subcharacteristic concerns frequency of failure of the software.
Ability of the software to be easily operated by a given user in a given environment.
This characteristic refers to how well the software can adopt to changes in its environment or with its requirements. The subcharacteristics of this characteristic include adaptability. Object oriented design and implementation practices can contribute to the extent to which this characteristic is present in a given system.
Ability to bring back a failed system to full operation, including data and network connections.
Once a software system is functioning, as specified, and delivered the reliability characteristic defines the capability of the system to maintain its service provision under defined conditions for defined periods of time. One aspect of this characteristic is fault tolerance that is the ability of a system to withstand component failure. For example if the network goes down for 20 seconds then comes back the system should be able to recover and continue functioning.
Characterizes resources used, i.e. memory, cpu, disk and network usage.
Potential for complete or partial reuse in another software product.
This subcharacteristic relates to unauthorized access to the software functions.
Characterizes the sensitivity to change of a given system that is the negative impact that may be caused by system changes.
Characterizes the plug and play aspect of software components, that is how easy is it to exchange a given software component within a specified environment.
This is the essential Functionality characteristic and refers to the appropriateness (to specification) of the functions of the software.
Characterizes the effort needed to verify (test) a system change.
Characterizes response times for a given thru put, i.e. transaction rate.
Ease of verifying correctness of data processing on required points.
Determines the ease of which the systems functions can be understood, relates to user mental models in Human Computer Interaction methods.
Usability only exists with regard to functionality and refers to the ease of use for a given function. For example a function of an ATM machine is to dispense cash as requested. Placing common amounts on the screen for selection, i.e. $20.00, $40.00, $100.00 etc, does not impact the function of the ATM but addresses the Usability of the function. The ability to learn how to use a system (learnability) is also a major subcharacteristic of usability.
User-friendliness in sytem usage