Pregunta

¿Existe alguna herramienta que pueda analizar archivos C ++ dentro de un proyecto y generar UML a partir de él?

¿Fue útil?

Solución

Aquí hay algunas opciones:

Guía paso a paso para invertir el código de ingeniería en diagramas UML con 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/

Ingeniería inversa del diagrama de clase UML a partir del código C ++ en presencia de contenedores con tipos débiles (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Umbrello UML Modeller - http://uml.sourceforge.net/

Una lista de otras herramientas para mirar - http://plg.uwaterloo.ca/ ~ migod / uml.html

Otros consejos

Si solo desea diagramas, doxygen hace un trabajo bastante bueno.

Creo que Enterprise Architect puede hacer eso.

He desarrollado una herramienta llamada Doxygraph que puede analizar el XML generado por Doxygen y conviértalo en un diagrama de clase UML interactivo que puede ver en un navegador web o importar a cualquier software que pueda leer Graphviz " dot " archivos.

Encuentro que Wikipedia puede ser una gran fuente de información sobre tales herramientas, especialmente para las tablas de comparación. Hay una página en Herramientas UML . Consulte en particular la columna idiomas de ingeniería inversa .

UML Studio lo hace bastante bien en mi experiencia, y se ejecutará en modo "freeware" para pequeños proyectos.

Quien quiera UML merece Rational Rose :)

He usado Rational Rose y Rational Rhapsody para proyectos grandes de ingeniería inversa. ¡Preferiría Rational Rhapsody para obtener los archivos de clase UML para C ++!

Parece que Umbrello produce el mejor UML a partir del código C ++ (se sugiere utilizar la última versión > = 2.22) en comparación con la línea de comando autodia para Dia y otras herramientas.

StarUML no ha producido buenos diagramas para mí: importación extraña, no utilizable, no funciona para muchas personas: https://github.com/staruml/Cpp/issues

StarUML hace exactamente eso y es gratis. Desafortunadamente no ha sido actualizado por un tiempo. Hubo un par de proyectos derivados (ya que los administradores del proyecto no permitieron que se tomara el control), pero ellos también murieron de muerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top