2. ¿Qué es el Diagrama 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.
3. ¿Para Que Sirve?
• Estos diagramas se utilizan para describir el
comportamiento de un sistema, representa los
diferentes estados que puede adquirir una
clase, como representarla a diferentes etapas
de su vida.
• Es una manera para caracterizar un cambio
en un sistema, es decir que los objetos que lo
componen modificaron su estado como
respuesta a los sucesos y al tiempo.
5. Ejemplo 1
• Aquí se muestra el uso de
un automovil en Diagrama
de Estado.
6. Partes del Diagrama De Estado
EVENTO:
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.
7. 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.
8. ESTADO:
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.
9. ENVÍO DE MENSAJES: Además de mostrar y transición de estados
por medio de eventos, puede representarse el momento en el cual se
envían mensajes a otros objetos.
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.
10. TRANSICIÓN SIMPLE: 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.
TRANSICIÓN INTERNA: Es una transición 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.
TRANSACCIÓ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.
11. Transicion Interna
Contiene una lista de acciones internas o de actividades realizadas
mientras los objetos permanecen en un estado. Estas toman el
siguiente formato:
nombre-evento lista-argumentos '/' exp-acción
Las siguientes acciones especiales tienen el mismo formato pero
utilizan palabras reservadas:
'entry' '/' expresión de acción a la entrada de un estado.
'exit' '/' expresión de acción a la salida de un estado.
'do' '/' expresión de acción mientras está en el estado
12. Mientras el objeto permanece en un determinado estado se está
ejecutando una acción interna, la cual se puede interrumpir a causa
de eventos externos.
La acción do se inicia cuando se entra en el estado y puede que
termine por si misma o externamente por la salida hacia otro estado.
Las acciones do podrían ser a su vez nuevas máquinas de estados
anidadas.
13. Un estado se puede refinar:
• a través de relaciones and en subestados concurrentes,
• utilizando la relación or en subestados mutuamente excluyentes.
Un estado dado sólo puede ser refinado de estas dos maneras, así como
recursivamente sus subestados.
14.
15. La expansión de un estado en subestados concurrentes se indica a
través de un gráfico dividido en subregiones horizontales con líneas
discontinuas.
Cada una de estas subregiones puede tener un nombre opcional y
debe de contener un diagrama de estados anidado, con estados
disjuntos
16. Ventajas
Permite que el analista se centre en las necesidades del usuario.
El Diagrama de Estados tiene éxito en sistemas interactivos, ya que
expresa la intención que tiene el actor (su usuario) al hacer uso
del sistema.
17. Desventajas
• La inclusión de estas relaciones hace que los diagramas sean más difíciles de
leer, sobre todo para los clientes.
18. Ejemplo
EJEMPLO:
Cree el diagrama de estados de la GUI (Interfaz gráfica de usuario) de Windows
XP, asuma tres estados: INICIALIZACIÓN, OPERACIÓN Y APAGAR.