🎃 Grandes descuentos en libros en línea, eformaciones y vídeos*. Código CALABAZA30. 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 las actividades
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 las actividades

Introducción

El diagrama de actividades está basado en el diagrama de estados-transiciones, estudiado en el capítulo precedente. Se trata de una forma específica del diagrama de estados-transiciones en la que cada estado se asocia a una actividad y todas las transiciones son automáticas. En este tipo de diagramas, las transiciones reciben el nombre de encadenamientos.

Posteriormente, el diagrama de actividades se amplió para describir las actividades de varios objetos. De esta forma, se pueden representar los encadenamientos entre las actividades de diferentes objetos, cosa que no es posible con el diagrama de estados-transiciones. Veremos cómo designar el objeto responsable de cada actividad con ayuda de la noción de calle.

El diagrama de actividades ofrece alternativas gracias a las condiciones de guarda. Puede asimismo contener encadenamientos de tipo horquilla y reunión para administrar actividades paralelas.

Examinaremos los flujos de objetos transmitidos entre las actividades así como la emisión y la recepción de señales que hemos estudiado en el capítulo Modelado del ciclo de vida de los objetos.

Las actividades compuestas tienen como objetivo simplificar la elaboración del diagrama de actividades. Las actividades compuestas estándar tales como la alternativa, el bucle, la región de expansión o la región de actividad interrumpible ofrecen...

Las actividades y los encadenamientos de actividades

1. Las actividades

Una actividad es una serie de acciones. Una acción consiste en asignar un valor a un atributo, crear o destruir un objeto, efectuar una operación, invocar un método de otro objeto o del propio objeto, enviar una señal a otro objeto o a sí mismo, etc.

La figura 9.1 muestra la representación gráfica de una actividad.

images/figur91.png

Figura 9.1 - Representación gráfica de una actividad

Ejemplo

Retomamos el ejemplo de compra de una yegua introducido en el capítulo Modelado de los requisitos referente. Tanto la elección de la yegua como la comprobación de las vacunas son ejemplos de actividades.

La actividad inicial es la primera en ejecutarse y se representa con un punto negro (ver figura 9.2).

images/figur92.png

Figura 9.2 - Representación gráfica de la actividad inicial

La actividad final representa el término de la ejecución de las actividades de un diagrama. No tiene por qué ser única y tampoco es obligatoria.

La actividad final se representa con un punto negro rodeado de un círculo (ver figura 9.3).

images/figur93.png

Figura 9.3 - Representación gráfica de una actividad final

2. Los encadenamientos de actividades

Un encadenamiento de actividades es un vínculo orientado entre dos actividades. Puede traspasarse cuando concluye la actividad inicial, lo que conduce a la activación...

Las particiones o calles

A diferencia del diagrama de estados-transiciones, el diagrama de actividades puede representar las actividades realizadas por varios objetos con sus encadenamientos.

Para ello el diagrama se divide en particiones o calles. A cada calle corresponde el objeto responsable de la realización de todas las actividades contenidas en esa calle o partición.

La figura 9.10 muestra la representación gráfica de las calles. Un encadenamiento puede cortar la línea de separación de dos calles para mostrar un cambio de objeto entre la actividad inicial y la final.

images/figur99.png

Figura 9.10 - Las calles de un diagrama de actividades

Ejemplo

La figura 9.11 representa el ejemplo de compra de una yegua en el que se describen las actividades relativas al comprador y a la granja de cría.

images/figur910.png

Figura 9.11 - Ejemplo de diagrama de actividades dividido en calles

Los flujos de objetos

Los encadenamientos de actividades pueden soportar la transmisión de objetos. Se convierten, entonces, en flujos de objetos. Es posible describir el objeto transportado entre dos actividades. La descripción de la transmisión puede realizarse de dos maneras:

  • O bien el objeto transmitido se especifica entre las dos actividades, en forma de un rectángulo que contiene el nombre del objeto seguido de dos puntos seguidos del nombre de su tipo.

  • O bien se opta por utilizar la notación de pines: se asocia un pin de salida a la actividad de origen y un pin de entrada a la actividad de destino. El enlace entre ambos pines representa el flujo de objetos. El nombre y el tipo de los pines son los del objeto transmitido.

