2010-04-07 19 views
5

¿Hay alguna forma de generar un diagrama de clase jerárquico a partir del código de C++? Mi código se extiende entre 5 y 6 archivos .cpp.Código de C++ al diagrama de clase

Me gustaría saber si hay alguna herramienta gratuita para la misma.

Saludos, AJ

Respuesta

11

Hay, por ejemplo, Doxygen

http://www.doxygen.org/features.html dice:

Utiliza la herramienta de puntos de la caja de herramientas para generar Graphviz incluir gráficos de dependencia, diagramas de colaboración llamar gráficos, gráficos estructura de directorios, y gráficos jerarquía de clases gráficas.

Se crea gráficos como

http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList__coll__graph.png
(de http://www.vtk.org/doc/nightly/html/structvtkKdTree_1_1__cellList.html, un ejemplo que aparece en el sitio doxygen)

Dado que la pregunta era acerca de los diagramas de clase también puede estar interesado en la bandera UML_LOOK que hace que el ouput un poco más uml.

+1

No confundamos el diagrama de clases con el diagrama de herencia, que es exactamente lo que doxygen hace y nada más. Un diagrama de clases contiene no solo las conexiones entre las diversas clases involucradas sino también su estructura interna - miembros, funciones y métodos. Lo que ha mostrado en su publicación es omalo engañoso y no debe considerarse la respuesta correcta. El diagrama de dependencia de no pago es lo que el autor de la pregunta quiso decir, en cuyo caso la pregunta debe modificarse en consecuencia. Incluso al principio de su respuesta, donde cite La documentación de doxygen NO menciona diagramas de clase. – rbaleksandar

+0

http://www.stack.nl/~dimitri/doxygen/manual/config.html#cfg_uml_look hace que sea un poco más uml ... ish – VolkerK

+0

Mi mal. Gracias por la información útil. Debe agregar esto en su comentario en lugar del enlace que enumera las características de doxygen. – rbaleksandar

0

Doxygen puede create class-diagramms. Sin embargo, creo que estos diagramas son solo para mostrar la red de clases, no enumeran métodos y miembros, etc.

5

Los diagramas de clases son redes, no jerarquías. Hay un buen número de herramientas que pueden generarlos, mi favorito es Enterprise Architect, pero no es gratuito (hay una versión de prueba).

+0

+1 para señalar redes –

3

Umberello es la aplicación de Linux que genera un diagrama a partir del código.

Cuestiones relacionadas