Diagramas de actividades UML: Instrucciones

En Visual Studio Ultimate, puede dibujar un diagrama de actividades para describir un proceso de negocio o un algoritmo de software como un flujo de trabajo a través de una serie de acciones. Estas acciones las pueden llevar a cabo personas, componentes de software o dispositivos. Si desea una demostración en vídeo, vea: Capture Business Workflows by using Activity Diagrams.

Para crear un diagrama de actividades de UML, en el menú Arquitectura, haga clic en Nuevo diagrama.

Puede usar un diagrama de actividades para muchos propósitos:

Dibujar un diagrama de actividades puede ayudarle a mejorar un proceso. Si el diagrama de un proceso existente resulta ser muy complejo, puede considerar la posibilidad de buscar un medio para simplificar el proceso.

Para obtener información de referencia sobre los elementos de los diagramas de actividades, vea Diagramas de actividades UML: Referencia.

En este tema

Relación con otros diagramas

Pasos básicos para dibujar diagramas de actividades

Describir el flujo de control

Describir el flujo de datos

Definir una acción con más detalle

Flujos simultáneos

Relación con otros diagramas

Si dibuja un diagrama de actividades para describir un proceso de negocio o el modo en que los usuarios usan el sistema, puede dibujar un diagrama de casos de uso para representar una vista diferente de la misma información. En el diagrama de casos de uso, las acciones se dibujan como casos de uso. Asigne a los casos de uso los mismos nombres que los de las acciones correspondientes. La vista de casos de uso tiene algunas ventajas, pues le permite:

  • Mostrar en un diagrama cómo las acciones o casos de uso más grandes se componen de otras acciones o casos de uso más pequeños mediante la relación Includes.

  • Conectar cada acción o caso de uso con los usuarios o sistemas externos implicados explícitamente en su ejecución.

  • Dibujar límites alrededor de las acciones o casos de uso que el sistema o cada uno de los componentes principales que lo conforman admiten.

También puede dibujar un diagrama de actividades para describir en detalle el diseño de una operación de software.

En un diagrama de actividades, puede mostrar el flujo de los datos que pasan de una acción a otra. Vea la sección Describir el flujo de datos. Sin embargo, en un diagrama de actividades no se describe la estructura de los datos. Para ese propósito, puede dibujar un diagrama de clases UML. Para obtener información, vea Diagramas de clases de UML: Instrucciones.

Pasos básicos para dibujar diagramas de actividades

En Cómo: Modificar un modelo UML y los diagramas se describen en detalle los pasos para crear diagramas de modelado.

Para dibujar un diagrama de actividades

  1. En el menú Arquitectura, haga clic en Nuevo diagrama.

  2. En Plantillas, haga clic en Diagrama de actividades UML.

  3. Especifique un nombre para el diagrama.

  4. En Agregar a proyecto de modelado, seleccione un proyecto de modelado existente de la solución o Crear un nuevo proyecto de modelado.

Para dibujar los elementos de un diagrama de actividades

  1. Arrastre los elementos del cuadro de herramientas hasta el diagrama.

    Para comenzar, coloque las actividades principales del diagrama, conéctelas y, a continuación, incorpore los últimos detalles, como el nodo inicial y el nodo final.

    Nota

    No puede arrastrar elementos existentes al diagrama desde el Explorador de modelos UML.

  2. Para conectar los elementos, siga estos pasos:

    1. En el cuadro de herramientas Diagrama de actividades, haga clic en Conector.

    2. En el diagrama, haga clic en el elemento de origen.

    3. A continuación, haga clic en el elemento de destino.

      Nota

      Haga doble clic en una herramienta del cuadro de herramientas para usarla varias veces.

Para mover una actividad a otro paquete

  • En el Explorador de modelos UML, arrastre la actividad a un paquete.

    -O bien-

  • En el Explorador de modelos UML, haga clic con el botón secundario en la actividad y haga clic en Cortar. A continuación, haga clic con el botón secundario en el paquete y haga clic en Pegar.

    Nota

    La actividad solo aparecerá en el Explorador de modelos UML cuando agregue el primer elemento al diagrama.

Describir el flujo de control

