Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clase 14a uml_estados

918 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Clase 14a uml_estados

  1. 1. 1UMLDiagramas de Estados(UML Ilustrado)Universidad de los AndesDemián GutierrezNoviembre 2012
  2. 2. 2Diagramas 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_machineno vamos a entrar en detalles
  3. 3. 3Diagramas de Estados(¿Qué Muestran?)Un diagrama de estados muestra el flujo de controlentre estados: en qué estados posibles puede estar“cierto algo” y cómo se producen los cambios entredichos estadosUna máquina de estados es un comportamiento queespecifica las secuencias de estados por las que pasaun objeto a lo largo de su vida en respuesta a eventos,junto con sus respuestas a esos eventos(Booch, Rumbaugh, Jacobson)
  4. 4. 4Diagramas de Estados(¿Qué Muestran?)Son útiles para modelar cualquier aspecto de unsistema que se pueda modelar con una máquina deestados:El ciclo de vida de un objeto, usuario, etcUn protocolo de comunicaciónUn interprete de un lenguaje (compiladores)Muchas otras aplicaciones...
  5. 5. 5Diagramas de Estados(Máquina de Estados)¿en qué estado (de ánimo) seencuentra usted y comocambia su estado de ánimo?(cuidado, humor negro adelante)
  6. 6. 6Diagramas de Estados(Máquina de Estados)normal(vivo)contentotristedeprimidomenosdeprimido...buenanoticiamalanoticiaanti depresivosmuchomenosdeprimido antidepresivosmuerto(sobredosis)tiempotiempobuenanoticiamalanoticianoticiadevastadoraentratamientobuscaayudaevaluaciónfavorableevaluacióndesfavorableantidepresivosbuena noticia, buena noticia, tiempo, noticia devastadora, busca ayuda,evaluación favorable, noticia devastadora, ad, ad, ad ...
  7. 7. 7Diagramas de Estados(Conceptos)Un estado es una condición o situación en la vida de unobjeto durante la cual éste satisface una condición,realiza alguna actividad o espera algún eventoUn evento es la especificación de un acontecimiento(estímulo) que ocupa un lugar en el tiempo y en elespacio y que puede (o no) activar una transición deestadoUna transición es una relación entre dos estados queindica que un objeto que esté en el primer estado realizaráciertas acciones y entrará en el segundo estado cuandoocurra un evento especificado y se satisfagan unascondiciones especificadas
  8. 8. 8Diagramas de Estados(Máquina de Estados)normal(vivo)contentotristedeprimidomenosdeprimido...buenanoticiamalanoticiaanti depresivosmuchomenosdeprimido antidepresivosmuerto(sobredosis)tiempotiempobuenanoticiamalanoticianoticiadevastadoraentratamientobuscaayudaevaluaciónfavorableevaluacióndesfavorableantidepresivosbuena noticia, buena noticia, tiempo, noticia devastadora, busca ayuda,evaluación favorable, noticia devastadora, ad, ad, ad ...estadostransicioneseventos
  9. 9. 9Diagrama de Estado(Ejemplo: El modelo de una puerta)EstadoTransición¿Como implementaría laguarda?¿en qué estadose encuentrala puertainicialmente?
  10. 10. 10Diagrama de Estado(Ejemplo: Una llamada telefónica)EstadoInicialEstadoFinal
  11. 11. 11Diagrama de Estado(Ejemplo: Procesando una Orden)Estado/Procesamiento de unaOrden para una Tienda enLínea
  12. 12. 12Diagrama de Estado(Ejemplo: Procesando una Orden)Do / seleccionarproducto es unaactividad que serealiza mientrasestemos en el estadoAcción(Se ejecuta cuando sedispara la transición)Adaptado de UML Gota a Gota / Martin FowlerVolveremos másadelante al conceptode actividad
  13. 13. 13Diagrama de Estado(Ejemplo: Procesando una Orden)¿qué tal si queremos cancelarla orden mientras que seaposible?
  14. 14. 14Diagrama de Estado(Ejemplo: Procesando una Orden)¿las líneas rojashacen eldiagrama difícilde leer?¿cómo se puedemejorar lelegibilidad?Adaptado de UML Gota a Gota / Martin Fowler
  15. 15. 15Diagrama de Estado(Ejemplo: Procesando una Orden)Estado CompuestoAdaptado de UML Gota a Gota / Martin Fowler
  16. 16. 16Diagramas de Estados(Un Ejemplo de Implementación)¡Animo!(código)
  17. 17. 17Gracias¡Gracias!

×