- Software Quality Management
- Home
- Introduction
- Software Quality Factors
- SQA Components
- Software Quality Metrics
- Basics of Measurement
- Measurement and Models
- Measurement Scales
- Empirical Investigations
- Software Measurement
- Software Measurement Validation
- Software Metrics
- Data Manipulation
- Analyzing Software Measurement Data
- Internal Product Attributes
- Albrecht’s Function Point Method
- Measuring The Structure
- Standards and Certificates
- Software Process Assessment
- Quality Assurance
- Role Of Management in QA
- The SQA Unit

- Useful Resources
- Quick Guide
- Useful Resources
- Discussion

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Measurement and Models

Models are useful for interpreting the behavior of the numerical elements of the real-world entities as well as measuring them. To help the measurement process, the model of the mapping should also be supplemented with a model of the mapping domain. A model should also specify how these entities are related to the attributes and how the characteristics relate.

Measurement is of two types −

- Direct measurement
- Indirect measurement

## Direct Measurement

These are the measurements that can be measured without the involvement of any other entity or attribute.

The following direct measures are commonly used in software engineering.

- Length of source code by LOC
- Duration of testing purpose by elapsed time
- Number of defects discovered during the testing process by counting defects
- The time a programmer spends on a program

## Indirect Measurement

These are measurements that can be measured in terms of any other entity or attribute.

The following indirect measures are commonly used in software engineering.

$$\small Programmer\:Productivity = \frac{LOC \: produced }{Person \:months \:of \:effort}$$

$\small Module\:Defect\:Density = \frac{Number \:of\:defects}{Module \:size}$

$$\small Defect\:Detection\:Efficiency = \frac{Number \:of\:defects\:detected}{Total \:number \:of\:defects}$$

$\small Requirement\:Stability = \frac{Number \:of\:initial\:requirements}{Total \:number \:of\:requirements}$

$\small Test\:Effectiveness\:Ratio = \frac{Number \:of\:items\:covered}{Total \:number \:of \:items}$

$\small System\:spoilage = \frac{Effort \:spent\:for\:fixing\:faults}{Total \:project \:effort}$

## Measurement for Prediction

For allocating the appropriate resources to the project, we need to predict the effort, time, and cost for developing the project. The measurement for prediction always requires a mathematical model that relates the attributes to be predicted to some other attribute that we can measure now. Hence, a prediction system consists of a mathematical model together with a set of prediction procedures for determining the unknown parameters and interpreting the results.