actividad5 diagramas de interacción

37
Curso de UML Actividad 5 Diagramas de interacción Dra. Anaisa Hernández González

Transcript of actividad5 diagramas de interacción

Page 1: actividad5 diagramas de interacción

Curso de UML

Actividad 5 Diagramas de interacción

Dra. Anaisa Hernández González

Page 2: actividad5 diagramas de interacción

Realización de los Casos de Uso

Descripción Descripción textual del textual del flujo de flujo de sucesossucesos

Diagrama de Diagrama de clases que clases que muestra las muestra las clases clases participantesparticipantes

Diagrama de Diagrama de interacción que interacción que muestra la realización muestra la realización de un flujo particular de un flujo particular del CU en términos de del CU en términos de interacción entre los interacción entre los objetosobjetosDigrama de Digrama de

actividades del actividades del flujo de flujo de sucesossucesos

Page 3: actividad5 diagramas de interacción

Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos.

Vista de interacción

Page 4: actividad5 diagramas de interacción

Diagramas de interacción

Page 5: actividad5 diagramas de interacción

UML define dos Diagramas de Interacción:

Diagrama de Secuencia

Diagrama de Comunicación

¿Cuáles son?

Diagramas de interacción de UML

Page 6: actividad5 diagramas de interacción

Muestran como los objetos se comunican unos con otros para satisfacer los requerimientos.

¿Para qué se utilizan?

Diagramas de interacción de UML

Page 7: actividad5 diagramas de interacción

•Actores y Objetos de las clases,

•Orden de los eventos

•Eventos

Componentes

Page 8: actividad5 diagramas de interacción

• 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.

Reglas básicas para elaborarlos

Page 9: actividad5 diagramas de interacción

• 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?

Page 10: actividad5 diagramas de interacción

IntroducirImporteOfrecido(Monto)

Cada vez mejor!

IntroducirPago(Monto)

EfectuarPago(Monto)

Importante:Describir el Propósito

Importante:Describir el Propósito

EfectuarPago(Monto)

¿Cómo nombrar los eventos?

Page 11: actividad5 diagramas de interacción

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 12: actividad5 diagramas de interacción

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 13: actividad5 diagramas de interacción

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 14: actividad5 diagramas de interacción

Diagramas de comunicación vs. Diagrama de secuencia

:Instancia Clase A

:Instancia Clase B

:Instancia Clase C:Instancia Clase D

Mensaje1()

1:Mensaje2()

1.1:Mensaje3()

2:Mensaje4()

Instancia Dirección del mensaje

Mensaje de :Sistema

Mensajes

Page 15: actividad5 diagramas de interacción

Diagramas de comunicación vs. Diagrama de secuencia

:Instancia Clase A

:Instancia Clase B

Mensaje1()

Mensaje2()

Mensaje4()

:Instancia Clase C

:Instancia Clase D

Mensaje3()

(Habilidad para representar el paso del tiempo gráficamente)(Se pierde claridad cuando hay mensajes condicionales)

Page 16: actividad5 diagramas de interacción

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 comunicación vs. Diagrama de secuencia

Page 17: actividad5 diagramas de interacción

Diagramas de secuencia

Page 18: actividad5 diagramas de interacción

Describen las interacciones en una especie de formato de cerca o muro

:ClaseA :ClaseBmensaje1 ()

mensaje2 ()

mensaje3 ()

Capturan el comportamiento dinámico (orientado al tiempo)

Diagramas de secuencia

Page 19: actividad5 diagramas de interacción

Diagrama de secuencia para cada caso de uso

Operación 3 ()

: Actor 1;Sistema

: Actor 2

Operación 1 ()

Operación 2 ()

Tiempo que dura la activación de un procedimiento en un objeto que da respuesta a un mensaje

Línea discontinua muestra el tiempo que existe un objeto o actor.

Orden cronológico de la ocurrencia de eventos

Destrucción del objeto

Page 20: actividad5 diagramas de interacción

Heurísticas para el trazado del Diagrama de secuencia

Objeto 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 21: actividad5 diagramas de interacción

• 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 usar los objetos en los diagramas?

Page 22: actividad5 diagramas de interacción

¿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 23: actividad5 diagramas de interacción

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 24: actividad5 diagramas de interacción

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 25: actividad5 diagramas de interacción

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.

Page 26: actividad5 diagramas de interacción

Se pueden representar estructuras de control:• LAZO: Un conjunto de mensajes que se

repiten .• ALTERNATIVA: Caminos alternativos en

la ejecución de los mensajes.

Diagramas de secuencia

Page 27: actividad5 diagramas de interacción
Page 28: actividad5 diagramas de interacción

Diagrama de secuenciaEjemplo

Económico

Evaluar un proyecto económicamente

Evaluar un proyecto técnicamente

Jefe de obra

Aprobar/rechazar proyecto

Page 29: actividad5 diagramas de interacción

Diagrama de secuencia

Ejemplo: CUS Aprobar/Rechazar proyecto

Page 30: actividad5 diagramas de interacción

: 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 31: actividad5 diagramas de interacción

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 32: actividad5 diagramas de interacción

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 33: actividad5 diagramas de interacción

Diagramas de comunicación

Page 34: actividad5 diagramas de interacció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

Page 35: actividad5 diagramas de interacció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

Page 36: actividad5 diagramas de interacción

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

Page 37: actividad5 diagramas de interacción

Diagrama de comunicación

Ejemplo: CUS Aprobar/Rechazar proyecto