McCall's Factor Model
McCall’s factor model classifies all software requirements into 11 factors that can be grouped in 3 categories:
Product Operation Factors
Factors that deal with requirements that directly affect the daily operation of the software.
- Correctness
- The degree to which software meets its requirements.
- Reliability
- The degree to which software runs correctly without error.
- Efficiency
- The degree to which software uses time and resources.
- Integrity
- The degree to which software is governed.
- Usability
- The time and effort it takes others to learn, understand and operate the software.
Product Revision Factors
Factors that deal with requirements that affect software maintenance.
- Maintainability
- The time and effort it takes to detect and resolve errors in the software.
- Flexibility
- The time and effort needed to improve the software.
- Testability
- The time and effort required to ensure the software meets its specified requirements.
Product Transition Factors
Factors that deal with requirements that affect the adaptation of software to other platforms, environments, interaction with other software.
- Portability
- The degree to which the software can be transferred to other platforms.
- Reusability
- The degree to which a software's code can be reused in other applications.
- Interoperability
- The time and effort it takes to integrate two systems together.