Comparativa de Herramientas UML

download Comparativa de Herramientas UML

of 44

Transcript of Comparativa de Herramientas UML

  • Comparativa de herramientas CASE paraUML

    Jesus Rodrguez Perez

    26 de enero de 2012

    1

  • Tabla de contenidos

    1 Introduccion 41.1 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Aplicaciones de escritorio . . . . . . . . . . . . . . . . . . . . . 41.3 Aplicaciones web . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2 Criterio de seleccion de aplicaciones 4

    3 Lista de aplicaciones seleccionadas 5

    4 Criterios tenidos en cuenta para la evaluacion 5

    5 Metodologa de evaluacion 75.1 Diagramas para el test de realizacion de diagramas . . . . . . 8

    6 ArgoUML 186.1 Informacion general . . . . . . . . . . . . . . . . . . . . . . . . 186.2 Realizacion de diagramas . . . . . . . . . . . . . . . . . . . . . 196.3 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    6.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 22

    7 Open ModelSphere 227.1 Informacion general . . . . . . . . . . . . . . . . . . . . . . . . 227.2 Realizacion de diagramas . . . . . . . . . . . . . . . . . . . . . 247.3 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    7.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 27

    8 Modelio 278.1 Informacion general . . . . . . . . . . . . . . . . . . . . . . . . 278.2 Realizacion de diagramas . . . . . . . . . . . . . . . . . . . . . 298.3 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    8.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 31

    9 Papyrus 319.1 Informacion general . . . . . . . . . . . . . . . . . . . . . . . . 319.2 Realizacion de diagramas . . . . . . . . . . . . . . . . . . . . . 349.3 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    9.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2

  • 10 StarUML 3510.1 Informacion general . . . . . . . . . . . . . . . . . . . . . . . . 3510.2 Realizacion de diagramas . . . . . . . . . . . . . . . . . . . . . 3810.3 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    10.3.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 40

    11 Tabla comparativa resumen 4111.1 Conclusion final . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3

  • 1 Introduccion

    Las herramienta CASE [6] (Computer Aided Software Engineering) ayudancon en el ciclo de vida de desarrollo del software y permite crearlo en menostiempo, a menor coste y con mas calidad. Ademas mejora la planificacion deun proyecto y ayuda a que los documentos esten estandarizados.En concreto las herramientas CASE para UML permiten crear diagramaspor lo que aceleran la elaboracion de documentos de analisis y diseno.Algunas aplicaciones permiten generar codigo a partir de diagramas, estoayuda con la implementacion del software.

    1.1 UML

    UML [14] (Unified Modeling Language) es un lenguaje de modelado de sis-temas software. Esta respaldado por el OMG (Object Management Group).Es un lenguaje grafico que se utiliza para definir, detallar los artefactos,documentar y construir un sistema.

    1.2 Aplicaciones de escritorio

    Las aplicaciones de escritorio son las que instalamos en un ordenador parapoder ejecutarlas. Son las mas comunes y la mayora de herramientas casepara UML son de este tipo.

    1.3 Aplicaciones web

    Este tipo de aplicaciones tienen la ventaja de ejecutarse desde el navegadorde forma que no es necesario instalar ningun software adicional, su uso esinmediato e independiente de la plataforma pero requieren tener acceso ainternet.

    2 Criterio de seleccion de aplicaciones

    Para la eleccion de las herramientas CASE para UML a analizar primero sehan buscado todas las aplicaciones de escritorio que son open-source[13] ygratuitas[3]. A partir de ah se ha hecho una seleccion dejando solo las quecumplian una serie de requisitos.

    4

  • En primer lugar se ha tenido en cuenta el funcionamiento: la aplicacion fun-ciona y parece estable.Despues se han eliminado de la lista todas las aplicaciones que la licencia nopermite hacer un uso totalmente gratuito del programa y de los documentoscreados con el mismo.El tercer y ultimo requisito ha sido un analisis rapido y superficial de lasfuncionalidades y de la facilidad de uso.Si la aplicacion no permite la creacion de un cierto numero de tipos de dia-gramas o el uso de esta aplicacion es demasiado complejo para los resultadosque se pueden obtener entonces se descarta para un analisis en profundidad.

    3 Lista de aplicaciones seleccionadas

    Argo UML Open ModelSphere Modelio Papyrus StarUML

    4 Criterios tenidos en cuenta para la evalu-

    acion

    Licencia: tipo de licencia; GPL[9], EPL[8], Apache License[10] y algu-nas mas[12].

    Usabilidad [15]: se medira la facilidad de aprendizaje, la productividad,la robustez, la flexibilidad y la accesibilidad.

    Plataformas: sistemas operativos en los que se puede ejecutar la apli-cacion.

    Idiomas: cantidad de traducciones disponibles de programa.

    5

  • Documentacion y soporte: extension y facilidad de busqueda en el man-ual o ayuda. Tambien se tendran en cuenta la cantidad de idiomas enlos que se puede encontrar la documentacion. Tambien se tendra encuenta si existe algun modo de consultar dudas e informar de errores.

    Opciones para exportar: formatos en los que se puede guardar un doc-umento creado por la aplicacion.

    Opciones para importar: formatos que es capaz de leer. Posibilidades de personalizacion: Opciones generales, posibilidad de

    definir estereotipos propios.

    Documentacion del proyecto: definir y organizar los requisitos fun-cionales y no funcionales de un modelo de requisitos, documentacionde metodos y clases, lista de tareas, etc.

    Notas: permite crear notas en los diagramas UML. Tipos de diagramas que soporta: si permite crear los diagramas que se

    especifican en UML2.

    Diagramas de clase

    Diagramas de estructura compuesta

    Diagramas de componentes

    Diagramas de despliegue

    Diagramas de objetos

    Diagramas de paquete

    Diagramas de actividad

    Diagramas de secuencia

    Diagramas de comunicacion

    Diagramas de vision de interaccion

    Diagramas de tiempo

    Diagramas de casos de uso

    Diagramas de maquina de estado

    6

  • Detalle de los diagramas: para cada tipo de diagrama se tendra encuenta los posibles detalles que se le puedan anadir como por ejem-plo: estereotipos especficos del tipo de diagrama, diferentes tipos derelaciones, operadores y smbolos.

    Notacion: fidelidad con la notacion de UML 2 y posibilidad de usarotras.

    OCL: soporta tipos de datos y expresiones OCL. MDA: si es capaz de generar codigo fuente (Java, C++, C# y PHP

    entre otros) a partir de un diagrama UML.

    5 Metodologa de evaluacion

    En primer lugar se realizara una investigacion sobre el programa para cono-cer datos como la licencia o las plataformas en las que se puede ejecutar.Una vez instalado el programa y en ejecucion se exploran las opciones gen-erales, la ayuda y las posibilidades de creacion de diagramas.Por ultimo, se intentara crear con cada aplicacion los 13 tipos de diagramasmidiendo el tiempo de realizacion de cada uno con el tiempo de aprendizajeincluido en minutos:segundos y se anotara ademas el porcentaje de completi-tud de cada diagrama junto los elementos extras que se ha podido realizarusando la aplicacion.De modo que para cada herramienta case analizada se creara la siguientetabla modelo donde se indicara el valor en puntos maximo de cada criteriosiendo la maxima nota final de 100 puntos.

    7

  • Criterio Comentario NotaRealizacion de diagramas Grado de completitud de los dia-

    gramas realizados.40

    Usabilidad Se puntuara, entre otras cosas,segun el tiempo total en el que serealicen los diagramas.

    20

    Soporte para MDA 10Idioma 5Ayuda Tambien se tiene en cuenta el id-

    ioma de la ayuda.5

    Licencia Todas son las aplicaciones anal-izadas son gratuitas.

    5

    Opciones de guardado/exportado Tipos de ficheros que lee y es-cribe.

    5

    Plataformas en las que se ejecuta Los sistemas operativos en los quefunciona la aplicacion.

    5

    Otros conceptos Caratersticas destacables notenidas en cuenta por el resto decriterios.

    5

    Total 100

    Tabla 1: Reparto de puntos.

    5.1 Diagramas para el test de realizacion de diagramas

    Diagramas de clase 1 Se ha agregado un numero determinado de metodos y atribu-

    tos(publicos y privados) para hacer el diagrama mas completo.

    Diagramas de estructura compuesta 2 Diagramas de componentes 3 Diagramas de despliegue 4 Diagramas de objetos 5 Diagramas de paquete 6

    8

  • Figura 1: Diagrama de clases. Tomada de [1], figura 19.10.

    9

  • Figura 2: Diagrama de estructura compuesta. Tomada de Wikipedia.org [7].

    Figura 3: Diagrama de componentes. Tomada de [2], figura 12.19.

    10

  • Figura 4: Diagrama de despliegue. Tomada de [1], figura 24.9.

    Figura 5: Diagrama de objetos. Tomada de [1], figura 9.5.

    11

  • Figura 6: Diagrama de paquete. Tomada de [1], figura 11.5.

    12

  • Figura 7: Diagrama de actividad. Tomada de [1], figura 15.8.

    Diagramas de actividad 7 Al diagrama inicial se le ha agregado un nodo fork y un nodo join.

    Diagramas de secuencia 8 Diagramas de comunicacion 9 Diagramas de vision de interaccion 10 Diagramas de tiempo 11 Diagramas de casos de uso 12

    13

  • Figura 8: Diagrama de secuencia. Tomada de [1], figura 12.17.

    Figura 9: Diagrama de comunicacion. Tomada de [1], figura 12.24.

    14

  • Figura 10: Diagrama de vision de interaccion. Tomada de [1], figura 15.16.

    Figura 11: Diagramas de tiempo. Tomada de [1], figura 20.14.

    15

  • Figura 12: Diagrama de casos de uso. Tomada de [1], figura 5.10.

    Al diagrama inicial se agregado dos actores que heredan del ya existentey un caso de uso que hace uso del estereotipo include

    Diagramas de maquina de estado 13

    16

  • Figura 13: Diagrama de maquina de estado. Tomada de [1], figura 22.13

    17

  • Figura 14: Impresion de pantalla del programa ArgoUML

    6 ArgoUML

    6.1 Informacion general

    Pagina web: http://argouml.tigris.org/ Version analizada: 0.34 Licencia: Eclipse Public License 1.0 Lenguaje: java Plataformas: Multiplataforma (Windows, Mac y Linux) Idioma: 12 idiomas disponibles, entre ellos el espanol. Notacion: UML 1.4, Java y C++ Dificultad de uso: media Usabilidad: tiene atajos de teclado, menus e iconos descriptivos, un

    buen aspecto general.

    18

  • Documentacion y soporte: Manuales y tutoriales muy completos, sepuede acceder desde el propio programa (tecla F1), en ingles. Buscandopor internet se puede encontrar una version del manual traducida alespanol con impresiones de pantalla en ruso.

    Tambien tienen disponible un foro para dudas. Opciones para Importar: zargo, uml y XML. Opciones para Exportar: PNG, GIF, JPG, SVG, EPS, XML. Documentacion del proyecto: permite documentar cada elemento de

    los diagramas, crear listas de tareas con prioridad y crear incidenciasde diseno.

    MDA: Java, C++, PHP5, python y C#. Opciones: permite cambiar los atajos de teclado, el idioma, el aspecto

    de la GUI entre otras cosas.

    Tipos de diagramas de UML 2 que soporta: Diagramas de clases

    Diagramas de maquina de estado

    Diagramas de casos de uso

    Diagramas de actividad

    Diagramas de despliegue

    Diagramas de secuencia

    Diagramas de paquete (dentro del diagrama de clase)

    6.2 Realizacion de diagramas

    Diagramas de clase Tiempo: 8:45

    Completado: 85%

    No tiene notacion abreviada para las interfaces.

    19

  • Aunque se pueda indicar la visibilidad de metodos y atributosestos no aparecen visibles en el diagrama.

    Diagramas de maquina de estado Tiempo: 10:41

    Completado: 75%

    Se ha tenido que crear manualmente el rectangulo que englobaal diagrama de la maquina de estado.

    Aunque se pueden crear maquinas de estado compuesto noaparecen con el icono correspondiente.

    Faltan algunos elementos como el pseudo estado de salida. Diagramas de casos de uso

    Tiempo: 3:21

    Completado: 90%

    Se ha tenido que crear manualmente el rectangulo que englobaa los casos de uso.

    No permite puntos de extension. Diagramas de actividad

    Tiempo: 4:41

    Completado: 50%

    No permite regiones de expansion, nodos de expansion, con-juntos de parametros.

    La gestion de excepciones y eventos no es intuitiva y no dibujalos iconos correspondientes.

    Diagramas de despliegue Tiempo: 7:01

    Completado: 70%

    No dibuja los estereotipos correctamente. No interpreta los estereotipos de los objetos.

    20

  • Diagramas de secuencia Tiempo: 10:32

    Completado: 20%

    No se visualiza el nombre de los metodos en las llamadascorrectamente si se modifica desde el dibujo del diagrama.

    No tiene icono de actor. Permite llamadas de destruccion y creacion pero no dibuja el

    icono correctamente ni el estereotipo.

    No permite fragmentos combinados ni operadores. Diagramas de paquete

    Tiempo: 7:04

    Completado: 60%

    No tiene el estereotipo merge. No se pueden mostrar las clases en formato de lista. No se muestran bien la visibilidad.

    21

  • 6.3 Evaluacion

    Comentario NotaRealizacion de diagramas 7/13 Diagramas 10/40Usabilidad Algunas veces no se visualizaban

    bien los adornos y se producanerrores al guardar.

    10/20

    Soporte para MDA Si, 5 lenguajes. 10/10Idioma 12 idiomas 5/5Ayuda Extensa y en ingles. 4/5Licencia No es compatible con GPL. 3/5Opciones de guardado/exportado PNG, GIF, JPG, SVG, EPS,

    XML5/5

    Plataformas en las que se ejecuta En las que se pueda instalar unamaquina virtual de java

    5/5

    Otros conceptos Soporta UML 1.4. Puedenocurrir errores al abrir/guardarproyectos y despues no permiteabrirlos de nuevo. No tienefuncion de deshacer.

    0/5

    Total 51/100

    Tabla 2: Reparto de puntuacion de ArgoUML.

    6.3.1 Conclusion

    Sera una buena aplicacion si continua el desarrollo, se eliminan los bugs, seanaden funcionalidades necesarias y soporte para UML 2. En general tienefallos y faltan cosas importantes.

    7 Open ModelSphere

    7.1 Informacion general

    Pagina web: http://www.modelsphere.org

    22

  • Figura 15: Impresion de pantalla del programa Open ModelSphere

    Version analizada: 3.2 Licencia: GPL Lenguaje: Java Plataformas: Multiplataforma (Windows, Linux y Solaris) Idioma: Ingles y frances. Notacion: UML 1 y 4 mas. Dificultad de uso: baja Usabilidad: menus e iconos descriptivos, interfaz grafica amigable y

    tiene atajos de teclado basicos.

    Documentacion y soporte: extensa documentacion para usuarios y de-sarrolladores en ingles.

    Opciones para Importar: XML y sms. Opciones para Exportar: XML y JPEG.

    23

  • Documentacion del proyecto: permite escribir una descripcion de loselementos de los diagramas.

    MDA: Java Opciones: permite modificar bastantes opciones pero no tiene atajos

    de teclado configurables.

    Tipos de diagramas UML 2 que soporta: Diagramas de clase

    Diagramas de componentes

    Diagramas de despliegue

    Diagramas de actividad

    Diagramas de secuencia

    Diagramas de casos de uso

    Diagramas de maquina de estado

    Diagramas de paquete (dentro del diagrama de clase)

    7.2 Realizacion de diagramas

    Diagramas de clase Tiempo: 5:25

    Completado: 90%

    No trae notacion de interfaz al estilo de clase. Sin posibilidad de especificar algunos tipos de relaciones.

    Diagramas de componentes Tiempo: 4:07

    Completado: 10%

    Diagramas de despliegue Tiempo: 4:51

    Completado: 40%

    24

  • Estereotipos introducidos manualmente. Sin posibilidad de usar las fechas adecuadas, las flechas de

    dibujo no tienen posibilidad de agregar estereotipos.

    No se han podido introducir los datos referentes a la especifi-cacion de despliegue.

    Diagramas de actividad Tiempo: 6:49

    Completado: 40%

    Faltan regiones interrumpibles, nodos de expansion, gestionde eventos, streaming, pins, nodo de tiempo, nodo de final deflujo.

    Diagramas de secuencia Tiempo: 3:29

    Completado: 20%

    No tiene fragmentos combinados y operadores. No tiene llamadas de destruccion/creacion.

    Diagramas de casos de uso Tiempo: 2:44

    Completado: 75%

    Solo permite poner estereotipos predefinidos por el programa. Solo permite poner un tipo de flecha y lnea.

    Diagramas de maquina de estado Tiempo: 3:20

    Completado: 40%

    Faltan los psudoestados. No se ha podido crear un marco que englobe al diagrama. No hay maquinas de estado compuesto.

    Diagramas de paquete

    25

  • Tiempo: 2:56

    Completado: 20%

    Solo permite crear paquetes (sin nada visible dentro) y unirloscon flechas sin estereotipos.

    26

  • 7.3 Evaluacion

    Comentario NotaRealizacion de diagramas 8/13 Diagramas 11/40Usabilidad Creacion de nuevos proyectos con

    wizard. Menus sencillos. Algunoselementos se dibujan detras deotros sin posibilidad de enviar-los al fondo, suele pasar con laslneas.

    15/20

    Soporte para MDA Solo Java 5/10Idioma No esta traducido al espanol. 3/5Ayuda Bastante completa. 4/5Licencia GPL 5/5Opciones de guardado/exportado Solo XML y JPEG 3/5Plataformas en las que se ejecuta 5/5Otros conceptos Permite comparar modelos.

    Tiene una shell de python y otrade SQL. Es bastante configurable.

    4/5

    Total 55/100

    Tabla 3: Reparto de puntuacion de Open ModelSphere.

    7.3.1 Conclusion

    Una buena aplicacion para hacer diagramas simples rapidamente. En el mo-mento que necesitas crear un diagrama mas complejo no tienes los elementosnecesarios para crear el diagrama y algunas flechas se te pueden quedar detrasde otros elementos de forma que no seran visibles.

    8 Modelio

    8.1 Informacion general

    Pagina web: http://www.modelio.org/

    27

  • Figura 16: Impresion de pantalla del programa Modelio

    Version analizada: 2.2.1 Licencia: GPL Lenguaje: Java y C++ Plataformas: Multiplataforma (Windows y Linux) Idioma: Ingles Notacion: UML 2 Dificultad de uso: Media Usabilidad: Interfaz intuitiva aunque algo saturada, iconos y menus

    adecuados.

    Documentacion y soporte: Tiene documentacion muy extensa en ingles.Tambien dispone de una guia para empezar y un foro para consultardudas.

    Opciones para Importar: ofpxm y XMI Opciones para Exportar: PNG, BMP, JPEG,GIF, XMI

    28

  • Documentacion del proyecto: Se pueden crear notas y descripciones. MDA: Java Opciones: tiene opciones sobre todo el estilo de los diagramas, el resto

    de opciones son bastante escasas. Permite instalar modulos para anadirfuncionalidades.

    Tipos de diagramas UML 2 que soporta: Diagramas de clase

    Diagramas de estructura compuesta

    Diagramas de despliegue

    Diagramas de objetos

    Diagramas de actividad

    Diagramas de secuencia

    Diagramas de comunicacion

    Diagramas de casos de uso

    Diagramas de maquina de estado

    Diagramas de paquete

    8.2 Realizacion de diagramas

    Diagramas de clase Tiempo: 6:34

    Completado: 95 %

    No sigue exactamente la notacion abreviada de UML 2 en lasrelaciones con las interfaces.

    Permite plantillas. Diagramas de estructura compuesta

    Tiempo: 8:53

    Completado: 100 %

    29

  • Hay que crear el diagrama de objetos con anterioridad parapoder crear el diagrama correctamente.

    Diagramas de despliegue Tiempo: 8:41

    Completado: 90%

    No muestra los estereotipos. Diagramas de objetos

    Tiempo: 3:08

    Completado: 80%

    Hay que tener creado el diagrama de clases con anterioridad. En los diagramas de objeto no se permite usar las clases as que

    no se puede utilizar el estereotipo Instantiate . Diagramas de actividad

    Tiempo: 9:51

    Completado: 100%

    Diagramas de secuencia Tiempo: 9:11

    Para crear los diagramas de secuencia correctamente se debecrear con anterioridad el diagrama de objetos correspondiente.El tiempo de creacion del diagrama de objetos no esta incluidoen el tiempo.

    Completado:85%

    No tiene icono de actor disponible en este tipo de diagramas. Muestra las llamadas de destruccion como un mensaje y no con

    un estereotipo destroy . Diagramas de comunicacion

    Tiempo: 8:35

    Completado: 85%

    30

  • No enumera los mensajes automaticamente. No permite poner el marco que engloba al diagrama. Hay que crear con anterioridad el diagrama de objetos corre-

    spondiente si se quiere hacer bien el diagrama.

    Diagramas de casos de uso Tiempo: 4:40

    Completado: 100%

    Diagramas de maquina de estado Tiempo: 10:56

    Completado: 90%

    No muestra el icono de estado compuesto. No se crea un marco que englobe al diagrama.

    Diagramas paquete Tiempo: 8:28

    Completado: 95%

    No permite mostrar las clases que conforma un paquete enformato de lista.

    8.3 Evaluacion

    8.3.1 Conclusion

    Una herramienta de modelado bastante completa y estable.De los diagramas que soporta permite la mayora de las opciones de UML 2,ademas es muy configurable y medianamente facil de usar.

    9 Papyrus

    9.1 Informacion general

    Pagina web: http://eclipse.org/papyrus/

    31

  • Comentario NotaRealizacion de diagramas 10/13 Diagramas. 28/40Usabilidad Muy facil de usar una vez sabes

    para que sirve cada panel. Notiene funcion de copiar y pegar el-ementos de diagramas.

    15/20

    Soporte para MDA Java(bastante completo) 4/10Idioma Ingles 3/5Ayuda Muy extensa y en ingles 4/5Licencia GPL 5/5Opciones de guardado/exportado imagenes, XML y ofpx 5/5Plataformas en las que se ejecuta Windows y Linux. 4/5Otros conceptos Sistema de modulos. Muchas op-

    ciones de visualizacion de diagra-mas.

    4/5

    Total 72/100

    Tabla 4: Reparto de puntuacion de Modelio.

    Version analizada: 1.12 Licencia: EPL Lenguaje: Java Plataformas: Multiplataforma (Windows y Linux) Idioma: Ingles Notacion: UML 2 Dificultad de uso: media alta Usabilidad: dispone de numerosas opciones para modificar cualquier

    aspecto relacionado con la usabilidad del programa. Los iconos y menustienen nombres adecuados aunque al principio la interfaz grafica puederesultar algo confusa.

    32

  • Figura 17: Impresion de pantalla del programa Papyrus

    Documentacion y soporte: ayuda accesible desde el propio programatanto para usuario como para desarrolladores. Hay tutoriales y un foropara preguntar dudas. Todo en ingles.

    Opciones para Importar: Proyectos o diagramas (di2) de Papyrus. Opciones para Exportar: Necesita de un plugin de eclipse, Image export

    [5], para guardar como imagenes los diagramas.

    Documentacion del proyecto: permite poner descripciones de todoslos elementos que utilicemos en un diagrama ademas de numerosasopciones.

    MDA: Se puede usando un plugin de eclipse llamado acceleo [4]. Opciones: Tiene multitud de opciones, tanto de personalizacion de la

    interfaz como de modificacion del aspecto de los diagramas.

    Tipos de diagramas UML 2 que soporta: Diagramas de clase

    Diagramas de estructura compuesta

    33

  • Diagramas de componentes

    Diagramas de despliegue

    Diagramas de secuencia

    Diagramas de casos de uso

    Diagrama de paquete

    9.2 Realizacion de diagramas

    Diagramas de clase Tiempo: 6:45

    Completado: 80%

    Notacion para la visibilidad de atributos y metodos un pocodiferente a la de UML 2.

    Faltan algunos tipos de relaciones. Diagramas de estructura compuesta

    Tiempo: 11:56

    Completado: 95%

    Los puertos solo se pueden anclar a las clases y solo los slotspueden estar dentro de una especificaciones de instancia.

    Diagramas de componentes Tiempo: 5:36

    Completado: 70%

    Faltan conectores (conector de delegacion y conector de en-samblado).

    Diagramas de despliegue Tiempo: 10:08

    Completado: 90%

    Para poder poner los tipos se ha tenido que hacer previamentelas clases y casos de uso necesarios no incluidos en el tiempo.

    34

  • Algunos estereotipos hay que escribirlos en el nombre del el-emento.

    Diagramas de secuencia Tiempo: 8:22

    Completado: 80%

    Los fragmentos combinados no se fijan adecuadamente y no sepueden dividir en varias fragmentos aunque existe algo paraello no funciona.

    Diagramas de casos de uso Tiempo: 4:00

    Completado: 100%

    Diagramas paquete Tiempo: 7:41

    Completado: 50%

    No tiene estereotipos para las dependencias. No muestra la visibilidad de los elementos.

    9.3 Evaluacion

    9.3.1 Conclusion

    Pese a tener fallos es una herramienta de modelado bastante completa paralos diagramas que permite crear y aunque en principio no soporte MDA niexportado de imagenes con algunos plugins se puede conseguir.

    10 StarUML

    10.1 Informacion general

    Pagina web: http://staruml.sourceforge.net/en/ Version analizada: 5.0.2

    35

  • Comentario NotaRealizacion de diagramas 8/13 Diagramas 18/40Usabilidad Es algo dificil al principio. Tiene

    algunos menus un poco escondi-dos. Las lneas de las relacionesno se fijan de un modo correcto.

    10/20

    Soporte para MDA Con un plugin es posible. 1/10Idioma Ingles 3/5Ayuda Muy extensa, con tutoriales y

    videotutoriales, manuales y foropara consultar dudas.

    4/5

    Licencia No es compatible con la licenciaGPL

    3/5

    Opciones de guardado/exportado Con un plugin se pueden exportarlos diagramas a imagenes

    1/5

    Plataformas en las que se ejecuta Multiplataforma (Windows yLinux)

    4/5

    Otros conceptos Permite colaboracion. Soportepara OCL.

    5/5

    Total 49/100

    Tabla 5: Reparto de puntuacion de Papyrus.

    Licencia: GPL Lenguaje: Delphi Plataformas: Windows Idioma: Ingles Notacion: UML 2 y cuatro mas. Dificultad de uso: baja Usabilidad: tiene una interfaz bastante intuitiva y directa. Los iconos

    y menus son correctos. Permite hacer busquedas de elementos en dia-gramas y tiene algunos atajos de teclado.

    36

  • Figura 18: Impresion de pantalla del programa StarUML

    Permite copiar y pegar elementos de diagramas. Interpreta la notacion de estereotipos y de objetos Edicion de nombres de elementos sobre el propio diagrama. Documentacion y soporte: existen manuales en cuatro idiomas (no en

    espanol), foros para consultar dudas, libros y ayuda oine.

    Opciones para Importar: mdl y ptl de rational rose, mfg, y xml. Opciones para Exportar: XML, JPEG, BMP, EMF y WMF. Documentacion del proyecto: Permite escribir una descripcion de cada

    elemento de un diagrama y modelo.

    MDA: Java, C++ y c# Opciones: da la posibilidad de modificar los parametros del editor, los

    diagramas y la generacion de codigo fuente.

    Tipos de diagramas UML 2 que soporta: (9/13) Diagramas de clase

    37

  • Diagramas de estructura compuesta

    Diagramas de componentes

    Diagramas de despliegue

    Diagramas de objetos (dentro de los diagramas de clase)

    Diagramas de actividad

    Diagramas de secuencia

    Diagramas de casos de uso

    Diagramas de maquina de estado

    Diagramas de paquete (dentro de los diagramas de clase)

    10.2 Realizacion de diagramas

    Diagramas de clase Tiempo: 3:29

    Completado: 100%

    Diagramas de estructura compuesta Tiempo: 5:17

    Completado: 90%

    No permite poner cardinalidades. Diagramas de componentes

    Tiempo: 9:25

    Completado: 95%

    No se permite poner cierto tipo de relaciones. Diagramas de despliegue

    Tiempo: 5:58

    Completado: 90%

    No permite poner los atributos en forma de lista a un arte-facto.

    38

  • Diagramas de objetos Tiempo: 2:40

    Completado: 100%

    Diagramas de actividad Tiempo: 4:31

    Completado: 70%

    No tiene soporte para pins ni conjunto de parametros. No permite crear una caja que englobe al diagrama.

    Diagramas de secuencia Tiempo: 7:10

    Completado: 90%

    No permite mover los guardas de su lugar inicial. No tiene el icono de un actor disponible para este diagrama.

    Diagramas de casos de uso Tiempo: 2:17

    Completado: 95%

    No permite poner puntos de extension. Diagramas de maquina de estado

    Tiempo: 8:38

    Completado: 95%

    No se puede dibujar un rectangulo que englobe al diagrama. Diagramas de paquete

    Tiempo: 6:33

    Completado: 50%

    No muestra la visibilidad. No se muestran las clases que pertenece a un paquete.

    10.3 Evaluacion

    39

  • Comentario NotaRealizacion de diagramas 10/13 31/40Usabilidad Permite copiar y pegar elementos

    de diagramas. Edicion de nom-bres de elementos sobre el propiodiagrama.

    19/20

    Soporte para MDA 3 lenguajes 8/10Idioma No esta traducido al espanol 3/5Ayuda Muy completa. 4/5Licencia GPL 5/5Opciones de guardado/exportado Permite bastantes formatos, pero

    no png.4/5

    Plataformas en las que se ejecuta Solo Windows 2/5Otros conceptos Permite hacer busquedas en los

    diagramas. Muy configurable.Permite anadir archivos adjuntoslos elementos de un diagrama y aldiagrama para documentacion.

    5/5

    Total 81/100

    Tabla 6: Reparto de puntuacion de StarUML.

    10.3.1 Conclusion

    Permite realizar la mayora de tipos de diagramas UML 2 y con casi todaslas posibilidades en los elementos sin dificultad.El aspecto mas negativo que tiene es que solo esta disponible para sistemasoperativos Windows.

    40

  • 11

    Tabla

    com

    para

    tiva

    resu

    men

    Arg

    oUM

    LO

    pen

    Model

    Spher

    eM

    odel

    ioP

    apyru

    sSta

    rUM

    LD

    iagr

    amas

    7/13

    8/13

    10/1

    38/

    1310

    /13

    Not

    acio

    nU

    ML

    1.4

    yot

    ras

    UM

    L1

    yot

    ras

    UM

    L2

    UM

    L2

    UM

    L2

    yot

    ras

    MD

    ASi

    Si

    Si

    Con

    plu

    gins

    Si

    OC

    LSi

    No

    No

    Si

    Si

    Pla

    tafo

    rmas

    Mult

    ipla

    tafo

    rma

    Mult

    ipla

    tafo

    rma

    Mult

    ipla

    tafo

    rma

    Mult

    ipla

    tafo

    rma

    Win

    dow

    sId

    iom

    asE

    span

    oly

    otro

    sIn

    gles

    yot

    ros

    Ingl

    esIn

    gles

    Ingl

    esU

    sabilid

    adM

    edia

    Med

    iaM

    edia

    alta

    Med

    iaba

    jaA

    lta

    Exp

    orta

    Imag

    enes

    yX

    ML

    JP

    EG

    yX

    ML

    Imag

    enes

    yX

    ML

    Su

    por

    pio

    form

    ato

    Imag

    enes

    yX

    ML

    Lic

    enci

    aE

    PL

    GP

    LG

    PL

    EP

    LG

    PL

    Puntu

    acio

    n51

    /100

    55/1

    0072

    /100

    49/1

    0081

    /100

    Tab

    la7:

    Com

    par

    ativ

    are

    sum

    en.

    41

  • 11.1 Conclusion final

    Dependiendo de las necesidades del proyecto se debera elegir una aplicacionu otra, por ejemplo, si el proyecto se debe hacer en java sera convenienteelegir una aplicacion que soporte MDA para java.Un aspecto bastante importante, dificil de medir y que hay que tener siempreen cuenta es la usabilidad [15], permite un rapido aprendizaje y desarrollo.En general las aplicaciones analizadas no han sido demasiado dificiles de usarpara hacer diagramas basicos.Respecto al soporte de diagramas se puede ver en la tabla resumen 7 ningunade las aplicaciones analizadas soporta los 13 tipos de diagramas de UML 2 yen algunos casos se soporta el diagrama en concreto pero solo permite usarelementos basicos del diagrama.Entre las cinco herramientas CASE analizadas destacan StarUML y Mod-elio por su facilidad uso y su soporte para la mayora de de diagramas deUML 2 siendo sus caractersticas perfectamente comparables con las de otrasaplicaciones comerciales.

    42

  • Bibliografa

    [1] UML 2 and the Unified Process, Jim Arlow, Ila Neustadt, Addison-Wesley, 2005, ISBN 0321321278

    [2] Learning UML 2.0, Kim Hamilton, Russell Miles, O-Reilly, 2006, ISBN0596009828

    [3] Categoras de software libre y software que no es libre (2013),GNU, http://www.gnu.org/philosophy/categories.es.html [Consultado:26/01/2013]

    [4] Acceleo home (2012), Acceleo, http://www.acceleo.org/pages/home/en[Consultado: 12/01/2012]

    [5] FAQ - How can I export a diagram from Papyrus? (2008), Papyrus,http://bit.ly/XGSDei [Consultado: 12/01/2012]

    [6] Herramientas CASE (2013), Wikipedia,http://es.wikipedia.org/wiki/Herramientas CASE [Consultado:12/01/2013]

    [7] Composite structure diagram (2012), Wikipedia,http://en.wikipedia.org/wiki/Composite structure diagram [Consul-tado: 13/01/213]

    [8] Eclipse Public License (2012), Wikipedia,http://es.wikipedia.org/wiki/Eclipse Public License [Consultado:12/01/2013]

    [9] GNU General Public License (2013), Wikipedia,http://es.wikipedia.org/wiki/GPL [Consultado: 12/01/2013]

    [10] Apache License (2012), Wikipedia, http://es.wikipedia.org/wiki/Licencia Apache[Consultado: 12/01/2013]

    [11] List of Unified Modeling Language tools (2013), Wikipedia,http://en.wikipedia.org/wiki/List of UML tools [Consultado:12/01/2013]

    43

  • [12] Anexo:Comparacion de licencias de software libre (2012),http://es.wikipedia.org/wiki/Anexo:Comparaci%C3%B3n de licencias de software libre[Consultado: 17/01/2013]

    [13] Codigo abierto (2012), Wikipedia, http://es.wikipedia.org/wiki/Open-source [Consultado: 26/01/2013]

    [14] Lenguaje Unificado de Modelado (2013), Wikipedia,http://es.wikipedia.org/wiki/UML [Consultado: 12/01/2013]

    [15] Usabilidad (2013), Wikipedia, http://es.wikipedia.org/wiki/Usabilidad[Consultado: 12/01/2013]

    44

    IntroduccinUMLAplicaciones de escritorioAplicaciones web

    Criterio de seleccin de aplicacionesLista de aplicaciones seleccionadasCriterios tenidos en cuenta para la evaluacinMetodologa de evaluacinDiagramas para el test de realizacin de diagramas

    ArgoUMLInformacin generalRealizacin de diagramasEvaluacinConclusin

    Open ModelSphereInformacin generalRealizacin de diagramasEvaluacinConclusin

    ModelioInformacin generalRealizacin de diagramasEvaluacinConclusin

    PapyrusInformacin generalRealizacin de diagramasEvaluacinConclusin

    StarUMLInformacin generalRealizacin de diagramasEvaluacinConclusin

    Tabla comparativa resumenConclusin final