Está en la página 1de 7

Conceptos bsicos en un Diagrama de Estados

Muestra el conjunto de estados por los cuales pasa un objeto durante su vida
en una aplicacin, junto con los cambios que permiten pasar de un estado a
otro. Un ejemplo en el caso de la cafetera son los estados posibles para la clase
Maquina Caf:

Estado
Identifica un periodo de tiempo del objeto (no instantneo) en el cual el objeto
est esperando alguna operacin, tiene cierto estado caracterstico o puede
recibir cierto tipo de estmulos. Se representa mediante un rectngulo con los
bordes redondeados, que puede tener tres compartimientos: uno para el
nombre, otro para el valor caracterstico de los atributos del objeto en ese
estado y otro para las acciones que se realizan al entrar, salir o estar en un
estado (entry, exit o do, respectivamente). En el caso del ejemplo anterior, se
tienen cuatro estados (En Funcionamiento, Sin Cambio, Sin Ingredientes,
Malfuncionamiento) , en los cuales se desarrollan ciertas acciones al entrar;
por ejemplo, al entrar al estado Sin Ingredientes se debe realizar la accin
"Indicador Sin Ingredientes en On".
Se marcan tambin los estados iniciales y finales mediante los smbolos
y , respectivamente.
Eventos
Es una ocurrencia que puede causar la transicin de un estado a otro de un
objeto. Esta ocurrencia puede ser una de varias cosas:
Condicin que toma el valor de verdadero o falso
Recepcin de una seal de otro objeto en el modelo
Recepcin de un mensaje
Paso de cierto perodo de tiempo, despus 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.
En el caso del ejemplo anterior se encuentra nombrado en varias transiciones
el evento userInput, que recibe como parmetro un Button , para indicar el
botn que ha sido presionado por el usuario de la mquina de caf.
Envo de mensajes
Adems de mostrar y transicin de estados por medio de eventos, puede
representarse el momento en el cual se envan mensajes a otros objetos. Esto
se realiza mediante una lnea punteada dirigida al diagrama de estados del
objeto receptor del mensaje. Si tomamos como ejemplo un control remoto que
puede enviar rdenes de encender o apagar al televisor o a la videograbadora
se puede obtener un diagrama de estados como el siguiente:

Los tres aparatos tienen diagramas de estados separados y algunas de las
transiciones del control remoto causan el envo de mensajes (togglePower) a
los otros aparatos.
Transicin simple
Una transicin simple es una relacin 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 lnea slida entre dos estados, que puede venir
acompaada de un texto con el siguiente formato:
event-signature [ guard-condition] / action-expression ^ send-
clause
event-signature es la descripcin del evento que da a lugar la transicin,
guard-condition son las condiciones adicionales al evento necesarias para que
la transicin ocurra, action-expression es un mensaje al objeto o a otro objeto
que se ejecuta como resultado de la transicin y el cambio de estado y send-
clause son acciones adicionales que se ejecutan con el cambio de estado, por
ejemplo, el envi de eventos a otros paquetes o clases.
En el caso del ejemplo inicial de esta hoja se tiene una transicin entre los
estados Introduciendo Moneda y SeleccionadoAzucaryProducto que tiene una
transicin con el siguiente detalle:
userInput( Button ) | [TodoOk=true} / MostrarNivelAzucar, MostrarProducto
El evento que dispara el cambio de estado es userInput( Button). Se requiere
como condicin adicional que no se haya detectado ninguna falla (TodoOk =
true) y se ejecuta MostrarNivelAzucar y MostrarProducto, que deberan ser
ejecutables por el objeto al cual pertenece el diagrama.
Transicin interna
Es una transicin 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.
Supongamos el estado de una interfaz pidiendo password al usuario. En este
caso puede tenerse una transicin interna que muestre una ayuda al usuario.
Esta transicin se muestra en el siguiente diagrama con la cadena "help /
display help " dentro del cuerpo del estado.

Conceptos avanzados en un Diagrama de Estados
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. Un ejemplo es el
estado marcando de un telfono puede descomponerse en Inicio y marcado
parcial, como lo muestra la siguiente figura.

Transicin compleja
Una transicin compleja relaciona tres o ms estados en una transicin de
mltiples fuentes y/o mltiples destinos. Representa la subdivisin en threads
del control del objeto o una sincronizacin. Se representa como una lnea
vertical del cual salen o entran varias lneas de transicin de estado. En el
ejemplo que sigue se muestra una transicin a dos threads concurrentes que
luego se sincronizan.

Transicin a estados anidados
Una transicin 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).
En el diagramas de secuencias se encuentran como primer ejemplo los dos casos
nombrados: Desde el estado inicial se pasa al estado BuenFuncionamiento (a su
estado inicial) y de este estado salen transiciones hacia MalFuncionamiento y
hacia el estado final, que deben comprenderse como transiciones de cada uno de
los estados internos hacias estos ltimos.
Modelo conceptual Se le define como una especificacin del dominio del
problema a travs de la representacin mediante objetos para esto se
requiere tres elementos principalmente. Los bloques de construccin
bsicos, las reglas que dictan como esos bloques pueden ser combinados
y algunos mecanismos que se aplican en UML.
Bloques de construccin de UML
El vocabulario de UML que comprende tres tipos de bloques de
construccin:

1. Elementos (Cosas). Los elementos son abstracciones en el modelo
estos elementos se clasifican en estructurales, comportamiento,
agrupacin, anotacin.

DIAGRMAS DE COMPORTAMIENTO
Los diagramas de comportamiento se emplean para visualizar, especificar,
construir y documentar los aspectos dinmicos de un sistema.
Los aspectos dinmicos de un sistema de software involucran cosas tales como el
flujo de mensajes a lo largo del tiempo y el movimiento fsico de componentes en
una red.

DIAGRAMA DE ACTIVIDAD
representa los flujos de trabajo paso a paso de negocio y operacionales de los
componentes en un sistema. Un Diagrama de Actividades muestra el flujo de
control general.



DIAGRAMA DE ESTADO

Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien
un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En l
se indican qu eventos hacen que se pase de un estado a otro y cules son las
respuestas y acciones que genera.
EJEMPLO

DIAGRAMA DE ITERACION
Un diagrama de interaccin muestra una interaccin que consta de un conjunto de
objetos y sus relaciones, incluyendo los mensajes que pueden enviarse entre
ellos.
Los diagramas de interaccin cubren la vista dinmica de un sistema.
Tanto los diagramas de secuencia como los diagramas de colaboracin son un
tipo de diagramas de interaccin, porque:
* Un diagrama de secuencia resalta la ordenacin temporal de los mensajes.
* Un diagrama de colaboracin resalta la organizacin estructural de los objetos
que envan y reciben mensajes.

DIAGRAMA DE SECUENCIA
En un diagrama de secuencia ponemos varios de los objetos o clases que forman
parte de nuestro programa y ponemos qu llamadas van haciendo unos a otros
para realizar una tarea determinada.

DIAGRAMA DE COLABORACION
Un Diagrama de Colaboracin muestra una interaccin organizada basndose en
los objetos que toman parte en la interaccin y los enlaces entre los mismos (en
cuanto a la interaccin se refiere).

También podría gustarte