Sunteți pe pagina 1din 34

[UML] Diagrama de

Actividades
Posted on Apr 3rd, 2012
by Oscar Garcia
Uncategorized

En este articulo continuaremos conociendo los diagramas UML, en este caso entraremos
en ms detalle en el Diagrama de Actividades.

Que es el Diagrama de Actividades?


Es un diagrama UML que muestra el flujo de control entre actividades, es decir es aquel
que muestra las operaciones que se pasan entre los objetos en su interaccion.

Este diagrama es usado para mostrar la secuencia de actividades, ya que como


comentamos muestran el flujo de trabajo desde
el punto de inicio hasta el punto final detallando muchas de las rutas de decisiones que
existen en el progreso de eventos contenidos en la actividad. La versatilidad de estos
diagramas nos permiten detallar situaciones donde el proceso paralelo puede ocurrir en la
ejecucin de algunas las actividades.

En base a lo anterior el Diagrama de Actividad es considerado una especializacin del


Diagrama de Estados, organizado respecto de las acciones y usado para especificar:

Un mtodo.

Un caso de uso.

Un proceso de negocio (Workflow).

Que componen un Diagrama de Actividades?


Estos diagramas estan compuestos por:
Actividades:

Las actividades son las especificaciones de una secuencia parametrizada de


comportamiento, en si la actividad es un estado con una accin interna y uno o ms
transiciones de salida que automticamente preceden a la terminacin de la accin interna;
las actividades en si misma producen una accin que pueden desencadenar cambios en el
estado del sistema, podemos decir entonces que es un elemento compuesto cuyo flujo de
control se compone de otros estados de actividad y de accin. Graficamente es
representado con un rectngulo con las puntas redondeadas adjuntando todas las
acciones, flujos de control y otros elementos que constituyen la actividad.

Accin:

Una accin representa un solo paso dentro de una actividad, es un estado que representa
la ejecucin de una accin atmica, normalmente la invocacin de una operacin.
Graficamente esta representado por rectngulos con las puntas redondeada.

Transiciones o flujo de control:

Es la relacin entre dos estados que indica que un objeto en el primer estado realizar
ciertas acciones y pasar al segundo estado cuando ocurra un evento especfico y
satisfaga asi ciertas condiciones, es si es la muestra de un flujo de control de una accin a
otra. Graficamente se representa con una lnea con una punta de flecha.

Nodo Inicial:

Es el nodo que indica el comienzo o inicio de una actividad. Graficamente se representa


como un circulo negro.
Nodo Final:

Es el nodo que indica el fin ya sea de actividades o de acciones.

El nodo final de actividad se representa graficamente como un crculo con un punto dentro
del mismo.

El nodo final de flujo se representa graficamente como un crculo con una cruz dentro del
mismo.

Nodos de Decisin y Combinacin:

Son nodos que permiten representar decisiones o combinaciones en el flujo de control,


esta decisiones/combinaciones ejecutaran condiciones que cambiaran o no el flujo de la
actividad. La representacin grafica de estos nodos de decisin y combinacin es la de un
diamante.

Nodos de Bifurcacin y Unin:

Estos nodos indican el comienzo y final de hilos actuales de control,siendo la bifurcacion la


especificacin de caminos alternativos, elegidos segn el valor de alguna expresin
booleana y la Unin la sincronizacin de todos los flujos de entrada hasta que todos hayan
alcanzado la unin. La representacin grfica de estos nodos de bifurcacin y unin son
una barra horizontal vertical (la orientacin dependera de si el flujo de control va de
derecha a izquierda o hacia abajo y arriba).

[box title=NOTA type=warning width=600px ]


Una unin es diferente de una combinacin ya que la unin sincroniza dos flujos de
entrada y produce un solo flujo de salida. El flujo de salida desde una unin no se puede
ejecutar hasta que todos los flujos se hayan recibido. Una combinacin pasa cualquier flujo
de control directamente a travs de esta. Si dos o ms flujos de entrada se reciben por un
smbolo de combinacin, la accin a la que el flujo de salida apunta se ejecuta dos o ms
veces.

[/box]

Vista de un Diagrama de Actividades con todos


sus componentes:

Como conclusion podemos decir que los diagramas de actividad describen la secuencia de
las actividades en un sistema, siendo estos una forma especial de los diagramas de
estado, que nicamente contienen actividades implicadas en los estados. La gran
utilizacin de estos diagramas es en la modelizacin de procesos de negocio donde se
usan para detallar los procesos involucrados en las actividades de negocio.

(Visited 1,597 times, 5 visits today)


Diagramas de
actividades UML:
Instrucciones
Visual Studio 2015

Otras versiones

Para obtener la documentacin ms reciente de Visual Studio 2017 RC,


consulte Documentacin de Visual Studio 2017 RC.

En Visual Studio, puede dibujar un diagrama de actividades para describir un


proceso de negocio o un algoritmo de software como un flujo de trabajo a travs de
una serie de acciones. Las personas, los componentes de software o los dispositivos
pueden realizar estas acciones. Para ver una demostracin en vdeo,
visite: Capturar flujos de trabajo empresarial mediante el uso de diagramas de
actividades.

