¿Generando UML a partir de código C ++? [cerrado]

113

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

gak
fuente

Respuestas:

74

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

jwpfox
fuente
Reaceptado a la respuesta más completa.
GAK
1
BoUML ( bouml.fr ) está disponible para Linux, Windows y Mac.
Rhubbarb
2
Vea preguntas similares aquí y aquí y aquí .
Keshava GN
8
¡BoUML no es gratis!
buceo profundo
2
StarUML falló mucho en producir cualquier cosa útil.
máscara de bits
53

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

user48956
fuente
2
Acabo de obtener la jerarquía de clases completa en un proyecto LOC + 300K con Doxygen, ¡realmente hace un trabajo bastante bueno!
HFSDev
15

Creo que Enterprise Architect puede hacer eso.

cschol
fuente
2
De hecho, lo hace y lo hace bien. Lo he estado usando durante años, y para mí es, con mucho, la mejor herramienta de precio / rendimiento (entre las que usé). También probé StarUML y Together; el primero tiene potencial, pero aún está incompleto. El segundo es dolorosamente lento.
Fabio Ceconello
Sin embargo, no probé Rational Rose, ya que está muy por encima de mi rango de precios aceptable.
Fabio Ceconello
15

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".

Oktalista
fuente
2
¡Muy buena aplicación! Aparte del hecho de que depende de muchas librerías que no tenía (descargadas más tarde de cpan), todo funciona perfectamente. ¡Gracias!
Rubens
7

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 .

Ruibarbo
fuente
5

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

Patrick Johnmeyer
fuente
Puede ejecutarlo en modo libre (restringido) en Wine.
SChepurin
3

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

Aleksey Kontsevich
fuente
2

Quien quiera UML se merece Rational Rose :)

obecalp
fuente
2
buen programa pero muy caro!
ak3nat0n
El enlace de esta respuesta no está actualizado. El enlace actual es www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
Tanto el enlace original como el de los comentarios están desactualizados. No sé dónde encontrar la versión actual.
Bruno Alexandre Rosa
imposible encontrar la página del producto.
nurp
2

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 ++!

Shan
fuente
1

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.

graham.reeds
fuente
1
StarUML no ha producido buenos diagramas para mí extraña importancia. @Rhubbarb, también funciona en Linux y Mac.
Aleksey Kontsevich
El último lanzamiento ahora es agosto de 2018, por lo que se ha recuperado nuevamente
bart s