Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes...

71
Diagramas de Interacci Diagramas de Interacci ón ón

Transcript of Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes...

Page 1: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de InteracciDiagramas de Interacciónón

Page 2: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

InteracciónInteracción

Es un comportamiento que compromete Es un comportamiento que compromete un conjunto de mensajes intercambiados un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un entre un conjunto de objetos dentro de un contexto para lograr un propósitocontexto para lograr un propósito

Un mensaje es la especificación de una Un mensaje es la especificación de una comunicación entre objetos en la que se comunicación entre objetos en la que se transmite información con la expectativa transmite información con la expectativa de que la actividad se lleve a cabode que la actividad se lleve a cabo

Page 3: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Aspectos comunes enAspectos comunes eninteraccióninteracción

Objetos: Participantes en la interacciónObjetos: Participantes en la interacción Roles: Jugados por los objetosRoles: Jugados por los objetos Enlaces: Conexión semántica entre objetosEnlaces: Conexión semántica entre objetos Mensajes: Comunicación entre objetosMensajes: Comunicación entre objetos Secuenciación: Orden de los mensajesSecuenciación: Orden de los mensajes

Page 4: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de InteracciónDiagramas de Interacción

Muestra la interacción entre los Muestra la interacción entre los objetos con sus relaciones y los objetos con sus relaciones y los mensajes que pueden enviar entre mensajes que pueden enviar entre ellosellos Diagramas de SecuenciaDiagramas de Secuencia Diagramas de ColaboraciónDiagramas de Colaboración

Un mensaje es la invocación de un Un mensaje es la invocación de un métodométodo

Page 5: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de InteracciónDiagramas de Interacción

Modelan los aspectos dinámicos del Modelan los aspectos dinámicos del sistemasistema

Sirven para visualizar, especificar, Sirven para visualizar, especificar, construir y documentar la dinámica construir y documentar la dinámica de una sociedad particular de objetosde una sociedad particular de objetos

Modelan un flujo de control Modelan un flujo de control particular de un caso de usoparticular de un caso de uso

Page 6: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de InteracciónDiagramas de Interacción

Muestra una interacción, que consiste Muestra una interacción, que consiste en un conjunto de objetos y las en un conjunto de objetos y las relaciones entre ellos, incluyendo los relaciones entre ellos, incluyendo los mensajes que deben ser enviados.mensajes que deben ser enviados.

Es un macro-algoritmo descrito Es un macro-algoritmo descrito gráficamentegráficamente

Son modelos dinámicos que Son modelos dinámicos que describen cómo los objetos colaboran describen cómo los objetos colaboran entre sí.entre sí.

Page 7: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Tipos de Diagramas deTipos de Diagramas deInteracciónInteracción Diagramas de SecuenciaDiagramas de Secuencia

Enfatiza el tiempo que indica el orden Enfatiza el tiempo que indica el orden de los mensajesde los mensajes

Es útil para describir escenarios donde Es útil para describir escenarios donde existe interacción con el usuarioexiste interacción con el usuario

Es utilizado para mostrar el diseño Es utilizado para mostrar el diseño detallado de un procedimiento (método)detallado de un procedimiento (método)

Diagrama de colaboraciónDiagrama de colaboración Enfatiza la organización estructural de Enfatiza la organización estructural de

los objetos que envían y reciben los objetos que envían y reciben informacióninformación

Page 8: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Tipos de Diagramas deTipos de Diagramas deInteracciónInteracción

Diagramas de EstadoDiagramas de Estado Muestra los posibles estados de un Muestra los posibles estados de un

objeto y las transiciones que causa un objeto y las transiciones que causa un cambio en el estadocambio en el estado

Diagramas de ActividadDiagramas de Actividad Muestra un flujo de actividades Muestra un flujo de actividades

involucradas en un simple procesoinvolucradas en un simple proceso

Page 9: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Propiedades ComunesPropiedades Comunes

Roles u objetosRoles u objetos Comunicaciones o EnlacesComunicaciones o Enlaces MensajesMensajes

Pueden contener notas o Pueden contener notas o restriccionesrestricciones

Page 10: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Diagrama de interacción que destaca Diagrama de interacción que destaca la ordenación temporal de los la ordenación temporal de los mensajesmensajes

Se caracterizan por:Se caracterizan por: Línea de vidaLínea de vida

Línea discontinua verticalLínea discontinua vertical Representa la existencia de un objeto a lo Representa la existencia de un objeto a lo

