Mejoras para los diagramas de secuencia en IBM Rational Software Architect y IBM Rational Software Modeler

Rational Software Architect for WebSphere Software, Rational Software Architect Standard Edition y Rational Software Modeler 7.0.5

El presente artículo describe las mejoras para el editor de diagramas de secuencia en la Versión 7.0.5 de IBM®Rational®Software Architect for WebSphere®Software, IBM®Rational®Software Architect Standard Edition e IBM®Rational®Software Modeler, que facilitan la edición y la modificación de diagramas. Asimismo, la introducción de conjuntos de mensajes y un soporte para operaciones heredadas del clasificador brindan un mejor control de edición de mensajes y líneas de vida.

Darren Coffin, Desarrollador de verificación de software, IBM

Darren Coffin trabaja en el área de verificación de software de herramientas de modelado en IBM Rational desde 1999. Ha desarrollado una amplia labor realizando numerosas pruebas de diagramas y características de modelado. Es graduado en Estudios de Computación y Estudios de Recursos Ambientales de la Trent University.



Michael Hanner, Gerente de desarrollo de software, IBM

Cuando Michael Hanner se incorporó a IBM en el año 2002, contaba con más de 15 años de experiencia en la industria del software. Actualmente se desempeña como jefe de desarrollo de productos de Rational Software Modeler, y entre sus responsabilidades se incluyen las plataformas de modelado UML y de dominio, así como el modelado de proyectos de código abierto, tales como EMF, GEF, GMF y UML.



Tao Weng, Desarrollador de software, IBM

Tao Weng trabaja en el equipo de modelado de IBM Rational desde el año 2004 y se destaca por sus conocimientos de combinación de modelos y de diagramas de UML. Es el desarrollador clave de los diagramas de secuencia y está a cargo de otras características del producto.



21-04-2009

El presente artículo contiene información acerca de las mejoras efectuadas en el editor de diagramas de secuencia en la Versión 7.0.5 de IBM®Rational®Software Architect for WebSphere®Software, IBM®Rational®Software Architect Standard Edition e IBM®Rational®Software Modeler (en adelante, "los productos Rational"). Las mejoras clave consisten en la capacidad de mover y de reordenar mensajes y líneas de vida. Además, en este artículo se explica un sencillo método para configurar operaciones heredadas del clasificador para mensajes.

Sin la posibilidad de reordenar mensajes y líneas de vida dentro del editor de diagramas de secuencia, el usuario se vería obligado a redibujar de manera repetitiva (eliminar y recrear) los elementos existentes del diagrama de secuencia para simular operaciones de reorganización. Por ejemplo, para reordenar el mensaje 1 debajo del mensaje 2, sería necesario eliminar el mensaje 1 y luego recrear ese mismo mensaje 1 debajo del mensaje 2. Un problema similar ocurriría en el caso de las líneas de vida.

La operación de reorganización de mensajes y líneas de vida da una solución para este problema. Ahora el editor de diagramas de secuencia tiene dos modos de selección: el predeterminado es el modo mover, y el otro, el modo reordenar. El procedimiento para arrastrar y colocar los mensajes seleccionados difiere según el modo utilizado. La operación de reordenación cambia el orden de los elementos del diagrama de secuencia (cambios semánticos), mientras que la operación mover solo cambia el tamaño del espacio entre los elementos del diagrama de secuencia (desde el punto de vista semántico, el diagrama de secuencia permanece igual).

En la nueva versión, la capacidad de configurar operaciones heredadas del clasificador para mensajes resulta más fácil y más conveniente. Si la línea de vida de destino representa un clasificador, el editor de diagramas de secuencia permite seleccionar operaciones heredadas o de propiedad para el mensaje en cuestión. Las versiones anteriores del editor de diagramas de secuencia solo permitían seleccionar operaciones de propiedad del clasificador. Si el usuario deseaba seleccionar operaciones heredadas, tenía que hacerlo desde la página de Propiedades avanzadas de un evento de mensaje, lo cual es extremadamente complicado y difícil de usar. La selección de operaciones heredadas del clasificador representa un flujo de trabajo más corriente.

Reorganización de mensajes

