¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. UML 2.5
  3. Modelado de la dinámica
Extrait - UML 2.5 Iniciación, ejemplos y ejercicios corregidos (5ª edición)
Extractos del libro
UML 2.5 Iniciación, ejemplos y ejercicios corregidos (5ª edición) Volver a la página de compra del libro

Modelado de la dinámica

Introducción

El objetivo del presente capítulo es explicar de qué manera UML representa las interacciones entre objetos. En el capítulo Conceptos de la orientación a objetos, vimos que los objetos de un sistema poseen su propio comportamiento e interactúan entre sí para dotar al sistema de una dinámica global. En el capítulo Modelado de los requisitos, estudiamos la forma en que los casos de uso representan las acciones y reacciones entre un actor externo y el sistema. Desde el punto de vista del modelado, esos dos tipos de interacciones se distinguen por su diferencia interna/externa, pero no por su naturaleza.

Para responder a la necesidad de representación de las interacciones entre objetos, UML propone dos tipos de diagramas:

  • El diagrama de secuencia se centra en aspectos temporales.

  • El diagrama de comunicación se centra en la representación espacial.

En el presente capítulo estudiaremos ambos tipos de diagramas. Más tarde examinaremos cómo descubrir progresivamente los objetos que componen un sistema. Dicho descubrimiento se basará en las interacciones entre los objetos que intervienen en los casos de uso del sistema. Para representar las interacciones nos decantaremos por el diagrama de secuencia, ya que suele ser la opción preferida por las personas que se encargan de modelar los proyectos.

Diagrama de secuencia

1. Introducción

El diagrama de secuencia describe la dinámica del sistema. A menos que se modele un sistema muy pequeño, resulta difícil representar toda la dinámica de un sistema en un único diagrama. Por tanto, la dinámica completa se representará mediante un conjunto de diagramas de secuencia, cada uno de ellos vinculado generalmente a una subfunción del sistema. Estudiaremos los trucos de interacción que facilitan esta posibilidad de representación.

El diagrama de secuencia describe las interacciones entre un grupo de objetos mostrando de forma secuencial los envíos de mensajes entre objetos. El diagrama puede asimismo mostrar las transmisiones de datos intercambiados durante el envío de mensajes.

Para interactuar entre sí, los objetos se envían mensajes. Durante la recepción de un mensaje, los objetos se vuelven activos y ejecutan el método del mismo nombre. Un envío de mensaje es, por tanto, una llamada a un método.

2. Línea de vida de un objeto

Dado que representa la dinámica del sistema, el diagrama de secuencia hace entrar en acción las instancias de clases que intervienen en la realización de la subfunción a la que está vinculado. A cada instancia se asocia una línea de vida que muestra las acciones y reacciones de la misma, así como los periodos durante los cuales ésta está activa, es decir, durante los que ejecuta uno de sus métodos.

La representación gráfica de la línea de vida se ilustra en la figura 5.1.

images/FIGUR51.PNG

Figura 5.1 - Líneas de vida

La notación "función: Clase" representa la función de una instancia seguida del nombre de su clase. Para simplificar, en esta obra consideraremos que la función de la instancia corresponde...

Marcos de interacción

Un marco de interacción describe, mediante un diagrama de secuencia, parte de la dinámica de un sistema. La dinámica del sistema se describe, en su totalidad, por un conjunto de marcos de interacción. Es posible realizar una descripción modular de esta dinámica. En efecto, es posible hacer referencia, en un marco de interacción, a uno o varios marcos de interacción adicionales.

Un marco de interacción integra un diagrama de secuencia y un recuadro que precisa el nombre del marco y sus eventuales parámetros. La figura 5.13 ilustra un ejemplo de marco de interacción denominado registraCaballo y que muestra con detalle el registro de la venta de un caballo en las paradas de sementales del estado y en el sistema de información relativo a los équidos (SITRAN). El recuadro contiene la abreviatura sd (sequence diagram) y el nombre del marco de interacción.

images/05RI13V4.png

Figura 5.13 - Marco de interacción: registro de la venta de un caballo

Este marco de interacción está referenciado en el diagrama de secuencia de la figura 5.14. Esta referencia implica que las líneas de vida de los objetos presentes en el marco de interacción referenciado están presentes, a su vez, en el diagrama de secuencia que lo referencia. El marco de interacción se referencia de manera simplificada: solo aparece su nombre acompañado del recuadro...

Los fragmentos combinados

Los fragmentos combinados son unidades de interacción definidas en UML. Ofrecen el soporte de numerosas construcciones como las alternativas, los bucles, el paralelismo, etc. y confieren al diagrama de secuencia el estatus de verdadero modelo de interacciones.

1. Introducción

