30
1 Notas: J.M. Drake Seminario UML Diagramas de actividad y diagramas de estados

Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

  • Upload
    tranthu

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

1

Notas:

J.M. Drake

Seminario UML

Diagramas de actividad y diagramas de estados

Page 2: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

2

Notas:

2Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Elementos básicos de un diagrama de actividad

Los diagramas de actividad permiten describir como un sistema implementa su funcionalidad.Los diagramas de actividad modelan el comportamiento dinámico de un procedimiento, transacción o caso de uso haciendo énfasis en el proceso que se lleva a cabo.Los diagramas de actividad es uno de los elementos de modelado que son mejor comprendidos por todos, ya que son herederos directos de los diagramas de flujo.Los diagramas de actividad son mas expresivo que los diagramas de flujo. También heredan características de:

Los diagramas de estado.Los diagramas de flujo de datos.Las redes de Petri.

Page 3: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

3

Notas:

3Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Actividades y acciones

Una acción es un paso de un proceso que tiene la semática “run to completion” (Se inicia para ser terminado)Una actividad es un conjunto de acciones que modelan un proceso. No tiene la semántica “run to completion”. Una actividad se modela mediante un diagrama de actividad.Enjabonar, enjuagar o secar un coche son acciones de la actividad “Lavar un coche”

Page 4: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

4

Notas:

4Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Branching and merges

Las decisiones representan las alternativas de flujo de control en un diagrama que se llevan a cabo en función de una condición.La condiciones de guarda asociadas a cada rama de salida determinan la opción de flujo de control que se sigue.Las ramas de flujo de control abiertas en una o varias condiciones se cierran en un punto de convergencia (merge).

Page 5: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

5

Notas:

5Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Decisiones consistentes

La opciones de una decisión deben ser:Completas.No ambiguas.

Page 6: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

6

Notas:

6Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

UML 1.x

UML 2.0

Page 7: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

7

Notas:

7Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Fork y Joint

Los fork y los joint se utilizan en los diagramas de actividad para describir concurrencia entre acciones o actividades. Las líneas de flujo de salida de un fork representa líneas de ejecución que se ejecutan concurrentemente.Las líneas de flujo de entrada de un joint se sincronizan para continuar en una única línea de flujo. Todas la acciones de las líneas de flujo previas a un jointdeben completarse antes de que se ejecute la primera acción de la línea posterior a él.

Page 8: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

8

Notas:

8Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Time events

Los eventos de tiempo modelan:

Activaciones temporizadas.TimeoutsRetrasos.....

Un evento de tiempo puede ser el inicio de una actividad.Un evento temporizado con flujo de entrada representa una única activación tras llegarle el flujoUn evento de tiempo sin flujo de entrada representa una activación que puede ser repetida en el tiempo.

Page 9: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

9

Notas:

9Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Calling other activities

Una actividad representada en un diagrama representaun punto en el que se ejecuta la actividad descrita en

otro diagrama

Page 10: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

10

Notas:

10Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Objects

En un diagrama de actividad se pueden representar los objetos de datos que se generan, se consumen o se intercambian en un proceso y que son relevantes para su descripción.Cuando un objeto de datos se representan como una caja, significa que esos datos existen en el punto de flujo de control en que se insertan.Cuando un objeto de datos se representa mediante unos pines asociados a las acciones o actividades, representan objetos de datos de entrada o de salida.

Page 11: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

11

Notas:

11Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Object change state in an activity

En un diagrama de actividad, los objetos de datos pueden representar los puntos de inicio y finalización de la actividad que representa.

Page 12: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

12

Notas:

12Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Sending and receiving signals

En un diagrama de actividad las señales representan interacciones del proceso que se Describe con operadores sistemas u otros procesos externos a él.• Cuando un receptor de señales tiene flujo de entrada representa que cuando el flujo

le llega se habilita para aceptar una única señal. • Cuando no tiene flujo de entrada, representa que puede aceptar uno o muchas señales.

Page 13: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

13

Notas:

13Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Starting an activity

Una actividad se puede iniciar por:Cuando se invoca de forma regular: se representa mediante un circulo.Cuando se recibe un objeto de dato de entradaCuando se produce un evento temporizadoCuando se recibe una señal externa.

Page 14: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

14

Notas:

14Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Interrupting an activity

Una actividad de duración no atómica puede concluirse por la ocurrencia de un eventoo una señal externa. Para ello se define una región de interrupción mediante una líneaque engloba las actividades o acciones que pueden ser interrupidas por el evento o señalque también se incluye en la región.

Page 15: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

15

Notas:

15Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Ending a flow

