Diagrama de Eventos

26
Diagramas de transicion/eventos Diagramas de estados del UML

Transcript of Diagrama de Eventos

Page 1: Diagrama de Eventos

Diagramas de transicion/eventos

Diagramas de estados del UML

Page 2: Diagrama de Eventos

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: Diagrama de Eventos
Page 4: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos
Page 9: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

Préstamo

Libro

proteger()prestar()

Usuariomoroso : Boolean

prestar

Libre Prestado

devolver

Protegido

prestar( usuario )[ usuario.moroso = false ]

proteger

Dpto. LSI - Universidad de Granada

Page 13: Diagrama de Eventos

Alquilerfecha alquilerfecha vencimientofecha devolución

Cliente

Cochematricula : Stringbaja : Boolean

alquilar()devolver()darDeBaja()

alquila

Libre Alquilado

devolver

Inicio

Para todo Alquiler fecha devolución <> ''

Existe un Alquiler con fecha devolución = ''

BajaFin

alquilar

darDeBaja

baja = true

Dpto. LSI - Universidad de Granada

Page 14: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos
Page 17: Diagrama de Eventos

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: Diagrama de Eventos

Acciones y actividades

acciones:asociadas a transicionesson “atómicas”

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

Page 19: Diagrama de Eventos

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: Diagrama de Eventos

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

Page 21: Diagrama de Eventos

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

Page 22: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

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: Diagrama de Eventos

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

Page 26: Diagrama de Eventos

diagramas concurrentes

Los dos aspectos del procesamiento del pedido, al mismo tiempo