Definicion segun wikipedia:

Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un “plano” del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Es importante resaltar que UML es un “lenguaje” para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.

Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar.

En Linux, como siempre digo, hay muchas opciones, y tal cantidad de opciones significa que uno puede ‘elegir’ y tiene ‘libertad’, pero yo hoy les voy a hablar solo de unas pocas y tal vez las mas conocidas.


DIA

Homepage: http://www.gnome.org/projects/dia

[![Click para agrandar](/images/posts/130/dia- uml-300x278.png)](https://paraisolinux.com/wp-content/uploads/2008/12/dia- uml.png)

Dia es un programa de creación de diagramas basado en GTK+ bajo la licencia GPL. Está inspirado en el programa comercial de Windows ‘Visio’, y puede ser usado para dibujar muchos tipos diferentes de diagramas. Dispone de una serie de extensiones para ayudar en la elaboración de diagramas entidad- interrelación, UML, flujo de datos, diagramas de red, y un largo etc. Pero muchos al usarlo tal vez puedan sentir una frustacion ya que no es muy sencillo de usar y se trata ‘solamente’ de una herramienta de dibujo de diagramas, evitando que podamos sacarle todo el provecho que podriamos sacar del UML. Dia incluye una herramienta para generar codigo a partir de los diagramas realizados.

Para instalar:

sudo apt-get install dia, dia2code

UMBRELLO

Homepage: http://uml.sourceforge.net/

[![Click para agrandar](/images/posts/130/collaboration- diagram-300x223.png)](https://paraisolinux.com/wp- content/uploads/2008/12/collaboration-diagram.png)

Quizás sea la herramienta más intuitiva para aquellos que están pocos acostumbrados a trabajar con UML de las que aquí comento. Guarda la estética común a todos los programas desarrollados para y por KDE, por lo que si estás acostumbrado a trabajar en este escritorio o con algunos de sus programas principales no te costará nada adaptarte al mismo, aunque como todos sabemos igual puede funcionar el Gnome. También soporta la generación de código a partir del modelo de elementos y los diagramas para un gran número de lenguajes. Para instalarlo:

sudo apt-get install umbrello

BoUML

Homepage: http://bouml.free.fr/

[Click para
agrandar ](https://paraisolinux.com/wp- content/uploads/2008/12/boouml.png)

Es un software multiplataforma, capaz de generar código automáticamente (en IDL, C++, Java y PHP) a partir de los diagramas. Se pueden diseñar diagramas de secuencias, de clases, casos de uso, etc.

Además permite añadir aplicaciones externas escritas en C++ o Java, siendo una de estas extensiones predefinidas la generación de código y la ingeniería inversa.

Para instalarlo:

sudo apt-get install bouml

ArgoUML

Homepage: http://argouml.tigris.org/

[Click para
agrandar ](https://paraisolinux.com/wp- content/uploads/2008/12/argouml.gif)

Personalmente mi favorito y el que uso. Funciona en casi cualquier plataforma ya que corre sobre java, es fácilmente extensible, y también tiene una curva de aprendizaje media-rápida.

Entre sus caracteristicas podemos decir que tiene:

  • Soporte para bases de datos

  • Exporta los diagramas a distintos formatos

  • Generación de código (parcial)

  • Soporte cognitivo:

    • Proactivo (criticas de diseño, listas de cosas por hacer, correcciones automáticas)
    • Comprensión y solución del problema (perspectivas navegacionales, vistas superpuestas, representaciones alternativas de diseño: gráficos, texto, tablas)

Para instalarlo:

sudo apt-get install argouml