You are on page 1of 63

Analizzare il prodotto software con

lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Analizzare il prodotto software con


lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Analizzare il prodotto software con


lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Analizzare il prodotto software con


lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Analizzare il prodotto software con


lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Analizzare il prodotto software con


lo scopo di valutarne la
manutenibililt dal punto di vista
dell'ingegnere del software

Question

Che dimensioni ha la
community di sviluppatori?

Che grado di attivit della


community si riscontra?

Gli strumenti di supporto sono


disponibili ed efficaci?

Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

tweak0.1(4-2007)
tweak0.9(9-2007)
tweak0.9.5(7-2009)
tweak1.0(12-2010)
tewak1.1(12-2011)

Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

tweak0.1(4-2007)
tweak0.9(9-2007)
tweak0.9.5(7-2009)
tweak1.0(12-2010)
tewak1.1(12-2011)

Densit di commen
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0

0.25
0.2
0.15
0.1
0.05
0

Numero di committers
1.2
1
0.8
0.6
0.4
0.2
0

Complessit ciclomatica / N.comm


3.5
3
2.5
2
1.5
1
0.5
0
0.8

1.2

1.4

1.6

1.8

Complessit ciclomatica e N. di committers


3.5
3
2.5
2
1.5
1
0.5
0

N. committers

Complessit ci

2.5
2
1.5
1
0.5
0

N. committers

Complessit ci

Numero di classi
Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

Tweak
Tweak
Tweak
Tweak
Tweak

0.1
0.9
0.95
1.0
1.1

25
41
42
42
46

CommDen

0.1
0.9
0.95
1
1.1

0.007
0.002
0.001
0.002
0.004

0.052
0.111
0.125
0.18
0.375

0.1
0.9
0.95
1
1.1

0.699
0.001
0.0085959885
0.0014326648
0
0.0014326648
0.0042979943

0.433
0.052
0
0.154855643
0.1916010499
0.3359580052
0.8477690289

max
min

minA
maxA

JdocDen

Analizzabilit

Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

Tweak
Tweak
Tweak
Tweak
Tweak

0.1
0.9
0.95
1.0
1.1

0.0014326648
0.3524970828
0.3569709593
0.3807901833
0.4627827107

Analizzabilit
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0

Jpdf Tweak 0.1 Jpdf Tweak 0.9 Jpdf Tweak 0.95 Jpdf Tweak 1.0 Jpdf Tweak 1.1

METRICHE PER LA MANUTENIBILITA'


CommDen
JdocDen
Che grado di ANALIZZABILITA?
offre il codice?

Numero di Package

NOC

Numero di classi

TLOC

Numero totale di linee di codice

WMC

Metodi pesati per classe

LCOM

Che grado di TESTABILITA? offre


il codice?

Densit Java doc

NOP

JdocDen

Che grado di MODIFICABILITA'


presenta il codice?

Densit commenti*

Densit Java doc


Carenza di coesione dei metodi

EC

Accoppiamento efferente

AC

Accoppiamento afferente

VG

Complessit ciclomatica

WMC

Metodi pesati per classe

VG

Complessit ciclomatica

DIT

Profondit dell'albero di ereditariet

NSC

Numero di figli

TLOC

Numero totale di linee di codice

PAR

Numero di parametri

NOA

Numero di attributi

NOM

Numero di metodi sovrascritti

Che grado di STABILITA' il codice


presenta?

1-(Ce/(Ca + Ce))

METRICHE PER LA MANUTENIBILITA'


CommDen

Che grado di ANALIZZABILITA?


offre il codice?

Densit commenti*

JdocDen
Che grado di ANALIZZABILITA?
offre il codice?

NOP
NOC
TLOC
WMC
JdocDen
LCOM

Che grado di MODIFICABILITA'


presenta il codice?

Che grado di TESTABILITA? offre


il codice?

Densit Java doc


Numero di Package
Numero di classi
Numero totale di linee di codice
Metodi pesati per classe
Densit Java doc
Carenza di coesione dei metodi

EC
AC

Accoppiamento efferente
Accoppiamento afferente

VG

Complessit ciclomatica

WMC

