Anda di halaman 1dari 29

Diagrama de Actividades

Prof. Guillermo E Prof E. Badillo Fuente: Profesor Guillermo Bustos.

Diagrama de Actividades (DAct)


y Caractersticas del DAct y Componentes del DAct y Contracciones C t i y Repeticin de actividades y Bandas o carriles (swimlanes) y Jerarquizacin

Caractersticas del DAct


y Modelo hbrido propuesto a partir de:
y diagrama de eventos de J. Odell y modelado de estados SDL (Specification and Description

Language) y modelado de flujo j de trabajo j (workflow f ) y redes de Petri

...Caractersticas del DAct


y Es predominantemente dinmico (en trminos de

comportamiento), pero representa elementos funcionales (act v a es). (actividades). y Describe las posibilidades procedimentales (organizacin temporal) del sistema sobre la base de actividades.

...Caractersticas del DAct


y Muestra una secuenciacin de actividades con soporte

para comportamiento condicional y concurrente. y Responde a preguntas tales como:


y qu actividades se realizan en el sistema? y cmo se organizan g temporalmente p las actividades? y qu actividades pueden ejecutarse en paralelo?

Componentes del DAct


y El DAct presenta los siguientes

componentes:
y actividad y transicin y nodos divisin/unin y barras b f k/join fork

Llamar ascensor

Esperar llegada de ascensor

Subir a ascensor

y Ejemplo:
Marcar piso

Bajar de ascensor

Esperar llegar a piso

Actividad
y Tambin se le denomina estado actividad. actividad y Es un paso o tarea simple dentro de un procedimiento. y Por definicin toma tiempo en concluirse. y Representacin:

Validar cliente

Transicin
y Tambin llamada transicin de actividades. actividades y Representa el trmino de una actividad y el inicio de otra. y Casos C particulares: ti l
y transicin inicial y transicin t i i fi final l

Organizacin g de actividades
Recibir Pedido

y Actividades pueden

organizarse: i
y en secuencia y condicionadas d d y en paralelo

Completar Pedido [pedido urgente]

hilos paralelos

Enviar Factura

[normal]

condicin

Despachar 24 Horas

Despachar Normal

Recibir Pago

y Ejemplo:

hilos excluyentes l t
Cerrar Pedido

Nodos odos divisin/unin d s /u


y Permiten organizar actividades en forma condicionada: y divisin (branch): abre hilos excluyentes de actividad
y tiene una sola transicin de entrada y tiene 2 o ms transiciones de salida con condiciones excluyentes entre si y la nica transicin de salida, cuya condicin es verdadera en el momento de la

ejecucin, es lanzada
[p] [q] [r]

y unin (merge): cierra los hilos excluyentes de actividad


y tiene 2 o ms transiciones de entrada y una sola de salida

...Nodos odos divisin/unin d s /u


y Uso disciplinado: Se recomienda que los

nodos divisin/unin vayan pareados en la mayora de los casos.

Identificar cliente

y Ejemplo:

[opcin giro]

[opcin transferencia]

[opcin depsito] Girar dinero Depositar dinero Transferir entre cuentas

Barras a as fork o /jo join


y Permiten organizar actividades en forma concurrente: y fork: abre hilos paralelos de actividad
y cuando la nica transicin de entrada se realiza, realiza las 2 o ms transiciones

de salidas son lanzadas en paralelo

yj join i : cierra i los l hilos hil paralelos l l d de actividad i id d y cuando las 2 o ms transiciones de entrada se hayan realizado, la nica transicin de salida es lanzada

...Barras Barras fork/join


y Ejemplo:
Recibir pedido

Recuperar p productos bodega

Actualizar preferencias cliente

Actualizar inventario contable

Calcular total

Despachar pedido

...Barras fork/j join


y Uso disciplinado: y Barras fork/join deben ir pareadas. Ejemplo:
y Para cada par de barras fork/join:
Autorizar Forma de Pago Revisar Stock Pedido

N de N transiciones de salida de la barra fork

N de N transiciones de entrada de la barra join

...Barras Barras fork/join


y La barra join espera a que todas las transiciones de entrada se hayan

realizado sincronizacin AND por omisin y Otras formas de sincronizacin:


y OR: al menos una de las transiciones se realiz y XOR: exactamente una de las transiciones se realiz

y Representacin:

{OR}

{XOR}

Contracciones
y Algunos componentes consecutivos del DAct pueden

contraerse o fundirse para efectos de simplificacin. y Casos C posibles: ibl


y En DAct simples uno o ambos nodos de divisin/unin puedan

fundirse con actividades que los anteceden/suceden. anteceden/suceden y Transiciones inicial/final pueden fundirse con nodos divisin/unin. divisin/unin