La capacidad de alterar el orden en que los mensajes aparecen en un diagrama de secuencia ha mejorado, lo cual facilita su colocación en el orden deseado. Durante una operación de reorganización, se tomarán en cuenta todos los elementos del diagrama, y no simplemente aquellos visibles en la pantalla.

Conjunto de mensajes

Un conjunto de mensajes es una serie de mensajes que deben ser tratados en conjunto, como una unidad atómica, durante una operación de reordenación. Todo aquello que efectivamente constituye un conjunto de mensajes válido está definido por las reglas de recopilación de conjuntos de mensajes. Estas reglas son contextuales. Sobre la base de la selección del usuario, se desencadenarán diferentes reglas de recopilación de conjuntos de mensajes y se encontrarán diferentes conjuntos de mensajes.

Reorganización de conjuntos de mensajes existentes

En un contexto de reorganización, a menudo resulta conveniente reordenar todo el conjunto de mensajes como una unidad a efectos de preservar el orden dentro del conjunto. Para modificar el orden de un conjunto de mensajes, siga estos pasos:

  1. Seleccione el conjunto de mensajes. Haga clic con el botón derecho en el primer mensaje del conjunto y seleccione Conjunto de mensajes/reorganización (espacio) como se indica en la Figura 1 (otra posibilidad es usar Alt+clic izquierdo en el primer mensaje del conjunto). El conjunto de mensajes quedará resaltado en azul a los efectos de su vista previa. El usuario visualiza lo que se va a reordenar, y el editor de diagramas de secuencia queda en el modo reorganizar.
Figura 1. Selección de un conjunto de mensajes para pasar a modo reorganizar
Elemento seleccionado resaltado en azul
  1. Arrastre el mensaje hasta la ubicación deseada. Haga clic con el botón derecho en el conjunto de mensajes seleccionado y arrástrelo hacia arriba o hacia abajo en el diagrama de secuencia. Una guía de líneas punteadas le indica el lugar exacto donde se ubicará el conjunto de mensajes (ver Figura 2).
Figura 2. Una guía de líneas punteadas aparece mientras se arrastra el conjunto de mensajes
Guías de línea resaltadas en azul

Una vez finalizado todo, la numeración de los mensajes será actualizada de manera que refleje el nuevo orden (Figura 3).Sugerencia: asegúrese de deseleccionar los elementos para salir del modo reorganizar/reordenar.

Figura 3. Resultado de la reordenación de un conjunto de mensajes
Elemento de pedido desplazado hacia abajo

En circunstancias especiales, otros eventos serán controlados por el conjunto de herramientas. Si se hace con un mensaje de creación, el punto de partida de la línea de vida creada será movido de manera que coincida con la nueva ubicación del mensaje de creación. Si, en cambio,se procede con un mensaje de destrucción, el punto de finalización de la línea de vida destruida será movido de manera que coincida con la nueva ubicación del mensaje de destrucción.

Fragmentos combinados

Con la operación de reorganización es posible reordenar conjuntos de mensajes desde o hasta los fragmentos combinados, o bien entre ellos. Al momento de reordenar un conjunto de mensajes hasta un fragmento combinado, la herramienta comprueba si el fragmento combinado de destino es un contenedor válido del conjunto de mensajes. El fragmento combinado se considera válido si todas las líneas de vida cubiertas del conjunto de mensajes también están cubiertas por el fragmento combinado. Si este no es válido, la herramienta impedirá completar la operación.

  1. Seleccione el conjunto de mensajes. Haga clic con el botón derecho en el primer mensaje del conjunto y seleccione Conjunto de mensajes/Reordenar(otra posibilidad es usar Alt+botón izquierdo en el primer mensaje del conjunto). El conjunto de mensajes quedará resaltado en azul a los efectos de su vista previa. El usuario visualiza lo que se va reordenar, y el editor de diagramas de secuencia queda el modo reorganizar.
  2. Arrastre el conjunto de mensajes hasta un fragmento combinado de destino inválido. Haga clic con el botón izquierdo en el mensaje seleccionado y arrástrelo hasta un fragmento combinado. Si el fragmento combinado no es un contenedor válido del conjunto de mensajes seleccionado, no aparecerá ninguna línea de información.
  3. Arrastre el conjunto de mensajes hasta un fragmento combinado de destino válido. Haga clic con el botón izquierdo en el mensaje seleccionado y arrástrelo hasta un fragmento combinado. Si el fragmento combinado es un contenedor válido del conjunto de mensajes seleccionado, aparecerá una línea punteada que indica el lugar exacto donde se ubicará el mensaje (Figura 4).
