2. Diagramas UML
Representan visualmente el modelo de un sistema
Contiene:
Actores
Roles
Acciones
Artefactos
Clases
• Con el propósito de:
• Comprender
• Alterar
• Mantener
• Documentar
3. Vistas de un modelo
Vista estática (o estructural):
Enfatiza la estructura estática del sistema.
Se denomina vista estática porque no modela comportamiento del
sistema dependiente del tiempo.
4. Vistas de un modelo
Vista dinámica (o de comportamiento):
Enfatiza el comportamiento dinámico del sistema
5. Diagrama de estados UML
También son conocidos como diagramas de máquinas de estados
Se dividen en:
1. Diagrama de máquina de comportamiento
2. Diagrama de máquina de estados de protocolos
6. Diagrama de estados UML
Función:
Indica qué eventos hacen que se pase de un estado a otro y cuáles son las
respuestas y acciones que genera.
Representación:
Es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones
etiquetadas con los nombres de los eventos.
7. Elementos de los diagramas de estado
Evento
Es una ocurrencia que puede causar la transición de un estado a otro,
esta ocurrencia puede ser:
La recepción de una señal
La recepción de una llamada a una operación
Paso de cierto periodo de tiempo
Condición que toma el valor de verdadero
8. Estado
Representa la situación de un objeto durante la cual satisface alguna
condición, ejecuta alguna actividad o espera algún evento.
Un estado se representa gráficamente por medio de un rectángulo con
los bordes redondeados y con el nombre del estado escrito dentro del
mismo.
9. El UML define los siguientes tipos de estados:
1. Estado simple
No tiene subestados
No tiene regiones
No tiene estados submáquinas.
10. 2. Estado compuesto
Cuenta con una o más regiones.
Una región es simplemente un contenedor para subestados.
Un estado compuesto con dos o más regiones se llama ortogonal.
Tiene un compartimento de descomposición
11. 3. Estado submaquina
Un estado de submáquina es semánticamente equivalente a un estado
compuesto. Las regiones de la máquina de estado de submáquina son las
regiones del estado compuesto. Las acciones de entrada, salida y
comportamiento y las transiciones internas se definen como parte del
estado.
12.
13. Transiciones
Las transiciones desde un estado al siguiente se denotan por líneas con
flechas. Una transición puede tener un: trigger, un guard y un behavior
o effect.
14. Transición interna
Contiene una lista de acciones internas o de actividades realizadas
mientras los objetos permanecen en un estado.
15. Transición recursiva
Un estado puede tener una transición que retorna a sí misma,
como en el siguiente diagrama. Esto es más útil cuando un
efecto se asocia con la transición.
16. Múltiples transiciones
La posibles combinación de triggers y condiciones de guardas dan lugar a
diferentes conjuntos de transiciones entre estados:
19. Tipos de Pseudo-estado
Inicial
Un pseudo-estado inicial representa un vértice predeterminado que es el origen de una
transición única al estado predeterminado de un estado compuesto. El estado inicial se denota
con un círculo negro relleno y se puede etiquetar con un nombre.
20. Elección
Un pseudo-estado de elección realiza una rama condicional dinámica. Evalúa los guardias de
los activadores de sus transiciones salientes para seleccionar solo una transición de salida.
21. El siguiente diagrama muestra que el estado al que se llega, después del pseudo-estado de elección,
depende del formato de mensaje seleccionado durante la ejecución del estado anterior.
22. Cruce
Los pseudo estados de cruce se utilizan para encadenar múltiples transiciones. Un cruce puede
tener una o más transiciones entrantes y una o más salientes. Un cruce que divide una
transición entrante en múltiples transiciones salientes realiza una rama condicional estática, a
diferencia de un pseudo estado de elección que realiza una rama condicional dinámica.
23. Unión
Recibe dos o más transiciones entrantes que se reúnen para formar una transición saliente.
Cada transición entrante al pseudo-estado de unión debe originarse desde una región
diferente de un estado ortogonal (compuesto).
24. Bifurcación
Recibe una transición entrante que se divide en dos o más transiciones salientes. Cada
transición saliente desde el pseudo estado de unión debe apuntar a un estado en una región
diferente de un estado ortogonal (compuesto).
25. Punto de Entrada
Es un punto de entrada de una máquina de estados o un estado compuesto. Un punto de
entrada se muestra como un pequeño círculo en el borde del diagrama de la máquina de
estados o el estado compuesto, con el nombre asociado. A veces no querrá ingresar a una sub
máquina en el estado inicial normal.
26. Punto de Salida
Es un punto de salida de una máquina de estados o un estado compuesto. De manera similar
a los puntos de entrada, es posible tener nombres de puntos de salida alternativos.
27. Terminar
Un pseudo-estado de terminación indica que la línea de vida de la máquina de estados ha
finalizado. Un pseudo-estado de terminación se indica como una cruz.
31. Diagrama de máquina de estados de protocolos
Las máquinas de estados de protocolos ilustran una secuencia de eventos a
los que responde un objeto, sin necesidad de ilustrar su comportamiento
propiamente dicho. La secuencia necesaria de eventos y los cambios
resultantes en el estado del objeto se modelan en este tipo de diagramas.
Las máquinas de estados de protocolos se usan sobre todo para describir
protocolos complejos.
32. Restricciones de diseño
Dibuja una máquina de estados de protocolo de la misma manera que
dibuja cualquier otra máquina de estados. Recuerde, sin embargo, seguir
algunas reglas especiales:
• Los estados pueden tener nombres pero no pueden mostrar
acciones de entrada, acciones de salida, acciones internas o
realizar actividades.
• Las transiciones muestran operaciones pero no acciones o envían
eventos (como pueden hacer los diagramas de estado regulares).
• Las transiciones pueden tener condiciones previas y condiciones
posteriores
34. Aplicaciones
•Un diagrama de estados sirve para mostrar la vida de un objeto. El
diagrama indica los eventos que causan que un estado cambie a otro y
cuáles son las respuestas y acciones que genera este.
•El diagrama de estados se utiliza normalmente para describir objetos del
dominio del usuario y se documenta por lo general en la etapa del análisis.
35. • Representar objetos basados en eventos en un sistema reactivo.
• Ilustrar escenarios de casos de uso en un contexto de negocios.
• Describir cómo se mueve un objeto a través de diversos estados a lo
largo de su existencia.
• Mostrar el comportamiento general de una máquina de estados o el
comportamiento de un conjunto relacionado de máquinas de estados.
Las principales aplicaciones son las siguientes:
36. • Son autómatas jerárquicos que permiten expresar concurrencia,
sincronización y jerarquías de objetos
• Son grafos dirigidos
• Son deterministas
• Los estados inicial y final están diferenciados del resto
• La transición entre estados es instantánea y se debe a la ocurrencia de un
evento
Características de los Diagramas de Estados
37. Ventajas
•Como técnica de extracción de requerimiento permite que el analista se
centre en las necesidades del usuario, qué espera éste lograr al utilizar el
sistema, evitando que la gente especializada en informática dirija la
funcionalidad del nuevo sistema basándose solamente en criterios
tecnológicos.
•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.
38. •A su vez, durante la extracción, el analista se concentra en las
tareas centrales del usuario describiendo por lo tanto los casos de uso que
mayor valor aportan al negocio. Esto facilita luego la priorización
del requerimiento.
...
39. Desventajas
•La inclusión de estas relaciones hace que los diagramas sean más
difíciles de leer, sobre todo para los clientes.
•No son tan buenos para describir un comportamiento que
involucra cierto número de objetos que colaboran entre ellos.
40. Ejemplo de diagrama de estados de registro en
aeropuerto
El siguiente ejemplo simplifica
los pasos necesarios para
registrarse en un aeropuerto.
En el caso de las aerolíneas, un
diagrama de estados puede
ayudar a agilizar procesos y
eliminar pasos innecesarios.
Cuando se genera un evento, la máquina de estado responde realizando acciones, como cambiar una variable,
realizar E / S, invocar una función, generar otra instancia de evento o cambiar a otro estado.