Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M2 Tema 10
M2 Tema 10
Diagrama de Actividad
El Diagrama de Actividad es una especializacin del Diagrama de Estado, organizado respecto de las acciones y usado para especificar: Un mtodo Un caso de uso Un proceso de negocio (Workflow)
Las actividades se enlazan por transiciones automticas. Cuando una actividad termina se desencadena el paso a la siguiente actividad Las actividades no poseen transiciones internas ni transiciones desencadenadas por eventos
Mdulo 2. Tema 10: Diagramas de Actividad 2
Diagramas de Actividades.
Qu es un diagrama de actividades?
Es fundamentalmente un diagrama de flujo que muestra el flujo de control entre actividades.
4Un 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.
4Las 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 (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad 3
Diagramas de Actividades.
Ejemplo
Disponer de solar
Estado inicial
Contratar arquitecto
Estado accin
Bifurcacin
Guarda
Divisin
Construir casa ( ) Vender casa
Flujo de objeto
Diagramas de Actividades.
Normalmente los diagramas de actividades contienen: 4Estados de actividad y estados de accin.
vEstado de actividad.-Elemento compuesto cuyo flujo de control se compone de otros estados de actividad y de accin. vEstado de accin.- Estado que representa la ejecucin de una accin atmica, normalmente la invocacin de una operacin.
4Transiciones.
vRelacin 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.
4Objetos.
v Manifestacin concreta de una abstraccin o instancia de una clase.
Ingeniera del Software (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad 5
Diagramas de Actividades.
Estados de actividad y de accin
4Estado de actividad.-Elemento compuesto, cuyo flujo de control se compone de otros estado de actividad y de accin.
Procesar Pedido (f)
Diagramas de Actividades.
Transiciones 4Se representa mediante una lnea dirigida del estado inicial al siguiente.
Estado inicial Estado final
Diagramas de Actividades.
Transiciones 4Secuencial 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
Diagramas de Actividades.
Transiciones 4Bifurcacin.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]
vLas condiciones de salida no deben solaparse y deben cubrir todas las posibilidades (puede utilizarse la palabra clave else). vPueden utilizarse para lograr el efecto de las iteraciones.
Ingeniera del Software (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad 9
Diagramas de Actividades.
Transiciones 4Divisin y unin. Permiten expresar la sincronizacin o ejecucin paralela de actividades.
Sincronizacin o unin
v 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.
10
Diagramas de Actividades.
Transiciones 4Divisin 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. v Para expresar otro tipo de unin se pueden utilizar valores etiquetados.
{AND}
{OR}
{XOR}
Diagramas de Actividades.
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.
12
Diagramas de Actividades.
Recibir orden Disparador mltiple
*[por cada artculo de la lnea de pedido] [fallo] Cancelar orden Autorizar pago [xito] Comprobar existencia [en existencia]
[existencia asignada a todos los artculos de del pedido y pago autorizado] Servir pedido
Ingeniera del Software (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad
Diagramas de Actividades.
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.
14
Diagramas de Actividades.
Recibir abastecimiento
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
15
Servir el pedido
Ingeniera del Software (3 I.T.I.S., I.T.I.G.)
Diagramas de Actividades.
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
16
Diagramas de Actividades.
Calles (Swimlanes) 4 Permiten ver QUIENES son los responsables de realizar las distintas actividades.
vEspecificar qu parte de la organizacin es responsable de una actividad.
4 Cada calle tiene un nombre nico dentro del diagrama. 4 Puede ser implementada por una o varias clases. 4Las actividades de cada calle se consideran independientes y se ejecutan concurrentemente a las de otras calles.
Ingeniera del Software (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad 17
Diagramas de Actividades.
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] Servir pedido
Ingeniera del Software (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad
Diagramas de Actividades.
Flujo de objetos 4Permiten mostrar los objetos que participan dentro del flujo de control asociado a un diagrama de actividades.
vJunto a ello se puede indicar cmo cambian los valores de sus atributos, su estado o sus roles.
Recibir orden o: Orden [en progreso] Objeto
Servir pedido
19
Diagramas de Actividades.
Cundo emplear los diagramas de actividades? 4En el modelado de los procesos del negocio.
vPermiten especificar y evaluar el flujo de trabajo de los procesos de negocio.
Diagramas de Actividades.
En qu situaciones no utilizarlos? 4Para tratar de ver cmo colaboran los objetos.
vEn estos casos, es mejor utilizar los diagramas de interaccin.
21
Ejemplos
Buscar Bebida [no hay caf] [no zumo] [hay zumo]
[hay caf Poner caf en filtro Aadir agua al depsito Coger taza
Coger zumo
Encender mquina ^cafetera.On Caf en preparacin indicador de fin Servir caf Beber
22
Solicitar pasaje
Seleccionar vuelo
Solicitar pago
23
Diagramas de Actividades.
Exposicin del caso.-
Se desea estudiar el sistema de pedidos de libros, realizados por los clientes, en una librera y su posterior env o 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 asoc iar los pedidos de reaprovisionamiento y los de los clientes. Cuando el pedido del cliente est completo debe aadirse la direccin de env o 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 env o 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 cat logo 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 (3 I.T.I.S., I.T.I.G.) Mdulo 2. Tema 10: Diagramas de Actividad 24