eDepend integrates a set of tools to effectively manage and control class & package dependencies. Well controlled code dependencies ensure easy maintenance and evolution of code.

Dependency Diagram Wizard

eDepend comes with an advanced wizard to generate diagram focused on dependency relationships. This wizard works either as class level or package level and has the following features:

Computation of dependency weights

The weight is the number of effective dependencies between targets java elements. This feature give a good averview of the strengh of the coupling between jaav elemnts. The Dependency Inspector view is used to show detailed information about the dependencies.

Dependency cycles seeking

The wizard list found cycles, they are sorted (sub cycles are stored in larger ones) and grouped when they are sharing at least a java element:

From found cycles, the user can select those to be displayed on the diagram:

Search for dependencies on libraries

The wizard can compute relationships with project's libraries to display them in a diagram. This behaviour works at class or package levels.

For example the log4j project uses JMS API so we get the following diagram to show the dependencies on JMS classes.

At package level (Note that the package from libraries are a bit darker for better readability):

At class level (Note that the classes/interfaces from libraries are a bit darker for better readability):