secuencia programa partir para objectaid hacer generar diagramas diagrama como codigo java uml reverse-engineering diagram
http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip

java - programa - objectaid



¿Cómo generar diagramas UML(especialmente diagramas de secuencia) a partir de código Java? (14)

ObjectAid UML Explorer

Es lo que he usado. Se installed fácilmente desde el repositorio:

Name: ObjectAid UML Explorer Location: http://www.objectaid.com/update/current

Y produce muy buenos diagramas UML:

Descripción del sitio web:

El ObjectAid UML Explorer es diferente de otras herramientas UML. Utiliza la notación UML para mostrar una representación gráfica del código existente que es tan precisa y actualizada como su editor de texto, a la vez que es muy fácil de usar. Varias características únicas hacen esto posible:

  • El código fuente y las bibliotecas son el modelo que se muestra, no están diseñados a la inversa en un formato diferente.
  • Si actualiza su código en Eclipse, su diagrama también se actualizará; no hay necesidad de aplicar ingeniería inversa al código fuente.
  • Refactorización actualiza su diagrama, así como su código fuente. Cuando cambia el nombre de un campo o mueve una clase, su diagrama simplemente refleja los cambios sin perder la sincronización.
  • Todos los diagramas en su espacio de trabajo de Eclipse se actualizan con cambios de refactorización según corresponda. Si es necesario, se retiran de su sistema de control de versiones.
  • Los diagramas están totalmente integrados en el IDE de Eclipse. Puede arrastrar clases de Java desde cualquier otra vista al diagrama, y ​​la información relacionada con el diagrama se muestra en otras vistas donde sea aplicable.

¿Cómo puedo generar diagramas UML (especialmente diagramas de secuencia) a partir de código Java existente?


¿Cuál es tu código base? Java o C ++?

texto alt http://www.soyatec.com/euml2/images/product_euml2_110x80.png

eUML2 para Java es un potente modelador UML diseñado para desarrolladores de Java en Eclipse. La edición gratuita puede ser utilizada para uso comercial. Es compatible con las siguientes características:

  • CVS y Soporte de Equipo
  • Diseñado para grandes proyectos con vistas de modelos múltiples y personalizables
  • Compatible con helios
  • Sincronización de código / modelo en tiempo real
  • Compatible con UML2.1 y soporte de OMG XMI
  • Soporte JDK 1.4 y 1.5
  • La edición comercial proporciona:

  • Ingeniería avanzada invertida

  • Potentes herramientas de análisis de la verdadera dependencia.
  • Perfil UML y MDD
  • Herramientas de base de datos
  • Soporte de plantillas personalizables

¿Qué hay de PlantUML ? ¡No es para ingeniería inversa! Es para ingeniería antes de codificar.


Algo muy similar se ha preguntado before .

Con mucho, la mejor herramienta que he usado para ingeniería inversa, y java de disparo redondo -> UML es Borland''s Together . Está basado en Eclipse (no solo un complemento) y realmente funciona bien.


Desarrollé un complemento de Maven que puede ejecutarse desde CLI como un objetivo de complemento, o importar como dependencia y usar programador el analizador, @see Main#main() para obtener una idea de cómo.

Presenta el código src de PlantUML de los paquetes deseados de forma recursiva que puede editar manualmente si es necesario (con suerte no lo hará). Luego, pegando el código en la página plantUML, o descargando el archivo de la planta, puede representar el diagrama UML como una imagen png.

Compruébelo aquí https://github.com/juanmf/Java2PlantUML

Ejemplo de diagrama de salida:

Cualquier contribución es más que bienvenida. Tiene un conjunto de filtros que personalizan la salida, pero no los expuse todavía en los parámetros de la CLI del complemento.

Es importante tener en cuenta que no está limitado a sus archivos * .java, sino que también puede generar diagramas UML desde sus dependencias más importantes. Esto es muy útil para entender las bibliotecas de las que depende. De hecho, inspecciona las clases compiladas con reflexión, por lo que no se necesita ninguna fuente.