largo de un periodo de tiempolargo de un periodo de tiempo

Page 11: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Se caracterizan por:Se caracterizan por: El foco de control es un rectángulo El foco de control es un rectángulo

delgado y estrecho que representa el delgado y estrecho que representa el periodo durante el cual el objeto periodo durante el cual el objeto desarrolla una accióndesarrolla una acción

Mensajes: Se representa con una Mensajes: Se representa con una flecha entre líneas de vida. La punta se flecha entre líneas de vida. La punta se dirige al receptor que es el que posee el dirige al receptor que es el que posee el método.método.

Page 12: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia Diagrama de Secuencia

Detalla cómo las operaciones son Detalla cómo las operaciones son llevadas a cabo, qué mensajes son llevadas a cabo, qué mensajes son enviados y cuándo.enviados y cuándo.

Es una representación que muestra, Es una representación que muestra, en determinado escenario de un en determinado escenario de un caso de uso, los eventos generados caso de uso, los eventos generados por actores externos, su orden y los por actores externos, su orden y los eventos internos del sistema.eventos internos del sistema.

Page 13: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Muestra la interacción de un conjunto de Muestra la interacción de un conjunto de objetos en una aplicación a través del objetos en una aplicación a través del tiempo.tiempo.

La creación de los diagramas de La creación de los diagramas de secuencia depende de la formulación de secuencia depende de la formulación de los casos de usolos casos de uso

Un diagrama de secuencia se modela Un diagrama de secuencia se modela para cada caso de uso, esto es, el para cada caso de uso, esto es, el diagrama de secuencia captura el diagrama de secuencia captura el comportamiento del caso de uso.comportamiento del caso de uso.

Page 14: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de SecuenciaDiagramas de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

Page 15: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Están organizados de acuerdo al tiempo, Están organizados de acuerdo al tiempo, que avanza hacia la parte de inferior en el que avanza hacia la parte de inferior en el diagrama.diagrama.

Los objetos involucrados en la operación Los objetos involucrados en la operación son listados de izquierda a derecha de son listados de izquierda a derecha de acuerdo a cuando toman parte en la acuerdo a cuando toman parte en la secuencia.secuencia.

La dimensión La dimensión vertical vertical representa el representa el tiempo tiempo y la dimensión y la dimensión horizontal horizontal representa la representa la interacción interacción de objetos.de objetos.

Page 16: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Muestran, para un escenario específico de un Muestran, para un escenario específico de un caso de uso:caso de uso: los eventos que generan los actores externoslos eventos que generan los actores externos el orden de los eventosel orden de los eventos eventos entre los sistemaseventos entre los sistemas

Los sistemas se tratan como cajas negrasLos sistemas se tratan como cajas negras Debe realizarse un DS para el escenario Debe realizarse un DS para el escenario

principal de éxito del caso de uso, y los principal de éxito del caso de uso, y los escenarios alternativos complejos o escenarios alternativos complejos o frecuentesfrecuentes

No es necesario crear un DS para todosNo es necesario crear un DS para todos

Page 17: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Page 18: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

MensajeMensaje

Representado como una línea sólida Representado como una línea sólida dirigida desde el objeto que emite el dirigida desde el objeto que emite el mensaje hacia el objeto que lo ejecuta. mensaje hacia el objeto que lo ejecuta. Consta de:Consta de: OperaciónOperación Número de secuencia (opcional)Número de secuencia (opcional) Argumentos de la operaciónArgumentos de la operación Valor de retorno de la operaciónValor de retorno de la operación Flecha de retorno de mensaje (opcional)Flecha de retorno de mensaje (opcional)

Page 19: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

MensajeMensaje

Especificación del tipo de mensaje : Especificación del tipo de mensaje : sincrónico, asincrónico.sincrónico, asincrónico.

Especificación de creación ó Especificación de creación ó destrucción (la creación se muestra destrucción (la creación se muestra como un corrimiento del objeto hacia como un corrimiento del objeto hacia abajo)abajo)

CondiciónCondición IteraciónIteración

Page 20: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensaje a “Self” o “this”Mensaje a “Self” o “this”

:Registro

Msj1()Limpiar()

Page 21: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Creación de ObjetosCreación de Objetos

:Registro :Venta

Realizarpago(dineroEntregado)

:PagoCreate(dineroEntregado)

Autorizar()

