![Page 1: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/1.jpg)
![Page 2: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/2.jpg)
Vista de interacción Una vista de interacción muestra el
flujo de control requerido que se establece entre los objetos.
![Page 3: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/3.jpg)
Diagramas de Interacción
![Page 4: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/4.jpg)
Diagramas de interacción de UML
¿Cuáles son?
UML define dos Diagramas de Interacción:
Diagrama de Secuencia
Diagrama de Comunicación
![Page 5: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/5.jpg)
Diagramas de interacción de UML
¿Para qué se utilizan?
Muestran como los objetos se comunican unos con otros para satisfacer los requerimientos.
![Page 6: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/6.jpg)
Componentes
•Actores y Objetos de las clases,
•Eventos
•Orden de los eventos
![Page 7: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/7.jpg)
Reglas básicas para elaborarlos• Un diagrama por cada caso de uso
• Si el diagrama es grande, dividirlo
• Diseñe los diagramas de interacción utilizando la descripción de casos de uso.
![Page 8: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/8.jpg)
¿Cómo nombrar los eventos? Denominarse en el nivel de propósito y no el
medio físico de entrada o de elementos de la interfaz.
Comenzar con verbos en infinitivo. Captar el propósito de la operación y no
pronunciarse respecto a las decisiones de diseño sobre una interfaz TerminarVenta - PresionarEnter.
Expresar las operaciones procurando alcanzar el nivel más alto o la meta final.
![Page 9: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/9.jpg)
¿Cómo nombrar los eventos?
IntroducirImporteOfrecido(Monto)
Cada vez mejor!
IntroducirPago(Monto)
EfectuarPago(Monto)
Importante:Describir el Propósito
Importante:Describir el Propósito
EfectuarPago(Monto)
![Page 10: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/10.jpg)
Mensajes Los eventos contienen mensajes. Un mensaje desencadena una acción en el
objeto destinatario. Un mensaje se envía si han sido enviados
los mensajes de una lista (sincronización):
ABA.1, B.3 / 1:Mensaje
Mensaje()
![Page 11: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/11.jpg)
Tipos de Mensajes Sincrónicos: el que envía espera por la respuesta
que retorna el que recibe.
Asincrónicos: el que envía puede estar haciendo otras cosas, no necesita esperar por la respuesta.
Retorno de mensaje:
Creación de un objeto:
Destrucción:
P1:Class<<create>>
<<destroy>>
![Page 12: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/12.jpg)
Diagramas de interacción
Explica gráficamente las interacciones existentes entre las
instancias de las clases
(habitualmente de un solo caso de uso)
Diagramas de
secuencia
Diagramas de comunicación
![Page 13: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/13.jpg)
Diagramas de comunicación vs. Diagrama de secuencia
![Page 14: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/14.jpg)
Diagramas de comunicación vs. Diagrama de secuencia
(Habilidad para representar el paso del tiempo gráficamente)(Se pierde claridad cuando hay mensajes condicionales)
![Page 15: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/15.jpg)
Diagramas de secuencia
![Page 16: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/16.jpg)
Diagramas de secuencia
Describen las interacciones en una especie de formato de cerca o muro
:ClaseA :ClaseB
mensaje1 ()
mensaje2 ()
mensaje3 ()
Capturan el comportamiento dinámico (orientado al tiempo)
![Page 17: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/17.jpg)
Diagrama de secuencia para cada caso de uso
![Page 18: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/18.jpg)
Heurísticas para el trazado del Diagrama de
secuenciaObjeto frontera que usa el actor para iniciar el CU
Objeto control que maneja al CU
Actor que inicia el CU
Resto de los objetos de los diferentes tipos que describe la funcionalidad
![Page 19: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/19.jpg)
¿Cómo usar los objetos en los diagramas?
Una línea de vida puede representar un objeto o su clase. Usualmente representa los objetos de una clase.
Los objetos pueden no nombrarse, pero deben nombrarse si usted quiere discriminar diferentes objetos de una misma clase.
Varias líneas de vida en el mismo diagrama pueden representar diferentes objetos de una misma clase, pero los objetos tienen que nombrarse de manera diferente.
![Page 20: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/20.jpg)
¿Cómo construir eficazmente los
diagramas de secuencia?
PuedenCodificarseExplicarseAplicarse
De modo metódico
La forma de entender y utilizar los principios de diseño se basa en
Directrices y principios estructurados que describen un problema común y entregan una buena solución ya probada a la que le dan un nombre.
![Page 21: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/21.jpg)
Patrones de diseño
Ayuda a diseñar correctamente en menos tiempo
Ayuda a construir problemas reutilizables
Facilita la documentación
“UML y patrones”, Craig Larman “Design Patterns”, Erich Gamma, Richard
Helm, John Vlissides and Ralph Johnson
![Page 22: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/22.jpg)
Directrices en la creación del diagrama de
secuencia
1. Representar los actores y la clase interfaz del sistema que recibe las acciones del usuario (Menú).
2. Seleccionar la clase controladora que se encargue del mensaje de las operaciones del sistema.
![Page 23: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/23.jpg)
Directrices en la creación del diagrama de
secuencia3. Aplicar el principio de
separación de modelo-vista. No compete a los objetos
del dominio comunicarse con los
objetos de la interfaz, lo hacen las
controladoras.4. Revisar las postcondiciones
que se describieron para ese caso de uso, de manera que se garanticen.
![Page 24: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/24.jpg)
Diagramas de secuenciaSe pueden representar estructuras de
control: LAZO: Un conjunto de mensajes que se
repiten . ALTERNATIVA: Caminos alternativos en la
ejecución de los mensajes.
![Page 25: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/25.jpg)
![Page 26: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/26.jpg)
Diagrama de secuenciaEjemplo
Económico
Evaluar un proyecto económicamente
Evaluar un proyecto técnicamente
Jefe de obra
Aprobar/rechazar proyecto
![Page 27: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/27.jpg)
Diagrama de secuenciaEjemplo: CUS Aprobar/Rechazar
proyecto
![Page 28: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/28.jpg)
: Jefe de obra : CI-Menú : CC-Aceptar/Rechazar proyecto
: CI-Aceptar/Rechazar : Maestro de
proyectos : Proyecto
Aceptar/Rechazar un proyecto( )Aceptar/Rechazar proyecto( ) Proyectos:=Obtener todos los proyectos evaluados técnica y económicamente( )
Proyecto:=Obtener datos del proyecto( )
Técnicamente:=Verificar si está evaluado técnicamente( )
Económicamente:=Verificar si está evaluado económicamente( )
Mostrar todos los proyectos(Proyectos )
Indica resultados de análisis de un proyecto( )
Registrar Aceptación/Rechazo( Proyecto,Aceptación/Rechazo)
Registrar Aceptación/Rechazo( Proyecto,Aceptación/Rechazo)
Cambiar estado( Proyecto,Aceptación/Rechazo)
Verificar si es proyecto(Proyecto )
Cambiar estado( Aceptado)
Cambiar estado( Rechazado)
Solo se devuelven los datos si el tiene ambas evaluaciones
Si no es el proyecto, no se cambia el estado
Se ejecuta uno u otro método
![Page 29: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/29.jpg)
Jefe de obra CI-Menú CI-Aceptar/RechazarCC-Aceptar/Rechazar proyecto
Maestro de proyectos
Proyecto
0..n0..n
Diagrama de clases antes de construir el Diagrama de interacción
![Page 30: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/30.jpg)
Diagrama de clases después de construir el Diagrama de interacción
Jefe de obra CI-Menú
Aceptar/Rechazar un proyecto()
CI-Aceptar/Rechazar
Mostrar todos los proyectos()Indica resultados de análisis de un proyecto()
CC-Aceptar/Rechazar proyecto
Aceptar/Rechazar proyecto()Registrar Aceptación/Rechazo()
Maestro de proyectos
opname()Obtener todos los proyectos evaluados técnica y económicamente()Registrar Aceptación/Rechazo()
Proyecto
Obtener datos del proyecto()Verificar si está evaluado técnicamente()
Verificar si está evaluado económicamente()Cambiar estado()
Verificar si es proyecto()Cambiar estado()
0..n0..n
![Page 31: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/31.jpg)
Diagramas de comunicación
![Page 32: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/32.jpg)
Son útiles en la fase exploratoria para identificar objetos.
Representa la forma en que los objetos interactúan y las conexiones necesarias para soportar esta interacción.
:ClaseA :ClaseB
1:mensaje1 ()2:mensaje2 ()
3:mensaje3 ()
Capturan el comportamiento dinámico (orientado a los mensajes)
Diagrama de comunicación
![Page 33: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/33.jpg)
La distribución de los objetos en el diagrama permite observar adecuadamente la interacción de un objeto con respecto de los demás.
La estructura estática viene dada por los enlaces; la dinámica por el envío de mensajes por los enlaces.
:ClaseA :ClaseB
1:mensaje1 ()2:mensaje2 ()
3:mensaje3 ()
Capturan el comportamiento dinámico (orientado a los mensajes)
Diagrama de comunicación
![Page 34: Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos](https://reader036.vdocumento.com/reader036/viewer/2022062519/5665b47f1a28abb57c91fc36/html5/thumbnails/34.jpg)
mensaje1(parametros):InstClaseA :InstClaseB
1: mensaje1(parametros)
1.1: mensaje1(parametros)
:InstClaseC
primer mensaje
parámetros
línea enlace
dirección mensaje
primer mensaje interno
instancia
mensaje anidado
Diagrama de comunicación