Figura 4. Guía de líneas punteadas durante el arrastre y colocación dentro de un contenedor
La línea indica la dirección del movimiento
  1. Complete la operación de arrastre. El conjunto de mensajes quedará reordenado dentro del fragmento combinado. La Figura 5 muestra el resultado.
Figura 5. Resultado de la reordenación dentro de un contenedor
Resultado de reposición

Mediante pasos similares se puede reordenar un conjunto de mensajes desde un fragmento combinado hasta una interacción, o bien reordenar un conjunto de mensajes entre fragmentos combinados.

Mensajes individuales

Es posible que el usuario desee reordenar un determinado mensaje dentro de un conjunto de mensajes en lugar de reordenar todo el conjunto. Para realizar esta operación, es necesario separar el mensaje del conjunto de mensajes.

Mensaje sincrónico

Para separar un mensaje sincrónico de un determinado conjunto de mensajes, siga estos pasos:

  1. Seleccione el mensaje. Haga clic con el botón izquierdo en la parte de vuelta del mensaje sincrónico y seleccioneConjunto de mensajes/Reordenar(otra posibilidad es usar Alt+botón izquierdo en el mensaje de vuelta). El mensaje de vuelta quedará resaltado en azul a los efectos de su vista previa.
Figura 6. Selección de la parte de vuelta del mensaje sincrónico para pasar a modo reordenar
La flecha azul indica la nueva ruta de orden
  1. Arrastre el mensaje. Haga clic con el botón izquierdo en el mensaje de vuelta y arrástrelo hacia arriba de manera que quede en una posición inmediatamente superior a la del mensaje de ida del mismo mensaje sincrónico.
Figura 7. Guía de líneas punteadas durante el arrastre y colocación del mensaje de vuelta
La línea azul indica la ruta
  1. Compruebe el resultado. Complete la operación de arrastre. El mensaje sincrónico queda separado del conjunto de mensajes y no contiene ningún mensaje anidado.
Figura 8. Resultado de la separación de un conjunto de mensajes sincrónicos
La compra ya no tiene mensajes anidados

Mensaje asincrónico

Para separar un mensaje asincrónico de un determinado conjunto de mensajes, siga estos pasos:

  1. Seleccione la especificación de ejecución de comportamiento a la que pertenece el mensaje. Haga clic con el botón izquierdo en la especificación de ejecución de comportamiento.
Figura 9. Selección de la especificación de ejecución de comportamiento para cambiar su tamaño
Borde alrededor del elemento seleccionado
  1. Arrastre uno de los controladores del borde. Haga clic con el botón izquierdo en los controladores de la especificación de ejecución de comportamiento para cambiar su tamaño de manera que no quede ningún mensaje anidado.
Figura 10. Información del cambio de tamaño de la especificación de ejecución de comportamiento
El elemento continúa seleccionado

El mensaje asincrónico se separa del conjunto de mensajes. Como puede verse en la Figura 11, el elemento compra no tiene ningún mensaje anidado.

Figura 11. Resultado de la separación de un conjunto de mensajes sincrónicos
Compra separada de Precio de compra y Pedido

Una vez que el mensaje se encuentra separado del conjunto de mensajes, se lo puede reordenar en la ubicación de destino:

  1. Seleccione el conjunto de mensajes. Haga clic con el botón derecho en la parte de ida del mensaje y seleccione Conjunto de mensajes/Reordenar(otra posibilidad es usar Alt+botón izquierdo en el mensaje de ida). El mensaje quedará resaltado en azul a los efectos de su vista previa. El editor queda en modo reordenar (ver Figura 12).
Figura 12. Selección de un mensaje único para pasar a modo reordenar
El rectángulo con contorno indica el nuevo orden
  1. Arrastre el elemento hasta la nueva ubicación. Haga clic con el botón izquierdo en el mensaje seleccionado y arrástrelo hacia arriba o hacia abajo en el diagrama de secuencia. Una guía de líneas punteadas le indica el lugar exacto donde se ubicará el conjunto de mensajes.
