Software Metrics
Software Metrics can be defined as “The continuous application of measurement based techniques to the software development process and its products to supply meaningful and timely management information, together with the use of those techniques to improve that process and its products”.
The most established 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 duration of the development or enhancement of the project. These packages are based on estimation models like COCOMO81, COCOMO-II, developed by Berry Boehm.
Categories of Metrics:
a) Product Metrics: describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability, portability, etc.
b) Process metrics: describe the effectiveness and quality of the processes that produce the software product. Examples are:
· Effort required in the process
· Time to produce the product
· Effectiveness of defect removal during development
· Number of defects found during testing
· Maturity of the process.
c) Project Metrics: describe the project characteristics and execution. Examples are:
· Number of software developers
· Staffing pattern over the life cycle of the software
· Cost and schedule
· Productivity
Software Reliability
Software reliability means operational reliability. Who cares how many bugs are there in the program? We should be concerned with their effect on its operations.
As per IEEE, standard “Software reliability is defined as the ability of a system or component to perform its required functions under stated conditions for a special period of time”.
Various Software reliability models are as follows: