Я нахожу себя визуальным человеком, и иногда мне легче чему-то научиться, если я могу рисовать из этого диаграммы / картинки. Мой вопрос в том, какой инструмент использовать, если я хочу визуально отобразить структуру программирования (например .net) и увидеть взаимосвязь между всеми сущностями (такими как классы и члены).





Хорошим первым шагом может быть написание простого сценария PERL для анализа зависимостей, а затем передача этих данных в Графвиз для визуализации.
Я не уверен, что вы спрашиваете только о .NET или других фреймворках, мой опыт в основном связан с Java, но я уверен, что аналогичные инструменты существуют для .NET.
На уровне классов вы можете получить автоматически сгенерированную визуализацию с помощью инструментов UML, которые обычно могут преобразовывать исходный код в диаграмму. Netbeans является бесплатным и имеет функции Исходный код Java для обратного проектирования UML.
Диаграммы классов, однако, очень низкоуровневые, они мало (прямо) говорят вам о более крупных архитектурных темах. В этот момент такие инструменты, как Структура101, могут оказаться ценными при обнаружении архитектурных свойств, о существовании которых вы даже не подозревали. У них есть пробная версия, а также они могут работать с C и C++.
Вы можете попробовать NDepend. Великолепный Скотт Хансельман обсуждает это подробнее здесь. Тонны форматов визуальных зависимостей. Похоже, это только для .NET.
Я считаю, что доксиген полезен для генерации всех видов информации о зависимостях при столкновении с новым проектом. Очевидно, он обрабатывает "C++, C, Java, Objective-C, Python, IDL (разновидности Corba и Microsoft), Fortran, VHDL, PHP, C# и в некоторой степени D". Он использует Graphviz для создания графических диаграмм зависимостей. Вы можете включить полный исходный код с гиперссылками на все, что было распознано. Если вам повезет, там будет некоторая документация, которую doxygen уже понимает. Затем вы можете быстро перемещаться по коду, изучая все взаимосвязи.
Я поддерживаю комментарий Ника к Doxygen. Я использую Doxygen для C# .NET, и он генерирует диаграммы классов, диаграммы наследования и т. д. Вот информативный пост в блоге.
Инструмент NDepend предлагает как интерактивный График зависимости, так и интерактивный Матрица зависимостей. Также инструмент интегрирован в VisualStudio 2012, 2010 и 2008. Отказ от ответственности: я один из разработчиков инструмента
Если вам нужно показать График звонков, График связи, График наследования, График зависимости, очень большой график, pinpoints Циклы зависимости и другие, NDepend сгенерирует несколько визуальных диаграмм. Вот несколько скриншотов:


