Tutorial: Gráfico de estado
Redacción e implementación de un diagrama de estado
Un diagrama de estado es una máquina que cambia de estado a estado en tiempo de ejecución. Los estados están vinculados por transiciones, cada una de las cuales tiene una condición de guardia. Las acciones o métodos se pueden llamar tanto en estados como en transiciones. Cuando una condición de guardia obtiene el valor TRUE
(evento), se activará la transición. Esto ejecuta las acciones o métodos que pertenecen a la transición y luego cambia al siguiente estado. Las condiciones de protección son simplemente variables booleanas que reflejan eventos o son una expresión. Los eventos son entradas de usuario de una visualización/interfaz de usuario, E/S, eventos de tiempo o eventos del sistema. Otro evento que a menudo se requiere es el evento de finalización que ocurre cuando se completan las acciones o métodos de un estado.
Inserta todos los estados requeridos en el editor de diagramas de estado e implementa el control de flujo. Para hacer esto, codifique las condiciones de protección para las transiciones especificando una variable booleana o una expresión ST. La funcionalidad real del diagrama de estado se implementa en las acciones y métodos que se llaman en los estados o durante las transiciones.
Por lo tanto, los métodos y acciones asignados a un diagrama de estado contienen los algoritmos. Así es como implementa el concepto de clase orientada a objetos de la manera convencional.
Durante la fase de diseño del software, ya puede utilizar el editor de diagramas de estado como herramienta de diseño. Por ejemplo, puede crear un archivo de gráficos (BMP
) de un diagrama de estado para agregarlo a una especificación o un documento de diseño.
Identifique todos los estados que tendrá la máquina.
Identificar las posibles transiciones de estado de un estado a otro.
Identificar los eventos que ocurren durante el tiempo de ejecución de la máquina y que desencadenan una transición de estado. Agrupe los eventos relevantes cronológicamente.
Identifica el
ENTRY
,DO
, yEXIT
acciones o métodos para llamar durante un estado.Identificar acciones o métodos para llamar durante las transiciones.
Definir el comportamiento en caso de error.