La línea de vida muestra laDuración de la vida de un Objeto en el diagrama

Los objetos creados recientemente se sitúan a su altura de creación

Page 22: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Destrucción de objetosDestrucción de objetos

:Venta

:PagoCreate(dineroEntregado)

Autorizar()

“Destroy()”

El mensaje estereotipado con “destroy” y la X indica la destrrucción explícita del objeto

Page 23: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes condicionalesMensajes condicionales

:Foo :Bar

[color = rojo] calcular()

Mensaje1()

Page 24: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes CondicionalesMensajes CondicionalesMutuamente ExclusivosMutuamente Exclusivos

:A :BMensaje1()

:C

[x>15] calcular()

[x<10] calcular()

Page 25: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Iteración para un ÚnicoIteración para un ÚnicoMensajeMensaje

:Simulador :Aleatorio

* [i=1..N]: Num:=SiguienteEnt()

EjecutarSimulación()

Page 26: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Iteración Sobre una SerieIteración Sobre una Seriede Mensajesde Mensajes

:Simulador :Aleatorio

Horas:=SiguienteEnt()

EjecutarSimulación()

:Programador

Trabajar(horas)

*[i:=1..N]

Comer()

Page 27: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Iteración sobre unIteración sobre unMultiobjetoMultiobjeto

:Venta

*:st:=getSubTotal()

T=getTotal()

:LíneaDeVenta

Page 28: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Invocación EstáticaInvocación Estática

:Foo :java.util.collections

Lista:=sincronizedList(UnaLista)

Mensaje1()

Mensaje a una clase o una Invocación a un método estático

No subrayada → es una clase

Page 29: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia -Diagrama de Secuencia -EjercicioEjercicio

Desde una GUI se envíaDesde una GUI se envía solicita solicita una reservación a una cadena de una reservación a una cadena de hoteles, la cadena de hoteles a su hoteles, la cadena de hoteles a su vez envía la solicitud al hotel que el vez envía la solicitud al hotel que el usuario desea, si el hotel tiene usuario desea, si el hotel tiene habitaciones, hace una reservación habitaciones, hace una reservación y una confirmación.y una confirmación.

Page 30: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia –Diagrama de Secuencia –Tipos de mensajeTipos de mensaje

Los mensajes pueden ser:Los mensajes pueden ser: Sincrónicos: se envía el mensaje y se Sincrónicos: se envía el mensaje y se

espera hasta que haya una respuesta. espera hasta que haya una respuesta. ((waitwait))

Asincrónicos: permite enviar mensajes Asincrónicos: permite enviar mensajes adicionales mientras el original está adicionales mientras el original está siendo procesado. (siendo procesado. (nowaitnowait))

Page 31: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia –Diagrama de Secuencia –MensajesMensajes

SímboloSímbolo SignificadoSignificado

Mensaje simple, sincrónicoMensaje simple, sincrónico

ó asincrónicoó asincrónico

Mensaje simple de retornoMensaje simple de retorno

(opcional)(opcional)

Mensaje sincrónico (call)Mensaje sincrónico (call)

Page 32: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuecia –mensaje Diagrama de Secuecia –mensaje asíncrono-Ejercicioasíncrono-Ejercicio Una Una enfermera enfermera solicita un solicita un examen diagnóstico examen diagnóstico a a

un laboratorio médico. Hay dos mensajes un laboratorio médico. Hay dos mensajes asíncronos desde la asíncronos desde la enfermeraenfermera, preguntar a , preguntar a MedicalLab MedicalLab para reservar una fecha para el para reservar una fecha para el examen examen y preguntar a y preguntar a InsuranceCompany InsuranceCompany para para que apruebe el que apruebe el examenexamen. El orden en el cual los . El orden en el cual los mensajes son enviados o completados es mensajes son enviados o completados es irrelevante (el uno no espera hasta que el otro irrelevante (el uno no espera hasta que el otro regrese). regrese).

Si el Si el examen examen es aprobado por es aprobado por InsuranceCompanyInsuranceCompany, , la enfermera la enfermera programará el programará el examen examen en la fecha suministrada por en la fecha suministrada por MedicalLabMedicalLab..

Page 33: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad

El objeto al que se le envía el El objeto al que se le envía el mensaje (mensaje (AA) debe ser visible por el ) debe ser visible por el objeto que envía el mensaje (objeto que envía el mensaje (BB) y ) y el mensaje debe corresponder a un el mensaje debe corresponder a un método de método de AA..

