clase 14a uml_estados
TRANSCRIPT
1
UMLDiagramas de Estados
(UML Ilustrado)
Universidad de los AndesDemián GutierrezNoviembre 2012
2
Diagramas de Estados(Máquina de Estados)
Los Diagramas de Estados describen unaMáquina de Estados
(o en general, Autómatas de Estados Finitos)
hay toda una teoría matemática sobre esto:
http://en.wikipedia.org/wiki/Finite-state_machinehttp://en.wikipedia.org/wiki/Mealy_machinehttp://en.wikipedia.org/wiki/Moore_machine
no vamos a entrar en detalles
3
Diagramas de Estados(¿Qué Muestran?)
Un diagrama de estados muestra el flujo de control entre estados: en qué estados posibles puede estar “cierto algo” y cómo se producen los cambios entre
dichos estados
Una máquina de estados es un comportamiento que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en respuesta a eventos,
junto con sus respuestas a esos eventos
(Booch, Rumbaugh, Jacobson)
4
Diagramas de Estados(¿Qué Muestran?)
Son útiles para modelar cualquier aspecto de un sistema que se pueda modelar con una máquina de
estados:
El ciclo de vida de un objeto, usuario, etc
Un protocolo de comunicación
Un interprete de un lenguaje (compiladores)
Muchas otras aplicaciones...
5
Diagramas de Estados(Máquina de Estados)
¿en qué estado (de ánimo) se encuentra usted y como
cambia su estado de ánimo?
(cuidado, humor negro adelante)
6
Diagramas de Estados(Máquina de Estados)
normal(vivo)
contento
triste
deprimido
menosdeprimido
...
buena noticia
mala noticia
anti depresivos
muchomenos
deprimido antidepresivos
muerto(sobredosis)
tiempo
tiempo
buena noticia
mala noticia
noticiadevastadora
entratamiento
busca ayuda
evaluaciónfavorable
evaluacióndesfavorable
antidepresivos
buena noticia, buena noticia, tiempo, noticia devastadora, busca ayuda,evaluación favorable, noticia devastadora, ad, ad, ad ...
7
Diagramas de Estados(Conceptos)
Un estado es una condición o situación en la vida de un objeto durante la cual éste satisface una condición,
realiza alguna actividad o espera algún evento
Un evento es la especificación de un acontecimiento (estímulo) que ocupa un lugar en el tiempo y en el
espacio y que puede (o no) activar una transición de estado
Una transición es una relación entre dos estados que indica que un objeto que esté en el primer estado realizará ciertas acciones y entrará en el segundo estado cuando
ocurra un evento especificado y se satisfagan unas condiciones especificadas
8
Diagramas de Estados(Máquina de Estados)
normal(vivo)
contento
triste
deprimido
menosdeprimido
...
buena noticia
mala noticia
anti depresivos
muchomenos
deprimido antidepresivos
muerto(sobredosis)
tiempo
tiempo
buena noticia
mala noticia
noticiadevastadora
entratamiento
busca ayuda
evaluaciónfavorable
evaluacióndesfavorable
antidepresivos
buena noticia, buena noticia, tiempo, noticia devastadora, busca ayuda,evaluación favorable, noticia devastadora, ad, ad, ad ...
estados
transiciones
eventos
9
Diagrama de Estado(Ejemplo: El modelo de una puerta)
Estado
Transición¿Como implementaría la
guarda?
¿en qué estadose encuentra
la puertainicialmente?
10
Diagrama de Estado(Ejemplo: Una llamada telefónica)
Estado Inicial
Estado Final
11
Diagrama de Estado(Ejemplo: Procesando una Orden)
Estado/Procesamiento de una Orden para una Tienda en
Línea
12
Diagrama de Estado(Ejemplo: Procesando una Orden)
Do / seleccionar producto es una actividad que se realiza mientras
estemos en el estado
Acción(Se ejecuta cuando se dispara la transición)
Adaptado de UML Gota a Gota / Martin Fowler
Volveremos más adelante al concepto
de actividad
13
Diagrama de Estado(Ejemplo: Procesando una Orden)
¿qué tal si queremos cancelar la orden mientras que sea
posible?
14
Diagrama de Estado(Ejemplo: Procesando una Orden)
¿las líneas rojas hacen el
diagrama difícil de leer?
¿cómo se puede mejorar le
legibilidad?Adaptado de UML Gota a Gota / Martin Fowler
15
Diagrama de Estado(Ejemplo: Procesando una Orden)
Estado Compuesto
Adaptado de UML Gota a Gota / Martin Fowler
16
Diagramas de Estados(Un Ejemplo de Implementación)
¡Animo!(código)
17
Gracias
¡Gracias!