lunes, 21 de noviembre de 2011

Evaluación comparativa de herramientas CASE para UML desde el punto de vista notacional

Desde que UML (Unified Modeling Language) se ha establecido como un estándar de facto para el modelado orientado a objetos de sistemas informáticos, multitud de empresas se han lanzado a la carrera de conquistar el mercado de herramientas de apoyo a la ingeniería del software.

Al realizar este tipo de búsqueda sobre herramientas CASE podemos encontrar varios resultados en el que destacan los que proporciona Objects by Design en el cual se detallan las siguientes características:

Ø  Empresa
Ø  Producto
Ø  Versión y fecha
Ø  Plataforma (Windows, Java VM, Linux,
Ø  Unix, etc.).
Ø  Precio (desde $0 hasta $10.000).

El simple examen de estas características se revela insuficiente para fundamentar una elección acertada, ya que lamentablemente con demasiada frecuencia las promesas del fabricante resultan incumplidas en el producto real.

UML es un lenguaje visual de modelado para "visualizar, especificar, construir y documentar los artefactos de un sistema software", UML es ante todo un lenguaje gráfico que estandariza la forma de crear diagramas, el significado preciso de los mismos, y las relaciones existentes entre ellos.

Lo primero que podemos esperar de una herramienta es que facilite la tarea de dibujar diagramas, su corrección sintáctica, y la coherencia entre los distintos diagramas. Esto se ve obstaculizado debido al estándar que presenta UML el cual presenta todavía de ciertas inconsistencias.

Herramientas UML

La popularidad que ha ido adquiriendo el modelado de sistemas software con diagramas UML se encuentra vinculada a la existencia de herramientas CASE para UML que faciliten su gestión. Estas herramientas se pueden clasificar siguiendo los criterios como lo son: gráfica, sintáctica, semántica.

ü  Herramientas Gráficas

Las herramientas meramente gráficas son aquéllas que proporcionan algún tipo de ayuda para dibujar diagramas UML (como plantillas de formas predefinidas, etc.), de modo que resultan algo más convenientes que otras herramientas genéricas de dibujo. El problema es que no imponen prácticamente ningún tipo de restricción en lo que el usuario puede dibujar, de modo que se facilita la construcción de diagramas UML, pero no se garantiza en absoluto su corrección sintáctica.

ü  Herramientas Sintácticas

Las herramientas sintácticas son aquéllas que, en general, sólo permiten dibujar diagramas correctos según las reglas notacionales de UML. No obstante, en general estas herramientas no construyen internamente un modelo a la vez que los diagramas que lo expresan, de modo que los diagramas quedan desconectados unos de otros: de alguna manera, son diagramas correctos pero sin significado, sin un referente común.

ü  Herramientas Semánticas

Aquellas que tratan de garantizar la construcción de un modelo que esté correctamente expresado en diagramas que además sean coherentes entre sí.

Ciertamente, existen otras capacidades que habitualmente el usuario final espera encontrar en la herramienta buscada, de modo que tenga utilidad real en su entorno de producción.

Ø  Integración con herramientas ofimáticas
Ø  Posibilidad de trabajo multiusuario
Ø  Exportación en formato XMI
Ø  Integración dentro del entero proceso de desarrollo de software, desde la obtención de requisitos de usuario hasta la generación automática de código
Ø  Reutilización de todo tipo de artefactos software

Las herramientas CASE para MDA (llamadas Model Driven Architecture Tools) contemplan una nueva filosofía de desarrollo de sistemas software donde la utilización de modelos y su transformación constituyen el núcleo central.

Estudio Comparativo Inicial

El método consiste básicamente en formular una serie de cuestiones sobre la fidelidad de las herramientas a la notación de UML, y contabilizar el número de respuestas afirmativas y negativas obtenidas por cada herramienta. El método seguido para encontrar un conjunto de preguntas relevantes ha sido el siguiente:

·         Se selecciona un conjunto de diagramas significativos, ordenados por tipo de diagrama, que reflejen la totalidad de la notación de UML.
·         Se intenta representar estos diagramas utilizando las herramientas seleccionadas.
·         Cuando se detecta algún problema con una herramienta concreta, se formula de modo sintético la pregunta correspondiente y se anota la respuesta negativa proporcionada por esta herramienta.
·         La misma pregunta se plantea a las demás herramientas, de modo que se pueda establecer la comparación entre ellas.
·         Finalmente, se recopila en una tabla la lista de preguntas con las correspondientes respuestas afirmativas o negativas proporcionadas por todas las herramientas.

Estudio comparativo mejorado

En lugar de responder a cada pregunta meramente con Sí o No, anotamos cuatro posibles respuestas:

N: la herramienta no puede representar la característica especificada.
G: se puede representar gráficamente la característica especificada, pero ésta no queda registrada en el modelo subyacente.
M: no se puede representar gráficamente la característica especificada, pero sí es posible hacerlo en el modelo subyacente.
S: la herramienta sí puede representar la característica especificada, tanto de modo gráfico como en el modelo subyacente.

Valoración final y resultados

Las trece herramientas evaluadas pueden agruparse en tres secciones. Cuatro de ellas destacan como "las mejores": seCAKE, Enterprise Architect, Visio 2003 Professional y, muy especialmente, MagicDraw. Podemos distinguir también la sección de "las peores", con las tres herramientas que han obtenido la menor puntuación, habiendo una diferencia significativa respecto a la siguiente en la clasificación: Rational Rose, Visible Analyst y Argo UML.

Dadas las limitaciones de espacio, no es posible incluir aquí esta lista de preguntas, pero el lector interesado puede consultar la lista completa, así como las respuestas obtenidas con cada herramienta, en el informe complementario. Las preguntas aparecen clasificadas en seis categorías, correspondientes a seis tipos de diagrama (Estructura, Casos de uso, Interacción, Estados, Actividad, Implementación).

Trabajos futuros y conclusiones

Naturalmente, cuando las herramientas comerciales empiecen a adaptarse a la nueva versión 2.0 del estándar de UML, habrá que reformular la lista de criterios obtenidos y repetir las evaluaciones para las nuevas versiones de las herramientas ya estudiadas.
Otra posible mejora sería dar mayor peso a unos criterios que a otros en la evaluación global. Por último, podemos concluir que la fidelidad a la notación estándar de UML no lo es todo en la tarea de seleccionar una herramienta CASE, pero parece ser un aspecto sorprendentemente descuidado por bastantes herramientas, algunas de ellas con una notoria implantación en el mercado.

Fuentes: 

Gonzalo Génova Fuster, José Miguel Fuentes Torres, María Cruz Valiente Blázquez (mayo-junio 2006). Tecnología de Objetos secciones técnicas. Evaluación comparativa de herramientas CASE para UML desde el punto de vista notacional  Obtenido en Octubre, 2011, de Depto. de Informática, Universidad Carlos III de Madrid

No hay comentarios:

Publicar un comentario