You are on page 1of 26

Modelo Intereccion

Diseo de Sistemas
DIAGRAMAS DE INTERACCIN

Artefactos requeridos para preparar un diagrama de interaccin:
Un modelo conceptual: a partir de este modelo el
diseador podr definir las clases de software
correspondientes a los conceptos. Los objetos de las
clases participan en las interacciones que se
describen grficamente en los diagramas.

Se realizan en la fase de diseo de un ciclo de
desarrollo.
Diagramas de interaccin
Contratos de la operacin del sistema: a partir de ellos el diseador
identifica las responsabilidades y las poscondiciones que han de
llenar los diagramas de interaccin.
Casos de uso reales (o esenciales): a partir de ellos
el diseador recaba informacin sobre las tareas
que realizan los diagramas de interaccin, adems
de lo estipulado en los contratos.

Diagramas de interaccin
Contratos de la operacin del sistema: a partir de ellos el diseador
identifica las responsabilidades y las poscondiciones que han de
llenar los diagramas de interaccin.
Casos de uso reales (o esenciales): a partir de ellos
el diseador recaba informacin sobre las tareas
que realizan los diagramas de interaccin, adems
de lo estipulado en los contratos.

DIAGRAMA DE SECUENCIA
Muestra la secuencia de mensajes entre objetos
durante un escenario concreto

Cada objeto viene dado por una barra vertical

El tiempo transcurre de arriba hacia abajo

El retorno de un mensaje es opcional, se puede
utilizar para mostrar la devolucin de valores.
Caja de activacin: muestra la activacin del
mtodo en la pila de ejecucin
DIAGRAMAS DE SECUENCIA
Comunicacin entre instancias
:Instancia1
:Instancia2
Msg1()
Msg2()
Msg 3()
DIAGRAMAS DE SECUENCIA
Indicacin del retorno en la invocacin
:Instancia1
:Instancia2
Msg1() Msg2()
Msg3()
Msg4()
DIAGRAMAS DE SECUENCIA
Creacin y destruccin

:Instancia1
Destruccin instancia
:Instancia2
New()
Mensaje(arg)
Mensaje
CONDICIONES E ITERACIN
Para mensajes simples:
Condicin:


Iteracin:
[color= rojo] msg()
*[i:=1..N]: msg()
*:msg()
ITERACIN PARA
GRUPOS DE MENSAJES
:Instancia2 :Instancia1 :Instancia3
*[i:=1..N]
DIAGRAMAS UML 2.0
Los diagramas de secuencia de UML 2.0 utilizan la notacin
de los MSC (Message Sequence Charts).
Notacin grfica para:
Condiciones.
Repeticiones.
Alternativas.
Partes opcionales.
Inclusiones de diagramas.

UML 2.0: EXPRESIONES
EN LNEA
Alternativa (alt).
Composicin paralela (par).
Iteracin (loop).
Composicin opcional (opt).
Composicin excepcional (exc).

Instancia
1 Instancia
2
Instancia
3
Regiones de
una expresin
Operador
Marco de expresin
UML 2.0: REFERENCIAS A
DIAGRAMAS
Expresiones dentro de un MSC que permiten
referenciar a otro diagrama:
Simples (referencias planas)
Compuestas (referencias planas + operadores alt, par, loop, etc.)

