La herramienta de modelado que utilizaremos será el ARGOUML ya que es una de las herramientas mas completas que nos ayudará a la generación del código y de ésta manera complementaremos el desarrollo del software.
Cuadro comparativo
HERRAMIENTA | VENTAJAS | DESVENTAJAS |
Umbrello | · es una herramienta totalmente concebida como software libre y de código abierto · Los siguientes diagramas son soportados por Umbrello UML Modeller: Diagrama de Clase. Diagrama de Secuencia. Diagrama de Colaboración. Diagrama de Caso de Uso. Diagrama de Estado. Diagrama de Actividad. Diagrama Componente. Diagrama de Desarrollo.} · puede importar código fuente de proyectos existentes para ayudar a construir un modelo de sistema, soporta solo código fuente C++.Ademas viene con soporte de generación de código para ActionScript, Ada, C++, CORBA IDL, Java™, JavaScript, PHP, Perl, Python, SQL and XMLSchema · Es software libre, open source bajo la licencia GPL. • Soporta los 9 diagramas principales de diseño, así como un gran número de lenguajes de programación, entre ellos, python, que es el lenguaje con el que voy a desarrollar mi proyecto. • Su interfaz es extremadamente simple y minimalista. • Los diagramas se agrupan en vistas: vista lógica, vista de componentes, vista de casos de uso, de entidadrelacción... y las clases que se usan son comunes a todos. • Genera código automáticamente, trabaja con .xmi y gestiona la documentación. Esto es prácticamente lo que hacen todas las herramientas de este tipo. • Su instalación es muy sencilla y ocupa poco espacio. Se encuentra en los repositorios oficiales de Ubuntu, con buena valoración por parte de la comunidad. · herramienta diseñada para KDE por su facilidad de uso y su cuidada interface · tiene buen soporte para la generación de código, desde el mismo programa es posible generar todo o parte y lo hace muy bien. | · no tiene zoom, por lo que trabajar con diagramas grandes es un problema, cosa que también se nota a la hora de imprimir los diagramas. · falta de libertad en las conexiones ya que, estas se recolocan automáticamente y a su aire cuando se mueven los objetos. · Solo está disponible en plataformas GNU/Linux. • La pantalla de diseño del diagrama está poco automatizada. Se basa en Drag & Drop, pero es demasiado simple. • Las imágenes que genera son demasiado sencillas. |
Dia con Dia2Code | · Es un programa de dibujo. Permite hacer diagramas de flujo, diagramas de redes, etc... todo mediante librerías de símbolos y un buen conjunto de herramientas. Por lo que hace referencia a UML tiene bastante buen soporte, con una librería surtida y con la ventaja de que la libertad de "movimientos", el respeto que tiene por la posición que tienen las interconexiones de los objetos y el control de la escala del dibujo, lo hacen muy manejable . | · El soporte para generación de código, que aunque si que existe, es mediante programas externos que "parsean" el archivo que dia genera. Hay que decir también, que en un buen modelo el código se ha de generar solo cuando todo está correcto y completo. |
ArgoUML | Es una herramienta muy ligera que no requiere de instalación. Está desarrollada en java por lo que es portable 100% a cualquier SO . • Permite hacer la mayor parte de diagramas de diseño (9 en total), agrupándolos en el mismo proyecto. Su manejo es muy intuitivo. • Es Open Source (bajo licencia BSD) y se basa en UML 1.4 • Las opciones se muestran en paneles con imágenes, desde mi punto de vista es una herramienta muy usable y fácil de manejar. • En el paquete de idiomas que usa, se encuentra el español. Además existe mucha documentación y manuales sobre el uso de la herramienta en la página Web del proyecto. • Vuelca el contenido en ficheros .XML, concretamente usa .XMI que es un formato XML usado entre herramientas UML. • Los diagramas se exportan en imágenes con formato GIF, PNG, PS, EPS, PGML and SVG. • Permite incluir el código fuente de los archivos representados en los diagramas, es decir, las clases. También se encarga de generar código automáticamente siempre que los diagramas sean correctos y suficientemente aclaratorios. Soporta los lenguajes Java, C++, C# y PHP. • El proyecto se pueden organizar en función de los paquetes usados, las clases, los diagramas, las herencias… • La forma de construir diagramas es muy sencilla, mediante drag & drop se van desplegando elementos sobre el área de trabajo. • También gestiona las tareas a realizar, organizándolas por prioridad, decisión, objetivo… Es una buena forma de organizar el trabajo. · está escrito en Java por lo que se puede ejecutar en cualquier plataforma que tenga una máquina virtual java. · es la más completa de las herramientas que he probado, con una interfaz excelente y muy versátil a la hora de dibujar el modelo, gozando también de una excelente generación de código a partir de los diagramas. | · Pero esto también se convierte en su peor enemigo, ya que al ser el lenguaje Java interpretado, la convierte en una aplicación muy pesada y solo usable en máquinas muy potentes. · El modelo de usuario no está completamente implementado. Este modelo consiste en modificar la herramienta para hacerla más usable en función de la información que se maneje del usuario. · Las imágenes que genera de los diagramas, no es que sean demasiado espectaculares estéticamente |