Sé el primero en protagonizar GitHub: P


EDITAR: Si usted es un diseñador, Papyrus es su mejor opción, es muy avanzado y está lleno de funciones, pero si solo desea esbozar algunos diagramas UML y una instalación fácil, ObjectAid es bastante bueno y no requiere ningún complemento. simplemente lo instalé sobre Eclipse-Java EE y funciona muy bien!

ACTUALIZACIÓN 11 de octubre de 2013

Mi publicación original fue en junio de 2012, muchas cosas han cambiado, muchas herramientas han crecido y otras no. Ya que voy a volver a hacer un poco de modelado y también obtener algunas respuestas al post, decidí volver a instalar Papyrus e investigaré de nuevo otras posibles soluciones de modelado UML. La generación de UML (con función de sincronización) es realmente importante no para el diseñador de software sino para el desarrollador promedio.

Me gustaría que papyrus tuviera una forma sencilla de invertir las clases de Engineer en el diagrama de clases de UML y sería genial si esa ingeniería inversa tuviera una función de sincronización, pero desafortunadamente el proyecto papyrus está lleno de características y creo que los desarrolladores ya tienen mucho a mano ya que también hay muchos. Es posible que las acciones que realice sobre el papiro no le den ninguna respuesta y simplemente no pase nada, pero de todos modos eso está fuera del alcance de esta pregunta.

La respuesta (11 de octubre de 2013)

Herramientas

  1. Descargar Papyrus
  2. Vaya a Ayuda -> Instalar nuevo software ...
  3. En la lista desplegable Trabajar con:, seleccione --Todos los sitios disponibles--
  4. En el filtro, escriba papiro.
  5. Una vez finalizada la instalación reinicie Eclipse
  6. Repita los pasos 1-3 y esta vez, instale Modisco.

Pasos

  1. En su proyecto java (suponga que se llama MyProject) cree una carpeta, por ejemplo, UML
  2. Haga clic derecho sobre el nombre del proyecto -> Descubrimiento -> Discoverer -> Descubra Java y el modelo de inventario del proyecto Java, se generará un archivo llamado MyProject_kdm.xmi.
  3. Haga clic derecho en el archivo de nombre del proyecto -> nuevo -> modelo papyrus -> y llámelo MyProject.
  4. Mueva los tres archivos generados MyProject.di, MyProject.notation, MyProject.uml a la carpeta UML
  5. Haga clic con el botón derecho en MyProject_kdm.xmi -> Discovery -> Discoverer -> Descubra el modelo UML desde el código KDM nuevamente, aparecerá un cuadro de diálogo de propiedades que establece la propiedad de serialización en TRUE para generar un archivo llamado MyProject.uml

  6. Mueva el MyProject.uml generado que se generó en la raíz, a la carpeta UML, Eclipse le preguntará si desea reemplazarlo, haga clic en Sí. Lo que hicimos aquí fue que reemplazamos un modelo vacío con uno generado.

  7. ALT + W -> mostrar vista -> papiro -> explorador de modelos

  8. En esa vista, encontrarás tus clases como en la imagen.

  9. En la vista Haga clic derecho en el modelo de raíz -> Nuevo diagrama

  10. Luego comienza a tomar clases en el diagrama desde la vista

Algunas caracteristicas

  • Para mostrar los elementos de la clase (variables, funciones, etc.), haga clic con el botón derecho en cualquier clase -> Filtros -> mostrar / ocultar contenido ¡Voila!

  • Puede tener configuraciones de color amigables predeterminadas desde Ventana -> referencias - - papiro -> diagrama de clase

  • una configuración muy importante es Organizar cuando se eliminan las clases, se obtiene un pequeño clic derecho en cualquier espacio vacío en un diagrama de clase y se hace clic en Organizar todo

  • Las flechas en la vista del explorador de modelos se pueden agarrar al diagrama para mostrar generalización, realización, etc.

  • Después de todo eso su configuración mostrará diagramas como

  • La sincronización no está disponible por lo que sé que necesitará importar manualmente cualquier clase nueva.