Instancia
1
Instancia
2
A
r
p
alt
B alt C
Referencia Simple
Referencia Compuesta
UML 2.0: EJEMPLO
Bibliotecario I.U O.C Socio
Nuevo Prstamo
Datos Socio?
Nuevo Prstamo
Buscar Socio
Datos Libro?
Libro(Signatura)
Libro(Signatura)
Libro
ComprobarEstado(Signatura)
ok
not ok
ObtenerFecha
Datos(FechaDev)
Fecha(FechaDev)
Confirmar?
Confirmar?
alt
Prstamo
Error('Libro no existe')
Error('Libro no existe')
Prestar
Prestar
Crear Prstamo(Signatura, Socio)
alt
Anular
Anular
UML 2.0: EJEMPLO
Empleado I.U O.C Cliente
Nueva Venta
Datos Cliente?
Nueva Venta
Buscar Cliente
Artculo Pedido
Linea?
Linea(Cod, Cant)
Linea(Cod, Cant)
Comprobar(cod,Cant)
ok
ObtenerDatos(Cod)
Datos(PVP, Descripcin)
Datos(PVP, Descripcin)
loop (1,N)
Forma Pago?
Pago(TipoPago)
when TipoPago = Tarjeta
Pago(TipoPago)
when TipoPago = Contado
Pago con Tarjeta
Pago en Efectivo
alt
New()
addLinea(cod,can)
DIAGRAMAS DE COLABORACIN
Representan la misma informacin que los diagramas de
secuencia:
Son intercambiables.
En los diagramas de colaboracin se describe peor el flujo
de control.
DIAGRAMAS DE COLABORACIN:
NOTACIN
:Instancia 1
:Instancia 2
msg()
1: msg()
2: msg()
Enlace
Orden del
mensaje
Direccin
DIAGRAMAS DE COLABORACIN
Los enlaces muestran el intercambio de mensajes entre
objetos:
Los mensajes se pueden intercambiar en los dos sentidos.
Varios mensajes se pueden intercambiar en la misma
direccin.
Notacin para mensajes:
valor:= mensaje(parmetro:tipo):tiporetorno
DIAGRAMAS DE COLABORACIN
La informacin de tipos puede ser excluida si es obvia o no
es importante.
Descripcin:= GetDescrProducto(id)
Descripcin:= GetDescrProducto(id:ItemID)
Descripcin:= GetDescrProducto(id:ItemID):DescrProducto
DIAGRAMAS DE COLABORACIN
La flecha indica la direccin del mensaje
La secuencia de nmeros describe el orden
1, 2.1, 3.4.1
Los mensajes puede dirigirse tambin a la instancia actual
(self,this).

:Instancia 1
1.2: limpiar()
DIAGRAMAS DE COLABORACIN:
NUMERACIN DE MENSAJES
El primer mensaje no se numera
Representa una accin/evento que dispara la colaboracin
Si se recibe un mensaje m con nmero x.y.z, entonces los
mensajes que se envan durante el procesado de m se
numeran con: x.y.z.1, x.y.z.2, etc.
DIAGRAMAS DE COLABORACIN:
NUMERACIN DE MENSAJES
:Instancia 1 :Instancia 2
:Instancia 3
:Instancia 4
Msg1()
1:Msg2()
1.1:Msg3()
2.1:Msg5()
2:Msg4()
2.2:Msg6()
DIAGRAMAS DE COLABORACIN
La creacin de instancias se indica mediante create().
Puede contener parmetros: create(DNI)
La notacin para las condiciones en el envo de mensajes y
para las iteraciones es similar a la utilizada en los diagramas
de secuencia.
Cmo preparar diagramas de colaboracin
1. Elabore un diagrama por cada operacin del sistema durante
el ciclo actual de desarrollo.
En cada mensaje del sistema, dibuje un
diagrama incluyndolo como mensaje inicial.
2. Si el diagrama se torna complejo (por ejemplo, si no
cabe holgadamente en una hoja de papel 8.5x11),
dividalo en diagramas ms pequeos.
Cmo preparar diagramas de colaboracin
3. Disee un sistema de objetos interactivos que realicen las
tareas, usando como punto de partida las responsabilidades
del contrato de operacin, las poscondiciones y la descripcin
de casos de uso. Aplique el GRASP y otros patrones para
desarrollar un buen diseo.
Los diagramas de colaboracin y otros
artefactos
introducirProducto
(cup,
cantidad)
terminarVenta()
efectuarPago
(monto)
Diagrama de
la secuencia
del sistema
Operacin:
introducirProducto

Poscondiciones:
1. Si se trata de una
nueva venta, fue creada
una nueva Venta...
Operacin:
terminarVenta

Poscondiciones:
1. ...
Contratos
Cajero Sistema
:TPDV
:TPDV
introducirProducto (cup,
cantidad)
efectuarPago
(monto)
Diagrama de
Colaboracin

You might also like