En un diagrama de actividades se describe un proceso de negocio o un algoritmo de software como una serie de acciones. Las flechas de conexión muestran cómo el control pasa de forma secuencial de una acción a la siguiente. Generalmente, una acción solo puede iniciarse después de que la acción anterior se ha completado.

En la ilustración siguiente se muestra un ejemplo del modo en que se puede representar una secuencia de acciones mediante acciones, conectores, bifurcaciones y bucles. Cada elemento se explica con más detalle en las secciones siguientes.

Diagrama de actividades simple

En los diagramas de actividades se usan Acciones y Conectores para describir el sistema o la aplicación como una serie de acciones donde el control fluye de manera secuencial de una acción a la siguiente.

  • Cree una Acción (1) para cada una de las tareas principales que realiza un usuario, el sistema o los dos juntos.

    Nota

    Intente describir su proceso o algoritmo con unas pocas acciones. Puede usar las acciones de llamada a comportamiento para definir cada acción con más detalle en un diagrama diferente, tal y como se describe en Describir actividades secundarias con acciones de llamada a comportamiento.

  • Asegúrese de que el título de cada acción indica con claridad el objetivo que normalmente se persigue.

  • Vincule en orden las acciones con los Conectores (2).

  • Cada acción finaliza antes de que comience la siguiente acción del flujo de control. Si desea describir acciones que se superponen, use un Nodo de bifurcación como el que se describe en la sección Flujos simultáneos.

Aunque en el diagrama se describe la secuencia de acciones, no se describe cómo se ejecutan las acciones o cómo el control pasa de una acción a la siguiente. Si usa el diagrama para representar un proceso de negocio, el control podría pasarse, por ejemplo, cuando una persona envía un mensaje de correo electrónico a otra. Si usa el diagrama para representar un diseño de software, el control podría pasarse a través del flujo de ejecución normal de una instrucción a la siguiente.

Describir decisiones y bucles

  • Use un Nodo de decisión (3) para indicar un punto en el que el resultado de una decisión dicta el paso siguiente. Puede dibujar tantas rutas de acceso de salida como desee.

  • Si usa el diagrama de actividades para definir parte de una aplicación, deberá determinar las protecciones (4) para dejar claro cuándo debe tomarse cada ruta de acceso. Haga clic con el botón secundario en el conector, haga clic en Propiedades y, a continuación, escriba un número en el campo Guard de la ventana Propiedades.

  • No siempre es necesario definir las protecciones. Por ejemplo, si usa el diagrama de actividades para describir un proceso de negocio o un protocolo de interacción, una bifurcación define el intervalo de opciones que se van a abrir para el usuario o para los componentes que interactúan.

  • Use un Nodo de combinación (5) para reunir dos o más flujos alternativos que se bifurcan en un Nodo de decisión.

    Nota

    Debe usar un Nodo de combinación, en lugar de una acción, para reunir flujos alternativos. En el ejemplo, no sería correcto volver a conectar el nodo de decisión directamente con Elegir elemento del menú. El motivo es que una acción no se inicia hasta que los subprocesos de control han llegado a todos sus conectores de entrada. Por tanto, en una acción solamente deben reunirse flujos simultáneos. Para obtener más información, vea Flujos simultáneos.

  • Use las bifurcaciones para describir bucles, tal y como se muestra en el ejemplo.

    Nota

    Intente anidar los bucles de forma bien estructurada, tal y como lo haría en el código del programa. Si está describiendo un proceso de negocio existente, aquí pueden ponerse de manifiesto algunas oportunidades para mejorarlo.

Iniciar la actividad

Existen dos mecanismos para indicar los puntos de entrada en una actividad:

  • Nodo inicial

    Cree un Nodo inicial (6) para indicar la primera acción de la actividad.

    Este método resulta muy útil cuando se describe una actividad secundaria o allí donde no es necesario indicar explícitamente que se inicie la actividad. Por ejemplo, es evidente que la actividad Pedir un menú se inicia cuando un cliente se siente hambriento.

  • Nodo de aceptación de evento

    Cree Nodos de aceptación de evento, tal y como se describe en la sección Flujos simultáneos, para indicar el inicio de un subproceso que responde a un evento determinado, como los datos proporcionados por el usuario. No proporcione un flujo de entrada para el nodo. Al omitir el flujo de entrada, se indica que se iniciará un subproceso cada vez que se produzca el evento.

    Este método es muy útil cuando se describe una respuesta a un evento externo concreto.

