Está en la página 1de 6

Diagramas de Estado - UML

DIAGRAMAS DE ESTADO
Los diagramas de estado son una técnica 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 él.
En la mayor parte de las técnicas 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.

El diagrama de estados representa el comportamiento del sistema a través del tiempo. Es


decir, se representa el comportamiento de un objeto, el estado en el cual se encuentra el
objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después
de un determinado evento.
Definición de Booch, Rumbaugh, Jacobson: "Una máquina de estados es un comportamiento
que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en
respuesta a eventos, junto con sus respuestas a esos eventos."

Recordemos:

Los diagramas de actividad son útiles cuando queremos mostrar qué comportamientos
interactúan en varios casos de uso. Un Diagrama de Actividades muestra el flujo de control
entre una serie de tareas o actividades. Los Diagramas de Actividades son usados para
elaborar modelos de flujos de trabajo (workflow) de un sistema. En general, un Diagrama de
Actividades muestra una serie de acciones o tareas que se ejecutan en cierto orden. Un flujo de
trabajo se puede ver como una serie de tareas (acciones) que son ejecutadas o realizadas por
ciertos actores en cierto orden preestablecido.

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 capturan cómo un actor puede usar un sistema,
pero no cómo debe ser construido dicho sistema.

Pues bien, los diagramas de estado son útiles para indicar los eventos del sistema en los casos
de uso. Los diagramas de estado se utilizan cuando se quiere mostrar cómo cambia un objeto
a lo largo de su tiempo de vida.

Los diagramas de estado muestran los diferentes estados de un objeto durante su vida, y
los estímulos que provocan los cambios de estado en un objeto. También ilustran qué
eventos pueden cambiar el estado de los objetos de la clase. Normalmente contienen: estados
y transiciones.

Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y
restricciones.
Los diagramas de estado ven a los objetos como máquinas de estado y como se puede
cambiar su estado a través de un estímulo. Por ejemplo, un objeto puede tener durante su vida
uno de los siguientes estados:

 Listo
 Escuchando

 Trabajando

Carmen García García - IES Vista Alegre Pá gina 1


Diagramas de Estado - UML

 Detenido

Y los eventos pueden producir que el objeto cambie de estado, por ejemplo:

 Se crea el objeto
 El objeto recibe un mensaje de escucha

 Un cliente solicita una conexión a través de la red

 Un cliente finaliza una solicitud

 La solicitud se ejecuta y se termina

 El objeto recibe un mensaje de detención

 etc

Un evento es un acontecimiento importante a tener en cuenta para el sistema. Un evento es la


especificación de un acontecimiento significativo en el tiempo y en el espacio. Es la
aparición de un estímulo que puede (o no) activar una transición de estado.

Un evento es una ocurrencia que puede causar la transición de un estado a otro de un


objeto. Los eventos representan la causa que origina el cambio desde un estado a otro y están
asociados a transiciones que son las líneas que unen el estado inicial y el final. Las acciones
ocurren cuando un objeto llega a un estado. 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 o la creación o la destrucción de otro objeto.

Hay dos tipos especiales de estados: inicio y fin. En general, un diagrama de estados muestra
el flujo de control entre estados, en qué estados posibles puede estar “algo” y cómo se
producen los cambios entre dichos estados.
Una transición es una relación entre dos estados, que indica que un objeto que esté en el
primer estado realizará ciertas acciones y entrará en el segundo estado cuando ocurra un
evento y se satisfagan unas condiciones. Es decir, cuando ocurre un evento, el objeto pasa del
estado anterior al siguiente.

Los estados representan condiciones que son válidas en el objeto en un cierto instante. 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.

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.

Ejemplo Diagrama de Estados:

Carmen García García - IES Vista Alegre Pá gina 2


Diagramas de Estado - UML

Las actividades o acciones constan de sucesos: tres de las más utilizadas son entrada (qué
sucede cuando el sistema entra al estado), salida (qué sucede cuando el sistema sale del
estado), y hacer (qué sucede cuando el sistema está en el estado).

Factura creada Pagando Factura destruída


Impagada Pagada

entry ‘/’ expresión-acción


exit ‘/’ expresión-acción
do ‘/’ expresión-acción

Cuando se entra al estado o se sale del estado, se ejecuta la acción atómica especificada en
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.

Un ejemplo de un diagrama de estados:

Carmen García García - IES Vista Alegre Pá gina 3


Diagramas de Estado - UML

Como se puede ver en el ejemplo, lo primero que se hace es encender la máquina de fax, con
lo cual esta arranca y se encuentra lista en condiciones normales, para realizar el envío de fax,
que es el siguiente estado registrado. Cuando se envía un fax, es decir, cuando se encuentra
en estado de envío de fax, la máquina de fax anota la fecha y hora en que inició el envío (los
valores de las variables de estado "fecha" y "hora"), y también anota el número telefónico, así
como el nombre del propietario (los valores de las variables de estado " teléfono" y
"propietario"). Al encontrarse en este estado, la máquina se encarga de agregar un registro de
fecha y hora al fax, número telefónico y nombre del propietario. En otras actividades de este
estado, la máquina cogerá las hojas, paginará el fax y finalizará la transmisión. Mientras se
encuentre en el estado de inactividad, la máquina de fax mostrará la fecha y la hora en una
pantalla. Finalmente, cuando ya no se vaya a utilizar la máquina de fax por un periodo
determinado, se podrá apagar, siendo este también un estado concreto.

Carmen García García - IES Vista Alegre Pá gina 4


Diagramas de Estado - UML

Otro diagrama ejemplo: Describir los estados de una llamada de teléfono

Ejercicio 1:

Construir el diagrama de estados para la clase alumno.

Descripción: Se inicia cuando el alumno se matricula y se le considera alumno registrado.


Cuando se inician las clases y el alumno está estudiando se desencadenan los siguientes
eventos: por mala conducta o el 30% de inasistencia se le considera alumno retirado o de baja,
por cambio de domicilio se le considera como traslado y cuando concluye el año lectivo se
considera de vacaciones. Si ratifica la matrícula se le considera alumno registrado y si concluye
los 5 años de carrera es licenciado y pasa a estado egresado.

Ejercicio 2:

Crear el diagrama de estados de la clase cliente para solicitar una línea de crédito.

Descripción: Al inicio el cliente toma el estado de habilitado y se le da la opción de abrir una


línea de crédito. Cuando hace compras la línea de crédito tiene ciertas condiciones. Si realiza
una compra se carga en cuenta con las condiciones de la línea de crédito. Si no realiza los
pagos se le considera moroso y se le corta la línea de crédito. Si paga la deuda más la demora
vuelve a estar habilitado. Si no paga la deuda en tres meses pasa al estado de deudor y se da

Carmen García García - IES Vista Alegre Pá gina 5


Diagramas de Estado - UML

la orden de retirar la línea de crédito y de informar a la entidad bancaria. Podría volver al estado
de habilitado si pagara toda la deuda.

Carmen García García - IES Vista Alegre Pá gina 6

También podría gustarte