martes, 26 de abril de 2016

Diagrama de actividades

Elementos básicos de un diagrama de actividad

Los diagramas de actividad permiten describir como un sistema implementa su funcionalidad.

Los diagramas de actividad modelan el comportamiento dinámico de un procedimiento, transacción o caso de uso haciendo énfasis en el proceso que se lleva a cabo.

Los diagramas de actividad es uno de los elementos de modelado que son mejor comprendidos por todos, ya que son herederos directos de los diagramas de flujo.

Los diagramas de actividad son mas expresivo que los diagramas de flujo. También heredan características de: „

  • Los diagramas de estado. „
  • Los diagramas de flujo de datos. „ 
  • Las redes de Petri.

Actividades y acciones

Una acción es un paso de un proceso que tiene la semática “run to completion” (Se inicia para ser terminado) 

Una actividad es un conjunto de acciones que modelan un proceso. No tiene la semántica “run to completion”. Una actividad se modela mediante un diagrama de actividad. 

Enjabonar, enjuagar o secar un coche son acciones de la actividad “Lavar un coche” 


Branching and merges


Las decisiones representan las alternativas de flujo de control en un diagrama que se llevan a cabo en función de una condición. 

La condiciones de guarda asociadas a cada rama de salida determinan la opción de flujo de control que se sigue. 

Las ramas de flujo de control abiertas en una o varias condiciones se cierran en un punto de convergencia (merge).

Decisiones consistentes 

La opciones de una decisión deben ser: „ 
  • Completas. „ 
  • No ambiguas.

Fork y Joint

Los fork y los joint se utilizan en los diagramas de actividad para describir concurrencia entre acciones o actividades.
Las líneas de flujo de salida de un fork representa líneas de ejecución que se ejecutan concurrentemente. 
Las líneas de flujo de entrada de un joint se sincronizan para continuar en una única línea de flujo. 

Todas la acciones de las líneas de flujo previas a un joint deben completarse antes de que se ejecute la primera acción de la línea posterior a él. 

Time events
Los eventos de tiempo modelan: „ 
  • Activaciones temporizadas. „ 
  • Timeouts „ 
  • Retrasos. „ 
Un evento de tiempo puede ser el inicio de una actividad.

Un evento temporizado con flujo de entrada representa una única activación tras llegarle el flujo.

Un evento de tiempo sin flujo de entrada representa una activación que puede ser repetida en el tiempo. 


Calling other activities


Objects 
En un diagrama de actividad se pueden representar los objetos de datos que se generan, se consumen o se intercambian en un proceso y que son relevantes para su descripción. 

Cuando un objeto de datos se representan como una caja, significa que esos datos existen en el punto de flujo de control en que se insertan. 

Cuando un objeto de datos se representa mediante unos pines asociados a las acciones o actividades, representan objetos de datos de entrada o de salida. 

Sending and receiving signals

En un diagrama de actividad las señales representan interacciones del proceso que se Describe con operadores sistemas u otros procesos externos a él. 

• Cuando un receptor de señales tiene flujo de entrada representa que cuando el flujo le llega se habilita para aceptar una única señal. 
• Cuando no tiene flujo de entrada, representa que puede aceptar uno o muchas señales. 


Starting an activity

Una actividad se puede iniciar por: „ 

  • Cuando se invoca de forma regular: se representa mediante un circulo. „ 
  • Cuando se recibe un objeto de dato de entrada „ 
  • Cuando se produce un evento temporizado „ 
  • Cuando se recibe una señal externa.
Interrupting an activity

Una actividad de duración no atómica puede concluirse por la ocurrencia de un evento o una señal externa. Para ello se define una región de interrupción mediante una línea que engloba las actividades o acciones que pueden ser interrumpidas por el evento o señal que también se incluye en la región.



Partitions or swinglanes

Los swinglanes representan los procesos, participantes o elementos responsables de ejecutar un conjunto de acciones.