¿Generando UML a partir de código C ++? [cerrado]
Pregunta
¿Existe alguna herramienta que pueda analizar archivos C ++ dentro de un proyecto y generar UML a partir de él?
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.