Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap4 EstadosActividadesSecuencia
Cap4 EstadosActividadesSecuencia
estados
LIC. CARLA SALAZAR SERRUDO
DEPARTAMENTO DE INFORMÁTICA Y SISTEMAS
UMSS – JUNIO 2020
1
Diagrama de estados
Un diagrama de estado describe el comportamiento
dinámico de los objetos en el tiempo, modelando el ciclo
de vida de los objetos de cada clase.
Son útiles sólo para los objetos con un comportamiento
significativo
Un estado es un conjunto de valores del objeto que
tienen la misma respuesta ante un evento.
Eventos representan los cambios que un objeto puede
detectar: tiempo, condiciones, acciones
2
Diagrama de estados (2)
3
Diagrama de estados (3)
Estados y Transiciones
A B
4
Ejemplo diagrama de estados
Ejemplo de un diagrama de estados para la clase
persona:
contratar
en el paro en activo
perder empleo
jubilarse
jubilarse
jubilado
5
Diagrama de estados
Dada la clase Persona, se representarán sus
estados civiles
6
Ejemplo estados de coche
7
Ejemplo de estados libro
8
Ejemplo
9
Diagrama de estado de préstamo
alta baja
número_préstamos = 0
sin préstamos
c on préstamos
pres tar
10
Transiciones temporizadas
Las esperas son actividades que tienen asociada cierta
duración
La actividad de espera se interrumpe cuando el evento
esperado tiene lugar
Este evento desencadena una transición que permite
salir del estado que alberga la actividad de espera. El
flujo de control se transmite entonces a otro estado
11
Ej. Transiciones temporizadas
A
/ Abrir ranura
Depósito efectuado
12
Generalización de estados
13
Generalización de estados (2)
e1
A B
e2
e2
14
Generalización de estados (3)
e1
Aa b
B
e2
15
Generalización de estados (4)
Las transiciones de entrada deben ir hacia
subestados específicos:
e1
Aa Bb
e2
e0
16
Generalización de estados (5)
Es preferible tener estados iniciales de entrada a
un nivel de manera que desde los niveles
superiores no se sepa a qué subestado se entra:
e1
Aa b
B
e2 C
e0
17
Ejemplo de estados
secuenciales
18
Ejemplo de estados
concurrentes
19
Ejemplo estados concurrentes (2)
20
Ejemplo
21
Ejemplo
22
Diagrama de actividad
El Diagrama de actividad es una especialización del
Diagrama de estado, organizado respecto de las acciones y
usado para especificar:
◦ Un método
◦ Un caso de uso
◦ Un proceso de negocio (Workflow)
Las actividades se enlazan por transiciones automáticas.
Cuando una actividad termina se desencadena el paso a la
siguiente actividad
Procesar
Pedido
23
Transiciones
estado
inicioinicial
Planificar
Proceso
Asignar Tareas
transicionesiones
fin final
estado
24
Bifurcación
Planificar
Proceso
[ hay materiales ]
Asignar Tareas
25
Ejemplos bifurcación
26
División y unión
27
Ejemplo de división y unión
28
Ej. Diagrama actividades
29
Ejemplos.
30
Ejemplo
31
Diagramas de interacción
Interacción
Los objetos interactúan para realizar colectivamente los
servicios ofrecidos por las aplicaciones.
Los diagramas de interacción muestran cómo se
comunican los objetos en una interacción
33
Diagramas de interacción
El Diagrama de Secuencia es más adecuado para
observar la perspectiva cronológica de las interacciones
34
Diagrama de Secuencia
35
Ej. Diagrama de Secuencia
:Cajero : cuent a
: Cliente
automático
tarjeta
número
solicitar cantidad
cantidad
realizar transacción(cantidad)
saldo insuficiente
saldo insuficiente
36
Ej. Diagrama de Secuencia
37
Ej. Diagrama de Secuencia
38
Diagrama de Secuencia
mostrando foco de control,
condiciones, recursión
creación y destrucción
de objetos
39
40
Ejercicio
Realice el diagrama de secuencia que muestre la hora en distintas
ciudades. Para ello se utilizará la clase Reloj que almacena internamente
la fecha y hora del sistema local (por ejemplo: time). Otra clase: HoraEn
se encarga de mostrar la hora local en cierto lugar del mundo
determinado en el momento de la creación. La información aparecerá
en pantalla cada vez que se actualice la hora, con el siguiente formato:
Cochabamba, 19:20:00
La clase Aplicación creará una instancia de la clase Reloj y tantas
instancias de HoraEn como desee. Para ello, habrá que indicar la ciudad y
la diferencia horaria ( entero entre 12 y -12). La clase Aplicación simulará
el paso del tiempo enviando el mensaje poner_en_hora a la instancia de
Reloj de manera continua
41
Solución reloj
42
Diagrama de Colaboración
43
Mensajes
1:Mensaje B
44
Mensajes
Un mensaje se envía de manera condicionada:
[x>y] 1: Mensaje
B
45
Mensajes
Un mensaje que devuelve un resultado:
1: distancia:= mover(x,y)
B
46
Diagrama de Secuencia
Prestar Video
Encargado
prestar(video, socio)
verificar situación socio
registrar préstamo
entregar recibo
47
Diagrama de Colaboración
:Socio
:Video
5: entregar recibo
: Encargado 4: registrar préstamo
:Préstamo
48