Есть ли инструмент, который может анализировать файлы С++ в проекте и генерировать 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, выполняет довольно хорошую работу.
Ответ 3
Я полагаю, что Enterprise Architect может это сделать.
Ответ 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 делает именно это и является бесплатным. К сожалению, он не обновлялся некоторое время. Было несколько проектов ответвления (так как админы проекта не позволили бы его захватить), но они тоже умерли.