Diagramas de
Estados
Diagramas UML
 Representan visualmente el modelo de un sistema
 Contiene:
 Actores
 Roles
 Acciones
 Artefactos
 Clases
• Con el propósito de:
• Comprender
• Alterar
• Mantener
• Documentar
Vistas de un modelo
 Vista estática (o estructural):
Enfatiza la estructura estática del sistema.
Se denomina vista estática porque no modela comportamiento del
sistema dependiente del tiempo.
Vistas de un modelo
 Vista dinámica (o de comportamiento):
Enfatiza el comportamiento dinámico del sistema
Diagrama de estados UML
 También son conocidos como diagramas de máquinas de estados
 Se dividen en:
1. Diagrama de máquina de comportamiento
2. Diagrama de máquina de estados de protocolos
Diagrama de estados UML
 Función:
Indica qué eventos hacen que se pase de un estado a otro y cuáles son las
respuestas y acciones que genera.
 Representación:
 Es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones
etiquetadas con los nombres de los eventos.
Elementos de los diagramas de estado
Evento
Es una ocurrencia que puede causar la transición de un estado a otro,
esta ocurrencia puede ser:
 La recepción de una señal
 La recepción de una llamada a una operación
 Paso de cierto periodo de tiempo
 Condición que toma el valor de verdadero
Estado
Representa la situación de un objeto durante la cual satisface alguna
condición, ejecuta alguna actividad o espera algún evento.
Un estado se representa gráficamente por medio de un rectángulo con
los bordes redondeados y con el nombre del estado escrito dentro del
mismo.
El UML define los siguientes tipos de estados:
1. Estado simple
 No tiene subestados
 No tiene regiones
 No tiene estados submáquinas.
2. Estado compuesto
 Cuenta con una o más regiones.
 Una región es simplemente un contenedor para subestados.
 Un estado compuesto con dos o más regiones se llama ortogonal.
 Tiene un compartimento de descomposición