Finalizar la actividad

Use un Nodo final de actividad (7) para indicar el fin de una actividad.

  • Cuando un subproceso de control alcanza un Nodo final de actividad, finalizan todas las acciones simultáneas de la actividad y las actividades secundarias.

  • Puede usar varios nodos finales de actividad para reducir la cantidad de conectores adicionales.

Interrumpir la actividad

Para describir cómo se puede interrumpir el flujo ordinario de una actividad, por ejemplo, si el usuario decide cancelar el proceso, puede crear un nodo de aceptación de evento que escuche ese evento. Para obtener más información, vea la sección Flujos simultáneos. Cree un flujo de control que parta de este nodo hacia un nodo final de actividad (7).

Calles

A veces resulta útil organizar las acciones de una actividad en áreas que se corresponden con distintos objetos o roles del negocio que realizan las acciones. Convencionalmente, estas áreas se organizan en columnas y se denominan calles.

  • Use las líneas y rectángulos de la sección Simple Shapes del Cuadro de herramientas para dibujar calles u otras áreas.

  • Para etiquetar cada calle, cree un comentario y establezca su propiedad Transparent en True.

Las formas simples no forman parte del modelo UML y no aparecen en el Explorador de modelos UML.

Describir el flujo de datos

Puede describir los datos que entran y salen en una actividad de dos maneras:

  • A través de un Nodo de objeto. Éste es el método más simple para describir la información que fluye entre las actividades. Un nodo de objeto es como una variable de un programa. Representa algo que almacena uno o varios valores que se pasan de una acción a otra.

  • A través de un Terminal de salida y un Terminal de entrada. Este método le permite describir por separado las salidas de una acción y las entradas a otra. Los terminales son como los parámetros de un programa. Los terminales representan los puertos desde donde los objetos pueden entrar en una acción o abandonarla.

    Nota

    Para obtener información general sobre los elementos que se usan en esta sección, vea la sección Flujos de datos del tema Diagramas de actividades UML: Referencia.

Describir el flujo de datos con nodos de objeto

La mayoría de los flujos de control transportan datos. Por ejemplo, el flujo de salida de la acción "El cliente proporciona los detalles" lleva una referencia a la dirección de envío.

Si desea describir esos datos en su diagrama, puede reemplazar un conector por un nodo de objeto y dos conectores, tal y como se muestra en la ilustración siguiente.

Los nodos de objeto pueden mostrar datos pasados entre acciones

Observe que los rectángulos redondeados, como Despachar mercancía, representan acciones en las que tiene lugar el procesamiento. Los rectángulos cuadrados, como Dirección de envío, representan un flujo de objetos que pasan de una acción a otra.

Especifique un nombre para el nodo de objeto que refleje el rol del nodo como canalización o búfer de los objetos que fluyen entre las acciones.

Puede establecer un valor para la propiedad Type del nodo de objeto en la ventana Propiedades. Este valor puede ser un tipo primitivo, como un entero, o una clase, interfaz o enumeración que haya definido en un diagrama de clases. Por ejemplo, puede crear una clase Dirección de envío, con atributos como Domicilio, Ciudad, etc., junto con una asociación con otra clase denominada Cliente. Para obtener más información, vea Diagramas de clases de UML: Instrucciones.

Nota

Si escribe el nombre de un tipo que no se ha definido todavía, se agregará un elemento en Tipos sin especificar del Explorador de modelos UML. Si posteriormente define un tipo con ese nombre en un diagrama de clases, deberá restablecer el tipo del nodo de objeto para que haga referencia al nuevo tipo.

Almacenar en búfer los datos de los nodos de objeto

Un nodo de objeto puede actuar como búfer de varios objetos. En la siguiente ilustración, el flujo de control muestra que el usuario recorre el bucle [elija más] (1) muchas veces, mientras el nodo de objeto Elementos del menú seleccionados (2) acumula las selecciones del usuario. Finalmente, cuando el usuario ha completado su selección, el control pasa a la acción Confirmar pedido (3), que acepta la lista completa de selecciones del búfer Elementos de menú seleccionados.

