Software Measurement and Metrics
Software Measurement: A measurement is a manifestation of the size, quantity, amount, or dimension of a particular attribute of a product or process. Software measurement is a titrate impute of a characteristic of a software product or the software process. It is an authority within software engineering. The software measurement process is defined and governed by ISO Standard.
Software Measurement Principles:
The software measurement process can be characterized by five activities-
- Formulation: The derivation of software measures and metrics appropriate for the representation of the software that is being considered.
- Collection: The mechanism used to accumulate data required to derive the formulated metrics.
- Analysis: The computation of metrics and the application of mathematical tools.
- Interpretation: The evaluation of metrics resulting in insight into the quality of the representation.
- Feedback: Recommendation derived from the interpretation of product metrics transmitted to the software team.
Need for Software Measurement:
Software is measured to:
- Create the quality of the current product or process.
- Anticipate future qualities of the product or process.
- Enhance the quality of a product or process.
- Regulate the state of the project in relation to budget and schedule.
Classification of Software Measurement:
There are 2 types of software measurement:
- Direct Measurement: In direct measurement, the product, process, or thing is measured directly using a standard scale.
- Indirect Measurement: In indirect measurement, the quantity or quality to be measured is measured using related parameters i.e. by use of reference.
A metric is a measurement of the level at which any impute belongs to a system product or process.
Software metrics will be useful only if they are characterized effectively and validated so that their worth is proven. There are 4 functions related to software metrics:
Characteristics of software Metrics:
- Quantitative: Metrics must possess quantitative nature. It means metrics can be expressed in values.
- Understandable: Metric computation should be easily understood, and the method of computing metrics should be clearly defined.
- Applicability: Metrics should be applicable in the initial phases of the development of the software.
- Repeatable: The metric values should be the same when measured repeatedly and consistent in nature.
- Economical: The computation of metrics should be economical.
- Language Independent: Metrics should not depend on any programming language.
Classification of Software Metrics:
There are 3 types of software metrics:
- Product Metrics: Product metrics are used to evaluate the state of the product, tracing risks and undercover prospective problem areas. The ability of the team to control quality is evaluated.
- Process Metrics: Process metrics pay particular attention to enhancing the long-term process of the team or organization.
- Project Metrics: The project matrix describes the project characteristic and execution process.
- Number of software developer
- Staffing patterns over the life cycle of software
- Cost and schedule