NDepend is a feature-rich GUI for visualizing and analyzing dependencies of .NET applications. Its query language makes it possible to solve very complex tasks, e.g. I managed to identify all COM components that we used in a legacy code project.
I am aware of JDepend, a totally different product, although the naming is similar. Its usability is not so good and AFAIK, it lacks the feature of defining own metrics.
DeGraph seems to visualize package dependencies but not e.g. class or method dependencies.
A Java version of NDepend
- must work in Windows
- can cost up to 500 € per developer
- must come with a "language" to define own queries, e.g. "give me all classes that have no methods" or "give me all classes that are not referenced by unit tests" or "give me all classes that use JNI"
- includes graphical visualization of the results
- has trend monitoring, also for own metrics
It would be nice if such a tool integrates in Eclipse, but a standalone tool is also fine.