Вопрос

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

Это было полезно?

Решение

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

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

БУМЛ - http://bouml.fr/features.html

СтарУМЛ - http://staruml.sourceforge.net/en/

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

Разработчик UML-моделей Umbrello — http://uml.sourceforge.net/

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

Другие советы

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

Я считаю Корпоративный архитектор могу это сделать.

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

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

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

Тот, кто хочет UML, заслуживает Рациональная Роза :)

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top