Para ver qu versiones de Visual Studio admiten esta caracterstica,


vea Compatibilidad de versiones con las herramientas de arquitectura y modelado.

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


en Nuevo diagrama UML o de capas.

Puede usar un diagrama de actividades para muchos fines:

Para describir un proceso de negocio o un flujo de trabajo entre los usuarios


y el sistema. Para obtener ms informacin, vea Requisitos del usuario de
modelos.

Para describir los pasos que se realizan en un caso de uso. Para obtener ms
informacin, vea Diagramas de casos de uso de UML: Instrucciones.

Para describir un mtodo, una funcin o una operacin en el software. Para


obtener ms informacin, consulte Modelar la arquitectura de la aplicacin.

Dibujar un diagrama de actividades puede ayudarle a mejorar un proceso. Si el


diagrama de un proceso existente resulta muy complejo, puede considerar cmo se
podra simplificar el proceso.
Para obtener informacin de referencia sobre los elementos de los diagramas de
actividades, vea Diagramas de actividades UML: Referencia.

En este tema
Relacin con otros diagramas

Pasos bsicos para dibujar diagramas de actividades

Describir el flujo de control

Describir el flujo de datos

Definir una accin con ms detalle

Flujos simultneos

Relacin con otros diagramas


Si dibuja un diagrama de actividades para describir un proceso de negocio o la
manera en que los usuarios usan el sistema, puede dibujar un diagrama de casos
de uso para mostrar una vista diferente de la misma informacin. 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 las acciones correspondientes. Las ventajas de la vista de
casos de uso son las siguientes:

Puede mostrar en un diagrama la manera en que las acciones y los casos de


uso ms grandes se componen de otros ms pequeos, mediante la relacin
Includes.

Puede conectar cada accin o caso de uso explcitamente a los usuarios o a


los sistemas externos implicados en su ejecucin.

Puede dibujar lmites alrededor de las acciones y los casos de uso admitidos
por el sistema o alrededor de cada componente importante.

Tambin puede dibujar un diagrama de actividades para describir el diseo


detallado de una operacin de software.

En un diagrama de actividades, puede mostrar el flujo de datos que se pasan entre


las acciones. Vea la seccin Describir el flujo de datos. Sin embargo, un diagrama de
actividades no describe la estructura de los datos. Para ello, puede dibujar un
diagrama de clases UML. Para obtener informacin, consulte Diagramas de clases
de UML: Instrucciones.
Pasos bsicos para dibujar diagramas de
actividades
En Editar modelos y diagramas UML 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 UML o de capas.

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 solucin o Crear nuevo proyecto de modelado.

Para dibujar elementos en un diagrama de actividades

1. Arrastre elementos desde el cuadro de herramientas al diagrama.

Comience colocando las actividades principales en el diagrama, conctelas e


incorpore los ltimos detalles, como los nodos iniciales y finales.

Nota

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


UML.

2. Para conectar los elementos, siga estos pasos:

a. En el cuadro de herramientas Diagrama de actividades, haga clic


en Conector.

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

c. Haga clic en el elemento de destino.

Nota
Para usar una herramienta varias veces, haga doble clic en la herramienta en el cuadro
de herramientas.

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 botn derecho en la


actividad y haga clic en Cortar. A continuacin, haga clic con el botn
derecho en el paquete y haga clic en Pegar.

Nota

La actividad aparecer en el Explorador de modelos UML solo cuando se agregue el


primer elemento al diagrama.

Describir el flujo de control


Un diagrama de actividades describe un proceso de negocio o un algoritmo de
software como una serie de acciones. Las flechas de conector muestran cmo el
control pasa secuencialmente de una accin a la siguiente. Normalmente, una
accin solo puede iniciar una vez completada la accin anterior.

La ilustracin siguiente es un ejemplo de cmo se puede mostrar una secuencia de


acciones mediante acciones, conectores, bifurcaciones y bucles. Cada elemento se
explica con ms detalle en las secciones siguientes.
Los diagramas de actividades usan las Acciones y los Conectores para describir el
sistema o la aplicacin como una serie de acciones de modo que el control fluya de
manera secuencial de una accin a la siguiente.

Cree una Accin (1) para cada tarea importante realizada por un usuario, el
sistema o ambos en colaboracin.

Nota

Intente describir su proceso o algoritmo con unas pocas acciones. Puede


usar Acciones de llamada a comportamiento para definir cada accin con ms
detalle en un diagrama diferente, tal como se indica en Describir actividades
secundarias con acciones de llamada a comportamiento.

Asegrese de que el ttulo de cada accin indica claramente lo que suele


hacer.

Vincule las acciones en secuencia con Conectores (2).

