Beyond Numbers

Download Report

Transcript Beyond Numbers

OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Beyond Numbers
SPIN September 2002
© Copyright OSEL 2002
Slide 1.1
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.2
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Some views on measurement…
•
“What is not measurable, make measurable.”- Galileo
•
“When you can measure what you are speaking about and express it in numbers
you know something about it; but when you cannot measure it, when you cannot
express it in numbers your knowledge is of a meagre and unsatisfactory kind.” Lord Kelvin
•
“…This remark [above] has been quoted with an approval it does not altogether
deserve - it does not, for example, do justice to the work of Darwin or Pasteur, to
name only two of Kelvin’s contemporaries.” - G.U.Yule (statistician)
•
“You can’t control what you can’t measure.” - DeMarco
•
“Metrics is crap.” - Dijkstra
© Copyright OSEL 2002
Slide 1.3
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.4
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
© Copyright OSEL 2002
Slide 1.5
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling
© Copyright OSEL 2002
Slide 1.6
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling
– ordering
© Copyright OSEL 2002
Slide 1.7
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling
– ordering
– differences
© Copyright OSEL 2002
Slide 1.8
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling
– ordering
– differences
– division
© Copyright OSEL 2002
Slide 1.9
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling
– ordering
– differences
– division
– sets
© Copyright OSEL 2002
Slide 1.10
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling ( ~ nominal)
– ordering (ordinal)
– differences (interval)
– division ( ~ ratio)
– sets ( ~ absolute)
© Copyright OSEL 2002
Slide 1.11
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Learning to Count
– labelling ( ~ nominal)
– ordering (ordinal)
– differences (interval)
– division ( ~ ratio)
– sets ( ~ absolute)
• … a Measurement Maturity Model
© Copyright OSEL 2002
Slide 1.12
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.13
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Empirical
relational
system
© Copyright OSEL 2002
Slide 1.14
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
real world
mathematical world
Empirical
relational
system
Formal
relational
system
© Copyright OSEL 2002
measurement
Slide 1.15
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
real world
mathematical world
Empirical
relational
system
Formal
relational
system
measurement
mathematics
and
statistics
Results
© Copyright OSEL 2002
Slide 1.16
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
real world
mathematical world
Empirical
relational
system
Formal
relational
system
measurement
mathematics
and
statistics
Relevant
empirical
information
© Copyright OSEL 2002
interpretation
Results
Slide 1.17
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
real world
mathematical world
Empirical
relational
system
Formal
relational
system
measurement
decisions
and
actions
Relevant
empirical
information
© Copyright OSEL 2002
mathematics
and
statistics
interpretation
Results
From Pfleeger 1998
Slide 1.18
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
real world
mathematical world
Empirical
relational
system
Formal
relational
system
refined
measurement
better
decisions
and
actions
Relevant
empirical
information
© Copyright OSEL 2002
mathematics
and
statistics
improved
interpretation
Results
Slide 1.19
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.20
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
I
X
II
Y
X
III
Y
X
IV
Y
X
Y
10.00
8.04
10.00
9.14
10.00
7.46
8.00
6.58
8.00
6.95
8.00
8.14
8.00
6.77
8.00
5.76
13.00
7.58
13.00
8.74
13.00
12.74
8.00
7.71
9.00
8.81
9.00
8.77
9.00
7.11
8.00
8.84
11.00
8.33
11.00
9.26
11.00
7.81
8.00
8.47
14.00
9.96
14.00
8.10
14.00
8.84
8.00
7.04
6.00
7.24
6.00
6.13
6.00
6.08
8.00
5.25
4.00
4.26
4.00
3.10
4.00
5.39
19.00
12.50
12.00
10.84
12.00
9.13
12.00
8.15
8.00
5.56
7.00
4.82
7.00
7.26
7.00
6.42
8.00
7.91
5.00
5.68
5.00
4.74
5.00
5.73
8.00
6.89
© Copyright OSEL 2002
Slide 1.21
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
I
II
12.00
10.00
10.00
8.00
8.00
6.00
6.00
4.00
4.00
2.00
2.00
0.00
0.00
2.00
4.00
6.00
8.00
10.00 12.00 14.00 16.00
0.00
0.00
2.00
4.00
III
14.00
12.00
12.00
10.00
10.00
8.00
8.00
6.00
6.00
4.00
4.00
2.00
2.00
2.00
4.00
6.00
© Copyright OSEL 2002
8.00
8.00
10.00 12.00 14.00 16.00
IV
14.00
0.00
0.00
6.00
10.00 12.00 14.00 16.00
0.00
0.00
5.00
10.00
15.00
20.00
Slide 1.22
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.23
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
validate
transaction
initialize
read
struct ure
set flag
re-estimat e
value
reallocate
import
history
convert
history
assign
owner
reformat
history
respond
check
user
align
with client
recalculate
struct ure
© Copyright OSEL 2002
clear
errors
validate
history
set
privilege
clear field
display
summary
flag
errors
Slide 1.24
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
Val ida te
transa cti on
in itial ize
rea d stru ctu re
imp ort h istory
cle ar errors
resp ond
set fl ag
re-e sti mate valu e
i mpor t j a
va. uti l .*;
cl a
s s C lockT a
lk
che ck u ser
publ ic st ati c voi d mai n(St r ing[ ] ar gument s)
{
/ / get curr ent t im e and da
te
Cal endar now =C ale ndar .get Ins t ance() ;
i nt hour = now.get ( Cale ndar .H OU R_OF _DAY );
set privi leg e
i nt mi nute = now.get ( Cale ndar .M I NU TE) ;
i nt mont h= now. get( Cal endar. M ON TH) + 1;
con vert h istory
reforma t
i nt day= now. get( Cal endar. DA Y_OF_M O NTH );
i nt year =now .get (C ale ndar .Y EAR );
i mpor t j a
va. uti l .*;
/ /di s pla y gre et ing
cl a
s s C lockT a
lk
Sys te m .out . pri ntl n( " ) ;
f ( hour < 12)
publ ic st ati c voi d mai n(St r ing[ ] ar gument s)
{
/ / get curr ent t im e and da
te
al ign w ith
cle ar fi eld
Cal endar now =C ale ndar .get Ins t ance() ;
i nt hour = now.get ( Cale ndar .H OU R_OF _DAY );
i nt mi nute = now.get ( Cale ndar .M I NU TE) ;
di spla y su mmary
clie nt
i nt mont h= now. get( Cal endar. M ON TH) + 1;
i nt day= now. get( Cal endar. DA Y_OF_M O NTH );
i nt year =now .get (C ale ndar .Y EAR );
/ /di s pla y gre et ing
Sys te m .out . pri ntl n( " ) ;
rea llo cate
assi gn ow ner
f ( hour < 12)
Re calcu late
stru ctu re
© Copyright OSEL 2002
Val ida te
flag e rrors
history
Slide 1.25
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.26
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
• Validating Measurements
– do the data reveal the truth?
– is the representation accurate?
– are the data carefully documented?
– do the methods of display avoid spurious reading of the data?
– are appropriate contexts and comparisons shown?
© Copyright OSEL 2002
Slide 1.27
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.28
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
OXFORD
S O FTWAR E E N G I N E E R I N G
LIMITED
9 Spinners Court, 53 West End,
Witney,
Oxfordshire
OX28 1NH
Tel. +44 (0) 1993 700878
Fax. +44 (0) 1993 774132
www.osel.co.uk
© Copyright OSEL 2002
Slide 1.29
OXFORD SOFTWARE ENGINEERING
Software Engineering Services & Consultancy
© Copyright OSEL 2002
Slide 1.30