3. Estado submaquina
Un estado de submáquina es semánticamente equivalente a un estado
compuesto. Las regiones de la máquina de estado de submáquina son las
regiones del estado compuesto. Las acciones de entrada, salida y
comportamiento y las transiciones internas se definen como parte del
estado.
Transiciones
Las transiciones desde un estado al siguiente se denotan por líneas con
flechas. Una transición puede tener un: trigger, un guard y un behavior
o effect.
Transición interna
Contiene una lista de acciones internas o de actividades realizadas
mientras los objetos permanecen en un estado.
Transición recursiva
Un estado puede tener una transición que retorna a sí misma,
como en el siguiente diagrama. Esto es más útil cuando un
efecto se asocia con la transición.
Múltiples transiciones
La posibles combinación de triggers y condiciones de guardas dan lugar a
diferentes conjuntos de transiciones entre estados:
Pseudo-estado
Tipos de Pseudo-estado
Inicial
Un pseudo-estado inicial representa un vértice predeterminado que es el origen de una
transición única al estado predeterminado de un estado compuesto. El estado inicial se denota
con un círculo negro relleno y se puede etiquetar con un nombre.
Elección
Un pseudo-estado de elección realiza una rama condicional dinámica. Evalúa los guardias de
los activadores de sus transiciones salientes para seleccionar solo una transición de salida.
El siguiente diagrama muestra que el estado al que se llega, después del pseudo-estado de elección,
depende del formato de mensaje seleccionado durante la ejecución del estado anterior.
Cruce
Los pseudo estados de cruce se utilizan para encadenar múltiples transiciones. Un cruce puede
tener una o más transiciones entrantes y una o más salientes. Un cruce que divide una
transición entrante en múltiples transiciones salientes realiza una rama condicional estática, a
diferencia de un pseudo estado de elección que realiza una rama condicional dinámica.
Unión
Recibe dos o más transiciones entrantes que se reúnen para formar una transición saliente.
Cada transición entrante al pseudo-estado de unión debe originarse desde una región
diferente de un estado ortogonal (compuesto).
Bifurcación
Recibe una transición entrante que se divide en dos o más transiciones salientes. Cada
transición saliente desde el pseudo estado de unión debe apuntar a un estado en una región
diferente de un estado ortogonal (compuesto).
Punto de Entrada
Es un punto de entrada de una máquina de estados o un estado compuesto. Un punto de
entrada se muestra como un pequeño círculo en el borde del diagrama de la máquina de
estados o el estado compuesto, con el nombre asociado. A veces no querrá ingresar a una sub
máquina en el estado inicial normal.
Punto de Salida
Es un punto de salida de una máquina de estados o un estado compuesto. De manera similar
a los puntos de entrada, es posible tener nombres de puntos de salida alternativos.
Terminar
Un pseudo-estado de terminación indica que la línea de vida de la máquina de estados ha
finalizado. Un pseudo-estado de terminación se indica como una cruz.
Historia Superficial (Poco Profunda)
Historia Profunda
Ejemplo
Diagrama de máquina de estados de protocolos
Las máquinas de estados de protocolos ilustran una secuencia de eventos a
los que responde un objeto, sin necesidad de ilustrar su comportamiento
propiamente dicho. La secuencia necesaria de eventos y los cambios
resultantes en el estado del objeto se modelan en este tipo de diagramas.
Las máquinas de estados de protocolos se usan sobre todo para describir
protocolos complejos.
Restricciones de diseño
Dibuja una máquina de estados de protocolo de la misma manera que
dibuja cualquier otra máquina de estados. Recuerde, sin embargo, seguir
algunas reglas especiales:
• Los estados pueden tener nombres pero no pueden mostrar
acciones de entrada, acciones de salida, acciones internas o
realizar actividades.
• Las transiciones muestran operaciones pero no acciones o envían
eventos (como pueden hacer los diagramas de estado regulares).
• Las transiciones pueden tener condiciones previas y condiciones
posteriores
Ejemplo
Aplicaciones
•Un diagrama de estados sirve para mostrar la vida de un objeto. El
diagrama indica los eventos que causan que un estado cambie a otro y
cuáles son las respuestas y acciones que genera este.
•El diagrama de estados se utiliza normalmente para describir objetos del
dominio del usuario y se documenta por lo general en la etapa del análisis.
• Representar objetos basados en eventos en un sistema reactivo.
• Ilustrar escenarios de casos de uso en un contexto de negocios.
• Describir cómo se mueve un objeto a través de diversos estados a lo
largo de su existencia.
• Mostrar el comportamiento general de una máquina de estados o el
comportamiento de un conjunto relacionado de máquinas de estados.
Las principales aplicaciones son las siguientes:
• Son autómatas jerárquicos que permiten expresar concurrencia,
sincronización y jerarquías de objetos
• Son grafos dirigidos
• Son deterministas
• Los estados inicial y final están diferenciados del resto
• La transición entre estados es instantánea y se debe a la ocurrencia de un
evento
Características de los Diagramas de Estados
Ventajas
•Como técnica de extracción de requerimiento permite que el analista se
centre en las necesidades del usuario, qué espera éste lograr al utilizar el
sistema, evitando que la gente especializada en informática dirija la
funcionalidad del nuevo sistema basándose solamente en criterios
tecnológicos.
•El diagrama de estados tiene éxito en sistemas interactivos, ya que expresa
la intención que tiene el actor (su usuario) al hacer uso del sistema.
•A su vez, durante la extracción, el analista se concentra en las
tareas centrales del usuario describiendo por lo tanto los casos de uso que
mayor valor aportan al negocio. Esto facilita luego la priorización
del requerimiento.
...
Desventajas
•La inclusión de estas relaciones hace que los diagramas sean más
difíciles de leer, sobre todo para los clientes.
•No son tan buenos para describir un comportamiento que
involucra cierto número de objetos que colaboran entre ellos.
Ejemplo de diagrama de estados de registro en
aeropuerto
 El siguiente ejemplo simplifica
los pasos necesarios para
registrarse en un aeropuerto.
En el caso de las aerolíneas, un
diagrama de estados puede
ayudar a agilizar procesos y
eliminar pasos innecesarios.
Gracias