Ejemplo

La figura 9.12 ilustra la transmisión de la documentación correspondiente a la montura tras la cría al comprador (ver el ejemplo de la figura 9.11), el objeto que representa la documentación está tipado por la clase Documento

images/09RI12V4.png

Figura 9.12 - Transmisón de un objeto entre dos actividades mediante un flujo de objetos

Ejemplo

La figura 9.13 representa la misma transmisión que la figura 9.12. Está basada en el uso de un pin de salida y un pin de entrada.

images/09RI13V4.png

Figura 9.13 - Transmisión de un objeto entre dos actividades mediante un flujo de objetos descrito por un pin de entrada y un pin de salida

El flujo de objetos representa...

La emisión y la recepción de señales

En el capítulo Modelado del ciclo de vida de los objetos, se ha presentado la noción de señal transmitida entre objetos. En un diagrama de actividades es posible implementar el envío asíncrono de una señal por parte de un objeto así como la recepción de una señal por un objeto. Ambas posibilidades se describen mediante actividades específicas representadas en la figura 9.15. La sección izquierda de esta figura muestra una actividad de envío de una señal. El envío es asíncrono: tras el envío de la señal, el objeto pasa a la actividad siguiente. La sección derecha muestra la recepción de una señal. Esta es bloqueante. El objeto debe recibir la señal antes de poder pasar a la actividad siguiente.

Para simplificar la escritura de los diagramas, el nombre de las actividades se corresponde con el nombre de la señal.

images/09RI15V4.png

Figura 9.15 - Actividades de envío y de recepción de una señal

Ejemplo

La figura 9.16 ilustra un envío y una recepción de una señal. El servicio de compras de un criadero prepara un pedido y, a continuación, lo envía de manera asíncrona a un proveedor. Cuando finaliza el envío, el servicio de compras pasa a otra actividad, en este caso la comprobación de los pedidos en curso....

Las actividades compuestas

Una actividad puede estar compuesta de otras actividades. Cuando eso ocurre, un diagrama de actividades específico describe su composición en subactividades. Las actividades compuestas se representan en los diagramas en los que están presentes mediante un símbolo de horquilla.

La figura 9.19 muestra la composición de una actividad en subactividades. La figura 9.20 presenta la actividad sin la composición, tal y como puede utilizarse dentro de un diagrama de actividades.

images/figur911.png

Figura 9.19 - Composición de una actividad en subactividades

images/figur912.png

Figura 9.20 - Representación de una actividad compuesta

Una actividad compuesta puede estar dotada, también, de pines de entrada y de salida que permiten escribir actividades compuestas parametrizables, como las actividades de las funciones de cálculo que reciben uno o varios parámetros y devuelven un resultado.

Ejemplo

La figura 9.21 representa la gestión del pago de una yegua integrando la negociación del precio. La gestión se incluye en el diagrama general de compra de la figura 9.22 en tanto que actividad compuesta y se representa con una horquilla.

images/figur913.png

Figura 9.21 - Ejemplo de actividad compuesta

images/figur914.png

Figura 9.22 - Ejemplo de inclusión de una actividad compuesta

Las actividades de alternativa y de bucle

También es posible representar una alternativa o un bucle mediante una actividad compuesta especializada. La figura 9.23 muestra, en la sección superior, la actividad alternativa que comprende una comprobación y un cuerpo (body) y, en la sección inferior, la actividad de bucle que comprende una fase de inicialización (setup), una comprobación y un cuerpo (body).

La semántica de la actividad de alternativa es la siguiente: si la comprobación, que es una expresión lógica, se cumple, entonces se ejecuta el cuerpo. El bucle es del tipo "mientras que". Su semántica es la siguiente: en primer lugar se ejecuta la inicialización y a continuación, mientras se cumpla la condición, el cuerpo se ejecuta.

