Для этого доступны многие инструменты, в зависимости от размера вашей системы. Их дедушка - это коммерческий продукт Structure101.
http://structure101.com
Я использовал это на некоторых крупных проектах - это сложная, но легко наиболее полное из всех инструментов, которые я знаю. Он может отображать огромную архитектуру и позволяет распутывать некоторые сложные вещи. У него есть дочерний продукт reStructure101, где вы можете делать сценарии «что-если».
Хорошим конкурентом является Stan4j. Он нигде не близок, но делает некоторые вещи лучше, особенно показывая контекст зависимости на уровне класса.
http://www.stan4j.com
(у меня есть оба продукта, но не имеют никакой коммерческой принадлежности либо)
Другой способ просмотра сложных зависимостей, в частности, на уровне проекта, является Dependency Structure Matrix (DSM).Хотя S101 может сделать DSM, Lattix имеет большую поддержку - он может работать с Spring и Hibernate зависимости:
http://lattix.com/
(я не использовал lattix - они делают это слишком сложно, чтобы оценить его, что странно, потому что Я работаю на некоторых очень больших систем)
Если ваша программа достаточно мала, и вы больше заинтересованы в простом уровне класса, то что-то вроде Architexa может помочь вам понять структуру лучше:
http://www.architexa.com/
И, наконец, если вы хотите катиться самостоятельно, вы можете легко сделать это с помощью ASM. Он даже включает в себя матрицу инструмента зависимостей, которая отслеживает на уровне пакета:
http://asm.ow2.org/doc/tutorial-asm-2.0.html (см страницу вниз для матрицы в nify зависимостей)
Вот источник для него - это очень просто, но умный. Он работает с байт-кодами. http://cvs.forge.objectweb.org/cgi-bin/viewcvs.cgi/asm/asm/examples/dependencies/src/org/objectweb/asm/depend/
Много больших ответов! Спасибо за вашу помощь! – Ryan
Это несколько не связано, но UML-инструмент Umbrello будет генерировать UML-диаграммы вашего кода. Это было бы полезно для меня в то время. – Ryan
Просто заметили это из-за вашего недавнего комментария, но для дальнейшего использования вы можете проверить Structure101. –