Comparación de Herramientas de modelado UML: Enterprise Architect y Rational Rose

Si bien el estudio que se presenta a continuación no está basado sobre las actuales versiones de los productos mencionados, refleja las políticas de presentación y costos presentadas por ambas empresas (Sparx Systems y Rational - IBM) , y es por eso  que éste documento sigue manteniendo vigencia brindando información potencial a la hora de decidir que producto adquirir.

Dr. Jie Zhao, Dunstan Thomas Consulting - http://consulting.dthomas.co.uk

Desde la publicación oficial del UML a fines de 1997, la cantidad de las herramientas comerciales para el modelado con UML se incrementó dramáticamente. Esto nos provee más alternativas al mismo tiempo que nos exige realizar más investigación para seleccionar la herramienta de modelado UML que responda mejor a nuestros requisitos de negocio y desarrollo de software de aplicación y permite lograr el mejor retorno de la inversión. En este artículo compararemos dos de las herramientas CASE:  Enterprise Architect (EA) Professional Edition V.3.51 de Sparx Systems y Rational Rose Enterprise V.2002 de Rational, IBM, al considerar sus capacidades de modelado, características de ingeniería de código y soporte del ciclo de vida de los proyectos.

Porqué deberíamos usar herramientas CASE de modelado con UML

A medida que los sistemas que hoy se construyen se tornan más y más complejos, las herramientas de modelado con UML ofrecen muchos beneficios para todos los involucrados en un proyecto, por ejemplo, administrador del proyecto, analistas, arquitectos, desarrolladores y otros. Las herramientas CASE de modelado con UML nos permiten aplicar la metodología de análisis y diseño orientados a objetos y abstraernos del código fuente, en un nivel donde la arquitectura y el diseño se tornan más obvios y más fáciles de entender y modificar. Cuanto más grande es un proyecto, es más importante utilizar una herramienta CASE. Al usar las herramientas CASE:

Los Analistas de Negocio/ Sistemas pueden capturar los requisitos del negocio/sistema con un modelo de casos de uso

Los Diseñadores/Arquitectos pueden producir el modelo de diseño para articular la interacción entre los objetos o los subsistemas de la misma o de diferentes capas (los diagramas UML típicos que se crean son los de clases y los de interacción)

Los Desarrolladores pueden transformar rápidamente los modelos en una aplicación funcionando, y buscar un subconjunto de clases y métodos y asimilar el entendimiento de cómo lograr interfaces con ellos.

El modelo actúa como el plano y guiará finalmente la construcción del sistema. De manera semejante, la administración es capaz de ver, puntualmente y desde un alto nivel, una representación del diseño y comprender lo que está sucediendo.

Por estas razones, las herramientas CASE de UML acompañadas con metodologías, nos brindan una forma de representar sistemas demasiados complejos para comprenderlos a través de su código fuente subyacente y nos permiten desarrollar la solución de software correcta más rápido y más económicamente.

Sin embargo, las herramientas CASE varían con respecto a las capacidades de modelado con UML, el soporte del ciclo de vida del proyecto, las ingenierías directa y reversa, el modelado de datos, la performance, el precio, el soporte, la facilidad de uso, etc.

Este artículo explorará las concordancias y las diferencias entre Rose y EA en áreas tales como el modelado con UML, el soporte del ciclo de vida del proyecto y la ingeniería de código, y espera asistirlo para elegir la herramienta correcta para su proyecto.

Características de modelado con UML

El UML estándar está compuesto por tres partes: bloques de construcción (tales como clases, objetos, mensajes), relaciones entre los bloques (tales como asociación, generalización) y diagramas (por ejemplo, diagrama de actividad). Los perfiles del UML son las extensiones a las notaciones estándares del UML usando los mecanismos de extensión del UML: los estereotipos, los valores etiquetados y las restricciones.