Figura 13. Guía de líneas punteadas durante el arrastre y colocación de un mensaje único
Indica línea punteada
  1. Compruebe el resultado. Complete la operación de arrastre. El mensaje se mueve hasta la nueva ubicación, y cambia la numeración de todos los mensajes.
Figura 14. Resultado de la reordenación de un mensaje único
Nueva ubicación

Validación de la reorganización

Ciertas operaciones de reorganización pueden hacer que el modelo de destino se torne como inválido si violan la especificación UML2. El conjunto de herramientas impide la creación de modelos inválidos validando los resultados de cada solicitud de reordenación antes de su realización. Si el resultado es un modelo inválido, la herramienta anulará la operación y mostrará un mensaje de error.

En la Figura 15 puede verse un ejemplo.

Figura 15. El usuario intenta realizar una reordenación inválida
X indica el problema

El mensaje de cierre de sesión es un mensaje de destrucción. Una vez que aparece el mensaje de cierre de sesión, se termina la sesión del cliente con onlineStore. Si este intenta reordenar el mensaje de compra y colocarlo debajo del mensaje de cierre de sesión, no podrá hacerlo porque onlineStore ya no existe. En este caso, aparecerá un mensaje de error de Live Validation (Figura 16) con la siguiente leyenda "The requested action violates the integrity of the model” (La acción solicitada viola la integridad del modelo), y el usuario no podrá completar la acción.

Figura 16. Mensaje de error de Live Validation
Mensaje de error que también da el motivo

Movimiento de mensajes

Se ha simplificado la manera de mover un mensaje sin cambiar su orden respecto de los otros mensajes del diagrama. El modo predeterminado del editor de diagramas de secuencia es el modo mover. Simplemente haga clic en un mensaje y arrástrelo hacia arriba o hacia abajo; los demás mensajes se desplazarán haciendo lugar. Esta función es muy útil para dejar espacio para los elementos de Note o para mejorar el diseño de los mensajes. La acción de arrastrar y colocar cambiará el tamaño del espacio que existe entre los mensajes, pero preservará su orden.

Reorganización de líneas de vida

De manera similar a la reorganización de mensajes, la operación para las lineas de vida permite modificar el orden de las líneas de vida en el diagrama. Es posible reordenar una línea de vida única de una ubicación a otra. El cambio de orden de las líneas de vida no altera la semántica del diagrama; por el contrario, a menudo mejora su claridad o estética. Por ejemplo, es probable que la línea de vida de una clase contenedora deba estar al lado de la línea de vida de la clase contenida. Además, esta herramienta permite seleccionar y reorganización múltiples líneas de vida en una sola acción.

Operación de reorganización de una línea de vida única

  1. Seleccione una línea de vida única. Haga clic con el botón derecho y seleccione el comando Reordenar líneas de vida del menú desplegable (otra posibilidad es usar Alt+botón izquierdo en la línea de vida).

La línea de vida seleccionada quedará resaltada en azul para informar que editor de diagramas de secuencia se encuentra en modo reordenar e indicar qué se va a reordenar (ver Figura 17).

Figura 17. Selección de una línea de vida única para pasar a modo reordenar
cliente: Cliente resaltado
  1. Arrastre las líneas de vida hasta la nueva ubicación. Haga clic con el botón izquierdo en las líneas de vida seleccionadas y arrástrelas hacia la izquierda o hacia la derecha. Una línea azul punteada indicará el punto de inserción de las líneas de vida seleccionadas. La línea azul solo aparecerá si el punto de inserción de destino es válido respecto de la línea de vida seleccionada.
Figura 18. Guía de líneas punteadas durante el arrastre y colocación de una línea de vida única
Guía de líneas punteadas durante el arrastre y colocación de una línea de vida única
  1. Compruebe el resultado. Complete la operación de arrastre.

Como puede observarse en la Figura 19, la línea de vida seleccionada se reordena en la ubicación de destino.

Figura 19. Resultado de la reordenación de una línea de vida única
Indica nueva ubicación

Reordenación de múltiples líneas de vida

  1. Seleccione múltiples líneas de vida. Haga clic con el botón izquierdo en una línea de vida y luego use Ctrl+clic con el botón izquierdo para seleccionar líneas de vida adicionales. Haga clic con el botón derecho en las líneas de vida seleccionadas y seleccione Reordenar líneas de vida del menú desplegable (otra posibilidad es usar Alt+Mayús+botón izquierdo en múltiples líneas de vida).

