Lesson 9 Software Metrics
Lesson 9 Software Metrics
Lesson 9 Software Metrics
Software metrics is a standard of measure that contains many activities which involve some
degree of measurement. It can be classified into three categories: product metrics, process
metrics, and project metrics.
Product metrics describe the characteristics of the product such as size, complexity,
design features, performance, and quality level.
Process metrics can be used to improve software development and maintenance.
Examples include the effectiveness of defect removal during development, the pattern of
testing defect arrival, and the response time of the fix process.
Project metrics describe the project characteristics and execution. Examples include the
number of software developers, the staffing pattern over the life cycle of the software,
cost, schedule, and productivity.
Some metrics belong to multiple categories. For example, the in-process quality metrics of a
project are both process metrics and project metrics.
Software measurement is a diverse collection of these activities that range from models
predicting software project costs at a specific stage to measures of program structure.
Effort is expressed as a function of one or more variables such as the size of the program, the
capability of the developers and the level of reuse. Cost and effort estimation models have been
proposed to predict the project cost during early phases in the software life cycle. The different
models proposed are −
Productivity can be considered as a function of the value and the cost. Each can be decomposed
into different measurable size, functionality, time, money, etc. Different possible components of
a productivity model can be expressed in the following diagram.
Data Collection
The quality of any measurement program is clearly dependent on careful data collection. Data
collected can be distilled into simple charts and graphs so that the managers can understand the
progress and problem of the development. Data collection is also essential for scientific
investigation of relationships and trends.
Quality models have been developed for the measurement of quality of the product without
which productivity is meaningless. These quality models can be combined with productivity
model for measuring the correct productivity. These models are usually constructed in a tree-like
fashion. The upper branches hold important high level quality factors such as reliability and
usability.
The notion of divide and conquer approach has been implemented as a standard approach to
measuring software quality.
Reliability Models
Most quality models include reliability as a component factor, however, the need to predict and
measure reliability has led to a separate specialization in reliability modeling and prediction. The
basic problem in reliability theory is to predict when a system will eventually fail.
Performance Evaluation and Models
It includes externally observable system performance characteristics such as response times and
completion rates, and the internal working of the system such as the efficiency of algorithms. It
is another aspect of quality.
Here we measure the structural attributes of representations of the software, which are available
in advance of execution. Then we try to establish empirically predictive theories to support
quality assurance, quality control, and quality prediction.
This model can assess many different attributes of development including the use of tools,
standard practices and more. It is based on the key practices that every good contractor should be
using.
Management by Metrics
For managing the software project, measurement has a vital role. For checking whether the
project is on track, users and developers can rely on the measurement-based chart and graph. The
standard set of measurements and reporting methods are especially important when the software
is embedded in a product where the customers are not usually well-versed in software
terminology.
This depends on the experimental design, proper identification of factors likely to affect the
outcome and appropriate measurement of factor attributes.