Есть ли инструмент, который может анализировать файлы C ++ в проекте и генерировать из него UML?
113
Вот несколько вариантов:
Пошаговое руководство по обратному проектированию кода в диаграммы 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
Если вам нужны только диаграммы, doxygen отлично справится.
источник
Я считаю, что Enterprise Architect может это сделать.
источник
Я разработал инструмент под названием Doxygraph, который может анализировать XML, сгенерированный Doxygen, и превращать его в интерактивную диаграмму классов UML, которую вы можете просматривать в веб-браузере или импортировать в любое программное обеспечение, которое может читать "точечные" файлы Graphviz.
источник
Я считаю, что Википедия может быть отличным источником информации о таких инструментах, особенно для сравнительных таблиц. Есть страница об инструментах UML . См., В частности, столбец « Восстановленные языки» .
источник
По моему опыту, UML Studio делает это довольно хорошо и будет работать в «бесплатном режиме» для небольших проектов.
источник
Похоже, Umbrello создает лучший UML из кода C ++ (рекомендуется использовать последнюю версию> = 2.22) по сравнению с autodia командной строки для Dia и других инструментов.
StarUML не дал мне хороших диаграмм: странный импорт, непригодный для использования, не работает для многих: https://github.com/staruml/Cpp/issues
источник
Я использовал Rational Rose и Rational Rhapsody для обратного проектирования больших проектов. Я бы предпочел Rational Rhapsody для получения файлов классов UML для C ++!
источник
Кто хочет UML, заслуживает Rational Rose :)
источник
StarUML делает именно это, и это бесплатно. К сожалению, некоторое время не обновлялся. Было несколько ответвленных проектов (так как администраторы проекта не позволили перенять его), но они тоже умерли смертью.
источник