Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML:...

26
Diagramas de transicion/eventos Diagramas de estados del UML

Transcript of Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML:...

Page 1: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Diagramas de transicion/eventos

Diagramas de estados del UML

Page 2: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Diagramas de transición eventos

Diagramas de transición de estados en los que

las transiciones se producen como consecuencia de eventos y pueden tener un procesamiento asociado

Dpto. LSI - Universidad de Granada

Page 3: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los
Page 4: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

eventoSuceso significativo:

que debe tenerse en cuenta,que influye en el comportamiento y evolución del sistema

Tiene lugar en un punto del tiempo y carece de duración respecto a la granularidad temporal del sistemaNo tiene sentido preguntarse por lo que sucede mientras se está teniendo lugar el evento

Dpto. LSI - Universidad de Granada

Page 5: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Diagramas de transición eventos

Sirven para:Decribir el comportamiento normal de un sistema

Eventos: sucesos significativos, valores de condiciones, que dan lugar a un cambio en el tipo de procesamiento del sistema, o a un momento significativo en su evolución

Dpto. LSI - Universidad de Granada

Page 6: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Diagramas de transición eventos

También sirven para:Describir el comportamiento excepcional de una sistema

eventos: errores, excepciones,...Describir interfaces de usuario

eventos provocados por el usuario con el ratón o el teclado ...

Dpto. LSI - Universidad de Granada

Page 7: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Diagramas de transición eventos

También sirven para:Describir la historia de un objeto (instancia) típico de una clase

eventos: llamadas a operaciones de la clase

Dpto. LSI - Universidad de Granada

Page 8: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los
Page 9: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

UML: diagramas de estados

El estilo de los diagramas de estados del UML está basado en los statechart de David Harel's (1987)

UML Distilled: A Brief Guide to the Standard Object Modeling Language,

Second EditionBy Martin Fowler, Kendall Scott

Page 10: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Elementos del Diagrama de estados (UML):

estados

NOMBRE_ESTADOentry/acción_entradado/actividadevento (atributos)opc [guarda]opc /acción opc

evento/deferexit/acción_salidaInicio Fin

Dpto. LSI - Universidad de Granada

Page 11: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Elementos del Diagrama de estados (UML):

transiciones

Estado 1eventoopc(atributos) opc [guarda] opc /accionesopc Estado 2

Dpto. LSI - Universidad de Granada

La transición puede tener tres elementos (opcionales): evento [guarda] / acción.

Page 12: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Dpto. LSI - Universidad de Granada

Page 13: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Dpto. LSI - Universidad de Granada

Page 14: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Botón

pulsar()

<<Class Module>>

Puertaarribaabajo

<<Class Module>> Motor

abrir()cerrar()apagar()

<<Class Module>>

activar

abre

cierra

Cerrada Abierta

Abriéndose

Cerrándose

Botón.pulsar / Motor.abrir

Botón.pulsar / Motor.cerrar

Puerta.abierta / Motor.apagar

Botón.pulsar / Motor.cerrar

Botón.pulsar / Motor.abrir

Puerta.cerrada / Motor.apagar

Dpto. LSI - Universidad de Granada

Page 15: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Libre

Cálculo

do/comprobar item y calcular cambio

Recogida de dinero

insercion monedas ( cantidad ) / acumular saldo

inserción monedas

cancelar / devolver monedas

seleccionar( item )

Entrega producto

do/entregar item

[ item agotado ][ cambio < 0 ]

[ cambio = 0 ]

Entrega cambio

do/ dar cambio

[ cambio > 0 ]

Dpto. LSI - Universidad de Granada

Page 16: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los
Page 17: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

En este diagrama, al principio, se ejecuta la acción "obtener primer artículo”. Una vez realizada ésta pasamos al estado “comprobación”. Este estado tiene una actividad asociada, que se indica como do/actividad. En este caso, la actividad es "comprobar artículo".

Page 18: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Acciones y actividades

acciones:asociadas a transicionesson “atómicas”

actividades:en los estadospueden ser interrumpidas por algún evento

Page 19: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

transiciones

Una transición sin evento asociado tendrá lugar al terminar la actividad que se realiza en el estado correspondienteuna transición con guarda sólo se dará si se cumple éstade un estado sólo se puede salir por una transición, nunca por varias a la vez (¿guardas excluyentes?)

Page 20: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

En el diagrama anterior añadimos una transición “cancelar” desde cualquier estado;

Page 21: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Podríamos también definir un superestado, que englobaría todo, y poner una sola transición “cancelar”

Page 22: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Otro ejemplo de Anidamiento

Inactivo

Mantenimiento

mantener

ActivotarjetaIntroducida

Validación

Selección Procesamiento

Impresión

[continuar]

[no continuar]

entry/leerTarjeta

exit/expulsarTarjeta

cancelar

Dpto. LSI - Universidad de Granada

Page 23: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Más información en los estados

NOMBRE_ESTADOentry/acción_entradado/actividadevento (atributos)opc [guarda]opc /acción opc

evento/deferexit/acción_salidaInicio Fin

Dpto. LSI - Universidad de Granada

Page 24: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Más información en los estados

Una transición que no da lugar a un cambio de estado: evento/accióngeneración de un evento después de un tiempo: after tiempo eventogeneración de un evento si se cumple una condición: when condición eventoy los eventos especiales entry y exit, a los que asociar acciones a realizar al entrar y antes de salir del estado

Page 25: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

Más elementosTambién consideraremos la autorización del pago del pedido

Page 26: Diagramas de transicion/eventos Diagramas de estados del UMLmvega/docis/diaestados.pdf · UML: diagramas de estados El estilo de los diagramas de estados del UML está basado en los

diagramas concurrentes

Los dos aspectos del procesamiento del pedido, al mismo tiempo