Cada accin finaliza antes de que comience la accin siguiente del flujo de
control. Si desea describir acciones que se superponen, use un Nodo de
bifurcacin, tal como se indica en la seccin Flujos simultneos.
Aunque el diagrama describe la secuencia de acciones, no describe cmo se
ejecutan las acciones o cmo se pasa el control de una accin a la siguiente. Si usa
el diagrama para representar un proceso de negocio, el control podra pasarse, por
ejemplo, cuando una persona enva un mensaje de correo electrnico. Si usa el
diagrama para representar un diseo de software, el flujo de ejecucin normal
podra pasar el control de una instruccin a la siguiente.

Describir decisiones y bucles

Use un Nodo de decisin (3) para indicar un punto donde el resultado de


una decisin 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 aplicacin, debe


definir las restricciones (4) para que quede claro cundo se debe tomar cada
ruta de acceso. Haga clic con el botn derecho en el conector, haga clic
en Propiedades y, en la ventana Propiedades, escriba un valor para el
campo Restriccin.

No siempre es necesario definir las restricciones. Por ejemplo, si usa el


diagrama de actividades para describir un proceso de negocio o un protocolo
de interaccin, una bifurcacin define el intervalo de opciones disponibles
para el usuario o para los componentes que interactan.

Use un Nodo de combinacin (5) para unir dos o ms flujos alternativos


que se bifurcan en un Nodo de decisin.

Nota

Debe usar un Nodo de combinacin para unir flujos alternativos, en vez de unir los
flujos en una accin. En el ejemplo, no sera correcto volver a conectar el nodo de
decisin directamente con Elegir elemento del men. Esto se debe a que una accin
no se inicia hasta que los subprocesos de control llegan a todos sus conectores de
entrada. Por lo tanto, en una accin solo debe reunir flujos simultneos. Para obtener
ms informacin, vea Flujos simultneos.

Use las bifurcaciones para describir bucles, tal como se muestra en el


ejemplo.

Nota
Intente anidar los bucles de forma bien estructurada, tal como lo hara en el cdigo
del programa. Si est describiendo un proceso de negocio existente, esto podra
ofrecer oportunidades para mejorarlo.

Iniciar la actividad

Existen dos maneras de indicar los puntos de entrada en una actividad:

Initial Node

Cree un Nodo inicial (6) para indicar la primera accin de la actividad.

Este mtodo es muy til cuando se describe una actividad secundaria o


cuando no es necesario indicar explcitamente qu inicia la actividad. Por
ejemplo, no cabe duda de que la actividad Pedir un men se inicia cuando un
cliente tiene hambre.

Nodo de aceptacin de evento

Cree Nodos de aceptacin de evento, tal como se describe en la


seccin Flujos simultneos, para indicar el inicio de un subproceso que
responde a un evento determinado, como una intervencin del usuario. No
proporcione un flujo de entrada al nodo. Al omitir el flujo de entrada, se
indica que se iniciar un subproceso cada vez que se produzca el evento.

Este mtodo es muy til cuando se describe una respuesta a un evento


externo concreto.

Finalizar la actividad

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

Cuando un subproceso de control alcanza un Nodo de final de actividad,


finalizan todas las acciones simultneas de la actividad y las actividades
secundarias.

Puede usar ms de un nodo de final de actividad para reducir la cantidad de


conectores adicionales.

Interrumpir la actividad

Para describir cmo se puede interrumpir el flujo normal de una actividad, por
ejemplo, si el usuario decide cancelar el proceso, puede crear un nodo de
aceptacin de evento que escuche ese evento. Para obtener ms informacin, vea
la seccin Flujos simultneos. Cree un flujo de control desde ese nodo hasta un
nodo de 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 de negocio que realizan las acciones.
Estas reas se organizan de manera convencional en columnas y se
denominan calles.

Use las lneas o los rectngulos de la seccin Formas simples 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 de una actividad de dos maneras:

Mediante un Nodo de objeto. Este es el mtodo ms sencillo para describir


la informacin 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 accin a otra.

Mediante un Terminal de salida y un Terminal de entrada. Este mtodo


permite describir por separado las salidas de una accin y las entradas en
otra. Los terminales son como los parmetros de un programa. Los
terminales representan puertos donde pueden entrar los objetos y dejar una
accin.

Nota

Para obtener informacin general sobre los elementos usados en esta seccin, vea la
seccin Flujos de datos del tema Diagramas de actividades UML: Referencia.

Describir el flujo de datos con nodos de objeto

La mayora de los flujos de control transportan datos. Por ejemplo, el flujo de salida
de la accin "El cliente proporciona detalles" lleva una referencia a la direccin de
envo.

Si desea describir esos datos en el diagrama, puede reemplazar un conector con un


nodo de objeto y dos conectores, tal como se muestra en la ilustracin siguiente.
Observe que los rectngulos redondeados, como Despachar mercanca, representan
acciones en las que tiene lugar el procesamiento. Los rectngulos cuadrados, como
Direccin de envo, representan un flujo de objetos de una accin a otra.

Asigne al nodo de objeto un nombre que refleje el rol del nodo como canalizacin o
bfer de los objetos que fluyen entre las acciones.

Puede establecer el Tipo del nodo de objeto en la ventana Propiedades. El tipo


