Создание UML из кода C ++? [закрыто]

113

Есть ли инструмент, который может анализировать файлы C ++ в проекте и генерировать из него UML?

гак
источник

Ответы:

74

Вот несколько вариантов:

Пошаговое руководство по обратному проектированию кода в диаграммы UML с помощью Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx

BoUML - http://bouml.fr/features.html

StarUML - http://staruml.sourceforge.net/en/

Обратный инжиниринг диаграммы классов UML из кода C ++ в присутствии слабо типизированных контейнеров (2001 г.) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Umbrello UML Modeller - http://uml.sourceforge.net/

Список других инструментов, на которые стоит обратить внимание - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox
источник
Повторно принял более обстоятельный ответ.
gak
1
BoUML ( bouml.fr ) доступен для Linux, Windows и Mac.
Rhubbarb
2
Смотрите похожие вопросы здесь и здесь и здесь .
Кешава Г.Н.
8
BoUML не бесплатен!
deepdive
2
StarUML не сумел создать что-либо полезное.
битовая маска
53

Если вам нужны только диаграммы, doxygen отлично справится.

user48956
источник
2
Я только что получил полную иерархию классов в проекте + 300K LOC с Doxygen, он действительно неплохо справляется!
HFSDev
15

Я считаю, что Enterprise Architect может это сделать.

cschol
источник
2
В самом деле, это так и хорошо. Я использую его в течение многих лет, и для меня это, безусловно, лучший инструмент по соотношению цена / производительность (среди тех, что я использовал). Я также пробовал StarUML и Together - у первого есть потенциал, но он все еще неполный. Второй - мучительно медленный.
Фабио Чеконелло 05
Я не пробовал Rational Rose, так как он намного выше моего приемлемого ценового диапазона.
Фабио Чеконелло 05
15

Я разработал инструмент под названием Doxygraph, который может анализировать XML, сгенерированный Doxygen, и превращать его в интерактивную диаграмму классов UML, которую вы можете просматривать в веб-браузере или импортировать в любое программное обеспечение, которое может читать "точечные" файлы Graphviz.

Окталист
источник
2
Очень красивое приложение! Помимо того, что это зависит от довольно большого количества библиотек, которых у меня не было (загруженных позже с cpan), все работает отлично. Спасибо!
Рубенс
5

По моему опыту, UML Studio делает это довольно хорошо и будет работать в «бесплатном режиме» для небольших проектов.

Патрик Джонмейер
источник
Вы можете запустить его в бесплатном (ограниченном) режиме под Wine.
Щепурин 02
3

Похоже, Umbrello создает лучший UML из кода C ++ (рекомендуется использовать последнюю версию> = 2.22) по сравнению с autodia командной строки для Dia и других инструментов.

StarUML не дал мне хороших диаграмм: странный импорт, непригодный для использования, не работает для многих: https://github.com/staruml/Cpp/issues

Алексей Концевич
источник
2

Я использовал Rational Rose и Rational Rhapsody для обратного проектирования больших проектов. Я бы предпочел Rational Rhapsody для получения файлов классов UML для C ++!

Shan
источник
1

Кто хочет UML, заслуживает Rational Rose :)

obecalp
источник
2
хорошая программа но очень дорогая!
ak3nat0n 02 апр.'09
Ссылка в этом ответе устарела. Текущая ссылка: www-01.ibm.com/software/rational/products/swarchitect/cpp
Дэн Ниссенбаум,
1
И исходная ссылка, и ссылка в комментариях устарели. Не знаю, где найти текущую версию.
Bruno Alexandre Rosa
невозможно найти страницу товара.
Нурп
1

StarUML делает именно это, и это бесплатно. К сожалению, некоторое время не обновлялся. Было несколько ответвленных проектов (так как администраторы проекта не позволили перенять его), но они тоже умерли смертью.

graham.reeds
источник
1
StarUML не дал хороших диаграмм для меня странный импорт. @Rhubbarb, он также работает под Linux и Mac.
Алексей Концевич
Последний выпуск сейчас - август 2018, так что его снова забрали
bart s