Создание UML из кода на С++?

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

Ответ 1

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

Пошаговое руководство по обратному инженерному коду в 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 из кода С++ при наличии слабо типизированных контейнеров (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

Ответ 2

Если его справедливые диаграммы, которые вы хотите, doxygen, выполняет довольно хорошую работу.

Ответ 4

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

Ответ 5

Я нахожу, что Википедия может быть отличным источником информации о таких инструментах, особенно для таблиц сравнения. Там находится страница инструменты UML. См., В частности, колонку обратные инженерные языки.

Ответ 6

UML Studio делает это довольно хорошо по моему опыту и будет работать в "freeware mode" для небольших проектов.

Ответ 7

Тот, кто хочет, чтобы UML заслуживал Rational Rose:)

Ответ 8

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

Ответ 9

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

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

Ответ 10

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