puede ser un tipo primitivo, como un entero, o una clase, interfaz o enumeracin
que definiese en un diagrama de clases. Por ejemplo, podra crear una clase
Direccin de envo, con atributos como Direccin, Ciudad, etctera, junto con una
asociacin con otra clase denominada Cliente. Para obtener ms informacin,
consulte Diagramas de clases de UML: Instrucciones.

Nota

Si escribe el nombre de un tipo que todava no est definido, se agregar un elemento


en Tipos sin especificar en el 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 bfer los datos de los nodos de objeto

Un nodo de objeto puede actuar como bfer de varios objetos. En la ilustracin


siguiente, el flujo de control muestra que el usuario puede recorrer el bucle [elegir
ms] (1) muchas veces, mientras el nodo de objeto Elementos del men
seleccionados (2) acumula las selecciones del usuario. Por ltimo, cuando el usuario
finaliza su seleccin, el control pasa a la accin Confirmar pedido (3), que acepta la
lista completa de selecciones del bfer Elementos de men seleccionados.
Puede especificar cmo se almacenan los elementos de un bfer estableciendo las
propiedades del nodo de objeto:

Establezca la propiedad Ordering:

o Unordered para especificar un orden aleatorio o indeterminado.


(Valor predeterminado).

o Ordered para especificar un orden de acuerdo con una clave


especfica.

o Fifo para especificar un orden donde el primero en entrar es el


primero en salir.

o Lifo para especificar un orden donde el ltimo en entrar es el primero


en salir.

Establezca la propiedad Upper Bound para especificar el nmero mximo


de objetos que pueden incluirse en el bfer. El valor predeterminado es *.
Esto significa que no hay lmite.

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 accin y las entradas en otra.
Para crear un terminal, haga clic en Terminal de entrada o Terminal de
salida en el cuadro de herramientas y, a continuacin, haga clic en una accin. A
continuacin, puede mover el terminal alrededor del permetro de la accin y
cambiarle el nombre. Puede crear terminales de entrada y salida en cualquier tipo
de accin, incluidas las Acciones de llamada a comportamiento, las Acciones
de llamada a operacin, las Acciones de envo de seal y las Acciones de
aceptacin de evento.

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

Asigne a cada terminal un nombre que indique el rol de los objetos que genera o
acepta, como un nombre de parmetro.

Puede establecer el tipo de objetos que se transmiten en la propiedad Type. Debe


tratarse de un tipo creado en un diagrama de clases UML.

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

Tambin puede especificar que el flujo de objetos incluye una transformacin que
convierte los datos entre el tipo del terminal de salida y el tipo del terminal de
entrada. La transformacin ms comn de este tipo solamente extrae la parte
adecuada de un tipo mayor. El ejemplo de la ilustracin implica la existencia de una
transformacin que extrae la direccin de envo de los detalles del pedido.

Definir una accin con ms detalle


Adems de usar el nombre de la accin para indicar claramente el resultado que
normalmente se debe conseguir, existen otras maneras de agregar ms detalles a
una accin:

Escriba una descripcin ms detallada en la propiedad Body. Por ejemplo,


puede escribir un fragmento de cdigo o seudocdigo de programa o una
descripcin completa de los resultados obtenidos.
Reemplace la accin con una accin de llamada a comportamiento y
describa su comportamiento detallado en un diagrama de actividades
independiente. Consulte Describir actividades secundarias con acciones de
llamada a comportamiento.

Establezca las propiedades Local Postconditions y Local


Preconditions de la accin para describir el resultado con ms detalle. Para
obtener ms informacin, consulte Definir las condiciones previas y
posteriores.

Describir actividades secundarias con acciones de llamada a


comportamiento

Puede describir el comportamiento detallado de una accin usando un diagrama de


actividades independiente. Un comportamiento llamado es un diagrama de
actividades que se representa en el diagrama de actividades principal mediante una
accin de llamada a comportamiento. Tambin puede usar la accin de llamada a
comportamiento para describir el comportamiento que se comparte entre las
diferentes actividades, de modo que no tenga que dibujar varias veces la actividad
secundaria.

En la ilustracin siguiente, el diagrama 1 muestra una actividad que tiene una


accin de llamada a comportamiento, mientras que el diagrama 2 muestra el
diagrama de actividad secundaria donde puede verse el comportamiento llamado.
Para describir una actividad secundaria con una accin de llamada
a comportamiento

1. Para crear el diagrama de la actividad secundaria, en el Explorador de


soluciones, haga clic con el botn derecho en el proyecto de modelado,
seleccione Agregar y, a continuacin, haga clic en Nuevo elemento.

2. En el cuadro de dilogo Agregar nuevo elemento, en Plantillas, haga clic


en Diagrama de actividades y en el cuadro Nombre escriba el nombre
que desea asignar a la Accin de llamada a comportamiento.

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


comportamiento llamado.

o En el diagrama de la actividad secundaria llamada, el Nodo


inicial indica dnde empieza el control cuando se invoca el
comportamiento llamado. El Nodo de final de actividad muestra
dnde debe volver el control a la actividad principal.

4. Establezca la propiedad Behavior de la Accin de llamada a


