Sei sulla pagina 1di 12

Ingeniería del Software

3º I.T.I.S y I.T.I.G

MODULO 2:

Tema 10:
Diagramas de Actividad

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 1

Diagrama de Actividad
§ El Diagrama de Actividad es una especialización del
Diagrama de Estado, organizado respecto de las
acciones y usado para especificar:
• Un método
• Un caso de uso
• Un proceso de negocio (Workflow)

§ Las actividades se enlazan por transiciones automáticas.


Cuando una actividad termina se desencadena el paso a
la siguiente actividad

§ Las actividades no poseen transiciones internas ni


transiciones desencadenadas por eventos

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 2

1
Ingeniería del Software
3º I.T.I.S y I.T.I.G

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 interacción 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 acción interna y uno o más
transiciones de salida que automáticamente preceden a la
terminación de la acción interna.
4Las actividades producen una acción, que está compuesta de
computaciones atómicas ejecutables que producen un cambio en
el estado del sistema o la devolución de un valor

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 3

Diagramas de Actividades.

Ejemplo Disponer de solar Estado inicial

Contratar arquitecto
Estado acción

Obtener plano y
Bifurcación presupuesto obra

[no aceptado]
Guarda
[en otro caso]

División

Construir casa ( ) Vender casa Flujo de objeto

Estado de actividad
:CertificadoVivienda
con submáquina Terminar
promoción vivienda [terminado]

Unión
Estado final
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 4

2
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Normalmente los diagramas de actividades contienen:

4Estados de actividad y estados de acción.


vEstado de actividad.-Elemento compuesto cuyo flujo de control
se compone de otros estados de actividad y de acción.
vEstado de acción.- Estado que representa la ejecución de una
acción atómica, normalmente la invocación de una operación.

4Transiciones.
vRelación entre dos estados que indica que un objeto en el primer
estado realizará ciertas acciones y pasará al segundo estado cuando
ocurra un evento específico y satisfaga ciertas condiciones.

4Objetos.
v Manifestación concreta de una abstracción o instancia de una
clase.
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 5

Diagramas de Actividades.

Estados de actividad y de acción


4Estado de actividad.-Elemento compuesto, cuyo flujo de
control se compone de otros estado de actividad y de acción.
Procesar Pedido (f)

4Estado de acción.- Ejecución de una acción atómica.


vNo pueden descomponerse y la aparición de eventos no puede
interrumpir su ejecución.
vGeneralmente se considera que su ejecución conlleva un tiempo
insignificante.
Preparar oferta

4Pueden definirse también otro tipo de estados:


v Inicial.
vFinal.
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 6

3
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Transiciones

4Se representa mediante una línea dirigida del estado inicial


al siguiente.

Estado inicial Estado final

4Podemos encontrar diferentes tipos de transacciones:

v Secuencial o sin disparadores.-

vBifurcación.-

vDivisión y unión.-

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 7

Diagramas de Actividades.

Transiciones
4Secuencial o sin disparadores.-
Al completar la acción del estado origen se ejecuta la acción de
salida y, sin ningún retraso, el control sigue por la transición y
pasa al siguiente estado.

Estado acción 1

Estado acción Transición sin disparador

Estado acción 2

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 8

4
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Transiciones
4Bifurcación.-
Especifica caminos alternativos, elegidos según el valor de alguna
expresión booleana.
Guardas
[x>0] [x>0]

[x=0] [x=0]
Actividad Actividad