Page 34: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de ClaseDiagrama de ClaseCursoCurso

-nombre:int-nombre:int

+BuscarEstudiante:String+BuscarEstudiante:String

+TieneDescuento:Boolean+TieneDescuento:Boolean

+AgregarEstudiante:void+AgregarEstudiante:void

DescuentoDescuento

-nombre: String-nombre: String

-porcentaje: int-porcentaje: int

+TieneDescuento:Boolean+TieneDescuento:Boolean

NotaNota

-puntuación:int-puntuación:intEstudianteEstudiante

-código:int-código:int

-promedio:int-promedio:int

+Estudiante+Estudiante

+DeEstudiante:Estudiante+DeEstudiante:Estudiante

+DeDatos:String+DeDatos:String

+DePromedio:int+DePromedio:int

+Agregar:void+Agregar:void

1 0..*

1

0..*

0..*Corresponde ←

Page 35: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad

A A crea a crea a BB. En el ejemplo . En el ejemplo objCurso objCurso crea el crea el objEstobjEst, , ya que lo conoce y lo agrega a la colección de ya que lo conoce y lo agrega a la colección de estudiantesestudiantes

:ObjCurso

Curso:ObjEst

Estudiante

1:AgregarEstudiante(CodEst,Promest)

:CollEstudiantes

Estudiante1.1 :constructor

1.2 :AgregarObjEst):void

GUI

A

B

Page 36: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad

Existe una relación de asociación Existe una relación de asociación entre la clase entre la clase A A y la clase y la clase BB, , A A puede puede invocar métodos de invocar métodos de BB. En el ejemplo . En el ejemplo se puede apreciar que los objetos sólo se puede apreciar que los objetos sólo envían mensajes a los objetos que envían mensajes a los objetos que conocen de acuerdo al diagrama de conocen de acuerdo al diagrama de clasesclases

Page 37: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia – RelaciónDiagrama de Secuencia – Relacióncon el Diagrama de Clasescon el Diagrama de Clases

Un diagrama de secuencia sirve para Un diagrama de secuencia sirve para Reconocer qué objetos pueden Reconocer qué objetos pueden

interactuar en el diagrama de secuenciainteractuar en el diagrama de secuencia Reconocer los métodos posiblesReconocer los métodos posibles Completar el diagrama de clasesCompletar el diagrama de clases Reconocer más métodos de una claseReconocer más métodos de una clase Crear asociaciones entre clasesCrear asociaciones entre clases

Page 38: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de SecuenciaDiagramas de Secuencia

Se pueden representar condicionales Se pueden representar condicionales y buclesy bucles

Existen operadores de controlExisten operadores de control

Obj1: Clase1 Obj2: Clase2

Mensaje1()

Mensaje2()

con [cond]

Page 39: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de secuenciaDiagramas de secuencia

Operadores de controlOperadores de control Ejecución opcional: Ejecución opcional:

OptOpt El cuerpo del operador de control se ejecuta si una El cuerpo del operador de control se ejecuta si una

condición de guarda es cierta cuando se entra en el condición de guarda es cierta cuando se entra en el operadoroperador

Ejecución condicionalEjecución condicional altalt El cuerpo del operador se divide en varias El cuerpo del operador se divide en varias

subregiones con líneas discontínuas horizontalessubregiones con líneas discontínuas horizontales Cada subregión se considera como una rama de la Cada subregión se considera como una rama de la

condicióncondición Cada subregión tiene una condición de guardaCada subregión tiene una condición de guarda Sólo se ejecuta una subregiónSólo se ejecuta una subregión Existe también la etiqueta [else]Existe también la etiqueta [else]

Page 40: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de SecuenciaDiagramas de Secuencia

Operadores de controlOperadores de control Ejecución paralela:Ejecución paralela:

parpar El cuerpo del operador se divide en varias El cuerpo del operador se divide en varias

subregiones con líneas discontinuas subregiones con líneas discontinuas horizontaleshorizontales

Cada subregión representa una ejecución Cada subregión representa una ejecución en paralelo de manera concurrenteen paralelo de manera concurrente

La concurrencia no implica ejecución La concurrencia no implica ejecución físicamente simultánea. Significa que las físicamente simultánea. Significa que las acciones no están coordinadas y pueden acciones no están coordinadas y pueden ejecutarse en cualquier ordenejecutarse en cualquier orden

