Подтвердить что ты не робот

Как я могу генерировать диаграммы UML из кода С#, написанного в Visual Studio 2012, в Visio 2010?

Я пытаюсь найти способ генерации диаграмм UML (диаграмм последовательности, диаграммы классов и т.д.) из моего кода на С#, написанного в Visual Studio 2012.

Я видел ссылку на http://office.microsoft.com/en-us/visio-help/about-reverse-engineering-code-to-the-uml-HP001208803.aspx, что я мог бы принести проект Visual Studio в Visio.

Но его первая часть, где говорится: "В среде Visual Studio обратное проектирование активируется из команды в меню" Проект ". не работает для меня, потому что я не могу найти вариант обратной инженерии в меню" Проект".

Как я могу генерировать диаграммы UML из кода С#, написанного в Visual Studio 2012, в Visio 2010?

4b9b3361

Ответ 1

Microsoft больше не считает Visio инструментом разработки программного обеспечения. Была версия, известная как "Visio for Enterprise Architects", которая имела такую ​​интеграцию с Visual Studio. Он был доступен с самой высокой версией Visual Studio.

Я считаю, что последний раз он поддерживался Visual Studio 2005, хотя это могло быть и в 2003 году.

У Visual Studio Ultimate теперь есть свои встроенные функции UML, которые не зависят от Visio.

Ответ 2

Взрыв из прошлого. Прошло некоторое время с тех пор, как я переделал что-нибудь в UML, чтобы мои знания устарели. В любом случае, насколько я помню, обратная инженерия кода с использованием Visio - это функция Visio, а не функция Visual Studio, полагая, что некоторые версии Visual Studio имеют свои собственные возможности моделирования.

Чтобы использовать обратную инженерию Visio, вам необходимо убедиться, что добавлен Visio UML addin (он должен быть доступен в Professional и выше версиях Visio, но не может быть установлен по умолчанию.)

Здесь довольно старый шаг за шагом процесса для старой версии Visio и Visual Studio. Я не думаю, что процесс сильно изменился (хотя, очевидно, поддерживаемые языки изменились.)

В любом случае мне никогда не нравилось Visio для UML (правда, мне никогда не нравилось Visio.) Мне скорее понравился Sparx System Enterprise Architect для моделирования, и их обратная инженерия была неплохой, когда я использовал ее на .Net 2.0. Я не знаю, как их текущая версия справляется с новыми функциями. Мне также нравится их "с нуля" среда моделирования.

Наконец, помните, что UML должен быть модельным, а не языком программирования. То есть он предназначен для передачи дизайна высокого уровня, поэтому общую архитектуру решения можно более легко понять; или моделировать ключевые динамические взаимодействия, опять же, так что реализованные или предлагаемые решения моделируемой проблемы могут быть более легко поняты.

Обратные инженерные диаграммы UML часто имеют слишком много информации, чтобы они могли быть полезными, и в любом случае трудно перевести точную семантику определенного языка в UML. Возможно, вам лучше создавать диаграммы с нуля. Следует также понимать, что диаграммы UML представляют собой обзор высокого уровня или конкретное представление динамического взаимодействия высокого уровня, а не как разработанное представление.

Ответ 3

Это зависит от того, какую версию продукта вы используете. У меня есть Visual Studio Professional 2012, и я не вижу этого. Это имеет смысл, если вы посмотрите на характеристики продукта. Если, однако, вы посмотрите на функции продукта Visual Studio 2012 Ultimate, вы увидите UML-моделирование и различные другие инструменты визуализации.

Ответ 4

Версия Visual Studio 2010, отличная от Ultimate, разрешена для этого поколения UML с помощью Feature Pack, который еще не был разработан для Visual Studio 2012, Как заметил Доминик (он избил меня), Visual Studio 2012 Ultimate должен это учитывать.

Ответ 5

Visual Studio Ultimate 2012 может генерировать очень красивые диаграммы последовательности для кода С#, когда вы просто выбираете участника (имя метода); и он не работает постоянно на моем месте, если я делаю то же самое для кода VB.

Это в отличие от Enterprise Architect от Sparx, самого продвинутого инструмента CASE для UML и других моделей AFAIK.