Title: UCLV, Santa Clara, March 2003
1Modern Aspects in Software Engineering5.
Software MeasurementProf. Dr.-Ing. habil.
Reiner DumkeOtto-von-Guericke-Universität
MagdeburgFakultät für Informatik, Institut für
Verteilte SystemeAG Softwaretechnikhttp//ivs.cs
.uni-magdeburg.de/sw-eng/agruppe/
2Software Measurement - Introduction
Measurement
3Software Measurement - Introduction
Software Measurement is the process by which
numbers or symbols are assigned to attributes of
entities in the real world in such a way as to
describe them according to clearly defined
rules. (Fenton, 1991)
4Software Measurement - Introduction
Software Metrics are used to characterize
the essential features of software
quantitatively, so that classification,
comparison, and mathematical analysis can be
applied. (Conte, 1992)
5Software Measurement - Introduction
- Questions
- the size of a program
- the usability of a software system
- the performance of a reactive system
- the estimation of the development costs
- the evaluation of the programmer experience
- the realibility of an embedded system
- the productivity of a software developer
6Software Measurement - Introduction
Software metrics example trend analysis Cost
trends
development effort
7Software Measurement - Introduction
- Software metrics example rules of thumb
- One dollar software development leads to two
dollar - maintenance
- 1 KLOC professional software includes 3 errors
- productivity of a programmer 250 LOC/month
- Y2K migration 1500 LOC/month
8Software Measurement - Introduction
- Software metrics example formulas
- Doc pages 0.0347 LOC0.93
- program complexity decisions 1
- current effort total_effort/(total_time2
edt/2) - readability 206.85 0.846 word_length
- 1.105
sentences_length
9Software Measurement - Introduction
- Software metrics example metrics
- code metrics (Halstead, LOC)
- flow graph metrics (McCabe, depth of nesting)
- call graph metrics (Henry-Kafura, coupling)
- structure metrics (levels, entropy)
- etc.
10Software Measurement - Introduction
Halstead Metric
11Software Measurement - Introduction
Halstead Metric
12Software Measurement - Introduction
Halstead Metric
13Software Measurement - Introduction
Flow graph metrics - Dijkstra structures
14Software Measurement - Introduction
Object-oriented Metrics by Chidamber/Kemerer
15Software Measurement - Introduction
Current Situation in Software Measurement
16Software Measurement - Introduction
Current Situation in Software Measurement
17Software Measurement - Introduction
Current Situation in Software Measurement
18Software Measurement - Introduction
Current Situation in Software Measurement
19Software Measurement - Introduction
Current Situation in Software Measurement
20Software Measurement - Introduction
Current Situation in Software Measurement
21Software Measurement - Introduction
Investigations in Software Measurement
22Software Measurement - Introduction
Investigations in Software Measurement
23Software Measurement - Introduction
Investigations in Software Measurement
24Software Measurement - Measures
Horst Zuse (1990) Software measures based on
the measurement theory are founded in a scale
which defines an homomorphism between a numerical
relative and an empirical relative in order to
measure based on units.
25Software Measurement - Measures
26Software Measurement - Measures
Software metrics Software measures
Software measurement Measurement based
controlling
27Software Measurement - Measures
Goal Question Metric (GQM)
28Software Measurement - Measures
Goal Question Metric (GQM)
29Software Measurement - Measures
Goal Question Metric (GQM)
30Software Measurement - Measures
ISO 15939 Software Measurement Standard
31Software Measurement - Measures
Measurement Framework CAME
32Software Measurement - Measures
Measurement Framework Choice
33Software Measurement - Measures
Logiscope Tool
. . .
Analyzability committed(aif) -gt 1 . .
. committed(RECU) -gt 1 1 2 3 4
5 6 Empirical method ?!
34Software Measurement - Measures
FLIGHT QUALITY
Average speed
Intervall scale
average age of the crew
Nominal scale
index of satisfaction
(potentiell) Ratio scale
average temperatur (? C)
Ratio scale
typ of the airplane
- air holes
Ordinale scale
- passengers/capacity
35Software Measurement Measures
LOC(P1 P2) LOC(P1) LOC(P2), LOC((P1 P2)
P3) LOC(P1 (P2 P3)) LOC(P1) LOC(P2)
LOC(P3), LOC(P1 P2) LOC(P2 P1), for LOC(P1)
? LOC(P2) concludes LOC(P1 P3) ? LOC(P2 P3),
exists a number n so that LOC(P1) ? LOC(P2)
and LOC(P3) gt LOC(P4) leads to LOC(P1 nP3) ?
LOC(P2 nP4).
M(P1 P2) M(P1) M(P2), M((P1 P2) P3)
M(P1 (P2 P3)) M(P1) M(P2) M(P3), M(P1
P2) M(P2 P1), for M(P1) ? M(P2) concludes
M(P1 P3) ? M(P2 P3), exists a number n so
that M(P1) ? M(P2) and M(P3) gt M(P4) leads to
M(P1 nP3) ? M(P2 nP4).
LOC(P) Maintenance Unit
36Software Measurement Measures
37Software Measurement CAME tools
38Software Measurement CAME tools
39Software Measurement CAME tools
40Software Measurement CAME tools
41Software Measurement CAME tools
Palm based measurement
42Software Measurement CAME tools
The LOC Agent (as Aglet)
43Software Measurement CAME tools
44Software Measurement CAME tools
45Software Measurement CAME tools
46Questions, Remarks !!!