Diagramas estados

  • 1.
  • 2.
    Diagramas UML  Representanvisualmente el modelo de un sistema  Contiene:  Actores  Roles  Acciones  Artefactos  Clases • Con el propósito de: • Comprender • Alterar • Mantener • Documentar
  • 3.
    Vistas de unmodelo  Vista estática (o estructural): Enfatiza la estructura estática del sistema. Se denomina vista estática porque no modela comportamiento del sistema dependiente del tiempo.
  • 4.
    Vistas de unmodelo  Vista dinámica (o de comportamiento): Enfatiza el comportamiento dinámico del sistema
  • 5.
    Diagrama de estadosUML  También son conocidos como diagramas de máquinas de estados  Se dividen en: 1. Diagrama de máquina de comportamiento 2. Diagrama de máquina de estados de protocolos
  • 6.
    Diagrama de estadosUML  Función: Indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera.  Representación:  Es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos.
  • 7.
    Elementos de losdiagramas de estado Evento Es una ocurrencia que puede causar la transición de un estado a otro, esta ocurrencia puede ser:  La recepción de una señal  La recepción de una llamada a una operación  Paso de cierto periodo de tiempo  Condición que toma el valor de verdadero
  • 8.
    Estado Representa la situaciónde un objeto durante la cual satisface alguna condición, ejecuta alguna actividad o espera algún evento. Un estado se representa gráficamente por medio de un rectángulo con los bordes redondeados y con el nombre del estado escrito dentro del mismo.
  • 9.
    El UML definelos siguientes tipos de estados: 1. Estado simple  No tiene subestados  No tiene regiones  No tiene estados submáquinas.
  • 10.
    2. Estado compuesto Cuenta con una o más regiones.  Una región es simplemente un contenedor para subestados.  Un estado compuesto con dos o más regiones se llama ortogonal.  Tiene un compartimento de descomposición
  • 11.
    3. Estado submaquina Unestado de submáquina es semánticamente equivalente a un estado compuesto. Las regiones de la máquina de estado de submáquina son las regiones del estado compuesto. Las acciones de entrada, salida y comportamiento y las transiciones internas se definen como parte del estado.
  • 13.
    Transiciones Las transiciones desdeun estado al siguiente se denotan por líneas con flechas. Una transición puede tener un: trigger, un guard y un behavior o effect.
  • 14.
    Transición interna Contiene unalista de acciones internas o de actividades realizadas mientras los objetos permanecen en un estado.
  • 15.
    Transición recursiva Un estadopuede tener una transición que retorna a sí misma, como en el siguiente diagrama. Esto es más útil cuando un efecto se asocia con la transición.
  • 16.
    Múltiples transiciones La posiblescombinación de triggers y condiciones de guardas dan lugar a diferentes conjuntos de transiciones entre estados:
  • 17.
  • 19.
    Tipos de Pseudo-estado Inicial Unpseudo-estado inicial representa un vértice predeterminado que es el origen de una transición única al estado predeterminado de un estado compuesto. El estado inicial se denota con un círculo negro relleno y se puede etiquetar con un nombre.
  • 20.
    Elección Un pseudo-estado deelección realiza una rama condicional dinámica. Evalúa los guardias de los activadores de sus transiciones salientes para seleccionar solo una transición de salida.
  • 21.
    El siguiente diagramamuestra que el estado al que se llega, después del pseudo-estado de elección, depende del formato de mensaje seleccionado durante la ejecución del estado anterior.
  • 22.
    Cruce Los pseudo estadosde cruce se utilizan para encadenar múltiples transiciones. Un cruce puede tener una o más transiciones entrantes y una o más salientes. Un cruce que divide una transición entrante en múltiples transiciones salientes realiza una rama condicional estática, a diferencia de un pseudo estado de elección que realiza una rama condicional dinámica.
  • 23.
    Unión Recibe dos omás transiciones entrantes que se reúnen para formar una transición saliente. Cada transición entrante al pseudo-estado de unión debe originarse desde una región diferente de un estado ortogonal (compuesto).
  • 24.
    Bifurcación Recibe una transiciónentrante que se divide en dos o más transiciones salientes. Cada transición saliente desde el pseudo estado de unión debe apuntar a un estado en una región diferente de un estado ortogonal (compuesto).
  • 25.
    Punto de Entrada Esun punto de entrada de una máquina de estados o un estado compuesto. Un punto de entrada se muestra como un pequeño círculo en el borde del diagrama de la máquina de estados o el estado compuesto, con el nombre asociado. A veces no querrá ingresar a una sub máquina en el estado inicial normal.
  • 26.
    Punto de Salida Esun punto de salida de una máquina de estados o un estado compuesto. De manera similar a los puntos de entrada, es posible tener nombres de puntos de salida alternativos.
  • 27.
    Terminar Un pseudo-estado determinación indica que la línea de vida de la máquina de estados ha finalizado. Un pseudo-estado de terminación se indica como una cruz.
  • 28.
  • 29.
  • 30.
  • 31.
    Diagrama de máquinade estados de protocolos Las máquinas de estados de protocolos ilustran una secuencia de eventos a los que responde un objeto, sin necesidad de ilustrar su comportamiento propiamente dicho. La secuencia necesaria de eventos y los cambios resultantes en el estado del objeto se modelan en este tipo de diagramas. Las máquinas de estados de protocolos se usan sobre todo para describir protocolos complejos.
  • 32.
    Restricciones de diseño Dibujauna máquina de estados de protocolo de la misma manera que dibuja cualquier otra máquina de estados. Recuerde, sin embargo, seguir algunas reglas especiales: • Los estados pueden tener nombres pero no pueden mostrar acciones de entrada, acciones de salida, acciones internas o realizar actividades. • Las transiciones muestran operaciones pero no acciones o envían eventos (como pueden hacer los diagramas de estado regulares). • Las transiciones pueden tener condiciones previas y condiciones posteriores
  • 33.
  • 34.
    Aplicaciones •Un diagrama deestados sirve para mostrar la vida de un objeto. El diagrama indica los eventos que causan que un estado cambie a otro y cuáles son las respuestas y acciones que genera este. •El diagrama de estados se utiliza normalmente para describir objetos del dominio del usuario y se documenta por lo general en la etapa del análisis.
  • 35.
    • Representar objetosbasados en eventos en un sistema reactivo. • Ilustrar escenarios de casos de uso en un contexto de negocios. • Describir cómo se mueve un objeto a través de diversos estados a lo largo de su existencia. • Mostrar el comportamiento general de una máquina de estados o el comportamiento de un conjunto relacionado de máquinas de estados. Las principales aplicaciones son las siguientes:
  • 36.
    • Son autómatasjerárquicos que permiten expresar concurrencia, sincronización y jerarquías de objetos • Son grafos dirigidos • Son deterministas • Los estados inicial y final están diferenciados del resto • La transición entre estados es instantánea y se debe a la ocurrencia de un evento Características de los Diagramas de Estados
  • 37.
    Ventajas •Como técnica deextracción de requerimiento permite que el analista se centre en las necesidades del usuario, qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos. •El diagrama de estados tiene éxito en sistemas interactivos, ya que expresa la intención que tiene el actor (su usuario) al hacer uso del sistema.
  • 38.
    •A su vez,durante la extracción, el analista se concentra en las tareas centrales del usuario describiendo por lo tanto los casos de uso que mayor valor aportan al negocio. Esto facilita luego la priorización del requerimiento. ...
  • 39.
    Desventajas •La inclusión deestas relaciones hace que los diagramas sean más difíciles de leer, sobre todo para los clientes. •No son tan buenos para describir un comportamiento que involucra cierto número de objetos que colaboran entre ellos.
  • 40.
    Ejemplo de diagramade estados de registro en aeropuerto  El siguiente ejemplo simplifica los pasos necesarios para registrarse en un aeropuerto. En el caso de las aerolíneas, un diagrama de estados puede ayudar a agilizar procesos y eliminar pasos innecesarios.
  • 42.

Notas del editor

  • #8 Cuando se genera un evento, la máquina de estado responde realizando acciones, como cambiar una variable, realizar E / S, invocar una función, generar otra instancia de evento o cambiar a otro estado.