Almacenar en búfer los datos de los nodos de objeto

Puede especificar el modo en que se almacenan los elementos de un búfer estableciendo las propiedades del nodo de objeto:

  • Establezca la propiedad Ordering:

    • Unordered para especificar un orden aleatorio o indeterminado. Predeterminado.

    • Ordered para especificar un orden con arreglo a una clave específica.

    • Fifo para especificar un orden donde el primer elemento en entrar es el primero en salir.

    • Lifo para especificar un orden donde el último elemento en entrar es el primero en salir.

  • Establezca la propiedad Upper Bound para especificar el número máximo de objetos que se pueden incluir en el búfer. El valor predeterminado es *. Significa que no hay ningún límite.

Describir el flujo de datos con terminales de entrada y salida

Use un Terminal de salida y un Terminal de entrada para describir por separado las salidas de una acción y las entradas de otra.

Los pin Input y Output son parámetros de acción

Para crear un terminal, en el cuadro de herramientas haga clic en Input Pin o en Output Pin y, a continuación, haga clic en una acción. Puede mover el terminal alrededor del perímetro de la acción y cambiar su nombre. Puede crear terminales de entrada o salida de cualquier tipo de acción, incluidas las acciones de llamada a comportamiento, las acciones de llamada a operación, las acciones de envío de señal y las acciones de aceptación de eventos.

Un conector entre terminales representa un flujo de objetos, exactamente igual que los flujos de entrada y salida de un nodo de objeto.

Especifique un nombre para cada terminal que indique el rol de los objetos que genera o acepta, como por ejemplo un nombre de parámetro.

Puede establecer el tipo de objetos que se transmite en la propiedad Type. Debe tratarse de un tipo que se haya creado en un diagrama de clases UML.

Los objetos que fluyen entre los terminales conectados deben ser compatibles de alguna forma. El motivo es que los objetos generados por el terminal de salida pertenecen a un tipo derivado del tipo del terminal de entrada.

También puede especificar que el flujo de objetos contiene una transformación que convierte los datos entre el tipo del terminal de salida y el tipo del terminal de entrada. La transformación más común de este tipo solamente extrae la parte adecuada de un tipo mayor. En el ejemplo de la ilustración se presupone la existencia de una transformación que extrae la dirección de envío del detalle del pedido.

Definir una acción con más detalle

Además de usar el nombre de la acción para dar cuenta del resultado que normalmente deberá conseguir, se exponen a continuación algunos mecanismos que puede usar para incorporar más detalles a una acción:

  • Escriba una descripción más detallada de la propiedad Body. Por ejemplo, puede escribir un fragmento de código o pseudocódigo del programa o una descripción completa de los resultados logrados.

  • Reemplace la acción por una acción de llamada a comportamiento y describa su comportamiento detallado en un diagrama de actividades diferente. Vea Describir actividades secundarias con acciones de llamada a comportamiento.

  • Establezca las propiedades Local Postconditions y Local Preconditions de la acción que su resultado se describa con más detalle. Para obtener más información, vea Definir condiciones previas y posteriores.

Describir actividades secundarias con acciones de llamada a comportamiento

Puede describir el comportamiento detallado de una acción usando un diagrama de actividades diferente. Un comportamiento llamado es un diagrama de actividades que se representa en el diagrama de actividades principal a través de una acción de llamada a comportamiento. También puede usar la acción de llamada a comportamiento para describir el comportamiento que comparten diferentes actividades, de modo que no tenga que dibujar varias veces la actividad secundaria.

En el diagrama 1 de la ilustración siguiente se muestra una actividad que tiene una acción de llamada a comportamiento, mientras que en el diagrama 2 se muestra el diagrama de actividades secundarias donde se representa un comportamiento llamado.

Diagrama de actividades independiente que muestra acciones detalladas

