¿Existe una herramienta que pueda analizar archivos C ++ dentro de un proyecto y generar UML a partir de él?
113
Aquí hay algunas opciones:
Guía paso a paso para el código de ingeniería inversa 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 clases UML a partir del código C ++ en presencia de contenedores de tipo débil (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064
Modelizador UML de Umbrello: http://uml.sourceforge.net/
Una lista de otras herramientas para mirar: http://plg.uwaterloo.ca/~migod/uml.html
Si lo que desea es solo diagramas, doxygen hace un trabajo bastante bueno.
fuente
Creo que Enterprise Architect puede hacer eso.
fuente
Desarrollé una herramienta llamada Doxygraph que puede analizar el XML generado por Doxygen y convertirlo en un diagrama de clase UML interactivo que puede ver en un navegador web o importar a cualquier software que pueda leer archivos Graphviz "dot".
fuente
Encuentro que Wikipedia puede ser una gran fuente de información sobre tales herramientas, especialmente para tablas de comparación. Hay una página sobre herramientas UML . Consulte en particular la columna de idiomas de ingeniería inversa .
fuente
UML Studio hace esto bastante bien en mi experiencia y se ejecutará en "modo freeware" para proyectos pequeños.
fuente
Parece que Umbrello produce el mejor UML a partir del código C ++ (se sugiere usar la última versión> = 2.22) en comparación con el autodiagnóstico de línea de comandos para Dia y otras herramientas.
StarUML no me ha producido buenos diagramas: importación extraña, no utilizable, no funciona para muchas personas: https://github.com/staruml/Cpp/issues
fuente
Quien quiera UML se merece Rational Rose :)
fuente
He utilizado Rational Rose y Rational Rhapsody para grandes proyectos de ingeniería inversa. ¡Preferiría Rational Rhapsody para obtener los archivos de clase UML para C ++!
fuente
StarUML hace precisamente eso y es gratis. Desafortunadamente, no se ha actualizado durante un tiempo. Hubo un par de proyectos derivados (ya que los administradores del proyecto no permitirían que se hiciera cargo), pero ellos también murieron.
fuente