Metodi pesati per classe

VG

Complessit ciclomatica

DIT

Profondit dell'albero di ereditariet

NSC

Numero di figli

TLOC

Numero totale di linee di codice

PAR

Numero di parametri

NOA

Numero di attributi

NOM

Numero di metodi sovrascritti

1-(Ce/(Ca + Ce))

Che grado di STABILITA' il codice


presenta?

METRICHE PER LA MANUTENIBILITA'


CommDen
JdocDen
Che grado di ANALIZZABILITA?
offre il codice?

NOP
NOC
TLOC
WMC
JdocDen

Densit commenti*
Densit Java doc
Numero di Package
Numero di classi
Numero totale di linee di codice
Metodi pesati per classe
Densit Java doc

LCOM
Che grado di MODIFICABILITA'
presenta il codice?

Che grado di TESTABILITA? offre


il codice?

Carenza di coesione dei metodi

EC
AC

Accoppiamento efferente
Accoppiamento afferente

VG

Complessit ciclomatica

WMC

Metodi pesati per classe

VG

Complessit ciclomatica

DIT

Profondit dell'albero di ereditariet

NSC

Numero di figli

TLOC

Numero totale di linee di codice

PAR

Numero di parametri

NOA

Numero di attributi

NOM

Numero di metodi sovrascritti

1-(Ce/(Ca + Ce))

Che grado di STABILITA' il codice


presenta?

METRICHE PER LA MANUTENIBILITA'


CommDen
JdocDen
Che grado di ANALIZZABILITA?
offre il codice?

NOP
NOC
TLOC
WMC
JdocDen
LCOM

Che grado di MODIFICABILITA'


presenta il codice?

Che grado di TESTABILITA? offre


il codice?

Densit commenti*
Densit Java doc
Numero di Package
Numero di classi
Numero totale di linee di codice
Metodi pesati per classe
Densit Java doc
Carenza di coesione dei metodi

EC
AC

Accoppiamento efferente
Accoppiamento afferente

VG

Complessit ciclomatica

WMC
VG

Metodi pesati per classe


Complessit ciclomatica

Che grado di TESTABILITA? offre


il codice?

DIT

Profondit dell'albero di ereditariet

NSC

Numero di figli

TLOC

Numero totale di linee di codice

PAR

Numero di parametri

NOA

Numero di attributi

NOM

Numero di metodi sovrascritti


1-(Ce/(Ca + Ce))

Che grado di STABILITA' il codice


presenta?

CommDen
JdocDen
Che grado di ANALIZZABILITA?
offre il codice?

Numero di Package
Numero di classi
Numero totale di linee di codice

WMC

Metodi pesati per classe

LCOM

Che grado di TESTABILITA? offre


il codice?

Che grado di STABILITA' il codice


presenta?

Densit Java doc

NOP
NOC
TLOC

JdocDen

Che grado di MODIFICABILITA'


presenta il codice?

Densit commenti*

Densit Java doc


Carenza di coesione dei metodi

EC

Accoppiamento efferente

AC

Accoppiamento afferente

VG

Complessit ciclomatica

WMC

Metodi pesati per classe

VG

Complessit ciclomatica

DIT

Profondit dell'albero di ereditariet

NSC

Numero di figli

TLOC

Numero totale di linee di codice

PAR

Numero di parametri

NOA

Numero di attributi

NOM

Numero di metodi sovrascritti


1-(Ce/(Ca + Ce))

Descrizione question

Abbr

Nome

La dimensione della community,

CtrN

Numero di commiter

Una community affidabile e


fidata
attiva nello sviluppo di
nuove release
e di aggiornamenti, pronta
ed efficace
Nel bug fixing
fondamentali
di supporto. Maggiore il
numero di
interventi e di argomenti sui
forum, il volume del wiki, il
numero di faq, pi grande
la possibilit di trovare
beneficio dalla loro
consultazione. I tracker
danno modo alla comunit
ed agli sviluppatori
indipendenti di condividere
conoscenza ed esperienza.

MajR

ResB

Numero medio di major release per


Numero medio di commit per anno
Numero medio di commit per commit
Indice dei bug chiusi