Eso es todo. Y no compre productos comerciales a menos que realmente lo necesite, el papiro es realmente genial y sofisticado en lugar de donar o algo así.

Descargo de responsabilidad: no tengo ninguna relación con la gente del papiro, de hecho, al principio no me gustaba el papiro hasta que hice mucha investigación y lo experimenté con algo de paciencia. Y volveré a este post nuevamente cuando pruebe otras herramientas gratuitas.


Encontré Green plugin Green muy simple de usar y para generar un diagrama de clase a partir del código fuente. Darle una oportunidad :). Simplemente copia el plugin a tu dir.


Puede usar la versión de evaluación de 30 días de EclipseUML para Eclipse 3.5: http://www.uml2.org/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package_may2010.zip Esta no es la última versión 3.6, pero es bastante buena y No es necesario que lo compre para pruebas e ingeniería inversa.

Ingeniería inversa: http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html

Demostración flash en vivo: http://www.ejb3.org/reverse.swf

EclipseUML Omondo es la mejor herramienta del mundo para Java. Solo eUML parece competir con él en este mercado de sincronización de java en vivo, pero eUML agrega etiquetas de modelo en el código, lo que es realmente muy malo y definitivamente no va para mí.


Recomendaría EclipseUML de Omondo para uso general, aunque tuve algunos problemas hace algunos meses con mis proyectos web. Tuvieron una edición gratuita en un momento dado, pero eso supuestamente ya no se promociona.

Si está realmente interesado en los diagramas de secuencia de ingeniería inversa del código fuente, le recomendaría jTracert .

En lo que respecta a los propios proyectos de Eclipse, el proyecto Eclipse UML2 Tools podría soportar la ingeniería inversa, aunque nunca he visto su uso en la práctica.

El proyecto Eclipse GMT del proyecto MoDisco (Model Discovery) parece ser más claro para lograr su objetivo. La lista de herramientas específicas de tecnología sería un buen lugar para comenzar.


Sugiero PlantUML. Esta herramienta es muy útil y fácil de usar. PlantUML tiene un complemento para Netbeans que puede crear un diagrama UML a partir de su código Java.

Puedes instalar el complemento PlantUML en los netbeans por este método:

Menú Netbeans -> Herramientas -> Complemento

Ahora seleccione Complementos disponibles y luego busque PlantUML e instálelo.

Para más información ir al sitio web: www.plantuml.com


También puedes probar el modelador UML de NetBeans. Lo he usado para generar javacode que usé en mis proyectos de eclipse. Incluso puede importar proyectos de eclipse en netbeans y mantener la configuración de eclipse sincronizada con la configuración del proyecto de netbeans.

Probé varios modeladores UML para eclipse y no estuve satisfecho con ellos. Eran inestables, complicados o simplemente feos. ;-)


Utilizando IDEA IntelliJ. Para generar un diagrama de clase, seleccione el paquete y presione Ctrl + Alt + U :

De forma predeterminada, muestra solo los nombres de clase y no todas las dependencias. Para cambiarlo: haga clic derecho -> Mostrar categorías ... y Mostrar dependencias:

Para generar el diagrama de dependencias (diagrama de Despliegue UML) y usa maven go View -> Tool Windows -> Maven Projects y presione Ctrl + Alt + U :

El resultado:

También es posible generar otros diagramas más. Ver documentation .


http://uml-plugins.blogspot.com/ aquí es donde podemos encontrar diferencias entre las herramientas de modelado UML, para un inicio rápido. Además de estos, me he dado cuenta de que el complemento SequenceDiagram para Intellij también es una buena opción. Lea esta publicación para conocer rápidamente las opciones gratuitas y comerciales y las mejores opciones.


http://www.zenuml.com no genera diagramas UML a partir del código Java directamente, pero su DSL es similar a Java. Por cierto he creado zenuml :)