Actividad 5 Diagramas de interacción Dra. Anaisa Hernández González Curso de UML Actividad 5 Diagramas de interacción Dra. Anaisa Hernández González
Realización de los Casos de Uso Descripción textual del flujo de sucesos Diagrama de clases que muestra las clases participantes Diagrama de interacción que muestra la realización de un flujo particular del CU en términos de interacción entre los objetos Digrama de actividades del flujo de sucesos
Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos. Diagrama de secuencia Diagrama de comunicación Diagrama de tiempos (Temporizador)
Diagramas de interacción
Diagramas de interacción de UML ¿Cuáles son? UML define dos Diagramas de Interacción: Diagrama de Secuencia Diagrama de Comunicación
Diagramas de interacción de UML ¿Para qué se utilizan? Muestran como los objetos se comunican unos con otros para satisfacer los requerimientos.
Componentes Actores y Objetos de las clases, Eventos Orden de los eventos
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.
¿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.
¿Cómo nombrar los eventos? IntroducirImporteOfrecido(Monto) IntroducirPago(Monto) EfectuarPago(Monto) EfectuarPago(Monto) Cada vez mejor! Importante: Describir el Propósito
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): A.1, B.3 / 1:Mensaje B A Mensaje()
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: <<create>> P1:Class <<destroy>>
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
Diagramas de comunicación vs. Diagrama de secuencia Mensaje de :Sistema Mensaje1() :Instancia Clase B :Instancia Clase A 1:Mensaje2() Mensajes 1.1:Mensaje3() 2:Mensaje4() Dirección del mensaje :Instancia Clase D :Instancia Clase C Instancia
Diagramas de comunicación vs. Diagrama de secuencia :Instancia Clase A :Instancia Clase B :Instancia Clase C :Instancia Clase D Mensaje1() Mensaje2() Mensaje3() Mensaje4() (Habilidad para representar el paso del tiempo gráficamente) (Se pierde claridad cuando hay mensajes condicionales)
Diagramas de comunicación vs. Diagrama de secuencia El Diagrama de Secuencia es más adecuados para observar la perspectiva cronológica de las interacciones El Diagrama de Comunicación ofrece una mejor visión espacial mostrando los enlaces de comunicación entre objetos El Diagrama de Comunicación puede obtenerse automáticamente a partir del correspondiente Diagrama de Secuencia (o viceversa)
Diagramas de secuencia
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)
Diagrama de secuencia para cada caso de uso Tiempo Tiempo que dura la activación de un procedimiento en un objeto que da respuesta a un mensaje Orden cronológico de la ocurrencia de eventos Línea discontinua muestra el tiempo que existe un objeto o actor. Destrucción del objeto
Heurísticas para el trazado del Diagrama de secuencia Actor que inicia el CU Resto de los objetos de los diferentes tipos que describe la funcionalidad Objeto frontera que usa el actor para iniciar el CU Objeto control que maneja al CU
¿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.
¿Cómo construir eficazmente los diagramas de secuencia? Codificarse Explicarse Aplicarse De modo metódico Pueden La forma de entender y utilizar los principios de diseño se basa en Patrones de diseño 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.
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
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.
Directrices en la creación del diagrama de secuencia 3. 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.
Diagramas de secuencia Se pueden representar estructuras de control: LAZO: Un conjunto de mensajes que se repiten . ALTERNATIVA: Caminos alternativos en la ejecución de los mensajes.
Diagrama de secuencia Ejemplo Jefe de obra Económico Evaluar un proyecto económicamente técnicamente Jefe de obra Aprobar/rechazar proyecto
Ejemplo: CUS Aprobar/Rechazar proyecto Diagrama de secuencia Ejemplo: CUS Aprobar/Rechazar proyecto
Diagrama de clases antes de construir el Diagrama de interacción
Diagrama de clases después de construir el Diagrama de interacción
Diagramas de comunicación
Diagrama de comunicación 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 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 primer mensaje primer mensaje interno parámetros mensaje1(parametros) 1: mensaje1(parametros) :InstClaseA :InstClaseB 1.1: mensaje1(parametros) línea enlace instancia mensaje anidado :InstClaseC dirección mensaje
Diagrama de comunicación Ejemplo: CUS Aprobar/Rechazar proyecto