La actividad que se corresponde con la comprobación incluye un pin de salida de tipo Boolean. Este pin de salida sirve para transmitir el resultado de la comprobación a la actividad compuesta.

images/09RI23V4.png

Figura 9.23 - Actividades de alternativa y de bucle

Ejemplo

El ejemplo de la figura 9.6 se representa en la figura 9.24 mediante una actividad de alternativa.

images/09RI24V4.png

Figura 9.24 - Ejemplo de actividad de alternativa

Ejemplo

El ejemplo de la figura 9.21 se representa en la figura 9.25 mediante una actividad de bucle. Cabe destacar que la actividad de evaluación del precio se ha tenido que duplicar, un efecto...

Las regiones de actividad interruptibles

Una región de actividad interruptible incluye un grupo de nodos de actividad cuya ejecución puede interrumpirse por una excepción. Esta excepción va a dirigir el flujo de control hacia una nueva actividad que va a recibir la información correspondiente a esta excepción sobre alguno de sus pines de entrada.

Ejemplo

Retomamos el ejemplo de la figura 9.9 que hemos simplificado en la figura 9.26 conservando principalmente la negociación del precio. Esta sección del diagrama de actividades forma, ahora, una región de actividad interruptible. Está dotada de una actividad de recepción de una señal, en este caso el abandono de la negociación (por motivos no detallados en el diagrama). La recepción de esta señal tiene como resultado producir una excepción que dirige el flujo de control hacia la actividad de cierre del dossier, actividad que recibe entonces la información correspondiente a la excepción en su pin de entrada.

images/09RI26V4.png

Figura 9.26 - Ejemplo de región de actividad interruptible y de excepción

Las regiones de expansión

Una región de expansión es una actividad compuesta cuya ejecución se repite para cada elemento de una colección transmitida sobre un pin de entrada especial. El resultado se transmite, a su vez, sobre un pin de salida especial que se corresponde a su vez con una colección. Dicha región se corresponde bien con un procesamiento iterativo, bien con un procesamiento en paralelo o bien con un procesamiento de tipo flujo (stream) sobre todos los elementos de la colección. Estos tres modos de procesamiento están fijados por los siguientes estereotipos:

  • «iterative»: los elementos de la colección se tratan unos a continuación de los otros. Cada elemento se trata de manera secuencial por las distintas actividades de la región.

  • «parallel»: los elementos de la colección se tratan en paralelo. Dentro de cada proceso, el elemento correspondiente se trata de manera secuencial por las diferentes actividades de la región.

  • «stream»: los elementos se tratan en modo flujo por las distintas actividades de la región que se ejecutan en paralelo. En un momento dado, una actividad puede haber tratado más elementos que otra situada a continuación de la primera. Entonces, los elementos de la colección pueden situarse en estados de avance diferentes del procesamiento.

Ejemplo

La figura 9.27 muestra un diagrama...

El diagrama de vista de conjunto de las interacciones

El diagrama de vista de conjunto de las interacciones es un diagrama de actividades en el que éstas pueden describirse mediante diagramas de secuencia. La figura 9.28 muestra la representación gráfica de ese tipo de diagramas.

images/figur915.png

Figura 9.28 - Diagrama de vista de conjunto de las interacciones

Conclusión

El diagrama de actividades representa las actividades realizadas por uno o varios objetos. Puede corresponder a la descripción detallada de una actividad del diagrama de estados-transiciones o a la descripción de un método o de un programa, etc. También puede describir la actividad de un sistema o subsistema asignando las responsabilidades a los actores. El diagrama de actividades constituye también una buena opción para describir casos de uso.

Ejercicios

1. El espectáculo ecuestre

Construya el diagrama de actividades de compra de una entrada para un espectáculo ecuestre.

2. La apuesta trifecta

Construya el diagrama de actividades de comprobación de la caja de una taquilla de apuestas de trifecta (sólo la parte referente a la venta de boletos, sin tener en cuenta el pago de ganancias).