EA Professional Edition V.3.51 y Rose Enterprise V.2002.05 son compatibles con el UML 1.4 y soportan ocho de los nueve diagramas estándares del UML: diagrama de casos de uso, de clases, de secuencia, de colaboración, de actividad, de estados, de implementación (componentes), de despliegue y varios perfiles del UML. Si fuera necesario, el diagrama de objetos se puede crear usando los diagramas de colaboración.

Las diferencias existen solamente con relación al soporte de una característica específica durante la creación de los diagramas UML (Tabla 1) y los perfiles extendidos del UML.

Diagrama UML   Función EA Rose
Casos de Uso Crear un límite para representar el alcance Si No. Pero hay algunas aproximaciones usando notas o paquetes.

Secuencia

Colaboración

Generar el diagrama de secuencia o de colaboración a partir del otro No Si
Secuencia Cambiar el alcance de un mensaje Si No
Secuencia Mostrar los números jerárquicos de los mensajes No Si
Secuencia Crear ramificación de mensajes Si No

Secuencia

Colaboración

Crear los objetos en el explorador Si No
Secuencia Manejar el foco de control Fácil Difícil
Todos Propiedades del diagrama Si No

Tabla 1. Modelado de Diagramas UML en EA y en Rose

Enterprise Architect tiene un mecanismo de perfil UML genérico para cargar y trabajar con diferentes perfiles UML. En Enterprise Architect, estos perfiles se especifican en archivos XML con un formato específico. Rational Rose requiere crear un add-in para cada perfil específico. La Tabla 2 muestra algunos de los perfiles UML disponibles en EA y Rose.

Perfil EA Rose
Modelado de Procesos de Negocio Si. Soporta las extensiones de modelado de procesos de negocio de Eriksson-Penker No. Se usan los diagramas de actividad
Modelado de Negocio No Si
Modelado de Datos Si Si
Modelado de la Interfaz de Usuario Si No
Modelado Web Si Si
Esquema XSD Si No
XML DTD No Si

Tabla 2.Perfiles UML en EA y en Rose

Ingeniería de Código

La ingeniería de código consiste en la ingeniería directa -desde el modelo al código- y en la ingeniería reversa -desde el código al modelo-. Una vez que se completa el diseño (los modelos de diseño y de datos) se puede usar la información del modelo para generar el código fuente en un lenguaje de programación especifico o los scripts DDL para una base de datos.

A medida que los desarrolladores agregan o modifican el código o la implementación de la base de datos, se pueden sincronizar el diseño y el modelo de datos con el código o con el script DDL para mantenerlos consistentes entre sí. La Tabla 3 muestra las características de ingeniería de código en EA y en Rose.

Lenguaje EA Rose
ANSI C++ Si Si
Visual C++ No Si
Visual Basic 6 Si Si
Java Si Si
C#> Si No
VB.NET Si No
Delphi Si No. Add-in de terceras partes: http://www.ensemblesystems.com /RoseDelphiLink.html
J2EE/EJB No Si
CORBA No Si
Ada 83, Ada 95 No Si
Bases de datos Si. Ingeniería directa desde el modelo de datos al script DDL. La ingeniería reversa usa la fuente de datos ODBC Si. DB2, Oracle, SQL 92, SQL Server, Sybase
COM No Si. Solamente ingeniería reversa
Aplicaciones Web No Si

Tabla 3. Ingeniería de código en EA y en Rose

La forma en la que EA trabaja es generando los archivos de código fuente de las clases para aquellas que correspondan al mismo paquete. Rational Rose está más relacionado a un proyecto en VC++ o VB. También, Rational Rose habilita asistentes para crear clases y provee plantillas de código que pueden aumentar significativamente la cantidad de código fuente generado. Adicionalmente, se pueden aplicar los patrones de diseño en EA y en Rose. Al utilizar EA, el usuario tiene que crear los patrones, mientras que Rose ha provisto 20 de los patrones de diseño GOF para Java.

Soporte del Ciclo de Vida del Proyecto