UML 2.0 permite concluir una línea de control de un flujo concurrente sin terminar laActividad:• Un ojo de buey termina la actividad completa (todos los threads).• Un circulo con un aspa, representa la finalización de una línea de flujo (thread).

Page 16: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

16

Notas:

16Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Partitions or swinglanes

Los swinglanes representanlos procesos, participanteso elementos responsables deejecutar un conjunto de acciones.

Page 17: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

17

Notas:

17Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Annotations instead of swinglanes

Los responsables de laejecución de una actividad se puederepresentar mediante una anotación colocadaentre paréntesis.

Page 18: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

18

Notas:

18Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Connectors

Cuando un diagrama de actividad es muy complejo se puede descomponer endistintos diagramas utilizando conectores. Se representa como un circulo con un identificador en su interior.Dos puntos del diagrama de actividad marcados con el mismo conector representan el mismo punto del diagrama.

Page 19: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

19

Notas:

19Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Diagramas de máquinas de estado (diagramas de estados)

Los diagramas de máquinas de estado son útiles para describir elcomportamiento de clases y sistemas que han sido concebidos haciendo uso de un modelo de estados.En un modelo de estados se identifican las situaciones en la que el comportamiento o capacidad de respuesta con cualitativamente diferentes, así como los eventos o condiciones bajos las que se pasa de una situación a otra (transiciones de estados).Los diagramas de estados son intensivamente utilizados en:

Systemas de tiempo real y críticos.La descripción de sistemas reactivos.La descripción de sistemas basados en protocolos

Page 20: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

20

Notas:

20Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Elementos básicos de un diagrama de estados

Page 21: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

21

Notas:

21Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Un estado puede cualificarse:Estáticamente en función del valor que tienen sus atributos.Dinámicamente, esto es en función de la actividad que ejecuta.

Dinámicamente

Estáticamente

Page 22: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

22

Notas:

22Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Comportamiento completo de un estado

El comportamiento describe las acciones que se producen mientras que el sistema seencuentra en un estado:• entrry/behavior => Acción que se realiza cuando se llega a un estado.• do/behavior => Actividad que se ejecuta mientras se está en un estado.•Exit/behavior => Acciones que se ejecuta cuando se abandona un estado.•Transiciones internas => Se formulan como trigger[guard]/behavior

Page 23: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

23

Notas:

23Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Transiciones

Una transición representa las causas circunstancias y efectos de un cambio entre dos estados.Una transacción tiene un nombre y una descripción completa del tipo trigger[guard]/behavior :

Trigger: Es el evento que da origen a una transición Guard:Es una función booleana que esevaluada cuando ocurre el trigger. Si es True la transición se produce. Si vale False la transición no ocurre. Behavior: Es una acción ininterrumpible que tiene lugar cuando se produce la transición.

Page 24: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

24

Notas:

24Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Múltiples transiciones

La posibles combinación de triggers y condiciones de guardas dan lugar a diferentes conjuntos de transiciones entre estados:

Si una transición no tiene trigger ni guarda, la transición se produce por finalización de la actividad asociada al estado.

Page 25: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

25

Notas:

25Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Trigger, guardas y repuesta en programas

Es muy frecuente cuando se modela software que:El trigger puede ser la invocación de un metodo de la clase modelada.La guarda es la invocación de un metodo booleano o una relación entre los atributos.La respuesta puede ser la invocación de un metodo sobre el propio objeto o sobre un objeto al que tenga acceso.

Page 26: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

26

Notas:

26Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Estados compuestos

UML permite que varias máquinas de estados se asocien a una misma clase o sistema. Su situación puede estar descrita en un mismo instante por varios estados, cada uno de ellos pertenecientes a diferentes máquinas.

Un estado de inicio histórico asociado a una región de estado representa que cuando se accede a la región se accede al estado en que se encontraba la región cuando se abandonó.

Page 27: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

27

Notas:

27Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Pseudoestados

Choice

Fork /Join

Page 28: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

28

Notas:

28Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Recepción y transmisión de señales

Page 29: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

29

Notas:

29Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Page 30: Diagramas de actividad y diagramas de estados - … · que engloba las actividades o acciones que pueden ... los procesos, participantes o ... UML permite que varias máquinas de

30

Notas:

30Seminario UML: Diagramas de actividad y diagramas de estado J. M. Drake

Maquinas de estados de protocolo

Una máquina de estados de protocolos es un tipo especial de máquina de estados que se utiliza para describir un protocolo de interacción.No describe el comportamiento asociado a los estados y a las transiciones.Resalta las secuencias de estados que son posibles y los eventos que dan lugar a esas transiciones.Se representa en una caja rectangular con una pestaña que contiene el esterotipo<<protocol>>