Está en la página 1de 25

Diagramas de Secuencia

OBJETIVO:
Ser capaz de describir el comportamiento
de un sistema, subsistema u operación
particular mediante un Diagrama de
Secuencia utilizando para ello el concepto y
representación de interacción, objeto,
mensaje, activación.
Modelos y Diagramas

!!Diagramas de Casos de Uso


!!Diagramas de Clases
!!Diagramas de Objetos
Diagramas de interacción
!!Diagramas
! de Secuencia
Un Diagrama de Secuencia
describe la interación
entre los objetos ordenada
en el tiempo
Objetivos: Diagramas de Secuencia
Ser capaz de representar:
!! Objetos, diferentes tipos de interacciones y
mensajes con el objeto de describir el
comportamiento de un sistema, subsistema,
operación.
Ejemplo de Diagrama de Secuencia
Escenario Principal de Éxito
(pago en efectivo solamente):

1.!El Cliente llega a la caja con los artículos y


servicios a pagar :Sistema
:Cajero
2.!El Cajero inicia una nueva venta iniciarVenta()
3.!El Cajero introduce el código del producto
4.!El sistema registra el producto y presenta introducirProducto(cod,cantidad)
la descripción del producto, precio y subtotal
El cajero repite los pasos 3-4 hasta procesar
descripción, subtotal
todos los artículos y servicios
5.!El Sistema muestra el total con el *[otros productos]
impuesto calculado
6.!El Cajero indica al Cliente el total y terminarVenta()
pregunta la forma de pago
7.!El Cliente paga y el Sistema maneja el pago total con impuestos
8.!El sistema registra la venta
9.!El Sistema emite la factura pagar(monto)
10.!El Cliente se marcha con lo adquirido y
la factura vuelto y factura
Ejemplo de Diagramas de Secuencia
Límite del Sistema
Sistema como
“caja negra”
Actor
:Sistema
externo al :Cajero
sistema iniciarVenta()

Caja que puede introducirProducto(cod,cantidad)


encerrar un área
de iteración descripción, subtotal
*[...] es un *[otros productos]
marcador de
iteración terminarVenta()
Mensajes
total con impuestos
Valor (es)
retornado (s) pagar(monto)
asociado(s) con el
mensaje previo vuelto y factura
Diagrama de Secuencia

Muestra:
!! los objetos que participan en una interacción

!! el intercambio de mensajes entre los objetos

!! el ordenamiento en el tiempo de los


mensajes

!! Captura el comportamiento dinámico


Notación Básica: objetos, mensajes y
valores retornados

: C1 : C2

mensaje 1 ()

Valor (es) retorno


retornado (s)
asociado(s) con el
mensaje previo Mensajes
mensaje 2 (p1,p2)
Notación Básica: objetos, mensajes y
valores retornados

: C1 : C2

mensaje 0 ()
mensaje 1 ()

retorno

mensaje 2 (p1,p2)
Notación Básica: Cajas de Activación

: C1 : C2

mensaje 0 ()
mensaje 1 ()

retorno
Caja de activación

mensaje 2 (p1,p2)
Notación Básica: Cajas de Activación

: C1 : C2

mensaje 0 ()
mensaje 1 ()

retorno

mensaje 2 ()

mensaje 3 (p1,p2)
Notación Básica: Cajas de Activación

: C1 : C2

mensaje 0 ()
mensaje 1 ()

retorno

mensaje 2 ()

mensaje 3 (p1,p2)
Notación Básica: Recursión

: C1
Recursión
mensaje 0 ()
Mensaje a si mismo
(“self” , “this”)

mensaje 1()

Caja de activación
Notación Básica: Recursión

Ejemplo:
:Calculadora

factorial (n)

factorial (n-1)
Notación Básica creación de objetos

Creación de objetos
: C1

Mensaje 0 ()

crear()
:C2

mensaje 1()
Notación Básica creación de objetos

Ejemplo:
: Venta

agregarProducto (cod,cant)

crear()
:Línea de
Producto
modificar (cod,cant)
Notación Básica destrucción de objetos

: C1

Mensaje 0 ( )

crear()
:C2

destruir

Destrucción del objeto


Notación Básica:
Mensajes Condicionales

: C1 : C2

mensaje 0 ()
[condición] mensaje 1 ()

Mensaje condicional
Notación Básica:
Mensajes Condicionales

Ejemplo:
: Ciudadano : Calculador

declaraciónImpuesto () [sueldo>Límite] impuesto (sueldo)


Notación Básica: Mensajes
Condicionales Excluyentes

: C1 : C2 : C3

mensaje 0 ()
[condición 1] mensaje 1 ()

[condición 2] mensaje 2 ()

Mensajes condicionales
mútuamente excluyentes
Notación Básica: Mensajes
Condicionales Excluyentes
Ejemplo:
: Taller : Especialista en : Especialista en
Sistemas de Sistemas de
repararCarro () Dirección Inyección
[fallaDirección] reparar()

[fallaInyección] reparar()
Notación Básica: Iteración de un
mensaje

: C1 : C2

mensaje 0 ()
[i:=1..N]: vi:=mensaje ()

Iteración de un mensaje
Notación Básica:
Iteración de un mensaje

Ejemplo:
: Simulador :Random

simular()
[i:=1..N]: numi:=proximo()
Notación Básica:
Iteración de varios mensajes

: C1 : C2 : C3

mensaje 0 ()

mensaje 1 ()

mensaje 2 ()
Caja que puede
encerrar un área
de iteración
*[...] es un *[...]
marcador de
iteración

FDS
Notación Básica:
Iteración de varios mensajes
Ejemplo:
:Simulador : Random : Programador

simular()

horas:=próximoEntero()

trabajar (horas)

*[i:=1..N]
comer ()

FDS
Resumen:
Diagramas de Secuencia

!! Un Diagrama de Secuencia describe


comportamiento de sistemas, subsistemas y
operaciones, representando los objetos que
intervienen, así como los mensajes que
intercambian, ordenados en el tiempo a
través de la línea de vida de cada uno de
los objetos y sus cajas de activación

También podría gustarte