OR

Indice delle altre richieste** soddisfa

CmtN
CmtPCtr

ThrN
NresThr
FmN
ThrPF
PostN
LenN
TrckN
WikiVol
FaqN

Numero medio di thread per anno


Indice dei thread non risposti
Numero di forum
Media di thread per forum
Numero medio di post per anno
Livello di internazionalizzazione del
Numero di tracker
Volume del wiki
Numero di faq

Committer

Committ
1
1
1
1
1

3
21
22
43
20

N committers
Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

Tweak
Tweak
Tweak
Tweak
Tweak

0.1
0.9
0.95
1.0
1.1

Stabilit
1
1
1
1
1

Densit di commenti

0.405
0.487
0.503
0.503
0.498

Complessit ciclomatica
0.375
0.18
0.125
0.111
0.052

2.957
2.66
2.626
2.507
2.191

ensit di commenti

Com

Densit di commenti

3.5
3
2.5
2
1.5
1
0.5
0

2.5
2
1.5
1
0.5
0

Densit di commenti

o di committers

N. di commi
1.2
1
0.8
0.6
0.4
0.2
0

N. committers

N. co

omatica / N.committers

1.4

50
40
30

Column M

20
10

1.6

1.8

0
0.8

N. di committers

N. committers
Complessit ciclomatica

1.2

Numero di cl
50
45
40
35
30
25
20
15
10

45
40
35
30
25
20
15
10
5
0
Jpdf Tweak 0.1

N. committers
Complessit ciclomatica

Jpdf Tweak 0.9

Jpdf Tweak 0.95

Numero di package
4
5
5
5
5

Complementato
NOP

NOC

TLOC

4
5
5
5
5

25
41
42
42
46

2691
4825
5066
4795
5789

78
4
0
0.0135135135
0.0135135135
0.0135135135
0.0135135135

1224
25
0
0.0133444537
0.0141784821
0.0141784821
0.0175145955

126233
2691
0
0.9827265222
0.9807757686
0.9829693546
0.9749235078

Jpdf Tweak 1

Modificabilit

0.7600427687
0.6825622349
0.7253137303
0.6839512954
0.5368850756

Testabilit

0.4728459553
0.6067235502
0.5951486111
0.505181297
0.5367003675

bilit

pdf Tweak 1.0 Jpdf Tweak 1.1

Stabilit

0.1943
0.4841
0.5406
0.5406
0.523

Modificabilit

Analizzabilit

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

Jpdf Tweak 0.1

n linee di commenti/n linee di


codice
Volume javadoc (MB)/NOC
n di package
n di classi
n totale linee di codice

0.007
0.052
4
25
2691
8.45

Volume javadoc (MB)/NOC


come definita da HendersonSellers

0.052
0.515
5.25
7

complessit ciclomatica media

2.191
8.45

complessit ciclomatica media


Profondit media degli alberi di
ereditariet
n medio di sottoclassi per
classe
n totale linee di codice
n medio di parametri per
metodo

2.191
4.12
0.44
3048
0.888

n medio di attributi per classe

5.96

n di metodi override per classe

0.36
0.405

Jpdf Tweak 0.9


n linee di commenti/n linee di
codice

0.002

Volume javadoc (MB)/NOC


n di package
n di classi
n totale linee di codice
Volume javadoc (MB)/NOC
come definita da HendersonSellers

0.111
5
41
4825
16.624
0.236
0.111
7.6
9.4

complessit ciclomatica media

2.507
16.624

complessit ciclomatica media

2.507

Profondit media degli alberi di


ereditariet
n medio di sottoclassi per
classe
n totale linee di codice
n medio di parametri per
metodo
n medio di attributi per classe
n di metodi override per classe

3.024
0.293
4305
0.96
5
0.244

0.487

Jpdf Tweak 0.95


n linee di commenti/n linee di
codice
Volume javadoc (MB)/NOC
n di package
n di classi
n totale linee di codice
Volume javadoc (MB)/NOC

0.001
0.125
5
42
5066
17.805
0.125

come definita da HendersonSellers

0.342
7.6
9.6