comportamiento para que haga referencia al diagrama del
comportamiento llamado.

Nota

El diagrama de actividad secundaria debe contener algunos elementos o de lo


contrario el diagrama no estar disponible en la lista desplegable de la
propiedad Behavior. Adems, el icono con forma de tridente no aparecer en la
forma de la Accin de llamada a comportamiento hasta que establezca su
propiedad Behavior.

5. Establezca la propiedad Is Synchronous de la accin para indicar si la


actividad espera hasta que se complete la actividad llamada.

o Si establece Is Synchronous en false, indicar que el flujo puede


continuar hasta la siguiente accin antes de que finalice la actividad
llamada. No debe definir terminales de salida o flujos de datos
salientes desde la accin.

Describir el flujo de datos dentro y fuera de las actividades


secundarias

Puede describir los datos que fluyen dentro y fuera de las actividades secundarias
de la misma manera que usa los parmetros en el software.
Cree terminales de entrada y salida (1) en la accin de llamada a
comportamiento para cada elemento de datos que fluya dentro o fuera de la
accin. Asigne a cada uno un nombre apropiado.

En el diagrama de actividad secundaria, cree un Nodo de parmetros de


actividad (2) para cada terminal de entrada y salida en la accin que realiza
la llamada. Asigne a cada nodo el mismo nombre que el de su terminal
correspondiente.

Nota

Un nodo de parmetros de actividad se parece a un nodo de objeto. Para comprobar


qu tipo de nodo est examinando, haga clic con el botn derecho en el nodo y, a
continuacin, haga clic en Propiedades. El tipo de nodo se muestra en el encabezado
de la ventana Propiedades.

En el diagrama de actividad secundaria, dibuje conectores que muestren el


flujo de objetos dentro o fuera de cada nodo de parmetros de actividad.

Definir las condiciones previas y posteriores


Puede usar las propiedades Local Postconditions y Local Preconditions para
especificar en detalle el resultado de una accin. Estas propiedades describen el
efecto de la accin sin describir cmo se consigue el efecto.

Para establecer estas propiedades, haga clic con el botn derecho en la accin y, a
continuacin, haga clic en Propiedades. Escriba los valores de las propiedades en
la ventana Propiedades.

Local Postconditions

Una condicin posterior es una condicin que debe cumplirse antes de que la accin
pueda considerarse completada. En el ejemplo, en la accin Confirmar pedido, la
condicin posterior puede ser:

El cliente proporcion detalles completos y vlidos que son necesarios para


procesar su tarjeta de crdito.

Una condicin posterior puede expresar una relacin entre los estados antes y
despus de que se produzca la accin. Por ejemplo:

El tipo de inters es el doble de antes.

Puede escribir condiciones posteriores con un estilo ms formal, haciendo referencia


a atributos especficos de los datos implicados en las acciones. Por ejemplo:

InvoiceTotal == Sum(OrderItem.MenuItem.Price)

Local Preconditions

Una condicin previa es una condicin que debe ser true cuando la accin est a
punto de comenzar. Por ejemplo, la accin Confirmar pedido podra tener la
condicin previa siguiente:

El cliente eligi al menos un elemento del men.

Describir las llamadas a operaciones

Por lo general, una accin describe el trabajo que lleva a cabo una combinacin de
personas, software o equipos. Sin embargo, puede usar una accin de llamada a
operacin para describir una llamada a un determinado mtodo o funcin de
software.

Establezca el nombre de la accin de llamada a operacin para indicar a qu


operacin se llama y en qu objeto o componente.

Agregue terminales de entrada y salida a la accin de llamada a operacin


para describir los parmetros y los valores devueltos.

Puede establecer la propiedad Is Synchronous de la accin para indicar si


la actividad espera hasta que se complete la operacin.
o Si establece Is Synchronous en false, indicar que el flujo puede
continuar hasta la siguiente accin antes de que se complete la
operacin llamada. No debe definir terminales de salida o flujos de
datos salientes desde la accin.

Flujos simultneos
Puede usar el Nodo de bifurcacin y el Nodo de unin para describir dos o ms
subprocesos de actividades que se pueden ejecutar al mismo tiempo.

El efecto del Nodo de bifurcacin (1) consiste en dividir el subproceso de control


en dos o ms subprocesos. Cuando finaliza la accin anterior, pueden iniciarse
todas las acciones del lado de salida de la bifurcacin.

Un Nodo de unin (2) rene los subprocesos simultneos. La accin que viene
despus del Nodo de unin podra no iniciarse hasta que se completen todas las
acciones que dan lugar al Nodo de unin.

Describir seales y eventos

Puede mostrar un paso en un proceso que enva una seal como una accin de
envo de seal de una actividad. Puede mostrar un paso que espera una seal
especfica o un evento antes de que el paso pueda continuar como una accin de
aceptacin de evento.

Por ejemplo, puede mostrar un paso que enva un pedido y, a continuacin, otro
paso que debe recibir el pedido antes de procesarlo.
Enviar una seal

