domingo, 8 de diciembre de 2013

Diagramas de Estados

Diagramas de Estados


Un diagrama de estados muestra la secuencia de estados que un objeto ó una interacción pueden atravesar durante su existencia en respuesta a eventos externos o internos que provocan los cambios de un estado a otro.

Un diagrama de estados es útil sólo para los objetos con un comportamiento Significativo. El resto de objetos se puede considerar que tienen un único Estado.

Un diagrama de estados completa la definición de los casos de uso y sirven de base para el diseño de la interfaz de usuario. Los diagramas de estados y los diagramas de interacción son complementarios.

§  Estados

Un estado se representa mediante de un rectángulo con las esquinas redondeadas.  Puede tener de forma opcional uno o más secciones, tales como el nombre y las transiciones internas.

En la sección nombre se coloca el nombre del estado.  Mientras que en la sección transiciones internas se coloca una lista de acciones realizadas mientras el objeto están en un estado según el siguiente formato:

     evento argumentos / acción

Cada nombre de evento puede aparecer más de una vez en un único estado.  Las acciones pueden utilizar los atributos y enlaces del objeto al que pertenecen o los parámetros de transiciones de entrada.  Las siguientes acciones utilizan palabras reservadas:
  • entrar: ocurre a la entrada del estado 
  • salir: ocurren a la salida del estado
  • hacer: ocurren mientras está en el estado


Existen dos (2) estados especiales y que se distinguen del resto:
El estado inicial y el estado final.  El primero ocurren cuando se crea un objeto y el segundo ocurre cuando este desaparece. Se ilustran mediante un punto negro y un punto negro con un circulo externo respectivamente.



§  Transiciones




Hay dos (2) tipos de transiciones:

a.        Transiciones simples

Una transición simple es una relación entre dos estados, indicando que un objeto del primer estado entrará en el segundo estado y realizará ciertas operaciones cuando ocurra un evento dado si determinadas condiciones
se cumplen.

El disparador de la transición es la ocurrencia del evento que está etiquetando la transición.

El evento podría tener parámetros, que se utilizarán en:
 - Las acciones especificadas en la transición
 - Las acciones iniciadas en el siguiente estado

Los eventos se procesan de forma exclusiva en cada momento, nunca concurrentemente.

Si un evento no disparara ninguna transición, simplemente se ignora.

Las transiciones se representan por una flecha sólida que va de un estado a otro, etiquetada por un string de transición con el siguiente formato:

Evento ( [parametros] ) [condición guarda] / acción

La condición de guarda es una expresión lógica en términos de los parámetros del evento disparado, atributos y enlaces del objeto al que pertenece la máquina de estados.

a.        Transiciones complejas

Una transición es compleja cuando posee múltiples estados fuente y múltiples estados destino. Sirve para representar una sincronización de hilos concurrentes a través de ramas AND/OR.



§  Estados Inicial y Final

 Estos elementos dan a entender tanto el inicio como el final del programa, se diferencian dado que uno de estos posee dos círculos por lo que es fácil de comprender



Al terminar el diagrama se podrá observar uno parecido a este el cual es el ejemplo de un avión el cual acelera para elevarse para luego aterrizar tiene que descender y bajar su velocidad







No hay comentarios:

Publicar un comentario