Metrics
Software metrics are experimental measures that could be used to measure different characteristics of a software system or the software development process.
Metrics make sure that the final product is of high quality and the productivity of the project stays high. Numerous metrics have been designed for coding namely size, complexity, style and reliability.
Attributes of Effective Software Metrics
Hundreds of metrics have been planned for computer software, but not all provide practical support to the software engineer.
Ejiogu defines a set of attributes that should be included by effective software metrics. The derived metric and the measures that lead to it should be:
1) Simple and computable: It should be relatively simple to learn how to originate the metrics. The derived metric should not demand inordinate effort or time.
2) Empirically and intuitive: The metric should satisfy the engineer’s perceptive notions about the product attribute under consideration.
3) Consistent and objective: The metric should always capitulate results that are unambiguous.
4) Consistent in the use of units and dimensions: The mathematical calculation of the metric should use measure that does not escort to bizarre combinations of units.
5) Programming language independent: Metrics should be based on the analysis model, the design model, or the structure of the program itself.
6) An effective mechanism for mechanism for high-quality feedback:
That is, they should lead to a higher-quality end product.
Metrics Principles
There are some Metrics principles:
1) A metric should have enviable mathematical properties. That is, the metric’s value should be in a meaningful range. Also, a metric that maintains to be on a rational scale should not be composed of components that are only measured on an ordinal scale.
2) When a metric symbolizes a software characteristic that boosts when positive traits occur of decreases in the same manner.
3) Each metric should be validated experimentally in a wide variety of contexts before being published or used to make decisions. A metric should measure the factor of interest, independently of other factors. It should “scale up” to large systems and work in a diversity of programming languages and system domain.
Areas of Use of Metrics
1) Cost and size estimation: The most created area of software metrics is cost and size estimation techniques. There are many proprietary packages in the market that provide estimates of software system size, cost to develop a system, and the period of the development or enhancement of the project. These packages are based on estimation models, like COCOM081, COCOMO-11, developed by Berry Boehm.
2) Controlling Software Development Projects: calculating software development projects through measurement is an area that is generating a great deal of interest. This has much more germane with the increase in fixed price contracts and the use of price clause by customers who deal with software developers.
3) Prediction of Quality Levels: The forecast of quality levels for software, often in terms of reliability, is another area where software metrics have an vital role to play.
4) Provide Quantitative Checks: The use of software metrics to present quantitative checks on software design are also a well-establishes area.
5) Provide Management Information: Software metrics are also used to provide management information. This include in information about productivity, quality and process effectiveness. It is essential to realize that this should be seen as an ongoing activity, Snapshots of the existing situation have their place, but the most valuable information comes when we see trends in data.
Categories of Metrics
1) Product Metrics
i. Size Metrics
ii. Complexity Metrics
iii. Reliability Metrics
iv. Style Metrics
2) Process Metrics
3) Project Metrics
Metrics make sure that the final product is of high quality and the productivity of the project stays high. Numerous metrics have been designed for coding namely size, complexity, style and reliability.
Attributes of Effective Software Metrics
Hundreds of metrics have been planned for computer software, but not all provide practical support to the software engineer.
Ejiogu defines a set of attributes that should be included by effective software metrics. The derived metric and the measures that lead to it should be:
1) Simple and computable: It should be relatively simple to learn how to originate the metrics. The derived metric should not demand inordinate effort or time.
2) Empirically and intuitive: The metric should satisfy the engineer’s perceptive notions about the product attribute under consideration.
3) Consistent and objective: The metric should always capitulate results that are unambiguous.
4) Consistent in the use of units and dimensions: The mathematical calculation of the metric should use measure that does not escort to bizarre combinations of units.
5) Programming language independent: Metrics should be based on the analysis model, the design model, or the structure of the program itself.
6) An effective mechanism for mechanism for high-quality feedback:
That is, they should lead to a higher-quality end product.
Metrics Principles
There are some Metrics principles:
1) A metric should have enviable mathematical properties. That is, the metric’s value should be in a meaningful range. Also, a metric that maintains to be on a rational scale should not be composed of components that are only measured on an ordinal scale.
2) When a metric symbolizes a software characteristic that boosts when positive traits occur of decreases in the same manner.
3) Each metric should be validated experimentally in a wide variety of contexts before being published or used to make decisions. A metric should measure the factor of interest, independently of other factors. It should “scale up” to large systems and work in a diversity of programming languages and system domain.
Areas of Use of Metrics
1) Cost and size estimation: The most created area of software metrics is cost and size estimation techniques. There are many proprietary packages in the market that provide estimates of software system size, cost to develop a system, and the period of the development or enhancement of the project. These packages are based on estimation models, like COCOM081, COCOMO-11, developed by Berry Boehm.
2) Controlling Software Development Projects: calculating software development projects through measurement is an area that is generating a great deal of interest. This has much more germane with the increase in fixed price contracts and the use of price clause by customers who deal with software developers.
3) Prediction of Quality Levels: The forecast of quality levels for software, often in terms of reliability, is another area where software metrics have an vital role to play.
4) Provide Quantitative Checks: The use of software metrics to present quantitative checks on software design are also a well-establishes area.
5) Provide Management Information: Software metrics are also used to provide management information. This include in information about productivity, quality and process effectiveness. It is essential to realize that this should be seen as an ongoing activity, Snapshots of the existing situation have their place, but the most valuable information comes when we see trends in data.
Categories of Metrics
1) Product Metrics
i. Size Metrics
ii. Complexity Metrics
iii. Reliability Metrics
iv. Style Metrics
2) Process Metrics
3) Project Metrics
About The Author :
Ashish Sharma key account manager at WeDigTech - A Mobile App Development Company in India
Ashish Sharma key account manager at WeDigTech - A Mobile App Development Company in India