Para describir una actividad secundaria con una acción de llamada a comportamiento

  1. Para crear el diagrama de la actividad secundaria, en el Explorador de soluciones, haga clic con el botón secundario en el proyecto de modelado, elija Agregar y, a continuación, haga clic en Nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, en Plantillas haga clic en Diagrama de actividades y en el cuadro Nombre especifique el nombre que va a asignar a la Acción de llamada a comportamiento.

  3. Dibuje el flujo de trabajo detallado de la actividad secundaria. Este es el comportamiento llamado.

    • En el diagrama de la actividad secundaria llamada, el Nodo inicial indica dónde se inicia el control cuando se invoca el comportamiento llamado. En el Nodo final de actividad se muestra en qué punto el control debe volver a la actividad principal.
  4. Establezca la propiedad Behavior de Acción de llamada a comportamiento para que haga referencia al diagrama del comportamiento llamado.

    Nota

    El diagrama de la actividad secundaria debe contener algunos elementos o no estará disponible en la lista desplegable de la propiedad Behavior. Además, el icono con forma de tridente no aparecerá en la forma Acción de llamada a comportamiento hasta que establezca su propiedad Behavior.

  5. Establezca la propiedad Is Synchronous de la acción para indicar si la actividad espera hasta que la actividad llamada se complete.

    • Si establece Is Synchronous en false, indicará que el flujo puede continuar en la siguiente acción antes de que finalice la actividad llamada. No debe definir terminales de salida ni flujos de datos de salida de la acción.

Describir el flujo de datos de entrada y salida de las actividades secundarias

Puede describir los datos que fluyen dentro y fuera de las actividades secundarias del mismo modo que usa los parámetros en el software.

  • En la acción de llamada a comportamiento, cree terminales de entrada y salida (1) en cada fragmento de datos que fluya dentro o fuera de la acción. Especifique un nombre adecuado para cada uno.

  • En el diagrama de la actividad secundaria, cree un Nodo de parámetros de actividad (2) para cada terminal de entrada y salida de la acción de llamada. Asigne a cada nodo el mismo nombre el que del terminal correspondiente.

    Nota

    Los nodos de parámetros de actividad se asemejan a los nodos de objeto. Para comprobar qué tipo de nodo está examinando, haga clic con el botón secundario en el nodo y, a continuación, haga clic en Propiedades. En el encabezado de la ventana Propiedades, se muestra el tipo de nodo.

  • En el diagrama de la actividad secundaria, dibuje conectores que muestren el flujo de objetos de entrada y salida de cada nodo de parámetros de actividad.

Los pin de comportamiento de llamada se asignan a parámetros de actividad

Definir condiciones previas y posteriores

Puede usar las propiedades Local Postconditions y Local Preconditions para especificar en detalle los resultados de una acción. Estas propiedades describen el efecto de la acción sin dar cuenta de cómo se logra.

Para establecer estas propiedades, haga clic con el botón secundario en la acción y, a continuación, haga clic en Propiedades. Especifique los valores de las propiedades en la ventana Propiedades.

Local Postconditions

Una condición posterior es una condición que debe cumplirse antes de que la acción pueda considerarse completada. En la acción Confirmar pedido del ejemplo, la condición posterior podría ser:

El cliente ha proporcionado detalles completos y válidos que son necesarios para procesar su tarjeta de crédito.

Una relación posterior puede expresar una relación entre los estados antes y después de que se produzca la acción. Por ejemplo:

El tipo de interés es el doble de lo que era antes.

Puede escribir condiciones posteriores con un estilo más formal y hacer referencia a atributos concretos de los datos implicados en las acciones. Por ejemplo:

InvoiceTotal == Sum(OrderItem.MenuItem.Price)

Local Preconditions

Una condición previa es una condición que debe darse cuando la acción está a punto para comenzar. Por ejemplo, la acción Confirmar pedido podría tener la condición previa siguiente:

El cliente ha elegido al menos un elemento del menú.

Describir las llamadas a operaciones

Generalmente, una acción describe el trabajo que realizan una combinación de personas, software o equipos. Sin embargo, puede usar una acción de llamada a operación para describir una llamada a un determinado método o función de software.

  • Establezca el nombre de la acción de llamada a operación para indicar a qué se llama y en qué objeto o componente.

  • Agregue terminales de entrada y salida a la acción de operación de llamada para describir los parámetros y los valores devueltos.

  • Puede establecer la propiedad Is Synchronous de la acción para indicar si la actividad espera a que la operación se complete.

    • Si establece Is Synchronous en false, indicará que el flujo puede continuar en la siguiente acción antes de que se complete la operación llamada. No debe definir terminales de salida ni flujos de datos de salida de la acción.

