matrici - wpage.unina.itwpage.unina.it/flora.amato/EI/11_matrici.pdf · J=1 j
J depend
-
Upload
luigi-la-torre -
Category
Documents
-
view
149 -
download
0
Transcript of J depend
JDepend
Università degli studi di Milano Bicocca
Facoltà di Scienze Matematiche Fisiche e Naturali
Corso di laurea magistrale in INFORMATICA
Presentazione di
M. Bonini, L. La Torre, L. Mariot, L. Poto, M. Previtali, A. Ranchetti, D. Ranchetti, M. Susani
Anno accedemico 2010/2011
Scrum team 2
JDepend aiuta a:
Misurare le qualità (estendibilità, riusabilità,
manutenibilità…) del progetto
Individuare le dipendenze e scoprire quali
package di alto livello dipendono da quelli di
basso livello
Rendere i package più stabili ed indipendenti
tra di loro
JDepend aiuta a:
Isolare le dipendenze verso package di terze
parti
Identificare i cicli di dipendenza tra package
Metriche di JDepend
CC: n° di classi concrete
AC: n° di classi astratte o interfacce (non vengono distinte)
Afferent Couplings (Ca):
n° di altri package dipendenti dalle classi all’interno del package. Indicatore di responsabilità del package.
Efferent Couplings (Ce): n° di altri package da cui le classi del pacchetto analizzato dipendono. Indicatore di indipendenza del package.
Metriche di JDepend
Abstractness (A)
Rapporto tra il numero di classi astratte e il numero totale
di classi contenute nel pacchetto analizzato. L’ intervallo va
da 0 a 1, dove A=1 indica il livello massimo di astrazione
del package.
Instability (I)
si calcola Ce / (Ce + Ca). Indica la resistenza al
cambiamento. L’intervallo va da 0 a 1, dove I=1 indica il
livello massimo di instabilità del pacchetto.
Distance from the Main Sequence (D)
Indica il bilanciamento tra astrattezza (A) e stabilità (I) del
package.
Viste: Efferent e Afferent Dependencies
Viste: Selected Object(s) e Packages with
cycle
Vista: Distance from the Main Sequence
I pacchetti ideali sono quelli in cui si presentano completamente astratti e
stabili (I = 0 e A = 1).
Pregi e difetti di JDepend
Pregi:
è semplice da usare
permette di riconoscere facilmente le dipendenze verso package di terze parti
è (anche) un plugin Eclipse
Difetti:
non distingue tra classi astratte ed interfacce
manca l’analisi sulle classi
Installazione plugin Eclipse
Andare su "Help -> Install new Software... -> Work with:“ e utilizzare come url http://andrei.gmxhome.de/eclipse/
Spuntare su “JDepend4Eclipse” sotto “Eclipse 3.5 - 3.7 plugins”
Tasto destro su “src” del progetto java -> “Run JDepend analisys”