complessit ciclomatica media

2.626
17.805

complessit ciclomatica media

2.626

Profondit media degli alberi di


ereditariet
n medio di sottoclassi per
classe
n totale linee di codice
n medio di parametri per
metodo

3.024
0.293
4539
0.971

n medio di attributi per classe

5.293

n di metodi override per classe

0.244

0.503

Jpdf Tweak 1.0


n linee di commenti/n linee di
codice
Volume javadoc (MB)/NOC
n di package
n di classi
n totale linee di codice
Volume javadoc (MB)/NOC
come definita da HendersonSellers

complessit ciclomatica media


complessit ciclomatica media

0.002
0.18
5
42
4795
18.619
0.18
0.346
7.6
9.6
2.66
18.619
2.66

Profondit media degli alberi di


ereditariet
n medio di sottoclassi per
classe
n totale linee di codice
n medio di parametri per
metodo

2.976
0.445
4795
0.956

n medio di attributi per classe

5.333

n di metodi override per classe

0.357
0.503

Jpdf Twak 1.1

n linee di commenti/n linee di


codice
Volume javadoc (MB)/NOC
n di package
n di classi
n totale linee di codice

Volume javadoc (MB)/NOC


come definita da HendersonSellers

0.004
0.375
5
46
5789
21.512
0.355
0.375
8.2
10

complessit ciclomatica media

2.957
21.512

complessit ciclomatica media

2.957

Profondit media degli alberi di


ereditariet
n medio di sottoclassi per
classe
n totale linee di codice

2.804
0.261
5789

n medio di parametri per


metodo

0.997

n medio di attributi per classe

5.565

n di metodi override per classe

0.348
0.498

Tipo

Formula

Oggettiva

n committer

Oggettiva
Oggettiva
Oggettiva
Oggettiva

n
n
n
n

Oggettiva

n richieste soddisfatte/n totale


richieste

Oggettiva

n totale di thread/n anni attivit

Oggettiva

n thread non risposti/n totale thread

Oggettiva
Oggettiva
Oggettiva
Oggettiva
Oggettiva
Oggettiva
Oggettiva

n
n
n
n
n
n
n

major release/n anni di attivit


totale commit/n anni attivit
totale commit/n committer
bug chiusi/n totale bug

di forum
totale thread/n forum
totale post/n anni attivit
lingue disponibili
tracker disponibili
file
faq

5
3
5
2
5
1
5
0

N committers
Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

tweak0.1(4-2007)
tweak0.9(9-2007)
tweak0.9.5(7-2009)
tweak1.0(12-2010)
tewak1.1(12-2011)

1
1
1
1
1

Complessit ciclomatica

Complessit ciclomatica

5
2
5
1
5
0

Complessit ciclomatica

N. di committers e densit di commenti

2
1
8
6
4
2
0

N. committers
Densit di commenti

N. commits / N. committers

Column E
Column F

1.2

1.4

1.6

1.8

umero di classi
6
5
Numero di classi

4
3
2
1

eak 0.95

6
5
Numero di classi

4
3
2
1

Jpdf Tweak 1.0

0
Jpdf Tweak 0.1

Jpdf Tweak 1.1

Complementato

Complementato

WMC*

JdocDen

8.45
16.624
17.805
18.619
21.512

0.052
0.236
0.125
0.18
0.355

169.07
8.45
0
0.9491096999
0.9417569419
0.9366890798
0.9186776242

0.355
0.052
0
0.3927392739
0.7590759076
0.5775577558
0

Jpdf Tweak 0.9

Manutenibilit

0.3571553472
0.531470717
0.5545083252
0.5276306939
0.5148420385

cabilit

Testabilit
0.7
0.6
0.5
Modificabilit

0.4
0.3
0.2
0.1
0
Jpdf Tweak 0.1

Jpdf Tweak 0.9 Jpdf Tweak 0.95 Jpdf Tweak 1.0

2
0.25
11.75
47
0.853
0.55
0.125
0.25
1
18
16.54
1
1
0
6

iclomatica

Densit di commenti
0.375
0.18
0.125
0.111
0.052