Flujos simultáneos

Puede usar el Nodo de bifurcación y el Nodo de unión para describir dos o más subprocesos de actividades que pueden ejecutarse al mismo tiempo.

Los nodos de unión y bifurcación muestran flujos simultáneos

El efecto del Nodo de bifurcación (1) consiste en dividir el subproceso de control en dos o más subprocesos. Cuando la acción anterior termina, todas las acciones situadas en la salida de la bifurcación pueden iniciarse.

Un Nodo de unión (2) reúne los subprocesos simultáneos. La acción que sigue al Nodo de unión no se puede iniciar hasta que se completan todas las acciones que preceden al Nodo de unión.

Describir señales y eventos

Puede mostrar un paso en el que un proceso envía una señal como una acción de envío de señal de una actividad. Puede mostrar un paso en el que se espera a que una determinada señal o evento anterior al paso pueda continuar como una acción de aceptación de evento.

Por ejemplo, puede mostrar un paso en el que se envía un pedido y otro paso en el que debe recibirse el pedido antes de procesarlo.

Enviar una señal

Use una acción de envío de señal (3) para indicar que una señal o mensaje de algún tipo se envía a otras actividades o procesos. Use el nombre de la acción para indicar qué tipo de mensaje se envía.

  • El control pasa inmediatamente a la siguiente acción del flujo de control, si la hubiera.

  • No puede usar una acción de envío de señal para describir el modo en que responde el proceso a una información devuelta. Para ello, use una acción de aceptación de evento independiente.

  • Puede mostrar el flujo de datos de entrada en una acción de envío de señal para indicar que los datos pueden enviarse con el mensaje saliente. Para obtener más información, vea Describir el flujo de datos.

Esperar una señal o evento

Use una acción de aceptación de evento (4) para indicar que esta actividad espera algún evento externo o mensaje entrante. Use el nombre de la acción para indicar el tipo de evento que espera.

  • Para mostrar que la actividad espera un mensaje o evento externo en un punto concreto del flujo, dibuje una acción de aceptación de evento con un flujo de entrada en el lugar adecuado de la actividad.

  • Para mostrar que la actividad puede responder en cualquier momento a un mensaje o evento externo, dibuje una acción de aceptación de evento sin el flujo de entrada. Cuando tiene lugar el evento externo con nombre, se inicia un nuevo subproceso en la actividad que comienza en la acción de aceptación de evento.

  • No puede usar una acción de aceptación de evento para describir el valor devuelto al remitente de la señal. Use una acción de envío de señal diferente para ese propósito.

  • Puede mostrar los flujos de datos de salida de la acción para ilustrar el modo en que la actividad procesa los datos que se reciben en la señal. Si desea mostrar varios flujos de salida, debe establecer la propiedad IsUnmarshall de la acción de aceptación de evento, que indica que la acción analiza la señal de entrada en sus diferentes componentes. Para obtener más información, vea Describir el flujo de datos.

Describir varios flujos de datos

Puede dibujar varios flujos de control o flujos de objeto de salida de una acción para indicar que varios subprocesos emergen cuando finaliza la acción. El efecto es similar al de una bifurcación, salvo en que puede usar una combinación de flujos de control y objeto.

En el siguiente ejemplo se muestran varios flujos de entrada y salida de acciones.

Flujos de objeto en paralelo

Cuando se completa la acción "El cliente proporciona detalles", genera dos objetos: "Dirección de envío" y "Detalles de la tarjeta de crédito". Los dos objetos avanzan en el procesamiento a través de acciones diferentes.

Dado que una acción necesita que todas sus entradas estén disponibles antes de poder iniciarse, la última acción no da comienzo hasta que todas las acciones que la preceden se han completado.

Flujos

Puede usar un diagrama de actividades para que le ayude a describir una canalización o una serie de acciones que se ejecutan al mismo tiempo y para describir los datos que pasan continuamente de una acción a otra.

La finalidad del ejemplo siguiente es que cada acción pueda generar objetos y continuar funcionando. Dado que no hay flujos de control, cada acción se puede iniciar tan pronto como recibe sus primeros objetos.

