Las mejores formas de generar UML desde Emacs

19

Hay un montón de opciones de integración entre Emacs y las herramientas UML , como org-modela plantumlincrustación , un plantumlmodo principal, etc. Por supuesto que puedo probarlas, pero me pregunto qué usan otras personas para un flujo de trabajo UML.

Incrustar dentro de otro documento como org-modehace es una buena idea, o generar el uml generado en otro búfer actualizado en vivo también sería bueno. ¡Estoy seguro de que las personas tienen algunas funciones súper lindas de Elisp para automatizar este tipo de cosas!

Mark Aufflick
fuente
1
Es bastante tarde para la fiesta, pero esta Q simplemente fue golpeada por algunas respuestas. ¿Podría hacer la pregunta un poco más discreta y orientada a los problemas? En este momento, "lo que otras personas usan" solicitará muchas respuestas diferentes, basadas en opiniones, y ese tipo de preguntas y respuestas no es adecuado para este sitio.
Dan
Hola @Dan, no me opongo a alterar la pregunta (que como dices es antigua), pero las personas que afirman lo que usan no son una opinión objetiva (incluso si sus opiniones estaban involucradas en la decisión de qué usar). Por ejemplo, ¿le parece mejor preguntar "qué módulos están disponibles para generar UML y sus características clave"? No puedo preguntar "¿cómo puedo generar UML desde Emacs?", Ya que, como se dijo, ya conozco varias respuestas posibles a esa pregunta, pero quiero mejorar mis opciones actuales.
Mark Aufflick
@Dan también, ¿cuáles son las respuestas que dieron con esto? El más reciente que veo es diciembre '14? ¿O los votos a favor también suben los hilos?
Mark Aufflick

Respuestas:

20

No estoy seguro si desea tener una conversión UML de / a código fuente, etc., pero si desea crearlos y mantenerlos a mano, plantuml¡genial!

Ejemplo simple de plantuml de un diagrama de secuencia:

Bob -> Alice : hello

Resultado representado del ejemplo simple de plantuml

Lo estoy utilizando org-babelcon éxito con plantumldiagramas (y gnuplot y ditaa y ...), etc. Funciona de maravilla , una vez configurado , y la salida html también se ve increíble cuando usas cualquiera de las org-modehojas de estilo.

Vea también Cómo hacer que Emacs funcione para mí de Zeekat sobre cómo configurar org-babely muchas otras cosas de Emacs.

Luego está el punto de graphviz , que estoy a punto de revisar, y aunque no es específico de UML, también podría usarse en Emacs para hacer diagramas UMLy.

Ejemplo de punto simple:

graph graphname { 
                a -- b; 
                b -- c;
                b -- d;
                d -- a;
        }

Resultado representado del ejemplo de punto simple

Y mientras lo hacemos, aunque no está relacionado con UML en absoluto, org-babel-gnuplot muestra cómo usar el gnuplot extremadamente versátil en Emacs.

Eugene Beresovsky
fuente
7

Solo tocaré mi propio claxon y lo mencionaré wsd-mode. También tiene soporte parcial para org-babel, lo que significa que literalmente puede incrustar su UML en sus documentos de modo de organización y exportar el resultado a un documento HTML válido o similar.

Comparado con plantuml-mode, su soporte para resaltar la sintaxis y la sangría es clara y objetivamente superior. También se integra muy bien con flychecky company-mode.

Si crees que todas esas cosas "pequeñas" son importantes, wsd-modepodría ser mejor para ti.

A diferencia plantuml-mode, no depende de Java u otros binarios, sino que utiliza un servicio web SaaS para generar los diagramas.

Esto lo hace más plug-and-play y portátil, y para alguien podría ser mejor, pero el problema es que necesitas estar en línea para que funcione.

Jostein Kjønigsen
fuente
3

[ADVERTENCIA] Dependencia del mouse

¿Qué hay de artist-mode+ ditaa?

artist-mode- Cajón de uso del mouse en estilo ASCII como Monodraw analógico simple para macOS. Al salir tenemos un archivo de texto en el gráfico ASCII.

ditaa - puede convertir su archivo de texto a imagen / html, etc.

es útil para comenzar a usar emacs para compilar UML. Pero de esta manera usa el mouse con tanta fuerza. Sin embargo, odio el mouse, como la mayoría de los usuarios de emacs, y uso plantUML en modo org. Su herramienta útil épica y amigable con el teclado para cualquier estilo uml.

Ejemplo de caso de uso

modo artis

ditaa

Bimawa
fuente
¿Que hay de ellos? Muestre cómo se relacionan con la pregunta. De lo contrario, corre el riesgo de eliminarse como una "respuesta de solo enlace". Gracias.
Dibujó
@Drew No sé cómo mostrarlo en formato SO. Solo agrego un video de ejemplo fundado en youtube.
Bimawa
Intenta describir lo que crees que estas cosas tienen para ofrecer para responder la pregunta.
Dibujó
@Drew, por favor verifícame de nuevo.
Bimawa
OK, gracias por hacer un esfuerzo. Espero que sea más claro para algunos lectores.
Dibujó