![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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/58.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/59.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/60.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/61.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/63.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/64.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/65.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/67.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/68.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/69.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/70.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022081504/5528bde2497959977d8f8a24/html5/thumbnails/71.jpg)
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 →