Escolar Documentos
Profissional Documentos
Cultura Documentos
1. DEFINICION
Los diagramas de estado son una tcnica conocida para describir el comportamiento de un
sistema. Describen todos los estados posibles en los que puede entrar un objeto particular y la
manera en que cambia el estado del objeto, como resultado de los eventos que llegan a el. En
la mayor parte de las tcnicas Orientadas a Objetos, los diagramas de estado se dibujan para
una sola clase, mostrando el comportamiento de un solo objeto durante todo su ciclo de vida.
Existen muchas formas de diagramas de estado, cada una con semntica ligeramente
diferente. La mas popular que se emplea en las tcnicas de OO se basa en la tabla de estados
de David Harel (Vol. 8). OMT fue quien la uso por primera vez para los mtodos de OO y fue
adoptada por Grady Booch en su segunda edicin (1994).
2. DEPENDENCIAS
Un objeto permanece en un estado por un tiempo finito, hasta que se cumpla la condicin
de cambio. Se construyen a partir del Diagrama de Estructura Esttica (Diagramas de clases),
identificando cules objetos cambian de estado, cual es le estado inicial y el final, definiendo a
qu eventos puede responder el objeto, y qu transacciones ejecutar
Este diagrama muestra la secuencia de los estados de un objeto durante su ciclo de vida, en
respuesta a un estmulo recibido. Los estados de los objetos estn dados por el valor de sus
atributos (estados) lo cual cambia sus comportamientos (mtodos).
Los estados hacen referencia a una condicin durante la vida de un objeto o a una interaccin
durante la cual se satisface alguna condicin (ejecutar alguna accin, esperar algn evento,
etc.), por ejemplo una validacin de una captura.
3. NOTACION
Dentro de la notacin se utilizan los siguientes smbolos:
El nombre de un evento tiene alcance dentro del paquete en el cual est definido, no
es local a la clase que lo nombre.
Este evento desencadena una transicin que permite salir del estado que alberga la
actividad de espera. El flujo de control se transmite entonces a otro estado.
4. PASOS QUE SE SIQUEN PARA SU CONSTRUCCION
La figura 1 muestra un diagrama de estados de UML para un pedido del sistema de procesos
de pedidos. El diagrama indica los diversos estados de un pedido.
Comenzaremos en el punto de partida y mostramos una transicin inicial al estado de
Comprobacin. Esta transicin esta etiquetada como /obtener el primer articulo. La sintaxis
de una etiqueta de transicin tiene tres partes, las cuales son optativas: Evento [Guard
guardia] Accin. En este caso solo tenemos la accinobtiene primer articulo Una vez
realizada tal accin, entramos al estado de comprobacin. Este estado tiene una actividad
asociada con el, la cual se indica mediante una etiqueta con la sintaxis hace/actividad. En este
caso, la actividad se llama comprueba articulo.
Inicio
/Obtiene primer artculo
[No se revisan todos los artculos]
/obtiene siguiente articulo
Comprobacin
Hace/revisa
articulo
Despachando
Hace/revisa
articulo
Artculo recibido
[Todos los artculos disponibles]
Actividad
Entregado
Artculo recibido
[Algunos artculos no en existencia]
Transicin
Espera
Autotransicin
Entregado
Estado
3. si hemos comprobado todos los artculos pero no todos estn en existencia, hacemos la
transicin al estado espera.
Veamos, en primer lugar, el estado Espera. Como no hay actividades para este estado, el
pedido se detiene en el esperando un evento, ambas transiciones del estado espera se etiquetan
con el evento Articulo recibido. Esto significa que el pedido espera hasta que detecta este
evento. Llegado ese momento, evala los guardias de las transiciones y hace la transicin
apropiada
La ltima cuestin a considerar es la transicin denominada cancelado. Queremos tener la
posibilidad de cancelar un pedido en cualquier momento, antes de que sea entregado.
Podramos hacerlo dibujando transiciones separadas desde cada un o de los estados,
Comprobacin, Espera y Despachando. Una alternativa til es crear un Superestado con los
tres estados, y despus dibujar una transicin simple, a partir de el. Los subestados
simplemente heredan todas las transiciones sobre el superestado.
Las figuras 2 y 3 muestran como estos enfoques reflejan e mismo comportamiento del sistema.
La Figura 2 aparece ms bien cargada, a pesar de que solo tiene tres transiciones duplicadas.
La figura 3, en cambio, da un cuadro mas claro y, si se necesitan posteriormente los cambios,
ser ms difcil olvidar el evento cancelado.
Hace/revisa
articulo
Despachando
Hace/revisa
articulo
Artculo recibido
[Algunos artculos no en existencia]
Espera
Entregado
Cancelado
Cancelado
Cancelado
Existen tambin dos eventos especiales, entrada y salida. Cualquier accin que este marcada
como vinculada al evento entrada se ejecuta siempre que se entre al estado dado a travs de
una transicin. La accin asociada con el evento salida se ejecuta siempre que se sale del
estado por medio de una transicin. Si se tiene una transicin que vuelve al mismo estado (a
esto se llama auto transicin) por medio de una accin, se ejecuta primero la accin de salida,
luego la accin de transicin y, por ultimo la accin de entrada. Si el estado tiene tambin una
actividad asociada esta se ejecuta tras la accin de entrada.
Nombre del superestado
Activo
Hace/revisa
articulo
Despachando
Hace/revisa
articulo
Artculo recibido
[Todos los artculos disponibles]
Artculo recibido
[Algunos artculos no en existencia]
Espera
Cancelado
Cancelado
Entregado
Rechazado
Autorizado
Entregado
Cancelado
Cancelado
Espera
Comprobacin
Despachando
Autorizado
Autorizando
Autorizado
Rechazado
Las secciones concurrentes del diagrama de estados son lugares en los que, en cualquier punto,
el pedido esta en dos estados diferente, uno por cada diagrama. Cuando el pedido deja los
estados concurrentes, se encuentra en un solo estado. Se puede ver que un pedido se inicia
tanto en el estado Comprobando como n el estado Autorizando. Si la actividad de
comprobacin de pago del estado Autorizando se completa inicialmente de modo exitoso,
entonces el pedido estar en los estados Comprobando y Autorizado. Si sucede el evento
cancelar, entonces el pedido solo estar en el estado Cancelado.
Los diagramas de estados concurrentes son tiles cuando un objeto dado tiene conjuntos de
comportamientos independientes. Ntese, sin embargo, que no se debe permitir que sucedan
demasiados conjuntos de comportamientos concurrentes en un solo objeto. Si se tienen varios
diagramas de estados concurrentes complicados para un solo objeto, se deber considerar la
divisin del objeto en varios
Bibliografa
AUTOR
FOWLER, MARTIN
TTULO DE LIBRO
UML GOTA A GOTA
EDICIN
PERARSON,MEXICO
AO PUBLICACIN
1999
EDITORIAL
PERARSON
McGRAW-HILL
Paul Kimmel
Manual de UML
N/A
2008
INTERAMERICANA
EDITORES, S.A. de
C.V.
http://www.creangel.com/uml/estado.php
http://www.cs.ualberta.ca/~pfiguero/soo/uml/estados01.html
http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/MTJ_2295.asp#fig
ura07back
>http://www-gris.det.uvigo.es/~avilas/UML/node45.html