Observe que los conectores de este ejemplo son flujos de objeto, ya que todos tienen al menos un extremo en un nodo de parámetros de actividad, un nodo de objeto o un terminal de entrada o salida.

Flujo de datos

1. En el ejemplo, hay tres nodos de parámetros de actividad, que representan sus entradas y salidas.

2. Los nodos de objeto, los terminales de entrada y los terminales de salida pueden representar búferes. Puede establecer la propiedad Upper Bound de un nodo de objeto para indicar cuántos objetos puede haber al mismo tiempo en el búfer.

3. Puede usar los nodos de decisión para mostrar que un flujo se divide y envía objetos diferentes a través de bifurcaciones distintas. Puede usar los comentarios o los títulos de los nodos para explicar cuál es el criterio de división.

4. Puede usar los nodos de bifurcación para mostrar que se han realizado dos o más copias de los objetos enviándolas para su procesamiento simultáneo.

5. Puede usar los nodos de unión para mostrar que dos secuencias de procesamiento se combinan en una sola.

Selección y transformación

Puede especificar que los objetos de un flujo de objeto se transformen, se seleccionen o ambas cosas. Un flujo de objeto es un flujo de entrada o salida de un terminal o un nodo objeto.

  • Una transformación indica cómo los objetos que entran un flujo se convierten en otro tipo.

  • Una selección indica cómo solo algunos de los objetos que entran en un flujo se transmiten a la acción receptora.

En el ejemplo se muestra una transformación. La primera acción del diagrama 1 genera un código postal o un terminal de salida. Este se conecta a un terminal de entrada de la segunda acción. Sin embargo, la segunda acción espera una dirección completa. La conversión de un tipo a otro se especifica en una segunda actividad, Búsqueda de direcciones. En la propiedad Transformation del flujo de objeto se hace referencia a esta acción. La actividad Búsqueda de direcciones contiene un nodo de parámetros de actividad para el código postal de entrada y otro nodo de parámetros de actividad para la dirección completa de salida.

Transformación de objetos definida en otro diagrama

Existen dos mecanismo para especificar una transformación o selección:

  • Adjuntar un comentario al terminal de entrada o salida.

    • Para distinguir esta descripción de un comentario general, puede el comentario puede empezar por <<transformación>> o <<selección>>.
  • Especificar con detalle la transformación o selección en un diagrama de actividades independiente.

    • Si usa este método, adjunte también un comentario para aclarar a los lectores que se ha definido la transformación.

Para especificar una transformación o selección en un diagrama de actividades independiente

  1. Cree un nuevo diagrama de actividades en el que describa el flujo de transformación o selección.

    • En el Explorador de soluciones, haga clic con el botón secundario en el proyecto, elija Agregar, haga clic en Nuevo elemento y, a continuación, en Diagrama de actividades. Asigne al diagrama un nombre adecuado para el flujo de transformación o selección. Haga clic en Agregar.
  2. En el nuevo diagrama:

    1. Cree dos nodos de parámetros de actividad: uno para el flujo de entrada y otro para la salida.

    2. Cree acciones que estén interconectadas con los flujos de objeto. De este modo, se mostrará cómo funciona la transformación o la selección.

  3. En los diagramas en los que desee usar la transformación o selección:

    1. Cree un flujo de objeto, es decir, un conector que tenga como origen o destino un terminal de entrada o salida, un nodo de objeto o un nodo de parámetros de actividad.

    2. Haga clic con el botón secundario en el flujo de objeto y, a continuación, haga clic en Propiedades.

    3. En la propiedad Transformation o Selection, seleccione el diagrama en el que especificó el flujo de transformación o selección.

También puede definir una selección en un nodo de objeto y en terminales de entrada y salida individuales. Defina una actividad de selección como en el procedimiento anterior y, a continuación, establezca la propiedad Selection del nodo de objeto o del terminal de entrada o salida.

Vea también

Referencia

Diagramas de secuencia UML: Referencia

Conceptos

Cómo: Modificar un modelo UML y los diagramas

Diagramas de componentes de UML: Referencia

Diagramas de casos de uso de UML: Referencia

Diagramas de clases de UML: Referencia

Diagramas de componentes de UML: Referencia

Otros recursos

Video: Capture Business Workflows by using Activity Diagrams