clase 14a uml_estados

17
1 UML Diagramas de Estados (UML Ilustrado) Universidad de los Andes Demián Gutierrez Noviembre 2012

Upload: demian-gutierrez

Post on 28-Jun-2015

492 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Clase 14a uml_estados

1

UMLDiagramas de Estados

(UML Ilustrado)

Universidad de los AndesDemián GutierrezNoviembre 2012

Page 2: Clase 14a uml_estados

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

Page 3: Clase 14a uml_estados

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)

Page 4: Clase 14a uml_estados

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...

Page 5: Clase 14a uml_estados

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)

Page 6: Clase 14a uml_estados

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 ...

Page 7: Clase 14a uml_estados

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

Page 8: Clase 14a uml_estados

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

Page 9: Clase 14a uml_estados

9

Diagrama de Estado(Ejemplo: El modelo de una puerta)

Estado

Transición¿Como implementaría la

guarda?

¿en qué estadose encuentra

la puertainicialmente?

Page 10: Clase 14a uml_estados

10

Diagrama de Estado(Ejemplo: Una llamada telefónica)

Estado Inicial

Estado Final

Page 11: Clase 14a uml_estados

11

Diagrama de Estado(Ejemplo: Procesando una Orden)

Estado/Procesamiento de una Orden para una Tienda en

Línea

Page 12: Clase 14a uml_estados

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

Page 13: Clase 14a uml_estados

13

Diagrama de Estado(Ejemplo: Procesando una Orden)

¿qué tal si queremos cancelar la orden mientras que sea

posible?

Page 14: Clase 14a uml_estados

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

Page 15: Clase 14a uml_estados

15

Diagrama de Estado(Ejemplo: Procesando una Orden)

Estado Compuesto

Adaptado de UML Gota a Gota / Martin Fowler

Page 16: Clase 14a uml_estados

16

Diagramas de Estados(Un Ejemplo de Implementación)

¡Animo!(código)

Page 17: Clase 14a uml_estados

17

Gracias

¡Gracias!