Está en la página 1de 26

Diagramas de transicion/eventos Diagramas de estados del UML

Diagramas de transicin eventos


Diagramas de transicin de estados en los que
las transiciones se producen como consecuencia de eventos y pueden tener un procesamiento asociado

Dpto. LSI - Universidad de Granada

evento
Suceso significativo: que debe tenerse en cuenta, que influye en el comportamiento y evolucin del sistema Tiene lugar en un punto del tiempo y carece de duracin respecto a la granularidad temporal del sistema No tiene sentido preguntarse por lo que sucede mientras se est teniendo lugar el evento
Dpto. LSI - Universidad de Granada

Diagramas de transicin 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 evolucin
Dpto. LSI - Universidad de Granada

Diagramas de transicin eventos


Tambin sirven para: Describir el comportamiento excepcional de una sistema
eventos: errores, excepciones,...

Describir interfaces de usuario


eventos provocados por el usuario con el ratn o el teclado ...

Dpto. LSI - Universidad de Granada

Diagramas de transicin eventos


Tambin sirven para: Describir la historia de un objeto (instancia) tpico de una clase
eventos: llamadas a operaciones de la clase

Dpto. LSI - Universidad de Granada

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 Edition By Martin Fowler, Kendall Scott

Elementos del Diagrama de estados (UML): estados

Inicio

NOMBRE_ESTADO entry/accin_entrada do/actividad evento (atributos)opc [guarda]opc /accin opc evento/defer exit/accin_salida

Fin

Dpto. LSI - Universidad de Granada

Elementos del Diagrama de estados (UML): transiciones


Estado 1

eventoopc(atributos) opc [guarda] opc /accionesopc

Estado 2

La transicin puede tener tres elementos (opcionales): evento [guarda] / accin.

Dpto. LSI - Universidad de Granada

Libro
proteger() prestar()

prestar

Usuario
moroso : Boolean

Prstamo

Libre

prestar( usuario )[ usuario.moroso = false ]

Prestado devolver

proteger

Protegido

Dpto. LSI - Universidad de Granada

Coche
matricula : String baja : Boolean alquilar() devolver() darDeBaja()

alquila

Cliente

Alquiler
fecha alquiler fecha vencimiento fecha devolucin

darDeBaja
Inicio

Baja Fin baja = true

alquilar Libre devolver Alquilado

Para todo Alquiler fecha devolucin <> ''

Existe un Alquiler con fecha devolucin = ''

Dpto. LSI - Universidad de Granada

<<Class Module>>

abre cierra

<<Class Module>>

Puerta arriba abajo

Motor abrir() cerrar() apagar()

activar

<<Class Module>>

Botn pulsar()

Abrindose

Botn.pulsar / Motor.abrir

Puerta.abierta / Motor.apagar

Botn.pulsar / Motor.cerrar Cerrada Botn.pulsar / Motor.abrir Botn.pulsar / Motor.cerrar Cerrndose Puerta.cerrada / Motor.apagar
Dpto. LSI - Universidad de Granada

Abierta

insercin monedas

Libre

Recogida de dinero
insercion monedas ( cantidad ) / acumular saldo

cancelar / devolver monedas [ cambio < 0 ] [ item agotado ] seleccionar( item )

Clculo
do/comprobar item y calcular cambio [ cambio = 0 ]

[ cambio > 0 ]

Entrega producto
do/entregar item

Entrega cambio
do/ dar cambio

Dpto. LSI - Universidad de Granada

En este diagrama, al principio, se ejecuta la accin "obtener primer artculo. Una vez realizada sta pasamos al estado comprobacin. Este estado tiene una actividad asociada, que se indica como do/actividad. En este caso, la actividad es "comprobar artculo".

Acciones y actividades
acciones:
asociadas a transiciones son atmicas

actividades:
en los estados pueden ser interrumpidas por algn evento

transiciones
Una transicin sin evento asociado tendr lugar al terminar la actividad que se realiza en el estado correspondiente una transicin con guarda slo se dar si se cumple sta de un estado slo se puede salir por una transicin, nunca por varias a la vez (guardas excluyentes?)

En el diagrama anterior aadimos una transicin cancelar desde cualquier estado;

Podramos tambin definir un superestado, que englobara todo, y poner una sola transicin cancelar

Otro ejemplo de Anidamiento


tarjetaIntroducida

Activo Inactivo
cancelar

Validacin
mantener [continuar]

Seleccin Mantenimiento
entry/leerTarjeta exit/expulsarTarjeta

Procesamiento
[no continuar]

Impresin

Dpto. LSI - Universidad de Granada

Ms informacin en los estados

Inicio

NOMBRE_ESTADO entry/accin_entrada do/actividad evento (atributos)opc [guarda]opc /accin opc evento/defer exit/accin_salida

Fin

Dpto. LSI - Universidad de Granada

Ms informacin en los estados


Una transicin que no da lugar a un cambio de estado: evento/accin generacin de un evento despus de un tiempo: after tiempo evento generacin de un evento si se cumple una condicin: when condicin evento y los eventos especiales entry y exit, a los que asociar acciones a realizar al entrar y antes de salir del estado

Ms elementos
Tambin consideraremos la autorizacin del pago del pedido

diagramas concurrentes

Los dos aspectos del procesamiento del pedido, al mismo tiempo