Page 41: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de SecuenciaDiagramas de Secuencia

Operadores de controlOperadores de control Ejecución en bucle (iterativa):Ejecución en bucle (iterativa):

looploop loop (min,max) loop (min,max) Una condición de guarda aparece sobre Una condición de guarda aparece sobre

una línea de vida dentro del cuerpouna línea de vida dentro del cuerpo Se ejecuta el cuerpo del bucle mientras la Se ejecuta el cuerpo del bucle mientras la

guarda sea verdaderaguarda sea verdadera

Page 42: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de SecuenciaDiagramas de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

Page 43: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de SecuenciaDiagrama de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

Page 44: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia – Caso de Diagrama de Secuencia – Caso de uso: Hacer pedido cliente en uso: Hacer pedido cliente en RestauranteRestaurante

Page 45: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de Secuencia – Caso de Diagrama de Secuencia – Caso de uso: Hacer pedido cliente en uso: Hacer pedido cliente en RestauranteRestaurante

Page 46: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de colaboración/ Diagrama de colaboración/ comunicacióncomunicación Diagrama de interacción que destaca Diagrama de interacción que destaca

la organización estructural de los la organización estructural de los objetos que envían y reciben objetos que envían y reciben mensajes.mensajes.

No se muestran las líneas de vidaNo se muestran las líneas de vida Se pueden representar los mensajes Se pueden representar los mensajes

create y destroycreate y destroy Existen números de secuencia y se Existen números de secuencia y se

puede indicar el anidamientopuede indicar el anidamiento

Page 47: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de ColaboraciónDiagramas de Colaboración

Explican gráficamente las Explican gráficamente las interacciones entre las instancias interacciones entre las instancias (objetos)(objetos)

Transmiten la misma información Transmiten la misma información que un diagrama de secuencia pero que un diagrama de secuencia pero se focalizan en roles de objetos en se focalizan en roles de objetos en lugar de los tiempos en que los lugar de los tiempos en que los mensajes son enviadosmensajes son enviados

Page 48: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de ColaboraciónDiagrama de Colaboración

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

Page 49: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de colaboraciónDiagramas de colaboración

Se caracterizan por:Se caracterizan por: El caminoEl camino Número de secuenciaNúmero de secuencia

Se puede representar la iteración y Se puede representar la iteración y los cicloslos ciclos Iteración: * [i: 1..n] // La clave es el *Iteración: * [i: 1..n] // La clave es el * Condición: [cond] Condición: [cond]

Page 50: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagrama de ColaboraciónDiagrama de Colaboración

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

Page 51: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Diagramas de ColaboraciónDiagramas de Colaboración- Ejemplo- Ejemplo

Window:GUI

Achain:Cadenadehoteles

Ahotel:Hotel AReservation:Reservación ANotice:Confirmación

1.1:HacerReservación():Void

1.1.1:HacerReservación():Void

1.1.1.1:*[Por cada dia]HayHabitaciónDisponible():Boolean

1.1.1.2:[HayHabitación] 1.1.1.2.1

Page 52: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

ElementosElementos

Objetos: se representan como un Objetos: se representan como un rectángulo con la notación objeto:Clase rectángulo con la notación objeto:Clase subrayados.subrayados.

Los enlaces conectan dos objetos, Los enlaces conectan dos objetos, representan instancias de una representan instancias de una asociación entre los objetos.asociación entre los objetos.

Cada enlace tiene un mensaje.Cada enlace tiene un mensaje. El mensaje tiene un dirección indicando El mensaje tiene un dirección indicando

visibilidad (navegabilidad).visibilidad (navegabilidad).

Page 53: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

ElementosElementos

El mensaje tiene un número de El mensaje tiene un número de secuencia, el mensaje de nivel más alto secuencia, el mensaje de nivel más alto es etiquetado como 1es etiquetado como 1

Los mensajes enviados durante la Los mensajes enviados durante la misma llamada (mismo nivel) tienen el misma llamada (mismo nivel) tienen el mismo prefijo decimal, pero sufijos 1,2, mismo prefijo decimal, pero sufijos 1,2, etc.., de acuerdo a cuando ellos ocurrenetc.., de acuerdo a cuando ellos ocurren

Se pueden mostrar iteraciones, Se pueden mostrar iteraciones, condiciones y auto llamadoscondiciones y auto llamados

Page 54: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

ElementosElementos