[x<0] [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.


Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 9

Diagramas de Actividades.

Transiciones
4División y unión. -
Permiten expresar la sincronización o ejecución paralela de
actividades.

Sincronización o unión Ejecución paralela o división

v Conceptualmente las actividades invocadas después de una


división son concurrentes. Aunque, en un sistema real en
ejecución, estos flujos pueden ser realmente concurrentes o
secuenciales y entrelazados, dando sensación de concurrencia real.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 10

5
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Transiciones
4División y unión. -
Por definición, en la unión los flujos entrantes se sincronizan, es
decir, cada uno espera hasta que todos los flujos de entrada han
alcanzado la unión.
v Para expresar otro tipo de unión se pueden utilizar valores
etiquetados.

{AND} {OR} {XOR}

v Para expresar que la actividad subsiguiente se realiza múltiple s


veces se utiliza *.
*
Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 11

Diagramas de Actividades.

Ejemplo

Cuando recibimos un pedido, comprobamos cada artículo de la


línea de pedido para ver si tenemos existencias de él. Si la
respuesta es afirmativa, asignamos la mercancía al pedido. Si esta
asignación hace bajar la cantidad de productos en almacén por
debajo del nivel mínimo, 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 mercancías 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.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 12

6
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Recibir orden
Disparador múltiple

*[por cada artículo de


la línea de pedido]
[fallo]
Cancelar orden Autorizar pago Comprobar existencia

[éxito] [en existencia]

Asignar a orden
Condición de sincronización

[se necesita
[existencia asignada a todos solicitar
los artículos de del pedido y existencias]
pago autorizado]
Realizar pedido
a proveedores
Servir pedido

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 13

Diagramas de Actividades.

Ejemplo

Cuando llega un reabastecimiento de los proveedores, vemos los


pedidos pendientes y decidimos cuáles pueden servirse con el
material recibido y, entonces, asignamos los productos
correspondientes a dichos pedidos. Con esto se pueden servir las
ordenes pendientes. La mercancía restante se guarda en el
almacén.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 14

7
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Recibir
abastecimiento

Seleccionar artículos
de pedidos pendientes

*[por cada artículo de


pedido seleccionado]

Asignar artículo
a pedido

[existencia asignada a todos [se han asignado todos los


los artículos de del pedido y artículos necesarios a los
pago autorizado] pedidos pendientes]

Agregar resto de
productos a existencias
Servir el pedido

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 15

Diagramas de Actividades.

Recibir
Recibir orden
abastecimiento

*[por cada artículo de


la línea de pedido] Seleccionar artículos
de pedidos pendientes
Autorizar pago Comprobar existencia
*[por cada artículo de
pedido seleccionado]
[en existencia]

[fallo] [éxito] Asignar artículo


Asignar a orden
a pedido
Cancelar orden
[se necesita
solicitar
existencias]
Realizar pedido [se han asignado
a proveedores todos los artículos
necesarios a los
[existencia asignada pedidos pendientes]
a todos los artículos
de del pedido y
Agregar resto de
pago autorizado]
Servir pedido productos a existencias

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 16

8
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

Calles (Swimlanes)

4 Permiten ver QUIENES son los responsables de


realizar las distintas actividades.
vEspecificar qué parte de la organización 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.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 17

Diagramas de Actividades.

Ventas Almacén
Recibir orden Disparador múltiple

*[por cada artículo de


la línea de pedido]
[fallo]
Cancelar orden Autorizar pago Comprobar existencia

[éxito] [en existencia]

Asignar a orden

Condición de sincronización

[se necesita
solicitar
[existencia asignada a todos
existencias]
los artículos de del pedido y
pago autorizado] Realizar pedido
a proveedores
Servir pedido

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 18

9
Ingeniería del Software
3º I.T.I.S y I.T.I.G

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 cómo cambian los valores de sus
atributos, su estado o sus roles.
Objeto
o: Orden
Recibir orden [en progreso]

Estado
Flujo de objeto

o: Orden
Servir pedido [finalizada]

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 19

Diagramas de Actividades.

¿Cuándo 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.

4En el análisis de un caso de uso.


vPermiten comprender qué acciones deben ocurrir y cuáles son las
dependencias de comportamiento.

4En la comprensión del flujo de trabajo, a través de varios


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

4Cuando se trata de expresar aplicaciones multihilos.


Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 20

10
Ingeniería del Software
3º I.T.I.S y I.T.I.G

Diagramas de Actividades.

¿En qué situaciones no utilizarlos?

4Para tratar de ver cómo colaboran los objetos.


vEn estos casos, es mejor utilizar los diagramas de interacción.

4Para tratar de ver cómo se comporta un objeto durante su


ciclo de vida.
vEn estos casos, es recomendable utilizar los diagramas de estados.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 21

Ejemplos

[no hay café] [no zumo]


Buscar Bebida
[hay café [hay zumo]

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina Coger zumo

Encender máquina
^cafetera.On
Café en preparación

indicador de fin
Servir café
Beber

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 22

11
Ingeniería del Software
3º I.T.I.S y I.T.I.G

...Ejemplos (con bandas)

Pasajero Vendedor Airline

Solicitar pasaje
Verificar
existencia vuelo

Dar detalles vuelo

Informar alternativas
y precios
Seleccionar vuelo

Solicitar pago Reservar plazas

Confirmar
Pagar pasaje plaza reservada

Emitir billete

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 23

Diagramas de Actividades.
Exposición del caso.-
Se desea estudiar el sistema de pedidos de libros, realizados por los clientes, en una librería y su
posterior env ío y facturación.
Se supone que la librería 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 función de la
cantidad de libros solicitados.
Cada cliente tiene asociado un crédito 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 días por semana.
Cada editorial tiene establecido un tiempo estándar de respuesta. Una vez transcurrido este tiempo
más 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 añadirse la dirección de env ío y generar una
prefactura, la cual irá acompañando 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 efectúa en un período de 30 días desde el env ío de la prefactura, el
pedido llevará un recargo adicional.
La dirección de ventas desea obtener mensualmente una estadística de compras por cliente, para de
este modo poder clasificar a sus clientes en función a su volumen de pedidos. Junto a este informe, la
misma dirección desea enviar un cat álogo general anualmente y otro de novedades con carácter mensual ,
sobre aquellos temas de más interés para cada cliente, para lo cual desea disponer de una estadística que
indique los temas más frecuentemente solicitados.
Una petición normal de los clientes, una vez solicitado un pedido, es saber en qué situación se
encuentra.

Ingeniería del Software (3º I.T.I.S., I.T.I.G.) Módulo 2. Tema 10: Diagramas de Actividad 24

12

Potrebbero piacerti anche