diff --git a/jdepend/project.xml b/jdepend/project.xml index a97c40e6..bab6b348 100644 --- a/jdepend/project.xml +++ b/jdepend/project.xml @@ -22,8 +22,16 @@ maven-jdepend-plugin Maven JDepend Plugin 1.5.1-SNAPSHOT - - Produce metrics + + JDepend traverses Java class file directories and generates + design quality metrics for each Java package. + + + JDepend traverses Java class file directories and generates design quality metrics + for each Java package. JDepend allows you to automatically measure the quality of a + design in terms of its extensibility, reusability, and maintainability to manage + package dependencies effectively. + http://maven.apache.org/reference/plugins/jdepend/ http://jira.codehaus.org/browse/MPJDEPEND /www/maven.apache.org/reference/plugins/jdepend/ @@ -55,10 +63,10 @@ - Stéphane Mor + Stéphane Mor smor stephanemor@yahoo.fr - Hasgard Systèmes et Réseaux + Hasgard Systèmes et Réseaux Java Developer diff --git a/jdepend/xdocs/index.xml b/jdepend/xdocs/index.xml index 6ca76afe..db61c0df 100644 --- a/jdepend/xdocs/index.xml +++ b/jdepend/xdocs/index.xml @@ -27,9 +27,88 @@

- This plug-in produces a nicely formatted metrics report based on - your project. + This plug-in produces a metrics report using + JDepend.

+

+ JDepend traverses Java class file directories and generates design quality + metrics for each Java package. JDepend allows you to automatically measure + the quality of a design in terms of its extensibility, reusability, and + maintainability to manage package dependencies effectively. +

+

+ Metrics for each Java package include: +

    +
  • Number of Classes and Interfaces +

    + The number of concrete and abstract classes (and interfaces) in the + package is an indicator of the extensibility of the package. +

    +
  • +
  • Afferent Couplings (Ca) +

    + The number of other packages that depend upon classes within + the package is an indicator of the package's responsibility. +

    +
  • +
  • Efferent Couplings (Ce) +

    + The number of other packages that the classes in the package depend + upon is an indicator of the package's independence. +

    +
  • +
  • Abstractness (A) +

    + The ratio of the number of abstract classes (and interfaces) + in the analyzed package to the total number of classes in + the analyzed package. +

    +

    + The range for this metric is 0 to 1, with A=0 indicating a + completely concrete package and A=1 indicating a completely + abstract package. +

    +
  • +
  • Instability (I) +

    + The ratio of efferent coupling (Ce) to total coupling + (Ce + Ca) such that I = Ce / (Ce + Ca). This metric is + an indicator of the package's resilience to change. +

    +

    + The range for this metric is 0 to 1, with I=0 indicating + a completely stable package and I=1 indicating a completely + instable package. +

    +
  • +
  • Distance from the Main Sequence (D) +

    + The perpendicular distance of a package from the idealized + line A + I = 1. This metric is an indicator of the package's + balance between abstractness and stability. +

    +

    + A package squarely on the main sequence is optimally balanced + with respect to its abstractness and stability. Ideal packages + are either completely abstract and stable (x=0, y=1) or completely + concrete and instable (x=1, y=0). +

    +

    + The range for this metric is 0 to 1, with D=0 indicating + a package that is coincident with the main sequence and + D=1 indicating a package that is as far from the main sequence + as possible. +

    +
  • +
  • Package Dependency Cycles +

    + Package dependency cycles are reported along with the hierarchical + paths of packages participating in package dependency cycles. +

    +
  • +
+

+