ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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
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¡±

More Related Content

J depend

  • 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.
  • 6. Viste: Efferent e Afferent Dependencies
  • 7. Viste: Selected Object(s) e Packages with cycle
  • 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¡±