Un fragmento combinado es una parte del diagrama de secuencia. Se representa mediante un rectángulo asociado a una etiqueta. Dicha etiqueta contiene un operador que determina la modalidad de ejecución. Las más utilizadas son la opción, la alternativa y el bucle.

2. La opción

La opción se obtiene utilizando el operador opt seguido de una condición con forma de expresión lógica (ver la figura 5.19). Si la condición se verifica, el contenido del fragmento se ejecuta.

images/05RI19V4.png

Figura 5.19 - La opción

3. La alternativa

La alternativa es un fragmento combinado que comprende varias condiciones de test y la palabra clave else (ver la figura 5.20). El fragmento se divide en varias partes cuyo contenido sólo se ejecuta si se cumple la condición asociada. El contenido de la última parte se asocia a la palabra clave else (si no) y sólo se ejecuta si no se verifica ninguna de las condiciones precedentes.

La parte asociada a la palabra clave else no es obligatoria.

images/05RI20V4.png

Figura 5.20 - La alternativa

4. El bucle

El bucle se efectúa mediante el operador loop seguido de los parámetros min, max y está asociado a una condición (ver la figura 5.21). El contenido del fragmento se ejecuta min veces. Después sólo lo hace mientras que se verifique la condición de test y el número máximo de ejecuciones del bucle no exceda de max. Todos los parámetros y la condición...

Diagrama de comunicación

1. La representación de objetos

El diagrama de comunicación es una alternativa al diagrama de secuencia. Este se centra en una representación espacial de los objetos.

Los objetos intervienen en el diagrama de la misma forma que lo hacían en el diagrama de secuencia. Este está unido gráficamente a los objetos con los que interactúa.

El marco en el que aparece el objeto se denomina también línea de vida, como en el diagrama de secuencia.

2. El mensaje y el orden de los mensajes

Los envíos de mensajes se sitúan a lo largo de los vínculos entre objetos. Los mensajes deben numerarse obligatoriamente, se puede emplear la numeración compuesta estudiada en el apartado relativo a los diagramas de secuencia.

La figura 5.33 ilustra el diagrama de comunicación correspondiente al diagrama de secuencia de la figura 5.4.

images/FIGUR513.PNG

Figura 5.33 - Diagrama de comunicación

También es posible transmitir información (parámetros y devolver mensajes) durante el envío de la misma manera que en los diagramas de secuencia.

Ejemplo

En una manada hay una yegua dominante, que es la responsable de la educación de todos los potros. La yegua pasa el relevo a otra para que vigile a un potro en concreto.

En el ejemplo de la figura 5.34, la yegua dominante delega la vigilancia del potro Travieso a otra yegua, que da una orden al potro que éste...

Descubrir los objetos del sistema

Hemos visto que resulta sencillo representar un caso de uso mediante un diagrama de secuencia.

En estos diagramas el sistema está representado en forma de objeto y las interacciones con el exterior se producen a lo largo de la línea de vida.

Para descubrir los objetos del sistema a partir de un caso de uso, la primera fase consiste en preguntarse a qué objetos del sistema están destinados los mensajes procedentes del exterior.

Determinar esto constituye una primera etapa de descomposición del sistema en objetos.

Ejemplo

En el ejemplo del caso de uso de compra de una yegua, las interacciones entre el comprador y el criadero de caballos pueden descomponerse en interacciones entre el comprador, por un lado, y el director, el contable o el mozo de las caballerizas, por otro (ver figura 5.37).

images/05RI37V4.png

Figura 5.37 - Primer enriquecimiento del diagrama de secuencia de compra de una yegua

En una segunda fase se descomponen progresivamente los mensajes recibidos por los objetos; poco a poco se van descubriendo así los objetos del sistema. La descomposición de los mensajes obliga a utilizar nuevos objetos que responden a las funcionalidades requeridas.

La descomposición se acompaña a menudo de un enriquecimiento de la descripción de los mensajes en la transmisión de informaciones. El tratamiento de dichas informaciones implica con frecuencia la utilización de nuevos...

Conclusión

Los diagramas de secuencia y de comunicación son importantes para lo siguiente: 

  • Ilustrar y comprobar el comportamiento de un conjunto de objetos (sistema o subsistema);

  • Ayudar a descubrir los objetos del sistema;

  • Ayudar a descubrir los métodos de los objetos.

Gracias a los fragmentos combinados, los diagramas de secuencia pueden utilizarse para describir casos de uso.

Los diagramas de secuencia ponen en primer plano los aspectos temporales, mientras que los diagramas de comunicación muestran los vínculos entre clases.

Ejercicios

1. El hipódromo

Construya el diagrama de secuencia de compra de una entrada para una carrera de caballos.

¿Cuáles son los objetos del sistema descubiertos así?

2. La central de compra de caballos

Construya el diagrama de secuencia de un pedido de productos en la página Web de la central de compra de caballos.

¿Cuáles son los objetos del sistema descubiertos así?