Las líneas de vida seleccionadas quedarán resaltadas en azul para informar que editor de diagramas de secuencia se encuentra en modo reordenar e indicar qué se va a reordenar.

Figura 20. Selección de múltiples líneas de vida
Dos líneas de vida resaltadas
  1. Arrastre las líneas de vida. Haga clic con el botón izquierdo en las líneas de vida seleccionadas y arrástrelas hacia la izquierda o hacia la derecha.

Una línea azul punteada indicará el punto de inserción de las líneas de vida seleccionadas. La línea azul solo aparecerá si el punto de inserción de destino es válido respecto de las líneas de vida seleccionadas.

Figura 21. Guía de líneas punteadas durante el arrastre y colocación de múltiples líneas de vida
La línea punteada indica el punto de inserción
  1. Compruebe el resultado. Complete la operación de arrastre.

Como lo indica la Figura 22, las líneas de vida seleccionadas se reordenan en la ubicación de destino.

Figura 22. Resultado de la reordenación de múltiples líneas de vida
El diagrama indica el nuevo orden

Movimiento de líneas de vida

De manera similar al movimiento de mensajes, la operación de movimiento de líneas de vida permite modificar el tamaño del espacio entre las líneas de vida. Así se creará espacio para firmas de mensajes largos y para insertar notas, comentarios o restricciones. El modo predeterminado del editor de diagramas de secuencia es el modo mover. Simplemente haga clic con el botón izquierdo en una línea de vida y arrástrela hacia la izquierda o hacia la derecha; las demás líneas de vida se desplazarán haciendo lugar.

Configuración de operaciones heredadas del clasificador

Configuración de operaciones heredadas para mensajes

Otra mejora en los productos de software es la capacidad de configurar de una manera sencilla operaciones heredadas del clasificador para mensajes. Si la línea de vida de destino representa un clasificador, el editor de diagramas de secuencia ahora permite seleccionar operaciones heredadas o de propiedad del clasificador para el mensaje en cuestión.

Para buscar operaciones heredadas calificadas, la jerarquía de generalización del clasificador de destino (basada en relaciones de generalización) será atravesada. Si el clasificador de destino es del tipo clase(o un subtipo de clase), la jerarquía de relación de realización también será atravesada. Además, se tomarán en cuenta las interfaces provistas de todos los puertos de propiedad de clase y sus operaciones serán agregadas. Si el clasificador de destino es del tipo componente, todas las operaciones de las interfaces provistas del componente también serán atravesadas, además de las jerarquías de generalización y de realización.

Figura 23. Creación de una operación desde el diagrama de secuencia
Diálogo Introducir nombre y propietario de operación

Como puede verse en la Figura 23, cuando se crea una nueva operación desde el diagrama de secuencia, aparece un menú desplegable en el diálogo Crear Nueva Operación que enumera todos los propietarios disponibles de la nueva operación.

Figura 24. Selección de una operación en el diagrama de secuencia
Lista de propietarios disponibles

Al hacer doble clic en una firma de operación de mensaje en un diagrama de secuencia, el usuario podrá visualizar una lista de las operaciones disponibles. Esa lista contiene las operaciones heredadas y de propiedad del clasificador de destino.

Resumen

Las mejoras descriptas en este artículo simplifican el uso del diagrama de secuencia, facilitando la edición y la modificación de los diagramas. A través de la reorganización de mensajes únicos o de conjuntos de mensajes completos, se puede cambiar el orden de los mensajes del diagrama de una manera muy personal. También resulta más fácil el tratamiento de operaciones heredadas del clasificador.

Recursos

Aprender

  • Suscríbase a IBM developerWorks newsletter, un boletín semanal con los mejores tutoriales, artículos, descargas, actividades de la comunidad y transmisiones por Internet de developerWorks.
  • Suscríbase a Rational Edge newsletter, un boletín con artículos acerca de los conceptos clave para un desarrollo de software eficiente.

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Rational
ArticleID=391049
ArticleTitle=Mejoras para los diagramas de secuencia en IBM Rational Software Architect y IBM Rational Software Modeler
publish-date=04212009