Diagramas De Estado (lógica De Programación)
Enviado por mikereeker88 • 12 de Febrero de 2012 • 2.880 Palabras (12 Páginas) • 1.381 Visitas
INTRODUCCIÓN
Además de la estructura estática y del comportamiento dinámico, las vistas funcionales
se pueden utilizar para describir a los sistemas. Las vistas funcionales ilustran la
funcionalidad que proporciona un sistema. Los casos de uso son las descripciones
funcionales del sistema. Normalmente, son modelados en la etapa de análisis de
requisitos para describir y capturar cómo los actores podrían utilizar un sistema. Los
diagramas de casos de uso deberían capturar solamente cómo un actor puede usar un
sistema, pero no cómo debe ser construido dicho sistema.
Las clases y las interacciones implementan los casos de uso en el sistema. Las
interacciones son expresadas en diagramas de secuencia y/o colaboración. Entonces hay
un enlace entre la visión funcional y la visión dinámica del sistema. Las clases
utilizadas en la implementación de los casos de uso son modeladas y descritas en los
diagramas de clase, en los diagramas de estado y/o actividad.
DIAGRAMAS DE ESTADO
Los diagramas de estado muestran el conjunto de estados por los cuales pasa un objeto
durante su vida en una aplicación en respuesta a eventos (por ejemplo, mensajes
recibidos, tiempo rebasado o errores), junto con sus respuestas y acciones. También
ilustran qué eventos pueden cambiar el estado de los objetos de la clase. Normalmente
contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su
vez, eventos, acciones y actividades, vamos a ver primero sus definiciones.
Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas
explicativas y restricciones.
EVENTOS
Un evento es una ocurrencia que puede causar la transición de un estado a otro de un
objeto. Esta ocurrencia puede ser una:
• condición que toma el valor de verdadero (normalmente descrita como una expresión
booleana). Es un EventoCambio.
• recepción de una señal explícita de un objeto a otro. Es un EventoSeñal.
• recepción de una llamada a una operación. Es un EventoLlamada.
• paso de cierto período de tiempo, después de entrar al estado actual, o de cierta hora
y fecha concretas. Es un EventoTiempo.
El nombre de un evento tiene alcance dentro del paquete en el cual está definido y
puede ser usado en los diagramas de estado por las clases que tienen visibilidad dentro
del paquete. Un evento no es local a la clase donde está declarado.
ACCIONES
Una acción es una operación atómica, que no se puede interrumpir por un evento y que
se ejecuta hasta su finalización. Una acción puede ser:
• una llamada a una operación (al objeto al cual pertenece el diagrama de estado o
también a otro objeto visible),
• la creación o la destrucción de otro objeto,
• el envío de una señal a un objeto.
ACTIVIDADES
Cuando un objeto está en un estado, generalmente está esperando a que suceda algún
evento. Sin embargo, a veces, queremos modelar una actividad que se está ejecutando.
Es decir, mientras un objeto está en un estado, dicho objeto realiza un trabajo que
continuará hasta que sea interrumpido por un evento.
Por lo tanto, una acción contrasta con una actividad, ya que ésta última puede ser
interrumpida por otros eventos.
ESTADOS
Un estado identifica una condición o una situación en la vida de un objeto durante la
cual satisface alguna condición, ejecuta alguna actividad o espera que suceda algún
evento. Un objeto permanece en un estado durante un tiempo finito (no instantáneo).
Un estado se representa gráficamente por medio de un rectángulo con los bordes
redondeados y con tres divisiones internas. Los tres compartimentos alojan el nombre
del estado, el valor característico de los atributos del objeto en ese estado y las acciones
que se realizan en ese estado, respectivamente. En muchos diagramas se omiten los dos
compartimentos inferiores.
En el primer ejemplo viene representado el estado Login junto con sus
tres divisiones. Asimismo, los diagramas de estado tienen un punto de comienzo, el
estado inicial, que se dibuja mediante un círculo sólido relleno, y un (o varios) punto de
finalización, el estado final, que se dibuja por medio de un círculo conteniendo otro más
pequeño y relleno (es como un ojo de toro). Dichos estados, inicial y final, aparecen
marcados en el segundo ejemplo de la Figura 5.1.
COMPARTIMENTO DEL NOMBRE
Cada estado debe tener un nombre.
En el primer ejemplo de la Figura 5.1 tenemos el nombre de estado: Login, mientras que
en el segundo ejemplo hay dos nombres de estado: Impagada y Pagada.
COMPARTIMENTO DE LA LISTA DE VARIABLES
El segundo compartimento es el compartimento de las variables de estado, donde los
atributos (variables) pueden ser listados y asignados. Los atributos son aquellos de la
clase visualizados por el diagrama de estado.
En el primer ejemplo tenemos la variable de estado: fecha-login, a la
cual se le ha asignado el valor de la fecha del día.
COMPARTIMENTO DE LA LISTA DE ACCIONES
El tercer compartimento es el compartimento de las transiciones internas, donde se
listan las actividades o las acciones internas ejecutadas en respuesta a los eventos
recibidos mientras el objeto está en un estado, sin cambiar de estado. La sintaxis formal
dentro de este compartimento es:
nombre-evento ‘(’lista-argumentos‘)’ ‘[’guard-condition‘]’ ‘/’ expresión-acción
Las siguientes acciones especiales tienen el mismo formato, pero representan palabras
reservadas que no se pueden utilizar para nombres de eventos:
entry ‘/’ expresión-acción
exit ‘/’ expresión-acción
Las acciones entry y exit no tienen argumentos, pues están implícitos en ellas.
Cuando se entra al estado o se sale del estado, se ejecuta la acción atómica
especificada en expresión-acción.
La siguiente palabra clave representa la llamada de una actividad:
do ‘/’ expresión-acción
La
...