2010-05-29 17 views
9

Necesito hacer un diagrama de clase UML para un proyecto. Utilicé Sparx Enterprise Architect en el pasado para generar código fuente a partir de un diagrama, así que lo estoy usando.Conversión de Sparx Enterprise Architect (de fuente a UML)

El proyecto está completo, así que todo el código está hecho y realmente no quiero escribir todas las clases/funciones manualmente, por lo que estaba tratando de generar el diagrama desde el código fuente pero parece que no puedo encontrar una forma de hacerlo Busqué en línea y en su sitio web, pero nada.

Cualquier ayuda apreciada.

+0

¿Qué valor crees que estás agregando al hacer esto? Me apegaría a un diagrama del paquete que muestre las responsabilidades en los módulos, y usaré algo como doxygen para documentar el proyecto como construido. –

+0

Lo acabo de hacer porque tuve que hacerlo (y nadie me lo dijo de antemano). Sin embargo, siempre documenté proyectos con doxygen. – user228938

+0

No estoy seguro de que tenga mucho sentido; Doxygen puede generar diagramas de clase de estilo UML. – Clifford

Respuesta

6

Se llama "reverse engineering" para importar el código en el modelo. Después de que esté en el modelo, puedes hacer diagramas.

+1

¡El concepto de ingeniería inversa es bueno, pero la realidad es diferente! Si observa detalladamente el modelo, se dará cuenta de que menos del 50% del proyecto se ha asignado realmente al modelo. Probé el reverso de Java pero otros reveses podrían ser mejores. –

+0

¡Incluso vale la pena porque si genera código de su modelo y luego recrea un modelo desde su código, ha perdido el 70% del modelo de diagrama de clase inicial! El problema es que no hay trazabilidad entre el modelo y la generación de código. Solo EclipseUML Omondo permite esta función porque tienen una opción de fusión. –

+1

@ roko-sifredi - Hace algunos años descubrí que Sparx Enterprise Architect funcionaba bien para ingeniería de ida y vuelta, usando C#. – ChrisW

10

Para la Versión 8 de EA Corporate Edition. Abra o cree un proyecto. Crea un diagrama de clase vacío. Selección de menú: Proyecto -> Ingeniería de código fuente -> Importar archivos Se abre el cuadro de diálogo Directorio para que seleccione los archivos.

Tengo 'ingeniería inversa' muchos proyectos C++, grandes y pequeños. TENDRÁ mucho tiempo en limpiar. Dependerá de la calidad del proyecto, su estructura y código.

Luego puede generar un informe de documentación en él (Proyecto-> Documentación) que he encontrado muy útil, el informe HTML, para navegar por el código.

1

para eso primero debe usar las opciones de ingeniería inversa, pero como algunos otros usuarios señalaron, esto no es una fortaleza de EA. Intenté en el pasado (creo que en la versión 7.3) hacerlo con C, Python y Java Projects y los resultados no siempre fueron satisfactorios.

No sé en qué lenguaje de programación está escrito su código, pero en cuanto a C, si usa las instrucciones del preprocesador, tendrá muchos problemas e incompatibilidades en el resultado.

Cuestiones relacionadas