Diagramas de Estados
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:
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