Aquí las mejores herramientas UML que podemos utilizar en Linux

Es algo que se puede hacer con una libreta y un lápiz, pero este tipo de software ayuda, sobre todo si se quiere dar una imagen más profesional. En cuanto a programación, lo que se usan son modelos UML, un tipo de presentaciones del que vamos a hablar hoy aquí.

UML (Unified Modeling Language) es un lenguaje de modelado de sistemas de software utilizado para describir, visualizar, estructurar y documentar los componentes de un sistema de software. Se utiliza para mostrar la estructura de un sistema, sus interacciones y sus responsabilidades, así como para representar los procesos y flujos de datos del sistema. También se puede usar para representar diagramas de clases, diagramas de objetos, diagramas de componentes y diagramas de despliegue.

-¿Por qué usar este tipo de herramientas UML?

No me gusta hablar de mi vida personal, pero cuando lo hago tampoco es que dé muchos detalles. Recientemente se me ha pedido que distribuya tres «cosas» y las ordene para que tengan un sentido para una hipotética aplicación. Lo que yo hice fue mirar las tres listas con esas «cosas» y empezar a trabajar. Cuando metía una en algún sitio que tenía sentido, le ponía una X al punto en cuestión, y seguía… El «cacao maravillao» con el que ni siquiera terminé fue de aúpa. Más tarde, otra persona me enseñó cómo había pensado que tenía que hacerse la tarea, empezando por un diseño creado gracias al UML.

Una vez vi la imagen, todo fue mucho más sencillo, y así lo pensé. Uno se siente estúpido cuando piensa y hace mucho y al final ve que las cosas podrían haber sido mucho más sencillas. Y aquí no se trata de ser más o menos capaz, sino de entender lo que tenemos que hacer y saber cómo planificarlo. En el mundo del software, esa planificación se hace con herramientas de UML, ya que podemos representar gráficamente y en tiempo real todo lo que pensamos. Si vemos algo que no cuadra, podemos mover las piezas del puzzle hasta que algo quede lo más afinado posible.

Las mejores opciones de software UML, gratuitas y disponibles para Linux

Hay muchas herramientas de este tipo de modelado que son multiplataforma, pero no tantas si queremos que sean libres, sencillamente gratuitas y que se puedan usar en Linux. Puede que para muchos no sean las mejores, pero yo empezaría con dos que crean los desarrolladores de dos de los escritorios Linux más usados, o gente relacionada a ellos.

-Umbrello

No tengo muy claro de dónde le viene el nombre, pero empieza por «UM», como el lenguaje UML, y es lo que al español se traduciría como «paraguos» o algo así, y parte de los diseños creados con UML tienen una estructura tipo paraguas. Sea como sea, es la opción que nos ofrece KDE, y ya sabemos cómo son los del ‘equipo K’. Puede que sus aplicaciones no sean tan intuitivas como las de otros, pero sí están llenas de funciones.

En la captura anterior vemos cómo se puede añadir todo tipo de información, como tipos de datos booleanos, decimales, cadenas…

-Gaphor

La opción de GNOME, o de su círculo, es Gaphor. Sigue la filosofía de GNOME, escrita en GTK y con un diseño más intuitivo, y en su última versión han introducido soporte para los temas claros y oscuros. Si se elige el tema oscuro, los diagramas también se oscurecerán, tal y como se ve en la captura anterior.

-PlantUML

PlantUML es una de las mejores opciones si se busca algo que esté para cualquier plataforma, ya que también está presente en la Google Play. Es libre y de código abierto, y es una de las herramientas con mejor puntuación por parte de la comunidad Linux.

-diagrams.net, UML desde el navegador

Si no dominamos nada de UML, una de las mejores opciones es la que nos ofrecen en diagrams.net. No requiere registro, y crear representaciones de este tipo es tan sencillo como lo sería si usáramos el Paint de Windows. Además, no es que esté disponible para Linux; es que lo está desde cualquier sistema operativo que disponga de un navegador web.

-Importante: esto no es sólo ‘crear dibujos’

UML es un lenguaje de modelado, y aunque se pueda usar para crear una especie de mapa para facilitarnos las cosas, en realidad hay que entender cómo funciona, cómo se hacen las relaciones y demás. Si sólo necesitamos esa especie de mapa o dibujo, sería suficiente tirar de Tux Paint, Drawing o incluso GIMP. Esto es para representar otras cosas, como la organización de un software que tendrá clases, métodos, etc. Además, lo creado se puede exportar a código para añadirlo a los proyectos de lenguajes como Python, Java o C++, entre otros muchos.