Herramientas para diagramas UML para GNU/Linux

El año pasado cuando estábamos haciendo el proyecto final de una materia de la universidad mis compañeros y yo nos vimos en la necesidad de hacer diagramas UML, pero había un problema que el rebelde de Daniel Alberto, usa GNU/Linux y se necesitaba que todos, incluyendo que estaban usando windows, usáramos la misma herramienta, en ese momento no tuvimos otra opción que usar el programa (que por cierto ya no recuerdo el nombre y ni me quiero acordar) los otros compañeros estaban usando, después de pasarle el respectivo crack, no lo pudimos utilizar entonces no recuerdo quien decidió al final hacer los diagramas a la vale chonga en word.

¿Por que usar UML?
La idea es que UML te brinda diferentes vistas de tu aplicación, podes dividirla en capas para analizar mejor tu aplicación y olvidarte que todo esta en función de las tablas de tu DB, es una forma de programar mas natural, pero lo mas importante y que nos hace falta mucho en el mundo del software es "documentar tu aplicación de forma gráfica que esta orientada a objetos", es prácticamente ya un lenguaje estándar para modelar todos los procesos de una aplicación.
Después de toda esa mala experiencia, no querer pasar por ella de nuevo y la mas importante de todas, que es hacer diagramas UML para realizar un buen código me rebusque en ver que herramientas podía usar.

Acá expongo algunas herramientas que nos permiten diagramar en UML.

MonoUML: Herramienta CASE libre para modelar en UML, aplicación escrita usando Framework Mono y Gtk#, yo estoy usando la versión 0.1 en la cual solo se pueden hacer diagramas de clase y casos de uso, es simple y fácil de usar, MonoUML tambien puede importar DLL's de .NET y generar el diagrama de clase.

"Diagrama de clase en MonoUML, tomado de www.mono-project.com"

Umbrello: Otra herramienta bastante buena para modelar que es para el entorno de escritorio KDE, aunque igual se puede instalar en GNOME, este es un programa mucho mas completo que MonoUML, ya que se pueden elaborar diagramas de clase, de casos de uso, de desplieque, de componentes y entidad relación, de las cosas bastante interesantes que se pueden hacer con Umbrello es la generacion de codigo en algunos de los lenguajes de programacion mas populares asi como C/C++, C#, Java, y php4/php5. Es algo inestable pues de repente se cierra sin dar chance de guardar y no deja rastros en un log de cual puede ser el problema. lo bueno es que al igual que MonoUML es libre.

"Diagrama de clase en Umbrello"

ArgoUML: La parte fea de este muy buen programa es que no es libre, pero de entre sus ventajas es que esta elaborado con Java quiere decir que es multiplataforma, es decir, puede funcionar en cualquier sistema operativo en el que este la maquina virtual de java, que prácticamente es en la mayoria. De entre lo que se puede hacer son diagramas de clases, casos de uso, de secuencia, colaboración, de estado, de actividades y de despliegue, es bastante completo, como de las cosas cachimbonas que me llego fue la generacion de codigo para Java, C#, C/C++ y php4.

"Diagrama de clases en ArgoUML, de un simulador de Alcaldía hecho por mi persona"

Poseidon for UML: Otro buenisimo programa para modelar, para mi el mejor, aunque siempre retuerzo la cara al sabe de su licencia privativa, pero igual como bien dice el sr byte, es raro que yo también recomiende una herramienta privativa pero este si es el caso por la calidad del producto, puede hacer las mismas cosas que Umbrello y ArgoUML. Esta elaborado con java al igual como ArgoUML así también multiplataforma, pero en cuanto a la generación de código en la Community Edition simplemente da como resultado código en java, definitivamente el mejor de los cuatro que he

"Diagrama de clases con Poseidon Community Edition, tomada de los ejemplos del mismo"

Espero resolverle la vida a otro compañero en la UES y la comunidad de desarrolladores.

Comentarios (3)

3 Response to "Herramientas para diagramas UML para GNU/Linux"

  1. Anónimo Says:
    lunes, agosto 11, 2008

    "ArgoUML: La parte fea de este muy buen programa es que no es libre"
    Pero en la página del proyecto dice lo contrario:
    "ArgoUML is made available under the BSD Open Source License."
    Y según wikipedia, esta licencia pertenece al grupo de licencias libres.

    Fuentes:
    Licensia BSD
    What is ArgoUML?

  2. Daniel Alberto says:
    lunes, agosto 11, 2008

    @ anónimo: Pues fijate que ya hace mucho tiempo escribi este post, y no era libre pero si ya cambio de tipo de licencia pues que bueno que me lo hayas informado.

    Saludos.

  3. DJOrco says:
    martes, octubre 21, 2008

    yo estuve haciendo mi tesis en desarrollo basado en modelos y probé varias herramientas libres y no libres.
    Para tener en cuenta Poseidon en la versión community es una pequeña mejoria del ArgoUML (ya que pueden utilizar el código libremente por su licencia BSD)
    Otra herramienta privada pero para mi fue la mejor y más estable fue MagicDraw, tiene una versión community pero por lejos es muy completa y estable por cierto. Eso si necesitan de mucha RAM para correrlo. Ah y es multiplataforma ya q está hecha en Java.

    Espero que les haya servido. Salu2