Создание 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


Повторно принял более обстоятельный ответ.
gak

1
BoUML ( bouml.fr ) доступен для Linux, Windows и Mac.
Rhubbarb

2
Смотрите похожие вопросы здесь и здесь и здесь .
Кешава Г.Н.

8
BoUML не бесплатен!
deepdive

2
StarUML не сумел создать что-либо полезное.
битовая маска

53

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


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

15

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


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

Я не пробовал Rational Rose, так как он намного выше моего приемлемого ценового диапазона.
Фабио Чеконелло 05

15

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


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



3

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

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


2

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


1

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


2
хорошая программа но очень дорогая!
ak3nat0n 02 апр.'09

Ссылка в этом ответе устарела. Текущая ссылка: www-01.ibm.com/software/rational/products/swarchitect/cpp
Дэн Ниссенбаум,

1
И исходная ссылка, и ссылка в комментариях устарели. Не знаю, где найти текущую версию.
Bruno Alexandre Rosa

невозможно найти страницу товара.
Нурп

1

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


1
StarUML не дал хороших диаграмм для меня странный импорт. @Rhubbarb, он также работает под Linux и Mac.
Алексей Концевич

Последний выпуск сейчас - август 2018, так что его снова забрали
bart s
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.