Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramadesecuencia 04
Diagramadesecuencia 04
Vista Dinmica
Tiende a analizarse como pequeas piezas del
sistema, esto es, como escenarios individuales o
operaciones.
La vista dinmica representa las interacciones de los
objetos en un sistema.
Puede representar como el sistema responder a las
acciones de los usuarios, como los datos son
movidos del almacenamiento a la vista del usuario y
como los objetos son creados y manipulados.
Los diagramas de Clases y los de la vista dinmica
son los ms usados en proyectos ya que son los que
revelan ms directamente caractersticas especficas
requeridas en el cdigo final.
Hay tres diagramas en la vista dinmica: el de
Secuencias, el de Colaboracin y el de Estados
Diagrama de Secuencia
Los diagramas de secuencia ilustran la
interaccin entre objetos y el orden secuencial
en el que ocurren dichas interacciones, es decir
como se comunican los objetos entre s.
Los objetos se comunican mediante interfases,
para poder invocar a un operacin.
En los Casos de Uso se modelan las
caractersticas del sistema y se desarrollan
escenarios.
El diagrama de secuencias proporciona un
camino a partir de los escenarios para describir
las operaciones en una forma ms detallada
INTERACCIONES Y OBJETOS
En un sistema orientado a objetos son estos
ltimos los que deben controlar a los datos,
moverlos, responder preguntas, etc. Estos
trabajan juntos comunicndose y/o
interactuando con otros.
Los diagramas de secuencias se modelan a
nivel de objetos y utilizan tres elementos
fundamentales: objetos, mensajes/estmulos y
lneas de vida de los objetos.
MENSAJES
El primer mensaje de un diagrama de secuencia
siempre inicia hasta arriba del lado izquierdo del
diagrama. Los dems se van aumentando
ligeramente ms abajo.
Para mostrar un objeto (lnea de vida) que
manda un mensaje a otro objeto, se usa una
lnea con una punta de flecha slida (operacin
sncrona). El mensaje (nombre del mtodo) se
coloca arriba de la flecha. El mensaje que se
enva representa una operacin/mtodo que la
clase objeto receptora va a implementar.
Un diagrama bsico
Pasos 1 y 2: El usuario crea una orden
Paso 3: El usuario trata de poner tems en
la orden
Paso 4 y 5: Se checa disponibilidad de
cada tem en el inventario
Paso 6 y 7: Si el producto est disponible,
se libera la orden
Paso 8: Fin
Sistema
Usuario:Profesor
:Registro
8. return
:System
:OrdersDB
12345:Order
23456:Order
:Inventario
Pasos 1 y 2;
obtener el nmero de orden
:Dependiente
:System
1:getOrderNbr():int
2:return 12345
:OrdersDB
12345:Order
23456:Order
:Inventario
Pasos 3 y 4;
obtener la orden usando el nmero de
orden
:Dependiente
:System
:OrdersDB
12345:Order
1:getOrderNbr():int
2:return 12345
3:getOrder(ordernbr:int):Order
23456:Order
:Inventario
:System
:OrdersDB
12345:Order
1:getOrderNbr():int
2:return 12345
3:getOrder(ordernbr:int):Order
23456:Order
:Inventario
Continuacin
:Dependiente
:System
:OrdersDB
12345:Order
23456:Order
[para c/tem]:Finalizar()
6:getItem():int
7:return item#1
10:getQty( 9:int
11: return 25kg
12:reduceinv(prod:Product):boolean
13:return true
:Inventario
Observaciones
En la figura se pueden ver las activaciones de
los objetos: los rectngulos verticales angostos
en las lneas de tiempo. Las activaciones
indican cuando est ocupado cada objeto. La
activacin inicia cuando un mensaje toca la
lnea de tiempo y termina cuando la respuesta
es enviada de regreso.
En el caso del objeto system, su activacin est
en todo el diagrama mostrando que el sistema
est vigilando todo el juego de interacciones.
Tambin se conoce como el foco.
Escenario 2
Se repiten los pasos 1, 2 y 3 del escenario
1.
El siguiente paso debe desplegar el
mensaje de que la orden no se encontr.
Escenario 2
:Dependiente
:System
:OrdersDB
12345:Order
2345:Order
:Inventario
Escenario 3
Son los mismos primeros 7 pasos del
escenario 1.
Si el tem no se encuentra, hay que crear
una backorder.
Escenario 3
:Dependiente
:System
:OrdersDB
12345:Order
23456:Order
:Inventario
Escenario 4
Repetir todos los pasos del 1 pero incluir el ciclo para repetir para todos los
items
:Dependiente
:System
:OrdersDB
12345:Order
23456:Order
[para c/tem]:Finalizar()
6:getItem():int
7:return item#1
10:getQty( 9:int
11: return 25kg
12:reduceinv(prod:Product):boolean
13:return true
:Inventario