Introduction
In this computerized world where software rules, there is a thing that could be required for determining the quality of the current software product and should foresee the qualities of a software process and also need some constant improvement on the quality of a software product. In which we should follow some matric that could quantitativly measure the degree to which a system, component or process possesses a given attribute with a measurement that could quantitatively indicate the extent, amount, dimension, capacity, or size of some attribute of a product or process.
Figure: Quality Model
Purpose of Software Metrics
The following things are the purpose of software metrics:
- Evaluation of the cost and time of future projects
- Assess the productivity effects of new tools and techniques
- Create productivity trends over time
- Improve software quality
- Predict future resource requirements
- Reduce future maintenance requirements
Example of Software Metrics
Defect rates, error rates measurement of individual / module / development and errors should be categorized by origin, type and cost are the main examples of software metrics.
Classification of Software Metrics
Software Metrics are mainly classified into the following three types:
- Products
It should be explicit results of software development actions and measure the deliverables and documentation by products.
- Processes
This is related to activities on the production of the software.
- Resources
It determines the inputs into the software development activities on things like hardware, knowledge and people.
Deviation in Software Metrics
There are two main deviations that play major roles, Product Metrics and Process Metrics.
- Product Metrics
Product Metrics measure the state of the project by considering its track potential risks by uncovering the problem areas by adjusting workflow or tasks to assess the team's ability to control quality.
- Process Metrics
Understandings of process paradigm, software engineering tasks, work product, or milestones and lead to long- term process improvement.
Type of Measures
There are two type of measures in Software Metrics, they are:
- Direct Measures
It's an internal attribute of cost, effort, LOC, speed and memory.
- Indirect Measures
It's an external attribute of functionality, quality, complexity, efficiency, reliability and maintainability.
Size Oriented Software Metrics
The various types of software metrics as follows:
- LOC: Lines of Code
- KLOC: 1000 Lines Of Code
- SLOC: Statement Lines of Code