ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diagramas De Estado (lógica De Programación)

mikereeker8812 de Febrero de 2012

2.880 Palabras (12 Páginas)1.436 Visitas

Página 1 de 12

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 transición especial do nos sirve para especificar una actividad que se

ejecuta mientras se está en un estado, por ejemplo, enviando un mensaje, esperando o calculando. Dicha actividad es la que aparece en expresiónacción.

Por último, las transiciones internas, que son esencialmente interrupciones, se

especifican teniendo en cuenta la sintaxis formal. Por ejemplo:

help / display help

La transición interna help representa un evento que no causa ningún cambio de

estado, pues sólo muestra, en cualquier momento, una ayuda al usuario que

viene expresada en display help.

En el primer ejemplo de la Figura 5.1 aparecen todos los tipos de eventos especificados

anteriormente, junto con las acciones y actividades que se realizan al entrar, salir o estar

en el estado Login.

TRANSICIONES SIMPLES

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.

Una transición simple se representa gráficamente como una línea continua dirigida

desde el estado origen (source) hasta el estado destino (target). Puede venir

acompañada por un texto con el siguiente formato:

nombre-evento ‘(’lista-argumentos‘)’ ‘[’guard-condition‘]’ ‘/’ expresión-acción

‘^’ claúsula-envío

donde nombre-evento y lista-argumentos describen el evento que da lugar a la

transición y forman lo que se denomina event-signature, donde guard-condition es una condición (expresión booleana) adicional al evento y necesaria para que la transición ocurra.

Si la guard-condition se combina con una event-signature, entonces para que la

transición se dispare tienen que suceder dos cosas: debe ocurrir el evento y la

condición booleana debe ser verdadera.

Donde expresión-acción es una expresión procedimental que se ejecuta cuando

se dispara la transición.

Es posible tener una o varias expresión-acción en una transición de estado, las

cuales se delimitan con el carácter “/”.

donde claúsula-envío es una acción adicional que se ejecuta con el cambio de

estado, por ejemplo, el envío de eventos a otros paquetes o clases.

Este tipo especial de acción tiene una sintaxis explícita para enviar un mensaje

durante la transición entre dos estados. La sintaxis consiste de una expresión de

destino y de un nombre de evento, separados por un punto.

Aquí tenemos un diagrama de estado para un ascensor, donde se combinan

los estados con las transiciones simples:

El ascensor empieza estando

...

Descargar como (para miembros actualizados) txt (18 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com