Generador de Java a UML en Linux

Quiero generar diagramas de clase UML a partir de mi código Java real. Usé Visual Paradigm cuando tenía una licencia académica, pero como es bastante caro, me gustaría algunas recomendaciones.

Requerido

  • Ver enlaces entre clases
  • Me permite modificar el UML después de la generación (svg podría funcionar).
  • Gratis, incluso para uso comercial
  • linux

Buena ventaja

  • No depende de KDE (tiene pequeñas dependencias)
  • Ver qué campos están vinculados de una clase a otra
  • Ver enlaces entre paquetes
  • Fuente abierta
  • Peso ligero (Visual Paradigm es terriblemente pesado y eso a veces era molesto)

No me importa si es un complemento de eclipse o una aplicación independiente.

Hacer un seguimiento

Probé Umlet que me gustó mucho por su ligereza y rapidez pero no muestra los enlaces entre clases y eso lo hace casi inútil para mí.

Probé papiro como se sugirió, pero no hace el trabajo esperado. Al menos si tengo mucho tiempo libre algún día sabré en qué proyecto trabajar.

Respuestas (2)

Tuve la necesidad de hacer esto hace un tiempo, y obtuve el mejor resultado a través de umlgraph ... al modificar los archivos de compilación ant (en la sección javadoc), obtienes diagramas UML generados para ti cada vez que haces una compilación ant de un destino que incluye javadoc.

Debajo del capó, umlgraph usa graphviz, por lo que necesitarás graphviz instalado, pero estoy seguro de que estará en el repositorio estándar de cualquier distribución que estés usando.

Encontré este artículo realmente útil cuando tuve que hacer esto..

Algunas alternativas

  • ydoc (de yworks) hace un doclet de javadoc... funciones similares a umlgraph al incrustar diagramas de clase basados ​​en SVG o flash (y otros UML) dentro de archivos javadoc generados... A diferencia de umlgraph, es una herramienta GUI completamente independiente

  • ObjectAid cuesta solo $ 19 y fue bastante prometedor y muy útil.

Guardé algunas notas de otras herramientas (incluidas algunas que son complementos basados ​​​​en eclipse) ... y puedo desenterrarlas, si está interesado en buscar otras alternativas.

Suena como una gran solución. Ya usé graphviz con doxygen y no pensé en usarlo con javadoc. Lo intentaré tan pronto como tenga algo de tiempo para esto.
@Johnride, sí, la combinación con archivos de compilación ant o maven es muy útil. Sin embargo, dado lo que describe, ObjectAid parece encajar perfectamente. Parece que revisaron su licencia y solo necesita una licencia para diagramas de secuencia... bueno, también puede obtener una licencia de evaluación. Es un complemento de eclipse que refleja los cambios (código nuevo, refactorización) en su código dentro de eclipse. Realmente creo que deberías mirarlo más de cerca.
Aquí está el desglose de objectaid de lo que es gratis y lo que cuesta una pequeña tarifa de licencia... junto con el costo de sus licencias. Realmente agradable.

El proyecto Eclipse Papyrus le permitirá hacer eso. Funciona en Linux y es completamente gratuito.

Lo he usado un par de veces. Hace el trabajo pero no produce buenos diagramas como los creados en VS que se ven muy bien.

Hay un par de opciones más, algunas de ellas en esta pregunta SO: https://stackoverflow.com/questions/6167266/generate-uml-class-diagram-from-java-project

Chicos, si no les gusta la respuesta, digan por qué. No lo voten negativamente en secreto como algunos cobardes. En una nota aparte, Papyrus no me impresionó. Pasé un día estudiándolo y no pude descubrir cómo convertir todo el proyecto en UML. Un UML de una sola clase de Java es casi inútil.