Диаграмма классов обратного проектирования — в частности, отношения наследования и ассоциации — из существующего проекта C#

Близкие,

У меня есть пакет, похожий на SDK, в котором есть проект C#, который мне нужно использовать в качестве эталонного дизайна для моего собственного проекта. Когда я открываю эталонный проект в VS2008 и запускаю редактор диаграмм классов, он показывает классы, члены классов, но не показывает никаких отношений между классами.

  • Can the Class Diagram editor in VS2008 reverse engineer class relationships?
  • Are there plugins that can help?
  • Out of curiosity, can VS2010 do this?

Любое предложение, понимание или ссылка приветствуются!

В данный момент присматриваюсь к StarUML: пока не заработал, не бросил.

- Ник


person Nick Alexeev    schedule 01.01.2011    source источник
comment
Какая версия Visual Studio? IIRC, для этого вам понадобятся Team Tools for Architects или Team Suite.   -  person Ben Voigt    schedule 02.01.2011
comment
@ Бен Войт У меня есть только профессиональный редактор.   -  person Nick Alexeev    schedule 02.01.2011


Ответы (2)


Вы можете попробовать doxygen с поддержкой graphviz. Он может генерировать реляционные диаграммы классов из исходного кода. Они простые и иногда ошибаются с дженериками/шаблонами, но это лучше, чем ничего.

person Reinderien    schedule 01.01.2011
comment
doxygen также может выводить внутреннюю структуру в XML, который затем можно довольно легко проанализировать (хм, мне теперь любопытно, есть ли инструмент UML, принимающий это в качестве входных данных) - person Roman L; 02.01.2011

Отказ от ответственности: это мой опыт работы с Visual Studio 2010 Premium, но я помню, что VS2008 Professional работает точно так же.

После создания новой диаграммы классов с помощью команды «Добавить новый элемент» все, что вам нужно сделать, — это просто перетащить файлы исходного кода из обозревателя решений в область конструктора диаграммы классов.

К сожалению, есть некоторые ручные шаги для получения отношений на диаграмме. В итоге я выбираю интересующие меня члены на диаграмме, а затем выбираю параметры меню в меню диаграммы классов (или щелкаю правой кнопкой мыши).

Например, для свойств можно выбрать Показать связь или Показать как связь коллекции. Выбрав весь тип, вы можете выбрать отображение его базового типа и производных типов из одного и того же меню.

Это должно отображать отношения, как вы хотите.

person RunnerRick    schedule 01.01.2011