Dia: diagramas UML en Ubuntu


<< No hay nada mejor que la necesidad para aprender. >>
¿Cuantas veces habremos oído esto?
Estos días estuve trabajando duro con los diagramas de un proyecto para la asignatura de POO. Se trataba de un framework con el que poder diseñar juegos de aventura basados en comandos (las conocidas “aventuras conversacionales”). No bastaba con desarrollar el código fuente (a cargo prácticamente en solitario de Hiro) sino que además tuvimos que escribir una memoria de desarrollo y crear unos diagramas UML en principio bastante simples: diagramas de clase y diagramas de secuencia.
¡¡ Horror !! Las herramientas propuestas por los profesores son de pago, privativas y principalmente para Windows. Entre las alternativas propuestas para Ubuntu, la más sólida es Dia. Es una herramienta clásica del escritorio Gnome. Una de esas que, junto con Gimp, qCAD y compañía, pretenden dar una alternativa verdaderamente válida a aplicaciones como Photoshop, Autocad o MagicDraw UML. Otra cosa es que lo consigan…

La competencia directa de Dia es, probablemente Microsoft Visio, que es parte de los paquetes más caros de Office aunque me parece que se puede adquirir también por separado.
De Dia no he oído buenas críticas que yo recuerde. Muchos lo han instalado alguna vez pero por algún motivo no les ha gustado o no les ha servido. Yo, por la experiencia de estos días, he de romper una lanza en su favor; y me gustaría comentar ciertas cosas…
Y sobretodo, sin tener que compararlo con otros programas.

Licencia
Dia es un programa del proyecto Gnome que se distribuye bajo licencia GPL de GNU. Esto quiere decir que dispones de todo el código fuente. A priori puede que no resulte algo interesante, pero si quieres utilizar día en un SO para el cual no hay un paquete binario, podrás compilarlo tú mismo; amén de otras bondades como poder examinar, mejorar y volver a compartir el codigo fuente. Es una buena idea, sobretodo ahora que han aparecido una serie de nuevos sistemas operativos como Android, Chrome OS, Jolicloud, etc.

Precio
Como buen programa acogido por GNU, Dia es gratuito. Quise comentar este punto separándolo de la licencia porque, como deberías saber, Software Libre no tiene porqué ser Software Gratis.
Se puede descargar desde la pagina oficial de Dia en Gnome.

Interfaz
La interfaz de Dia (como la de otros programas hermanos como Gnumeric o Abiword) está provista de muchos idiomas y la traducción al castellano es buena y prácticamente total.
Es una interfaz muy clara, basada en dos ventanas independientes: por un lado tenemos el marco de trabajo, que podemos maximizar para aprovechar todo el espacio de la pantalla. En él encontramos el menú básico para guardar el proyecto, configurar su impresión o editar algún elemento del diagrama. En segundo lugar, tenemos una ventana flotante donde se agrupan todas las herramientas, organizadas por categorías.
Es un planteamiento muy inteligente que hemos visto tambien en Gimp, por ejemplo, y que permite aprovechar muy bien el tamaño de cualquier pantalla sin que, por acumulacion de botones de herramientas, nos quedemos sin espacio para ver el diagrama. Como estos botones están en una ventana aparte, podemos moverlos, minimizarlos, traerlos al foco, pasarlos a un segundo escritorio, a un segundo monitor, etc. Brillante.

Rendimiento
Dia es un programa que no consume muchos recursos y ocupa muy poco espacio en disco. Además, los diagramas se van guardando como archivos independientes, muy pequeños (unos pocos kilobytes) y con extensión “.dia”; sin necesidad de generar varias carpetas con metainformación a la que, por lo general, no se le presta atención. Esto permite que sea muy fácil compartir un diagrama por internet, por ejemplo, ya que solo hay que publicar un único y pequeño archivo.
La interfaz gráfica se mueve muy ligera y tan solo el rendimiento se ve un poco afectado cuando movemos una región grande del marco de trabajo. Esto lo comprobé con un netbook, así que seguramente en un PC más potente no sea siquiera apreciable.

Edición
La edición es muy simple y me gustaría describirla con un ejemplo: seleccionamos en la ventana de herramientas un componente que queramos añadir (por ejemplo, una clase UML), hacemos clic en donde queramos situarla en el diagrama y si hacemos doble clic podremos editar todos sus parámetros en un cuadro de diálogo que aparecerá.
Además, no suele dar problemas el hecho de mover conjuntos de elementos, incluso cuando estos están interconectados entre sí.
También permite forzar que los elementos se alineen a una cuadrícula para mejorar su colocación de forma simple.
Por otra parte, Dia dispone de practicamente todos los componentes UML, lo cual es algo indispensable. Al menos yo no eché ninguno de menos.

Otras características y formatos
Dia tambien sirve para crear diagramas de flujo, eléctricos, de redes… Incluso se pueden añadir más solamente empaquetando las imágenes SVG de sus componentes y un XML que los defina.
Además, puede trabajar con archivos EPS, SVG, XFIG, WMF y PNG, e imprimir en una o varias páginas de muchos tamaños empezando por A-0, por ejemplo.

En conclusión, creo que Dia es un programa perfectamente válido para proyectos personales y proyectos colaborativos. Tiene buenas ventajas como estar disponible para muchas plataformas y generar archivos pequeños, con lo que puede ser una muy buena opción si quieres trabajar con alguien a través de la red.
Probablemente en un entorno profesional, las empresas prefieran confiar en la seguridad de herramientas con un soporte técnico y una garantía como las de Visio o MagicDraw UML; pero aun así recomendaría Dia a todos mis compañeros de carrera o desarrolladores amateur.

Anuncios
Etiquetado

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s