Metric Results

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following document contains the results of a JDepend metric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package Total

Classes
Abstract

Classes
Concrete

Classes
Afferent

Couplings
Efferent

Couplings
Abstractness Instability Distance
com.internetcds.jdbc.tds 56 4 52 0 8 0.07 100% 7%
com.internetcds.util 2 0 2 1 2 0 67% 33%
org.enhydra.xml 17 0 17 2 6 0 75% 25%
org.relique.jdbc.csv 14 0 14 0 7 0 100% 0%
org.w3c.dom 2 2 0 5 1 1 17% 17%
org.webdocwf.util.i18njdbc 9 0 9 0 6 0 100% 0%
org.webdocwf.util.loader 39 0 39 9 15 0 62% 38%
org.webdocwf.util.loader.backup 1 0 1 0 4 0 100% 0%
org.webdocwf.util.loader.generator 29 0 29 4 13 0 76% 24%
org.webdocwf.util.loader.logging 2 1 1 3 4 0.5 57% 7%
org.webdocwf.util.loader.restore 1 0 1 0 4 0 100% 0%
org.webdocwf.util.loader.task 9 0 9 0 5 0 100% 0%
org.webdocwf.util.loader.test 7 2 5 1 4 0.29 80% 9%
org.webdocwf.util.loader.transformation 10 1 9 1 11 0.1 92% 2%
org.webdocwf.util.loader.wizard 71 0 71 1 13 0 93% 7%
org.webdocwf.util.xml 11 0 11 0 9 0 100% 0%
test.org.webdocwf.util.loader 4 0 4 0 7 0 100% 0%

Packages

[ summary ] [ packages ] [ cycles ] [ explanations ]

com.internetcds.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 0% 67% 33%
Abstract Classes Concrete Classes Used by Packages Uses Packages
HexDump

Logger

com.internetcds.jdbc.tds

java.io

java.lang

org.w3c.dom

Afferent Couplings Efferent Couplings Abstractness Instability Distance
5 1 100% 17% 17%
Abstract Classes Concrete Classes Used by Packages Uses Packages
TypeInfo

UserDataHandler

org.enhydra.xml

org.webdocwf.util.loader

org.webdocwf.util.loader.generator

org.webdocwf.util.loader.transformation

org.webdocwf.util.xml

java.lang

org.webdocwf.util.loader.backup

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
Backup

java.io

java.lang

org.webdocwf.util.loader

org.webdocwf.util.loader.generator

org.webdocwf.util.loader.logging

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 4 50% 57% 7%
Abstract Classes Concrete Classes Used by Packages Uses Packages
Logger

StandardLogger

org.webdocwf.util.loader

org.webdocwf.util.loader.generator

org.webdocwf.util.loader.transformation

java.io

java.lang

java.util

org.webdocwf.util.loader

org.webdocwf.util.loader.restore

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
Restore

java.io

java.lang

org.webdocwf.util.loader

org.webdocwf.util.loader.generator

org.webdocwf.util.loader.wizard

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 13 0% 93% 7%
Abstract Classes Concrete Classes Used by Packages Uses Packages
AddClassPath

CloseOctopusProjectAction

DirectoryFilter

DomlFilter

ErrorReader

JarFilter

LnFListener

OctopusAboutFrame

OctopusAboutFrame$1

OctopusFileFilter

OctopusGenerator

OctopusGeneratorData

OctopusGeneratorHelpFrame

OctopusGeneratorHelpFrame$1

OctopusGeneratorPanel

OctopusGeneratorPanel$1

OctopusGeneratorPanel$2

OctopusGeneratorPanel$3

OctopusGeneratorPanel$4

OctopusGeneratorPanel$5

OctopusGeneratorPanel$BrowseAction_AC

OctopusGeneratorPanel$BrowseAction_DOML

OctopusGeneratorPanel$BrowseAction_GO

OctopusGeneratorPanel$BrowseAction_L

OctopusGeneratorPanel$ClearTraceAction

OctopusGeneratorPanel$FullScreenAction

OctopusGeneratorPanel$NormalScreenAction

OctopusGeneratorPanel$SaveTraceAction

OctopusGeneratorThread

OctopusGeneratorThread$GeneratorThread

OctopusHelpPane

OctopusHelpToolBar

OctopusHelpToolBar$1

OctopusHelpToolBar$2

OctopusHelpToolBar$3

OctopusLoader

OctopusLoaderData

OctopusLoaderPanel

OctopusLoaderPanel$BrowseAction_AC

OctopusLoaderPanel$BrowseAction_LD

OctopusLoaderPanel$BrowseAction_OLJ

OctopusLoaderPanel$BrowseAction_XML

OctopusLoaderPanel$ClearTraceAction

OctopusLoaderPanel$FullScreenAction

OctopusLoaderPanel$NormalScreenAction

OctopusLoaderPanel$OctopusHelpAction

OctopusLoaderPanel$SaveTraceAction

OctopusLoaderThread

OctopusLoaderThread$OctopusThread

OctopusProjectFrame

OctopusProperties

OctopusSplash

OctopusSplash$1

OljFilter

SampleDesktopMgr

SaveProjectAction

ShowHelpAction

StartOctopusGeneratorAction

StartOctopusLoaderAction

WizardFrame

WizardFrame$ExitOctopusApplicationItem

WizardFrame$LnFActionJava

WizardFrame$LnFActionMetal

WizardFrame$LnFActionMotif

WizardFrame$LnFActionWindows

WizardFrame$NewOctopusProjectItem

WizardFrame$OctopusAboutAction

WizardFrame$OctopusHelpAction

WizardFrame$OpenOctopusProjectItem

WizardFrame$PopupListener

XmlFilter

org.webdocwf.util.loader.generator

java.awt

java.awt.event

java.io

java.lang

java.net

java.util

javax.swing

javax.swing.border

javax.swing.event

javax.swing.filechooser

javax.swing.text

org.webdocwf.util.loader

org.webdocwf.util.loader.generator

test.org.webdocwf.util.loader

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
LoaderTest

LoaderTest2

LoaderTest3

RunTests

java.io

java.lang

java.sql

junit.framework

junit.textui

org.webdocwf.util.loader

org.webdocwf.util.loader.test

Cycles

[ summary ] [ packages ] [ cycles ] [ explanations ]

Package Cyclic Dependencies
org.webdocwf.util.loader org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.backup org.webdocwf.util.loader.generator

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.generator org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.logging org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.restore org.webdocwf.util.loader.generator

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.task org.webdocwf.util.loader.generator

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.test org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.transformation org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader.wizard org.webdocwf.util.loader.generator

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

test.org.webdocwf.util.loader org.webdocwf.util.loader.test

org.webdocwf.util.loader

org.webdocwf.util.loader.logging

org.webdocwf.util.loader

Explanations

[ summary ] [ packages ] [ cycles ] [ explanations ]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation .

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness 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 The ratio of efferent coupling (Ce) to total coupling (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 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.
Cycles Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.