Вы находитесь на странице: 1из 11

Ingeniera del Software I (4 I.I.

MODULO 2: Anlisis y Diseo OO con UML


Tema 9: Diagramas de Actividad

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

Diagrama de Actividad

Diagramas de Actividad
Qu es un diagrama de actividad?
Es fundamentalmente un diagrama de flujo que muestra el flujo de control entre actividades.
Un diagrama de interaccin muestra objetos que se pasan mensajes, un diagrama de actividades muestra las operaciones que se pasan entre los objetos.

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 producen una accin, que est compuesta de computaciones atmicas ejecutables que producen un cambio en el estado del sistema o la devolucin de un valor
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 2

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Ejemplo
Disponer de solar

Estado inicial

Contratar arquitecto

Estado accin

Bifurcacin

Obtener plano y presupuesto obra [no aceptado]

Guarda

[en otro caso]

Divisin
Construir casa ( ) Vender casa

Flujo de objeto

Estado de actividad con submquina

:CertificadoVivienda Terminar promocin vivienda [terminado]

Unin Estado final


Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 3

Diagrama de Actividad

Diagramas de Actividad
Normalmente los diagramas de actividades contienen: Estados de actividad y estados de accin.
Estado de actividad.-Elemento compuesto cuyo flujo de control se compone de otros estados de actividad y de accin. Estado de accin.- Estado que representa la ejecucin de una accin atmica, normalmente la invocacin de una operacin.

Transiciones.
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 ciertas condiciones.

Objetos.
Manifestacin concreta de una abstraccin o instancia de una clase.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 4

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Estados de actividad y de accin
Estado de actividad.-Elemento compuesto, cuyo flujo de control se compone de otros estado de actividad y de accin.
Procesar Pedido (f)

Estado de accin.- Ejecucin de una accin atmica.


No pueden descomponerse y la aparicin de eventos no puede interrumpir su ejecucin. Generalmente se considera que su ejecucin conlleva un tiempo insignificante.
Preparar oferta

Pueden definirse tambin otro tipo de estados:


Inicial. Final.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 5

Diagrama de Actividad

Diagramas de Actividad
Transiciones Se representa mediante una lnea dirigida del estado inicial al siguiente.
Estado inicial Estado final

Podemos encontrar diferentes tipos de transacciones:


Secuencial o sin disparadores.Bifurcacin.Divisin y unin.Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 6

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Transiciones Secuencial o sin disparadores.Al completar la accin del estado origen se ejecuta la accin de salida y, sin ningn retraso, el control sigue por la transicin y pasa al siguiente estado.

Estado accin 1

Estado accin
Estado accin 2

Transicin sin disparador

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

Diagrama de Actividad

Diagramas de Actividad
Transiciones Bifurcacin.Especifica caminos alternativos, elegidos segn el valor de alguna expresin booleana.
[x>0] [x=0] Guardas [x>0] [x=0]

Actividad [x<0]

Actividad

[x<0]

Las condiciones de salida no deben solaparse y deben cubrir todas las posibilidades (puede utilizarse la palabra clave else). Pueden utilizarse para lograr el efecto de las iteraciones.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 8

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Transiciones Divisin y unin.Permiten expresar la sincronizacin o ejecucin paralela de actividades.

Sincronizacin o unin

Ejecucin paralela o divisin

Conceptualmente las actividades invocadas despus de una divisin son concurrentes. Aunque, en un sistema real en ejecucin, estos flujos pueden ser realmente concurrentes o secuenciales y entrelazados, dando sensacin de concurrencia real.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 9

Diagrama de Actividad

Diagramas de Actividad
Transiciones Divisin y unin.Por definicin, en la unin los flujos entrantes se sincronizan, es decir, cada uno espera hasta que todos los flujos de entrada han alcanzado la unin. Para expresar otro tipo de unin se pueden utilizar valores etiquetados.

{AND}

{OR}

{XOR}

Para expresar que la actividad subsiguiente se realiza mltiples veces se utiliza *.


*
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 10

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Ejemplo
Cuando recibimos un pedido, comprobamos cada artculo de la lnea de pedido para ver si tenemos existencias de l. Si la respuesta es afirmativa, asignamos la mercanca al pedido. Si esta asignacin hace bajar la cantidad de productos en almacn por debajo del nivel mnimo, se realiza un pedido a los proveedores. Mientras hacemos esto, revisamos el pago para ver si est correcto. Si el pago est bien y hay mercancas en existencia, servimos el pedido. Si el pago est correcto pero no tenemos existencias de ese producto, dejamos el pedido en espera. Si el pago no es correcto, se cancela la orden.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

11

Diagrama de Actividad

Diagramas de Actividad
Recibir orden Disparador mltiple

*[por cada artculo de la lnea de pedido] [fallo] Cancelar orden Autorizar pago [xito] Comprobar existencia [en existencia]

Asignar a orden Condicin de sincronizacin

[existencia asignada a todos los artculos del pedido y pago autorizado] Servir pedido
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad

[se necesita solicitar existencias] Realizar pedido a proveedores


12

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Ejemplo
Cuando llega un reabastecimiento de los proveedores, vemos los pedidos pendientes y decidimos cules pueden servirse con el material recibido y, entonces, asignamos los productos correspondientes a dichos pedidos. Con esto se pueden servir las ordenes pendientes. La mercanca restante se guarda en el almacn.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

13

Diagrama de Actividad

Diagramas de Actividad
Recibir abastecimiento

Seleccionar artculos de pedidos pendientes *[por cada artculo de pedido seleccionado] Asignar artculo a pedido

[existencia asignada a todos los artculos del pedido y pago autorizado]

[se han asignado todos los artculos necesarios a los pedidos pendientes] Agregar resto de productos a existencias
14

Servir el pedido
Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Recibir orden Recibir abastecimiento

*[por cada artculo de la lnea de pedido] Autorizar pago Comprobar existencia [en existencia] [fallo] Cancelar orden [se necesita solicitar existencias] Realizar pedido a proveedores [existencia asignada a todos los artculos de del pedido y pago autorizado] [xito] Asignar a orden

Seleccionar artculos de pedidos pendientes *[por cada artculo de pedido seleccionado] Asignar artculo a pedido

[se han asignado todos los artculos necesarios a los pedidos pendientes] Agregar resto de productos a existencias

Servir pedido

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

15

Diagrama de Actividad

Diagramas de Actividad
Calles (Swimlanes) Permiten ver QUINES son los responsables de realizar las distintas actividades.
Especificar qu parte de la organizacin es responsable de una actividad.

Cada calle tiene un nombre nico dentro del diagrama. Puede ser implementada por una o varias clases. Las actividades de cada calle se consideran independientes y se ejecutan concurrentemente a las de otras calles.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 16

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Ventas
Recibir orden

Almacn
Disparador mltiple

*[por cada artculo de la lnea de pedido] [fallo] Cancelar orden Autorizar pago [xito] Comprobar existencia [en existencia]

Asignar a orden Condicin de sincronizacin [se necesita solicitar existencias] Realizar pedido a proveedores
17

[existencia asignada a todos los artculos de del pedido y pago autorizado] Servir pedido
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad

Diagrama de Actividad

Diagramas de Actividad
Flujo de objetos Permiten mostrar los objetos que participan dentro del flujo de control asociado a un diagrama de actividades.
Junto a ello se puede indicar cmo cambian los valores de sus atributos, su estado o sus roles.
Recibir orden o: Orden [en progreso] Objeto

Estado Flujo de objeto o: Orden [finalizada]

Servir pedido

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

18

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Cundo emplear los diagramas de actividades? En el modelado de los procesos del negocio.
Permiten especificar y evaluar el flujo de trabajo de los procesos de negocio.

En el anlisis de un caso de uso.


Permiten comprender qu acciones deben ocurrir y cules son las dependencias de comportamiento.

En la comprensin del flujo de trabajo, a travs de varios casos de uso.


Permiten representar con claridad las relaciones de flujo de trabajo (workflow) entre varios casos de uso.

Cuando se trata de expresar aplicaciones multihilos.


Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 19

Diagrama de Actividad

Diagramas de Actividad
En qu situaciones no utilizarlos? Para tratar de ver cmo colaboran los objetos.
En estos casos, es mejor utilizar los diagramas de interaccin.

Para tratar de ver cmo se comporta un objeto durante su ciclo de vida.


En estos casos, es recomendable utilizar los diagramas de estados.

Ingeniera del Software I (4 I.I.)

Mdulo 2. Tema 9: Diagramas de Actividad

20

10

Ingeniera del Software I (4 I.I.)

Diagrama de Actividad

Diagramas de Actividad
Exposicin del caso.-

Se desea estudiar el sistema de pedidos de libros, realizados por los clientes, en una librera y su posterior envo y facturacin. Se supone que la librera no mantiene stock de libros y por tanto debe pedir los libros solicitados a las editoriales correspondientes, con las cuales tiene concertado un sistema de descuentos en funcin de la cantidad de libros solicitados. Cada cliente tiene asociado un crdito permitido que debe ser controlado por el sistema para no aceptar pedidos si ste ha sido superado. Una vez validados los pedidos son agrupados por editorial para realizar un pedido de reaprovisionamiento asociado a los pedidos de los clientes.Estos pedidos se realizan dos das por semana. Cada editorial tiene establecido un tiempo estndar de respuesta. Una vez transcurrido este tiempo ms una semana el pedido reaprovisionamiento puede ser anulado. Tras recibir y validar que lo enviado por la editorial se corresponde con lo solicitado, se deben asociar los pedidos de reaprovisionamiento y los de los clientes. Cuando el pedido del cliente est completo debe aadirse la direccin de envo y generar una prefactura, la cual ir acompaando a los libros solicitados por el cliente. Una vez recibido el paquete con los libros y la prefactura, el cliente deber realizar el pago asociado a dicha prefactura. Al ser recibido un pago del cliente, deber asociarse a una prefactura pendiente y enviar una factura definitiva al cliente. Si el pago no se efecta en un perodo de 30 das desde el envo de la prefactura, el pedido llevar un recargo adicional. La direccin de ventas desea obtener mensualmente una estadstica de compras por cliente, para de este modo poder clasificar a sus clientes en funcin a su volumen de pedidos. Junto a este informe, la misma direccin desea enviar un catlogo general anualmente y otro de novedades con carcter mensual , sobre aquellos temas de ms inters para cada cliente, para lo cual desea disponer de una estadstica que indique los temas ms frecuentemente solicitados. Una peticin normal de los clientes, una vez solicitado un pedido, es saber en qu situacin se encuentra.
Ingeniera del Software I (4 I.I.) Mdulo 2. Tema 9: Diagramas de Actividad 21

11

Вам также может понравиться