2008-10-11 47 views
26

¿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

12

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.

+1

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

+0

Debe consultar http://www.zenuml.com. Es en línea para convertir TEXTO en Diagrama de Secuencia al instante. –

0

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.

+0

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

21

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/

+0

¿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

+0

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 –

1

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.

11

PlantUML es una buena herramienta que convierte texto en diagramas uml estandarizados.

que tienen esto como un plugin para confluenze

+1

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

+2

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

3

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

0

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.

1

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:

Sequence diagram for a fictional process

1

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:

enter image description here

Cuestiones relacionadas