Las herramientas CASE deberían apoyar todos los miembros del equipo en el desarrollo de sus tareas. En cuanto al soporte del ciclo de vida del proyecto, EA ha incorporado una gran cantidad de características, mientras que Rose es principalmente una herramienta de modelado y se puede integrar con otras herramientas de Rational o de terceras partes, tales como RequisitePro, Test Manager, SoDA, MS Word, MS Project, para lograr los mismos objetivos. La Tabla 4 compara las características que tienen EA y Rose en el soporte de diferentes disciplinas.

Disciplina de Proyecto EA Rose
Modelado de Negocio Si. Usando perfiles de UML para el modelado de procesos de negocio Si. Usando el modelo de casos de uso de negocio
Administración de Requisitos Si. Requisitos funcionales y no funcionales; matriz de trazabilidad de requisitos. Junto con RequisitePro.
Análisis y Diseño Si. Diagramas UML de clases y de interacción. Requiere agregar algunos estereotipos como <<layer>> o <<use case realization>> si se necesitan. Si se usa la vista 4+1 hay que modificar la plantilla Si. Diagramas UML de clases y de interacción. El asistente de frameworks provee una gran cantidad de plantillas para estructurar el modelo
Implementación Consultar la Tabla 3. Es adecuada para proyectos C++, VB, C# y VB.NET Consultar la Tabla 3. Soporta la mayoría de loslenguajes excepto .NET
Prueba Si No. Se provee Quality Architect para pruebas unitarias, pero requiere otras herramientas Rational, tales como Test Manager y Robot.
Control de Versiones No lo soporta directamente. Aproximación: usar unidad controlada. Está planificada para futuras versiones. Integrado con la aplicación de control de versiones compatible con SCC.
Administración del Proyecto Administración de Riesgos - Asignación de Recursos - Estimación del Proyecto No
Publicación Web Si Si
Documentación Si No. Requiere el uso de SoDA
Múltiples Usuarios Concurrentes Si Si

 Tabla 4. Soporte del Ciclo de Vida del Proyecto en EA y en Rose

Conclusión

En general, EA y Rational Rose poseen características semejantes en cuanto a las capacidades de modelado con UML. Ambas soportan ocho de ocho de los nueve diagramas del UML. A partir de la Tabla 1 se puede ver que EA es más amigable para el usuario y más flexible que Rose, particularmente en el diagrama de secuencias. En cuanto a la ingeniería de código, Rose soporta más lenguajes con excepción de C# y VB.NET, a los que soporta EA (de hecho, Rational ha desarrollado otra herramienta; Rational XDE for .NET, para apuntar al ambiente .NET). El soporte para el ciclo de vida del proyecto que se muestra en la Tabla 4 ilustra que EA es una mejor alternativa que Rose. Aunque se pueden comprar otras herramientas para complementar a Rose, el costo involucrado no siempre hará de ésta una solución aceptable para todas las empresas con excepción de las más grandes. No obstante, no hacen falta otras características específicas que no vengan con las herramientas y el soporte de terceras partes para las herramientas puede ser un factor importante. Aquí, Rational Rose posee actualmente un soporte mucho más amplio.

Finalmente, habiendo comparado una gran cantidad de características una por una, ¿existe una diferencia en el costo? Si, ¡una muy importante! Solamente Rose cuesta alrededor de 28 veces más que EA. Si Ud. necesita un ciclo de vida del proyecto comparable de las dos herramientas, y si es usuario de Rose también necesitará comprar muchas de las herramientas que usualmente vienen integradas con los productos de la Suite de Rational, por ejemplo, RequisitePro, SoDA, Test Manager, etc. Mientras estas herramientas adicionales juntas proveen una funcionalidad considerablemente más rica que la equivalente en EA, las características básicas de EA son suficientes la mayoría de las veces. En el momento de escribir este artículo, la versión Corporate de EA (su versión más amplia con el repositorio en SQL) tiene un costo de u$s 179 (£ 111.58) mientras que la edición Enterprise de Rational Rose cuesta $ 1962 (£ 3140) y la Suite Developer cuesta u$s 3506 (£ 5610).

Creado: 2005-06-15 06:06:39  Autor: Apexnet

| Volver a |