McCall's Quality
Model - 1977
Jim McCall produced this model for the US Air Force and the intention was to bridge the gap between users and developers. He tried to map the user view with the developer's priority.
McCall identified three main perspectives for characterizing the quality attributes of a software product.
These perspectives are:-
- Product revision (ability to change).
- Product transition (adaptability to new environments).
- Product operations (basic operational characteristics).
Product revision
The product revision perspective identifies quality factors that influence the ability to change the software product, these factors are:-
The product revision perspective identifies quality factors that influence the ability to change the software product, these factors are:-
- Maintainability, the ability to find and fix a defect.
- Flexibility, the ability to make changes required as dictated by the business.
- Testability, the ability to Validate the software requirements.
Product transition
The product transition perspective identifies quality factors that influence the ability to adapt the software to new environments:-
The product transition perspective identifies quality factors that influence the ability to adapt the software to new environments:-
- Portability, the ability to transfer the software from one environment to another.
- Reusability, the ease of using existing software components in a different context.
- Interoperability, the extent, or ease, to which software components work together.
Product operations
The product operations perspective identifies quality factors that influence the extent to which the software fulfils its specification:-
The product operations perspective identifies quality factors that influence the extent to which the software fulfils its specification:-
- Correctness, the functionality matches the specification.
- Reliability, the extent to which the system fails.
- Efficiency, system resource (including cpu, disk, memory, network) usage.
- Integrity, protection from unauthorized access.
- Usability, ease of use.
In total McCall
identified the 11 quality factors broken down by the 3 perspectives, as listed
above.
For each quality factor McCall defined one or more quality criteria (a way of measurement), in this way an overall quality assessment could be made of a given software product by evaluating the criteria for each factor.
For each quality factor McCall defined one or more quality criteria (a way of measurement), in this way an overall quality assessment could be made of a given software product by evaluating the criteria for each factor.
For example the Maintainability quality factor would have criteria of simplicity, conciseness and modularity.
FURPS is an acronym representing a model for
classifying software quality attributes (functional and non-functional
requirements):
• Functionality : Feature set, Capabilities, Generality,
Security
• Usability: Human factors, Aesthetics, Consistency,
Documentation
• Reliability: Frequency/severity of failure,
Recoverability, Predictability, Accuracy, Mean time to failure
• Performance: Speed, Efficiency, Resource consumption,
Throughput, Response time
• Supportability: Testability, Extensibility,
Adaptability, Maintainability, Compatibility, Configurability, Serviceability,
Installability, Localizability, Portability
Hence, FURPS is a hierarchical definition model. The
first four quality factors (FURP) are more aimed at the user and operator of
the software, while the last quality factor (S) is more targeted at the
developers, testers and maintainers. FURPS gives an alternative decomposition
to the standard ISO/IEC 25010 which we will discuss in detail in Sect. 2.3. The
main aim of FURPS is a decomposition and checklist for quality requirements. A
software engineer can go through this list of quality factors and check with
the stakeholders to define corresponding qualities. Therefore, it defines
quality as basis for requirements. In addition, Grady and Caswell [77] describe
various metrics that can be related to the quality factors for evaluating them.
The main purpose of FURPS, however, is to define quality
Good Notes Bro. Really Good !
ReplyDelete