Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenidos
1. Introduccin 2. Diagramas de secuencia 3. Diagramas de comunicacin (anteriormente colaboracin)
Introduccin
En un programa OO, los objetos interactan entre s de varias formas:
Un objeto puede crear otro durante la ejecucin de uno de sus mtodos. Un objeto puede invocar a un mtodo de otro objeto Un objeto puede destruir a otro objeto durante la ejecucin de uno de sus mtodos.
Los diagramas de interaccin se centran en visualizar grficamente como interactan los objetos de un programa.
Introduccin
Varios tipos diferentes de diagrama. En este curso:
Diagrama de Secuencia: muestra a objetos interactuando con otros (invocando sus mtodos, crendolos o destruyndolos). Incluye el tiempo como un eje propio de los diagramas . Diagramas Di d de C Comunicacin i i ( (colaboracin l b i en UML 1 1.0). 0) Notacin ms compacta. Informacin similar a la de los diagramas de secuencia. No incluye eje de tiempo. Secuenciamiento indicado por sistema de numeracin.
Diagramas de secuencia
o1:Clase 1
m1() Mensaje llega a objeto m3() Valor de retorno
o2:Clase 2
<<create>>
Foco del control Crear un objeto [condicion] m4() Iteracion para un mensaje Iteracion para varios mensajes Tiempo:hacia abajo [ no condicion] m5()
o3:Clase 3
M. Condicionales (exclusivos)
*[ i=1..N]: m6()
m7() m8()
*[i=1..N]
<<destroy>> Destruir un objeto
Diagramas de secuencia
Cdigo java equivalente a diagrama anterior
//Mtodo de clase Clase1 public [tipo/clase valor retornado] m1(){ [tipo/clase] res = o2.m2(a) ; this.m3() ; Clase3 o3 = new Clase3(); if(condicion) o2.m4() ; else o2.m5() ; for(int i=1;i<N+1;i++) o2.m6() ; for(int i=1;i<N+1;i++){ o3.m7() ; o2.m8() ; } }
Juan Carlos Cruellas
Diagrama de secuencia
o1:Clase 1
m1()
:Clase 2
alt
[condicin]
m2() m3()
Agrupacin de varios mensajes en cada rama de una sentencia Condicional UML 2.0
[else]
m4()
m5()
Diagramas de secuencia
Construcciones en transparencia anterior: UML 1.0 UML 2.0 ha introducido los FRAGMENTOS, elementos grficos para agrupar el intercambio de mensajes y ampliar la expresividad de los diagramas.
Diagrama de secuencia
o1:Clase 1
m1()
o2:Clase 2
alt
[condicin]
m2() m3()
Agrupacin de varios mensajes en cada rama de una sentencia Condicional UML 2.0
[else]
m4()
m5()
Diagrama de secuencia
o1:Clase 1
m1()
o2:Clase 2
opt
[condicin]
m2() m3()
m4()
m5()
Diagrama de secuencia
o1:Clase 1
m1()
o2:Clase 2
loop
[condicin]
m2() m3()
m4()
m5()
Diagrama de secuencia
o1:Clase 1
m1()
o2:Clase 2
loop (1,20)
m2() m3()
m4()
m5()
Diagrama de secuencia
o1:Clase 1
m1()
o2:Clase 2
break
[condicion1]
m2() m3()
break
[condicion2]
m4()
m5()
Diagramas de comunicacin
1.2 cuartoMensaje() 1.2.2 *[i=1..N]: hacerNVeces()
o1:Cla1 Orden de ejecucin: 1. 11 1.1 1.1.1 1.2 1.2.1 1.2.1.1 1.2.1.1.1a o 1.2.1.1.1b 1.2.2 1.2.2.1.
1. primerMensaje ()
o2:Cla2
o5:Cla5
1.2.1 create()
o5:Cla4
1.1 segundoMensaje()
1.2.2.1 1 *: hacerSobreTodos()
o3:Cla3 o6:Cla6
1.1.1 tercerMensaje() Mensaje condicional
:Clase10
o4:Cla4
1.2.1.1.1b [tam=big]: hacerA()
o7:Cla7
1.2.1.1.1a [tam!=big]: hacerB()
o8:Cla8
Exclusivos
o9:Cla9