Documentos de Académico
Documentos de Profesional
Documentos de Cultura
estados
Diagramas de máquina de 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 especificado y se satisfagan unas condiciones
especificadas
Diagramas de máquina de estados
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
Acción
Diagramas de máquina de estados
Transiciones recursivas: Un estado puede tener una transición que
retorna a sí misma. Esto es más útil cuando un efecto se asocia con la
transición.
Material tomado de
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
Pseudoestados
3. Junction: Permite que varias transiciones converjan en una sola y
que la transición tome determinado estado basado en condiciones.
Pseudoestados
Material tomado de
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
Pseudoestados
4. Choice: Es un punto de decisión, el cual va a permitir seleccionar
entre dos o más estados basado en condiciones.
Se representa con un diamante
Pseudoestados
Material tomado de
Pseudoestados
6. Estados compuestos: estos estados contienen en su interior otros
estados.
Diagramas de máquina de estados
• A diferencia de los estados simples que no poseen estructura, los
estados compuestos contienen otros estados (estados anidados).
• Un estado compuesto puede contener subestados secuenciales
(disjuntos) o subestados concurrentes (ortogonales).
• Los pseudoestados, permiten agregar información de lo que sucede
durante las transiciones.
• No es un estado del objeto, sino que muestra lo que sucede cuando
se pasa de un estado a otro.
Pseudoestados
7. Estados compuesto Ortogonal: Se usa para dos estados que se
ejecutan de forma simultánea o concurrentemente.
Pseudoestados El estado de Mantenimiento está descompuesto en dos
Una máquina de estado concurrente subestados concurrentes, Verificando y Ordenando, que
anidada no tiene un estado inicial y se encuentran anidados en dicho estado pero separados
un estado final. Sin embargo, los
por una línea discontinua. Cada uno de estos subestados
subestados secuenciales que
componen un estado concurrente concurrentes a su vez está descompuesto en subestados
pueden tener dichos estados. secuenciales. Cuando el control pasa del estado Parado al
estado Mantenimiento, el control se bifurca en dos flujos
concurrentes y el objeto implicado estará en el estado
Verificando y también en el estado Ordenando. Mientras
se encuentre en el estado Ordenando, el objeto estará
bien Esperando o bien en el estado Orden. La ejecución
de estos dos subestados concurrentes continúa en
paralelo. Luego cada máquina de estado anidada alcanza
su final. Si un subestado concurrente alcanza su final
antes que el otro, el control en dicho estado espera a su
estado final. Cuando ambas máquinas de estado anidadas
alcanzan sus estados finales, el control de los dos
Material tomado de subestados concurrentes se juntan de nuevo en un único
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf flujo.
Pseudoestados
8. Fork: Se usa para dividir y tener dos o más estados que ocurren de
forma concurrente
9. Join: Une las concurrencias para tener un solo hilo de ejecución, y
para pasar al siguiente estado es necesario que todos los hilos
lleguen al Join
• Fork y Join: Son usados para sincronizar la concurrencia
Pseudoestados
Pseudoestados Entradas y Salidas
• Cuando tenemos un estado compuesto, siempre debemos indicar con
un pseudoestado el estado que va a ocurrir primero
• Podemos colocar un punto de entrada alterno
• Círculo vacío
• Siempre se debe indicar la condición con la que entra
• Se puede indicar una salida alternativa
• Círculo con una X en su interior X
• Y se debe indicar su condición
Pseudoestados
Pseudoestados
Material tomado de
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
Pseudoestados Historia
• Recordar los estados pasados, es decir, se usa para recordar el estado
anterior de una maquina de estado cuando fue interrumpida.
• SI el estado compuesto es interrumpido, la historia le permite regresar a un
estado
1. Deep
• Profunda
• Regresa al estado más reciente que estaba activado
• Circulo con H*
2. Shallow
• Regresa al estado más exterior o inicial
• Circulo con H
Pseudoestados Historia
Máquina de estado de una lavadora
En esta maquina de estado,
cuando un lavarropas
comience, su proceso será
desde el lavado y enjuague
hasta el secado. Si hay un
corte de luz, el lavarropas se
detendrá por lo que pasará al
*
estado Power off (apagado).
Luego, cuando la energía
retorne, el estado Running
(ejecutar) ingresa al símbolo
de estado Historial, lo que
significa que debería seguir
con el proceso donde quedó
cuando se cortó la energía.
Material tomado de
http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
Pseudoestados Historia
Pseudoestados Historia
Regresa al estado en el que
se encontraba antes del
apagón
TEMARIO
Mensaje o evento
de entrada
Cuando sucede la
acción de prender
la alarma, se envía
una señal de
notificar a la polícia
Diagramas de actividades
• Excepciones: Se presenta cuando suceden situaciones inusuales
• Se debe manejar la excepción para poder continuar la ejecución o
finalizarla.
Flecha quebrada
para indicar
excepción
Diagramas de actividades
• Regiones de actividad Interrumpible: Se presenta cuando una o
varias acciones son interrumpidas por algún evento.
• La región se representa con un rectángulo punteado de esquinas
redondas. Y en su interior las acciones que se pueden interrumpir
• Se requiere colocar el evento o eventos que crea la interrupción
• Y se coloca qué actividad debe suceder cuando suceda la
interrupción.
Diagramas de actividades
Evento que genera
la interrupción
Conjunto de
acciones que se
interrumpen
Objeto entregado
por el rol Cajero al
rol Cliente
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Ejemplo tomado de:
http://www.codecompiling
.net/files/slides/UML_clase
_03_UML_actividades_esta
dos.pdf
Referencias
• http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
• http://www.sparxsystems.com.ar/resources/tutorial/uml2_statediagram.php
• http://www.codecompiling.net/files/slides/UML_clase_03_UML_actividades_estados.pdf
• https://
www.ibiblio.org/pub/linux/docs/LuCaS/Tutoriales/doc-modelado-sistemas-UML/multiple-html/x
291.html
• https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/diagramas-de-actividades-uml/
• https://www.lucidchart.com/pages/es/tutorial-diagrama-de-actividades-uml
• http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/BloqueII/UML-5.pdf
• https://
support.microsoft.com/es-es/office/crear-un-diagrama-de-estados-uml-2e46fd66-e861-4e8c-918
8-36255395ebf3