Use una accin de envo de seal (3) para indicar que se enva una seal o un
mensaje de algn tipo a otras actividades o procesos. Use el nombre de la accin
para indicar qu tipo de mensaje se enva.

El control pasa inmediatamente a la accin siguiente del flujo de control, si la


hay.

No puede usar una accin de envo de seal para describir cmo responde el
proceso a una informacin devuelta. Para ello, use una accin de aceptacin
de evento independiente.

Puede mostrar el flujo de datos entrante en una accin de envo de seal


para indicar qu datos pueden enviarse con el mensaje saliente. Para
obtener ms informacin, vea Describir el flujo de datos.

Esperar una seal o evento

Use una accin de aceptacin de evento (4) para indicar que esta actividad espera
algn evento externo o mensaje entrante. Use el nombre de la accin para indicar
el tipo de evento que espera.

Para mostrar que la actividad espera un mensaje o evento externo en un


punto concreto de su flujo, dibuje una accin de aceptacin de evento con
un flujo de entrada en el lugar adecuado de la actividad.

Para mostrar que la actividad puede responder a un mensaje o evento


externo en cualquier momento, dibuje una accin de aceptacin de evento
sin flujo de entrada. Cuando se produce el evento externo con nombre, se
iniciar un nuevo subproceso en la actividad a partir de la accin de
aceptacin de evento.

No puede usar una accin de aceptacin de evento para describir el valor


devuelto al remitente de la seal. Use una accin de envo de seal diferente
para ese propsito.

Puede mostrar flujos de datos salientes de la accin para indicar cmo


procesa la actividad los datos que se reciben en la seal. Si desea mostrar
ms de un flujo de salida, debe establecer la propiedad IsUnmarshall de la
accin de aceptacin de evento, lo que indica que la accin analiza la seal
de entrada en sus diferentes componentes. Para obtener ms informacin,
vea Describir el flujo de datos.

Describir varios flujos de datos

Puede dibujar ms de un flujo de control o flujo de objeto saliendo de una accin


para indicar que varios subprocesos emergen cuando finaliza la accin. El efecto es
similar al de una bifurcacin, salvo que se puede usar una combinacin de flujos de
control y objeto.
El ejemplo siguiente muestra varios flujos que entran y salen de acciones.

Cuando se completa la accin "El cliente proporciona detalles", se generan dos


objetos: "Direccin de envo" y "Detalles de la tarjeta de crdito". Los dos objetos
avanzan en el procesamiento mediante acciones diferentes.

Dado que una accin requiere que todas sus entradas estn disponibles antes de
iniciarse, la ltima accin no se inicia hasta que se completen todas las acciones
anteriores.

Secuencias

Puede usar un diagrama de actividades para describir una canalizacin o una serie
de acciones que se ejecutan al mismo tiempo y pasan datos continuamente de una
accin a otra.

La finalidad del ejemplo siguiente es que cada accin genere objetos y siga
funcionando. Dado que no hay flujos de control, cada accin se puede iniciar en
cuanto recibe sus primero objetos.

Observe que los conectores de este ejemplo son flujos de objeto, ya que todos
tienen al menos un extremo en un nodo de parmetros de actividad, un nodo de
objeto o un terminal de entrada o salida.
1. El ejemplo tiene tres nodos de parmetros de actividad, que representan sus
entradas y salidas.

2. Los nodos de objeto, los terminales de entrada y los terminales de salida


pueden representar bferes. Puede establecer la propiedad Upper Bound de
un nodo de objeto para indicar cuntos objetos puede haber en el bfer al
mismo tiempo.

3. Puede usar los nodos de decisin para mostrar que una secuencia se divide
y enva objetos diferentes por bifurcaciones diferentes. Puede usar los
comentarios o los ttulos de los nodos para explicar cul es el criterio de
divisin.

4. Puede usar los nodos de bifurcacin para mostrar que se realizan dos o ms
copias de los objetos, que se envan para el procesamiento simultneo.

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

Seleccin y transformacin

Puede especificar que los objetos de un flujo de objeto se transforman, se


seleccionan o ambas cosas. Un flujo de objeto es un flujo que sale o entra de un
terminal o un nodo de objeto.
Una transformacin describe la manera en que los objetos que entran un
flujo se convierten en otro tipo.

Una seleccin describe cmo solo algunos de los objetos que entran en un
flujo se transmiten a la accin receptora.

En el ejemplo se muestra una transformacin. La primera accin del diagrama 1


genera un cdigo postal en un terminal de salida. Este se conecta a un terminal de
entrada de la segunda accin. Sin embargo, la segunda accin espera una direccin
completa. La conversin de un tipo a otro se especifica en una segunda actividad,
denominada Bsqueda de direcciones, a la que se hace referencia en la propiedad
Transformation del flujo de objeto. La actividad Bsqueda de direcciones contiene
un nodo de parmetros de actividad para el cdigo postal de entrada y otro nodo de
parmetros de actividad para la direccin completa de salida.

Puede especificar una transformacin o seleccin de dos maneras:

Adjunte un comentario al terminal de entrada o salida.

o Para distinguir esta descripcin de un comentario general, puede


