
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.