domingo, 27 de marzo de 2016

Diagramas de Comportamientos Parte 2

3. Diagrama de Estado: Es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.

El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos. Describen gráficamente los eventos y los estados de los objetos. Los diagramas de estados son útiles para indicar los eventos del sistema en los casos de uso.

Un evento es un acontecimiento importante a tomar en cuenta para el sistema. Un estado es la condición de un objeto en un momento determinado: el tiempo que transcurre entre eventos. Una transición es una relación entre dos estados, e indica que, cuando ocurre un evento, el objeto pasa del estado anterior al siguiente.

Estructura 

  • Estado: Determina un lapso de tiempo del objeto, en el cual el objeto está esperando alguna ejecución, tiene cierta característica o pude obtener cierto tipo de estímulos. Se representa a través de un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado.
  • Eventos: Es una ocurrencia que puede causar el cambion de un estado a otro de un objeto. Esta ocurrencia puede ser cuando la condición que obtiene el valor  de verdadero o falso, recepción de una señal de otro objeto en el modelo, recepción de un mensaje y paso de cierto periodo 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 se local a la clase que lo nombre.
  • Envío de mensajes: Aparte de mostrar la transición de estado por medio de eventos, peuede representarse el momento en el cual se envían mensajes a otros objetos. Esto se ejecuta a través de una linea punteada dirigida al diagrama de estados del objeto receptor del mensaje.
  • Transición simple: Es un vínculo entre dos estados que señala 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 protagoniza como una línea sólida entre dos estados, que puede estar acompañada por el siguiente formato event-signature,"[" guard condition]", "action-expression ","send clause".  Donde el Event-signature es la explicación del evento que da lugar a la transición, el Guard-condition son las condiciones adicionales al evento, necesarias para que la trancisión ocurra, el Action-expression es un mensaje al objeto que se ejecuta como resultado de la transición y el cambio del estado y  Send-clause son operaciones adicionales que se realizan con el cambio de estado, por ejemplo, el envío de eventos a otros paquetes o clases.
  • Transición interna:  Es una transición que sigue en el mismo estado, en vez de implicar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el comportamiento de acciones del estado.
  • Acciones: Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de entrar , salir, estar en un estado, o por la ocurrencia de un evento.
  •  Subestados: Un estado puede separarse en varios 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.
  • Transició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 discuciones 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 guardados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se definen 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. Este evento desencadena una transición que permite salir  del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.

Ejemplo 1.

Diagrama de estados de UML para un pedido del sistema de procesos de pedidos. El diagrama indica diversos estados de un pedido.


Ejemplo 2.



 

No hay comentarios:

Publicar un comentario