empezar el comentario con <<transformacin>> o <<seleccin>>.

Especifique con detalle la transformacin o seleccin en un diagrama de


actividades independiente.
o Si usa este mtodo, adjunte tambin un comentario para dejar claro a
los lectores que se defini la transformacin.

Para especificar una transformacin o seleccin en un diagrama de


actividades independiente

1. Cree un nuevo diagrama de actividades en el que se describa el flujo de


transformacin o seleccin.

o En el Explorador de soluciones, haga clic con el botn derecho en


el proyecto, elija Agregar, haga clic en Nuevo elemento y, a
continuacin, haga clic en Diagrama de actividades. Asigne al
diagrama un nombre adecuado para el flujo de transformacin o
seleccin. Haga clic en Agregar.

2. En el nuevo diagrama:

o Cree dos nodos de parmetros de actividad, uno para el flujo de


entrada y otro para el de salida.

o Cree acciones interconectadas con los flujos de objeto. De esta


manera se muestra cmo funciona la transformacin o la seleccin.

b. En los diagramas en los que desee usar la transformacin o la seleccin:

o Cree un flujo de objeto, es decir, un conector que entre o salga de un


terminal de entrada o salida, un nodo de objeto o un nodo de
parmetros de actividad.

o Haga clic con el botn derecho en el flujo de objeto y, a continuacin,


haga clic en Propiedades.

o En la propiedad Transformation o Selection, seleccione el


diagrama en el que especific el flujo de transformacin o seleccin.

Tambin puede definir una seleccin en un nodo de objeto y en terminales de


entrada y salida individuales. Defina una actividad de seleccin como en el
procedimiento anterior y, a continuacin, establezca la propiedad Selection del
nodo de objeto o del terminal de entrada o salida.
Diagramas de
actividades UML:
Referencia
Visual Studio 2015

Otras versiones

Para obtener la documentacin ms reciente de Visual Studio 2017 RC,


consulte Documentacin de Visual Studio 2017 RC.

Un diagrama de actividades muestra un proceso de negocio o un proceso de


software como un flujo de trabajo a travs de una serie de acciones. Las personas,
los componentes de software o los equipos pueden realizar estas acciones.

Puede usar un diagrama de actividades para describir procesos de varios tipos,


como los ejemplos siguientes:

Un proceso de negocio o un flujo de trabajo entre los usuarios y el sistema.


Para ms informacin, vea Requisitos del usuario de modelos.

Los pasos que se realizan en un caso de uso. Para ms informacin,


vea Diagramas de casos de uso de UML: Instrucciones.

Un protocolo de software, es decir, las secuencias de interacciones entre


componentes permitidas.

Un algoritmo de software.

En este tema se describen los elementos que puede usar en los diagramas de
actividades. Para obtener informacin detallada sobre el dibujo de diagramas de
actividades, vea Diagramas de actividades UML: Instrucciones. Para crear un
diagrama de actividades UML, en el men Arquitectura, haga clic en Nuevo
diagrama de UML o de capas. Para ms informacin sobre cmo dibujar
diagramas de modelado en general, vea Editar modelos y diagramas UML.

Leer diagramas de actividades


En las tablas de las secciones siguientes se describen los elementos que puede usar
en un diagrama de actividades y sus propiedades principales. Para obtener una lista
completa de las propiedades de los elementos, vea Propiedades de los elementos
de diagramas de actividades UML.

Las acciones y otros elementos que aparecen en un diagrama de actividades


conforman una actividad. Puede ver la actividad en el Explorador de modelos UML.
Se crea cuando se agrega el primer elemento al diagrama.

Para leer un diagrama, imagine que un token o un subproceso de control pasa por
los conectores de una accin a la siguiente.

Flujos de control simple

Puede mostrar una secuencia de acciones con bifurcaciones y bucles. Para ms


informacin sobre cmo usar los elementos que se describen aqu, vea la seccin
Describir el flujo de control del tema Diagramas de actividades UML: Instrucciones.

Forma Elemento Descripcin y propiedades principales

1 Accin Paso de la actividad en el que los usuarios o el


software realizan alguna tarea.

La accin se puede iniciar cuando un token llega a


todos sus flujos entrantes. Cuando termina, los
tokens se envan en todos los flujos salientes.

- Body: especifica la accin en detalle.


- Language: idioma de la expresin en el cuerpo.
- Local Postconditions: restricciones que deben
cumplirse cuando termina la ejecucin. Objetivo
alcanzado por la accin.
- Local Preconditions: restricciones que deben
cumplirse antes de que empiece la ejecucin.

2 Flujo de Conector que muestra el flujo de control entre las


control acciones. Para interpretar el diagrama, imagine
que un token fluye de una accin a la siguiente.

Para crear un flujo de control, use la


herramienta Conector.

3 Initial Indica la primera accin o las primeras acciones


Node de la actividad. Cuando se inicia la actividad, un
token fluye desde el nodo inicial.

4 Activity Fin de la actividad. Cuando llega un token, la


Final Node actividad finaliza.

