¿Existe alguna herramienta o cadena de herramientas que permita crear imágenes UML en formato .svg a partir de un archivo fuente textual? El motivo de esta pregunta es que quiero automatizar la generación de estas imágenes para evitar tener que crear y actualizar manualmente este conjunto de imágenes.Representación de diagramas UML a partir de archivos de texto
Respuesta
UMLGraph es un programa para generar diagramas UML (principalmente diagramas de clase y diagramas de secuencia) a partir de descripciones basadas en texto. Está destinado a ser utilizado con el código fuente de Java, pero con algunas modificaciones, el código fuente del estilo de C++ también se puede usar como se describe en this blog entry.
Presupuesto de la página web UMLGraph:
El programa plotutils GNU pic2plot puede entonces procesar el diagrama de secuencia para crear un PNG, PNM, (pseudo) GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis o dibujo TEK.
La herramienta gratuita UML JUDE permite crear diagramas UML a partir del código fuente de Java. No sé si lo hace para otros idiomas.
Hey Jorn, JUDE que ahora se llama 'Astah' (http://astah.net/editions/professional) y los diagramas pueden ser creados a partir de código fuente de Java y C++ y C# usando complementos gratuitos (http://astah.net/features/plugins). – Satomi
que he creado una lista de herramientas que aceptan una descripción del modelo textual como entrada aquí:
http://modeling-languages.com/uml-tools-textual-notations-define-uml-models/
¿Es normal que las palabras clave SQL se impriman en mayúsculas en la página web? (Supongo que son palabras clave de SQL, pero no estoy seguro.) – leemes
No es, lo arreglé en la página principal de herramientas UML a la que se hace referencia allí. Por qué sucedió esto es algo que todavía no estoy del todo seguro –
Enterprise Architect hace un buen trabajo en la creación de diagramas de forma automática, a partir del código fuente (en varios idiomas), así como de bases de datos u otras fuentes.
PlantUML es una buena herramienta que convierte texto en diagramas uml estandarizados.
que tienen esto como un plugin para confluenze
PlantUML está disponible como una aplicación java independiente, y también tiene versiones de complemento para [un grupo de wikis, editores e IDEs] (http://plantuml.sourceforge.net/running) .html). Por defecto, parece producir archivos png, pero puede dar salida a svg con los indicadores apropiados. – Alan
Un +1 definitivo para PlantUML, especialmente para diagramas de secuencia, mucho menos meticuloso que las macros pic en UMLGraph, la pequeña aplicación GUI se actualiza y muestra su diagrama cada vez que se guarda, y los mensajes de error son mucho más útiles. – Adrian
Hay otra herramienta llamada como JS Sequence Diagrams, para permitir la generación de diagramas de secuencia UML de texto simple.
Utiliza underscore.js
y Raphaël
para construir los diagramas.
Se está BSD simplificado con licencia y el código fuente disponible en GitHub
Si te gusta JS Diagramas de Secuencia, usted debe también echa un vistazo UMLet que tiene una premisa similar (ser capaz de definir diagramas a través de texto, similar a una graphviz description) y deje que la herramienta descubra el gráfico y la posición.
En mi humilde opinión, este enfoque no ha recibido suficiente publicidad o tracción. El análisis de fuente completo de ida y vuelta es difícil y, en muchos casos, "demasiado trabajo" para conversaciones de diseño simple o documentación rápida. La complejidad del diseño en las herramientas empresariales impide que todos, salvo los documentos más grandes, los utilicen. Y Agile sufre de no-doc porque el precio es demasiado alto.
Por esas razones, me gustaría ver que más herramientas adopten este enfoque.
Para los diagramas de secuencia, realmente me gusta Mscgen. Formato de texto simple en diagramas preciosos.
"Mscgen es un pequeño programa que analiza descripciones Gráfico de secuencia de mensajes y produce PNG, SVG, EPS o mapas de imagen del lado del servidor (ismaps) como la salida" - http://www.mcternan.me.uk/mscgen/
por ejemplo Entrada de la forma:
# MSC for some fictional process
msc {
hscale = "2";
a,b,c;
a->b [ label = "ab()" ] ;
b->c [ label = "bc(TRUE)"];
c=>c [ label = "process(1)" ];
c=>c [ label = "process(2)" ];
...;
c=>c [ label = "process(n)" ];
c=>c [ label = "process(END)" ];
a<<=c [ label = "callback()"];
--- [ label = "If more to run", ID="*" ];
a->a [ label = "next()"];
a->c [ label = "ac1()\nac2()"];
b<-c [ label = "cb(TRUE)"];
b->b [ label = "stalled(...)"];
a<-b [ label = "ab() = FALSE"];
}
Produce una salida como esta:
Sé que este es un hilo viejo, pero aún así, me gustaría compartir una herramienta más que me parece muy útil y fácil de usar: https://www.websequencediagrams.com/
Esta es una herramienta en línea que lo pondrá en marcha en muy poco tiempo.
También presenta una variedad de diseños bastante bonitos fuera de la caja.
Aquí hay dos, por ejemplo:
- 1. Representación textual para diagramas de clase UML: DSL para UML
- 2. Importación de diagramas UML a Visual Studio
- 3. Dibujando diagramas de estados UML
- 4. Javadoc Inserción de diagramas UML
- 5. Herramienta para generar diagramas de clases UML a partir de las anotaciones de Doctrine
- 6. Representación de métodos sobrecargados en UML
- 7. Biblioteca para generar diagramas UML
- 8. Diagramas de flujo en comparación con diagramas de actividad UML
- 9. UML - ¿Cómo administrar diagramas de clase grande?
- 10. ¿Cómo puedo generar diagramas UML de Xcode4
- 11. ¿Qué tipo de diagramas UML usas?
- 12. Generación de diagrama UML a partir de las fuentes de Scala
- 13. ¿Hay alguna forma de escanear diagramas UML escritos a mano en una herramienta UML?
- 14. Diagramas UML que en realidad son bonitos?
- 15. Devolución de llamada asincrónica en diagramas de actividad UML
- 16. Agregación de interfaz en diagramas de clase UML
- 17. Cómo dibujar diagramas UML usando Eclipse
- 18. Creación de diagramas de clases UML en NetBeans 7.1.1
- 19. ¿Código Python generado automáticamente a partir de un diagrama UML?
- 20. Graphviz + Doxygen para generar diagramas de clase UML
- 21. Diagramas de Clase UML Conceptual vs Especificación vs Implementación
- 22. Crear diagramas UML después o antes de la codificación?
- 23. Organización automática de diagramas UML en visual studio 2010
- 24. convertir cadena de texto a representación hexadecimal o representación binaria
- 25. Plugin de Eclipse para generar diagramas UML desde el código de C++
- 26. UML para Ruby
- 27. Representación de texto varbinary a byte []
- 28. Rspec representación de texto
- 29. Diagrama de secuencia UML
- 30. Utilidad gratuita que se ejecuta en Linux para crear un diagrama de clase UML a partir de archivos fuente de Java
Probé esto para diagramas de secuencia; Lo encontré increíblemente meticuloso (los diagramas de secuencia se hacen con macros de pic, no con Java, pude hacer que las muestras funcionen, pero mis propias macros fallaron a pesar de ser válidas hasta donde pude ver), y el resultado de la muestra parece terrible. bitmaps o SVG (en Ubuntu 14.04 con pic2plot 2.6). Para los diagramas de secuencia, evitaría ... – Adrian
Debe consultar http://www.zenuml.com. Es en línea para convertir TEXTO en Diagrama de Secuencia al instante. –