Introduccin
en la secuencia de actividades que se llevan a cabo y las condiciones que guardan o disparan esas actividades
2006
Elementos bsicos
Estado inicial: Marca el punto de inicio del flujo de ejecucin Estado final: Marca el punto final del flujo de ejecucin Actividad/Accin: Representan la realizacin de un paso del flujo de ejecucin Flujo de control: Determina qu actividad va a continuacin de otra (se le puede asociar un nombre) En los libros aparecen ejemplos con la notacin de la versin 1.5
2006
3
Representacin grfica
estado inicial
Actividad 1
Actividad 2 Actividad 3
actividad
transicin
estado final
2006
Insertar tarjeta
Introducir cdigo
Introducir cantidad
Retirar tarjeta
Retirar dinero
2006
Restricciones
Un estado inicial no puede ser destino de una transicin Toda actividad tiene al menos un flujo de entrada y otro de salida Puede haber cero o ms estados finales (por ejemplo, un proceso continuo no tendr estado final)
2006
Recomendaciones
Conviene colocar (no es obligado) el estado inicial en la parte superior izquierda del diagrama
2006
Situaciones alternativas
Lo normal es que puedan aparecer distintos flujos dependiendo de que se den una serie de circunstancias u otras. Por ejemplo: qu pasa si la tarjeta no es vlida? qu pasa si el cdigo introducido no es el de la tarjeta? qu pasa si la cantidad solicitada supera la cantidad disponible en la tarjeta? qu pasa si con los tipos de billetes que tiene el cajero en ese momento no puede entregar la cantidad solicitada?
2006
Decisiones
Decisin: Marca la existencia de flujos alternativos Condicin/guarda: Se escribe encima de un flujo de control e indica la condicin que se debe cumplir para que el flujo contine a travs de l Fusin (Merge): Sirve para juntar dos o ms flujos alternativos de ejecucin que se han producido por una decisin [cond.]
2006
Representacin grfica
Actividad 1
condicin
[cond. 1]
[cond. 2]
decisin
Actividad 2
Actividad 3
Actividad 4
fusin
2006
10
Actividad 1 [cond. 1] [cond. 1] [cond. 2] Actividad 2 Actividad 2 Actividad 3 Actividad 4 Actividad 4 Actividad 3 Actividad 1 [cond. 2]
Insertar tarjeta [tarjeta no vlida] [tarjeta vlida] Introducir cdigo [tercer cdigo no vlido] [cdigo vlido] ... [primer o segundo cdigo no vlido]
2006
12
Restricciones
Una decisin tiene un flujo de entrada y dos o ms de salida Todo flujo de salida de una decisin debe estar etiquetado con una condicin Las condiciones de todos los flujos de salida de una decisin deben ser disjuntas y completas Se puede utilizar la condicin else para representar el flujo que se sigue en caso de que ninguna de las otras condiciones sea cierta Una fusin tiene dos o ms flujos de entrada y un flujo de salida
2006
13
Flujos concurrentes
Un diagrama de actividades tambin nos permite representar flujos que ocurren de forma concurrente (en paralelo). Tambin permite indicar actividades que se pueden hacer en cualquier orden (si lo hicieran elementos distintos lo podran hacer a la vez) Por ejemplo: A la vez que se expulsa una tarjeta no vlida se le muestra un mensaje al usuario Supongamos que el cdigo y la cantidad se pueden introducir en cualquier orden.
2006
14
Flujos concurrentes
Divisin: Marca el inicio de flujos de actividades en paralelo Unin: Marca el fin de flujos de actividades en paralelo
2006
15
Representacin grfica
Actividad 1
Actividad 2
divisin
Actividad 3
Actividad 4 2006
unin
16
Introducir cdigo [3er cdigo no vlido] [1er o 2 cdigo no vlido] [cdigo vlido] ... 2006
17
Reglas
Una divisin tiene un flujo de entrada y dos o ms flujos de salida Una unin tiene dos o ms flujos de entrada y un flujo de salida El flujo de salida de una unin se dispara cuando se han finalizado todos los flujos de entrada en la unin (todos ellos discurren en paralelo)
2006
18
Actividades complejas
Para que los diagramas no queden excesivamente complejos se pueden modularizar haciendo uso de subactividades. Por ejemplo: Los procesos de: - validacin del cdigo - introduccin de una cantidad - tarjeta no vlida se puede representar aparte facilitando la comprensin del diagrama
2006
19
Subactividades
Nota: en la versin 1.5 en los diagramas de actividades se utilizaba otro smbolo Accin/Actividad Una accin representa un paso del flujo de ejecucin que se considera atmico, mientras que una actividad representa un comportamiento compuesto de elementos individuales que son acciones.
2006
20
Representacin grfica
subactividad
Actividad 2
...
2006
22
Terminar el proceso
Introducir cdigo
Introducir cantidad
2006
23
Reglas
Un diagrama de actividades demasiado grande nos debe hacer pensar que igual conviene incluir alguna subactividad para simplificarlo
2006
24
Ya conocemos: Estado final: Marca el punto final de todos los flujos de ejecucin
UML 2.0 incorpora la nocin de: Final de flujo: Marca el punto final de un flujo, dejando en ejecucin el resto de flujos
2006
25
Representacin grfica
Actividad 1
Actividad 2
Actividad 3
Si la Actividad 3 es la primera que acaba entonces la Actividad 2 contina ejecutndose hasta que se acaba
2006
26
Particiones
Se pueden hacer particiones en un diagrama de actividades para identificar las acciones que tienen alguna caracterstica en comn. Por ejemplo que se llevan a cabo por un mismo actor. Por ejemplo: Indicar que es el usuario el que introduce el cdigo y la cantidad Indicar que es el sistema el que expulsa la tarjeta y muestra el mensaje de error.
2006
27
Particiones
Particiones: El diagrama se divide en partes, agrupando las actividades que tienen algo en comn
2006
28
Representacin grfica
Particin 1 Particin 2
particin
Actividad 1 [cond. 1] [cond. 2]
Actividad 2
Actividad 3
Actividad 4
2006
29
Introducir cdigo
Introducir cantidad
2006
30
Reglas
Cada actividad debe estar en una particin No aconsejan representar diagramas con ms de cinco particiones por simplicidad
2006
31
Flujo de objetos
Objetos: Objetos que se ven involucrados en las actividades Flujo de objetos: Conectan los objetos con las actividades que los producen o los consumen. Un flujo de objetos de una actividad a otra implica un flujo de control.
2006
32
Representacin grfica
objeto
flujo de objetos
Actividad 2
objeto2 [estado]
Actividad 3
2006
33
Actividad 1
objeto1
flujo de objetos
2006
objeto
34
Ejemplo
Rellenar Pedido
Pedido
Enviar Pedido
Rellenar Pedido
Enviar Pedido
2006
35
Reglas
Un flujo de objetos no puede iniciarse en un estado inicial Los objetos (por no tratarse de actividades) pueden aparecer encima de las lneas que sirven para dividir las calles de una particin
2006
36
Seales
Enviar (SendEventAction): Representa la accin de enviar una seal Aceptar (AcceptEventAction): Representa la accin de aceptar una seal. Aceptar evento temporal: Tipo particular de accin aceptar en la que la seal es una seal de tiempo. Excepcin: Representa la ocurrencia de una excepcin. Regin que se puede interrumpir: Representa un grupo de actividades que se pueden interrumpir.
2006
37
Representacin grfica
Accin de enviar una seal
Actividad 1
Seal 1
Seal 3
excepcin
Seal 2 Actividad 2
Tiempo 1
Actividad 3
2006
38
Ejemplos
Tramitar Pedido
Solicitar Pago
Confirmar Pago
Expedir Pedido
...
... 2006
39
Reglas
Cuando un nodo aceptar no tiene ningn flujo de entrada su comportamiento es especial. No acaba cuando acepta un evento sino que se queda a la espera de nuevos eventos mientras la actividad que lo contiene permanece activa.
Gestin Emitir Informe mensual
Actividad 1
Final de mes
...
2006
40
Regiones
Nodo de expansin: Flujo de una coleccin a travs de la frontera de una regin de expansin Regin de expansin: Permite representar la ejecucin de un bloque de actividades para cada elemento de una coleccin de entrada
2006
41
Representacin grfica
Coleccin de entrada
Actividad 1
Regin
Actividad 2
Actividad 3
Coleccin de salida
2006
42
Reglas
Todos los vectores (de entrada y salida) deben tener el mismo tamao Existe al menos un nodo de expansin de entrada y cero o ms nodos de expansin de salida Si un nodo de expansin tiene nombre entonces corresponde al nombre de un elemento individual La ejecucin para cada uno de los elementos puede ser: en paralelo: las ejecuciones son independientes iterativa: secuencial, una detrs de otra como corriente: una vez empezada la ejecucin sigue recibiendo elementos de entrada
2006
43