5 Decision Bifurcacin condicional de un flujo. Tiene una


Node entrada y dos o ms salidas. Un token entrante
solo emerge en una de las salidas.

6 Restricci Condicin que especifica si un token puede fluir


n por un conector. Se usa con ms frecuencia en los
flujos salientes de un nodo de decisin.

Para establecer una restriccin, haga clic con el


botn derecho en un flujo, haga clic
en Propiedades y, despus, establezca la
propiedad Restriccin.

7 Merge Necesario para combinar los flujos que se


Node dividieron mediante un nodo de decisin. Tiene
dos o ms entradas y una salida. Un token en
cualquier entrada emerge en la salida.

8 Comentari Proporciona informacin adicional sobre los


o elementos a los que est vinculado.

9 Call Accin que se define con ms detalle en otro


Behavior diagrama de actividades.
Action
- IsSynchronous: si es true, la accin espera
hasta que la actividad finaliza.
- Behavior: actividad invocada.

(sin Call Accin que llama a una operacin en una


mostra Operation instancia de una clase.
r) Action

Actividad Flujo de trabajo que se representa mediante un


diagrama de actividades. Para ver las propiedades
de una actividad, debe seleccionarla en
el Explorador de modelos UML.

- Is Read Only: si es true, la actividad no debe


cambiar el estado de los objetos.
- Is Single Execution: si es true, a lo sumo hay
una ejecucin de este diagrama a la vez.

Diagrama Diagrama que muestra una actividad. Para ver


de sus propiedades, haga clic en una parte vaca del
actividade diagrama. Note: Los nombres del diagrama de
s UML actividades, el archivo que contiene el diagrama y
la actividad que se muestra en el diagrama
pueden ser diferentes.

Flujos simultneos

Puede describir secuencias de acciones que se ejecutan al mismo tiempo. Para ms


informacin, vea Dibujar flujos simultneos.
For Element Descripcin
ma o

11 Fork Divide un nico flujo en flujos simultneos. Cada token


Node entrante genera un token en cada conector saliente.

12 Join Combina flujos simultneos en un nico flujo. Cuando


Node cada flujo entrante tiene un token en espera, se
genera un token en la salida.

13 Send Accin que enva un mensaje o una seal a otra


Signal actividad o a un subproceso simultneo de la misma
Action actividad. El tipo y el contenido del mensaje estn
implcitos en el ttulo de la accin o se especifican en
los comentarios adicionales.

La accin puede enviar datos de la seal, que se


pueden pasar a la accin de un flujo de objeto o
terminal de entrada (16).

14 Accept Accin que espera un mensaje o una seal antes de


Event continuar con la accin. El tipo de mensaje que la
Action accin puede recibir est implcito en el ttulo o se
especifica en los comentarios adicionales.

Si la accin no tiene ningn flujo de control entrante,


genera un token cada vez que recibe un mensaje.

La accin puede recibir datos de la seal, que se


pueden pasar a un flujo de objeto o terminal de salida
(17).

- IsUnmarshall: si es true, puede haber varios


terminales de salida con tipo y los datos se
deserializan en ellos. Si es false, todos los datos
aparecen en un terminal.

Flujos de datos

Puede describir el flujo de datos de una accin a otra. Para ms informacin sobre
los elementos que se usan en esta seccin, vea la seccin Dibujar flujos de datos
del tema Instrucciones para dibujar un diagrama de actividades.

Forma Elemento Descripcin

15 Object Representa los datos que pasan por un flujo.


Node
- Ordenacin: cmo se almacenan varios tokens.
- Selection: invoca un proceso, que se puede
definir en otro diagrama, que filtra los datos.
- Upper Bound: 0 indica que los datos deben
pasar directamente por el flujo; * indica que los
datos pueden almacenarse en el flujo.
- Type: tipo de objetos que se almacenan y se
transmiten.

16 Input Pin Representa los datos que puede recibir una


accin cuando se ejecuta.

- Type: tipo de objetos que se transmiten.

17 Output Pin Representa los datos que genera una accin


cuando se ejecuta.

- Type: tipo de objetos que se transmiten.

18 Activity Nodo de objeto a travs del cual la actividad


Parameter recibe o genera datos.
Node
Se usa cuando la actividad representada en el
diagrama se llama desde otra actividad, o bien
cuando el diagrama describe una operacin o
funcin.

- Type: tipo de objetos que se transmiten.

(sin Flujo de Conector que muestra el flujo de datos entre las


mostrar objetos acciones y los nodos de objeto.
)
Para crear un flujo de objeto, use la
herramienta Conector para vincular un terminal
de entrada o salida, o bien un nodo de objeto a
otro elemento.

- Selection: invoca un proceso, que se puede


definir en otro diagrama, que filtra los datos.
- Transformation: invoca un proceso, que se
puede definir en otro diagrama, que transforma
los datos.
- IsMulticast: indica que puede haber varios
componentes u objetos de destinatario.
- IsMultiReceive: indica que pueden recibirse
entradas de varios objetos o componentes.

Vea tambin

S-ar putea să vă placă și