...Contracciones Contracciones
y ...Casos posibles: ejemplos
Identificar cliente [opcin giro]
[opcin depsito] Girar dinero Depositar dinero Transferir entre cuentas Identificar cliente

[opcin transferencia]

[opcin giro]

[opcin depsito] Depositar dinero

[opcin transferencia] Transferir entre cuentas

Girar dinero

Identificar cliente

[opcin giro]

[opcin depsito] Depositar dinero

[opcin transferencia] Transferir entre cuentas

Girar dinero

[2]

...Contracciones
y ...Casos Casos posibles: y Barras fork o barras join consecutivas pueden fundirse. Esto sigue g respetando p el uso disciplinado p a pesar p de q que:
y haya un nmero impar de barras en el DAct y sea diferente el n de transiciones de salida y entrada entre barras fork y

join

y Barras fork puede fundirse con nodos de divisin, cuando

existen hilos excluyentes sin actividades, creando hilos condicionados d d reinterpretacin d de l las b barras fork f k/join

Ejemplo je p o de contracciones co t acc o es

inicial:
Cocer Pasta

[no bebe alcohol] Calentar Salsa

[bebe alcohol]

Abrir Botella de Vino Tinto

Mezclar Pasta y Salsa

...Ejemplo je p o de contracciones co t acc o es

forks

fusionados:

[no bebe alcohol] Cocer Pasta Calentar Salsa

[bebe alcohol]

Abrir Botella de Vino Tinto

Mezclar Pasta y Salsa

...Ejemplo je p o de contracciones co t acc o es


[bebe alcohol]

fork y divisin
fusionados:
Cocer Pasta Calentar Salsa

hilo condicionado

Abrir Botella de Vino Tinto

Mezclar Pasta y Salsa

Repeticin de actividades
y Formas para repetir una actividad:
y nodo divisin: representa una repeticin secuencial y barras fork f /j join: representa p explcitamente p una repeticin p

concurrente y concurrencia dinmica: representa implcitamente una repeticin ti i concurrente t

Ejemplos de repeticin

Recibir Pedido

Recibir Pedido Recibir Pedido

* para cada Producto


Verificar Stock Producto Verificar Stock Producto Verificar Stock Producto

[sino] [todos los productos] Despachar Pedido

todos los Productos


Despachar Pedido

Despachar Pedido

Bandas o carriles (Swimlanes)


Bodega Servicio al Cliente Finanzas

y Indican los responsables de la

Recibir Pedido

realizacin de las actividades, actividades tales como:


y cargos g y sistemas informticos y unidades organizacionales y organizaciones
Entregar Pedido Recibir Pago Completar Pedido Enviar Factura

y Ejemplo:
Cerrar Pedido

Otras Ot as notaciones otac o es


y Actividades de emisin y

recepcin de datos (o seales) pueden anotarse de forma distinta:


y emisor y receptor p
Actividad de emisin

Recibir Pedido

Completar Pedido [pedido urgente] [normal]

Enviar E i Factura

Despachar 24 Horas

Despachar Normal

Recibir Pago

Actividad de recepcin

y Ejemplo: j p

Cerrar Pedido

Uso del DAct


y y

Privilegia el comportamiento concurrente til para workflow y procesos de negocio. Para construir DAct se recomienda en general:
1. 2. 3.

Identificar las actividades Organizar g temporalmente p las actividades Jerarquizar el DAct si necesario

Jerarquizacin
y Se usa preferentemente descomposicin de actividades: y agrupar una porcin de un DAct y representarla como un DAct separado p (DAct hijo) y reemplazar la porcin por un actividad compuesta en el DAct original (DAct padre) y Descomposicin d de actividades d d permite: y desacoplar los DAct padre e hijo y reutilizar tili actividades ti id d compuestas t

...Jerarquizacin Je a qu ac
Recibir Pedido

Recibir Pedido
Completar Pedido Enviar Factura

Completar Pedido [pedido urgente] [normal]

Entregar Pedido

Enviar Factura
[pedido urgente] [normal]

Despachar 24 H Horas

Despachar Normal

Recibir Pago

Despachar 24 Horas

Despachar Normal

Recibir Pago

Cerrar Pedido
Cerrar Pedido

[1]

...Jerarquizacin q
Recibir Pedido
Completar Pedido

DAct padre
Recibir Pedido

Enviar Factura

Completar Pedido

Enviar Factura
Entregar Pedido

Entregar Pedido [pedido urgente] [normal]

Recibir Pago

Despachar 24 Horas

Despachar Normal

Recibir Pago

Cerrar Pedido

DAct hijo Entregar Pedido


[pedido urgente] [normal]

Despachar 24 Horas

Despachar Normal

Cerrar Pedido

[1]

Anda mungkin juga menyukai