Diagrama de estado
|
Características
Sea un autómata finito definido por la 5-tupla A=<Q, T, g, F, q0>, donde Q es el conjunto de estados, T el alfabeto de símbolos terminales, la relación de transiciones
, F son los estados finales o de llegada dentro de Q, q0 es el estado inicial o de partida; se le llama diagrama de estados de A al grafo orientado con aristas y vértices acotados de la forma siguiente:
![Definicion transiciones af.gif](https://www.ecured.cu/images/8/8c/Definicion_transiciones_af.gif)
- Todos los estados de Q se representan por círculos en cuyo interior se designa el nombre del estado que representa.
- El estado inicial q0 se indica agregando una saeta corta a su izquierda que no tiene origen alguno y concluye en el borde de la circunferencia, normalmente en los 180 grados del mismo.
- Los estados finales se indican o bien sombreando el círculo o poniendo un borde doble al estado.
- Pueden existir estados iniciales finales, simplemente se aplican los dos casos anteriores.
- A cada transición entre los estados qi y qj con el símbolo terminal x o la cadena vacía ε se representa como un arco etiquetado con x ó ε según corresponda.
- Si entre los estados y en el mismo sentido hay varias transiciones con los terminales x1, x2, ..., xn entonces se indican en el mismo arco pero separados por espacio o comas según convenga.
Función
En el diagrama de estados se indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustra qué eventos pueden cambiar el estado de los objetos de la clase.
Partes que conforman el Diagrama de Estados
Estado
Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino. La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimento aparece el nombre del estado. El segundo compartimento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.
Eventos
Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:
- Condición que toma el valor de verdadero o falso
- Recepción de una señal de otro objeto en el modelo
Recepción de un mensaje
Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particular. El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.
Envío de mensajes
Además de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del objeto receptor del mensaje.
Transición simple
Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un texto con el siguiente formato:
Transición interna
Es una transición que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.
Acciones
Se puede especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.
Generalización de Estados
Se puede reducir la complejidad de estos diagramas usando la generalización de estados. Se distingue así entre superestado y subestados. Un estado puede contener varios subestados disjuntos.
Subestados
Un estado puede descomponerse en subestados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior.
Transacción Compleja
Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.
Transición a estados anidados
Una transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad).
Transiciones temporizadas
Las esperas son actividades que tienen asociada cierta duración. La actividad de espera se interrumpe cuando el evento esperado tiene lugar.
Importancia
Los diagramas de estado en el caso de los automatas finitos, además de mejorar su legibilidad, comprensión, e incluso visualizar una especie de primera aproximación material a su implementación física o computacional; también ayudan a visibilizar las propiedades del AF más intuitivamente que en la notaciones de la 5-tupla o la de la tabla de transiciones.
Ventajas y Desventajas
Ventajas
- 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.
- 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.
- A su vez, durante la extracción (elicitation en inglés), 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 hay comentarios:
Publicar un comentario