N committers
Jpdf
Jpdf
Jpdf
Jpdf
Jpdf

tweak0.1(4-200
tweak0.9(9-200
tweak0.9.5(7-20
tweak1.0(12-20
tewak1.1(12-20

1
1
1
1
1

Stabilit e n. di committers
1.2
1
0.8
0.6

N committers

0.4

Stabilit

0.2
0

0.8

iclomatica

0.6

N committers

0.4

Stabilit

0.2
0

tters
commenti

Densit di commenti / N committers


0.4
0.35
0.3
Column E
Column F

0.25
0.2
0.15
0.1
0.05
0
0.8

1.2

1.4

1.6

Numero di package
6
5
4
3
2
1

1.8

6
5
4
3
2
1

0
Jpdf Tweak 0.1

Jpdf Tweak 0.9

Complementato

Jpdf Tweak 0.95

ComplemenComplementato

LCOM

EC

0.515
0.111
0.342
0.346
0.375

Jpdf Tweak 1.0

Complementato

AC

VG

5.25
7.6
7.6
7.6
8.2

7
9.4
9.6
9.6
10

2.191
2.507
2.626
2.66
2.957

318
16.42
0.111
0.79
0.9987291161 0.7146513
1 0.5642994
0.9992733313 0.5642994
0.9992607482 0.5642994
0.9991695214 0.5259117

58
1.6
0.9042553191
0.8617021277
0.8581560284
0.8581560284
0.8510638298

9.6
1.74
0.9426208651
0.9024173028
0.8872773537
0.8829516539
0.8451653944

Jpdf Tweak

Testabilit

pdf Tweak 0.9 Jpdf Tweak 0.95 Jpdf Tweak 1.0

0.6
0.5
Testabilit

0.4
0.3
0.2
0.1
0

Jpdf Tweak 1.1

Jpdf Tweak 0.1

Jpdf Tweak 0.9 Jp

Complessit ciclomatica
2.957
2.66
2.626
2.507
2.191

mitters

N committers
Stabilit

N committers
Stabilit

/ N committers

1.6

1.8

ackage

Numero di package

Numero di package

Jpdf Tweak 1.0

Jpdf Tweak 1.1

Complementato

ComplemenComplemenComplemenComplemenComplemen

WMC**

VG

8.45
16.624
17.805
18.619
21.512

2.191
2.507
2.626
2.66
2.957

DIT

4.12
3.024
3.024
2.976
2.804

NSC

0.44
0.293
0.293
0.445
0.261

TLOC

3048
4305
4539
4795
5789

PAR

0.888
0.96
0.971
0.956
0.997

21.512
9.6
4.12
1.06
126233
1.9
8.45
1.74
1.06
0.127
3048
0.46
1 0.9426209
0 0.664523
1 0.7027778
0.374215281 0.9024173 0.3581699 0.8220793 0.9897958 0.6527778
0.2838003369 0.8872774 0.3581699 0.8220793 0.9878963 0.6451389
0.221482162 0.8829517 0.3738562 0.659164 0.9858181 1-=(R319-R
0 0.8451654 0.4300654 0.8563773 0.9777489 1-=(R320-R

Stabilit

0.6

0.5

0.4

Stabilit

0.3

0.2

0.1
0
Jpdf Tweak 0.1

Jpdf Tweak 0.9 Jpdf Tweak 0.95 Jpdf Tweak 1.0

Jpdf Tweak 1.1

ComplemenComplemenComplementato
NOA

5.96
5
5.293
5.333
5.565

NOM

Stabilit

0.36
0.244
0.244
0.357
0.348

5.96
0.36
0.76
0.016
0
0
0.1846154 0.3372093
0.1282692 0.3372093
0.1205769 0.0087209
0.0759615 0.0348837

0.405
0.487
0.503
0.503
0.498
0
0

0.633
0.35
0.1943463
0.4840989
0.540636
0.540636
0.5229682

#DIV/0!
#DIV/0!
#DIV/0!

#DIV/0!

Manutenibilit
0.6
0.5
0.4
0.3
0.2
0.1
0

Manutenibilit

Manutenibilit

You might also like