Al igual que en el diagrama de secuencia Al igual que en el diagrama de secuencia cada mensaje tiene asociado:cada mensaje tiene asociado: OperaciónOperación EtiquetaEtiqueta Número de secuenciaNúmero de secuencia Si el mensaje es de creación ó destrucción Si el mensaje es de creación ó destrucción ArgumentosArgumentos Valor de retornoValor de retorno Expresiones de condición e iteraciónExpresiones de condición e iteración

Page 55: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

EjercicioEjercicio

En el siguiente ejemplo identificar:En el siguiente ejemplo identificar: Dirección de los mensajesDirección de los mensajes Primer mensajePrimer mensaje Primer mensaje internoPrimer mensaje interno ParámetrosParámetros CreaciónCreación InstanciasInstancias

Page 56: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

EjemploEjemplo

:Registro :Venta

:Pago

RealizarPago(dineroEntregado) 1.RealizarPago(dineroEntregado)

1.1.Create(dineroEntregado)

Page 57: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

EnlacesEnlaces

A lo largo del mismo enlace pueden fluir múltiples A lo largo del mismo enlace pueden fluir múltiples mensajes y mensajes en ambas direccionesmensajes y mensajes en ambas direcciones

:Registro :Venta

1.RealizarPago(dineroEntregado)

2.Foo()

2.1.Bar()

Page 58: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

MensajesMensajes

Todos los mensajes fluyen en el mismo enlaceTodos los mensajes fluyen en el mismo enlace

:Registro :Venta

1:Msj2()

2:Msj3()

3.1:Msj5()

Msj1()

3:Msj4()

Page 59: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes a “self” o “this”Mensajes a “self” o “this”

:Registro

Msj1()

1:Limpiar()Mensaje a “This”

Page 60: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Creación de InstanciasCreación de Instancias

Page 61: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Secuencia de NumeraciónSecuencia de Numeración

Page 62: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Secuencia de NumeraciónSecuencia de Numeración(cont.)(cont.)

Page 63: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes CondicionalesMensajes Condicionales

Page 64: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes MutuamenteMensajes MutuamenteExclusivosExclusivos

Page 65: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Iteración o BucleIteración o Bucle

Page 66: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Iteración Sobre MultiobjetoIteración Sobre Multiobjeto

Page 67: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensajes a MétodosMensajes a MétodosEstáticosEstáticos

Page 68: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Colaboración vs SecuenciaColaboración vs Secuencia

TipoTipo ProsPros ContrasContras

SecuenciaSecuencia Muestra claramente la Muestra claramente la secuencia ordenada de secuencia ordenada de mensajes en el tiempomensajes en el tiempo Notación simpleNotación simple Tiene bloques de Tiene bloques de SentenciasSentencias

Consume mucho Consume mucho espacio horizontalespacio horizontal

ColaboraciónColaboración Económico en espacio, Económico en espacio, flexible para añadir nuevos flexible para añadir nuevos objetos en dos dimensionesobjetos en dos dimensionesMejor para ilustrar Mejor para ilustrar ramificacionesramificacionescomplejas, iteraciones ycomplejas, iteraciones y

concurrenciaconcurrencia

Difícil de ver la Difícil de ver la secuencia de mensajessecuencia de mensajesNotación más Notación más complejacompleja

Page 69: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensaje de CreaciónMensaje de Creación

<<actor>>GUI

1.AgregarEstudiante(codEst,promEst):Void →

ObjCurso:Curso

1.2.Agregar(ObjEst):Void →

colEstudiantes:Estudiante

ObjEst:Estudiante

1.1.<constructor>(int,int)→

Page 70: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Mensaje de CreaciónMensaje de Creación

<<actor>>GUI

1.AgregarEstudiante(codEst,promEst):Void →

ObjCurso:Curso

1.2.Agregar(ObjEst):Void →

colEstudiantes:Estudiante

ObjEst:Estudiante

1.1.<constructor>(int,int)

Page 71: Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de.

Multiobjeto, iteraciónMultiobjeto, iteración

<<actor>>GUI

1:máximaNotaEst(codEst):int →

ObjCurso:Curso

↑ 1.1:.objEst=GetEstudiante(codEst):Estudiante

colEstudiantes:Estudiante

ObjEst:Estudiante

↓1.2:datosEst=máximaNotaEst():int

ObjNota:Nota

1.2.1:*[para cada nota] máximaNota=GetNota():int →