1. Universit¨¤ degli studi di Milano Bicocca
Facolt¨¤ di Scienze Matematiche Fisiche e Naturali
Corso di laurea magistrale in INFORMATICA
JDepend
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
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
3. JDepend aiuta a:
? Isolare le dipendenze verso package di terze
parti
? Identificare i cicli di dipendenza tra package
4. 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.
5. 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.
8. Vista: Distance from the Main Sequence
I pacchetti ideali sono quelli in cui si presentano completamente astratti e
stabili (I = 0 e A = 1).
9. 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
10. 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¡±