Software Metrics: Definition
Software Metrics: Definition
Definition
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.
understanding
Software
metrics
control
Improvement
Software
engineering
process
Software Metrics
Categories of Metrics
i. Product metrics: describe the characteristics of the product
such as size, complexity, design features, performance,
efficiency, reliability, portability, etc.
ii. Process metrics: describe the effectiveness and quality of
the processes that produce the software product. Examples
are:
Software Metrics
iii. Project metrics: describe the project characteristics and
execution. Examples are :
productivity
SIZE metrics
Project size is a measure of the problem
complexity in terms of effort and time
required to develop the product.
1)
Shortcomings of LOC
it is not consistent, all lines of code are not at
the same level. Some lines are difficult to code
than others
Programmer specific
LOC determines only coding efforts and not
the overall complexity of the problem
Difficult to measure LOC in final product from
specification.
2) Token count
Halstead stated that software can be measured by counting
number of operators and operands.
It is an analytical technique to measure size, development
effort, and development cost of software product
For a given program let:
n1 be the number of unique operators used in a program
n2 be the number of unique operands used in a program
N1 be total number of operators
N2 be total number of operators
10
11
12. The unary and binary occurrence of + and - are dealt separately.
Similarly * (multiplication operator) are dealt with separately.
12
13
Program vocabulary
number of unique operators plus unique
operands
n = n1 + n2 , n is program vocabulary
Program length
Total usage of all operators plus operands
N = N1 + N2 , N is program length
Example
if (k < 2)
{
if (k > 3)
x = x*k;
}
3)
Characteristics of FPs
Independent of programming languages
whether procedural or object oriented.
Uses easily countable characteristics of
information domain of the problem such as
no. of inputs, no. of outputs etc
Reusable code and object orientation is easily
accommodated.
3)
FunctionTesting
Point Analysis
Software
Myths
20
Low
Average
WEIGHING
Factors
high
EI
EO
EQ
ILF
10
15
EIF
10
4. Value adjustment Factor : To calculate VAF ,we have to consider the fourteen
charecterstics
Fi
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
f12
f13
f14.
Influencing Factor
Back-up and Recovery ?
Data Communication ?
Distributed Processing ?
Performance Critical ?
Existing Operational Environment ?
On-line Data Entry ?
Input transactions over multiple Screens?
Online Updates ?
Information Domain Values Complex ?
Internal Processing Complex?
Code Designed for reuse?
Conversion / installation in Design?
Multiple Installations?
Application Designed for change ?