McCall software quality model was introduced in 1977. This model is incorporated with many attributes, termed as software factors, which influence a software. The model distinguishes between two levels of quality attributes :
- Quality Factors –
The higher level quality attributes which can be assessed directly are called quality factors. These attributes are external attributes.The attributes in this level are given more importance by the users and managers.
- Quality Criteria –
The lower or second level quality attributes which can be assessed either subjectively or objectively are called Quality Criteria. These attributes are internal attributes. Each quality factor has many second level of quality attributes or quality criteria.
Usability quality factor is divided into operability, training, communicativeness, input/output volume, input/output rate. This model classifies all software requirements into 11 software quality factors. The 11 factors are organised into three product quality factors – product operation, product revision, and product transition factors.
The following are the product quality factors –
1. Product Operation :
It includes five software quality factors, which are related with the requirements that directly affect the operation of the software such as operational performance, convenience, ease of usage and its correctness. These factors help in providing a better user experience.
- Correctness –
The extent to which a software meets its requirements specification.
- Efficiency –
The amount of hardware resources and code the software, needs to perform a function.
- Integrity –
The extent to which the software can control an unauthorized person from the accessing the data or software.
- Reliability –
The extent to which a software performs its intended functions without failure.
- Usability –
The extent of effort required to learn, operate and understand the functions of the software.
2. Product Revision :
It includes three software quality factors, which are required for testing and maintenance of the software. They provide ease of maintenance, flexibility and testing effort to support the software to be functional according to the needs and requirements of the user in the future.
- Maintainability –
The effort required to detect and correct an error during maintenance phase.
- Flexibility –
The effort needed to improve an operational software program.
- Testability –
The effort required to verify a software to ensure that it meets the specified requirements.
3. Product Transition :
It includes three software quality factors, that allows the software to adapt to the change of environments in the new platform or technology from the previous.
- Portability –
The effort required to transfer a program from one platform to another.
- Re-usability –
The extent to which the program’s code can be reused in other applications.
- Interoperability –
The effort required to integrate two systems with one another.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.