Diagramas de Interaccion

17
08/07/2013 1 Vista de interacción Una vista de interacción muestra el flujo de control requerido que se establece entre los objetos. Diagramas de Interacción

description

Adsiiii

Transcript of Diagramas de Interaccion

Page 1: Diagramas de Interaccion

08/07/2013

1

Vista de interacción

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

Diagramas de Interacción

Page 2: Diagramas de Interaccion

08/07/2013

2

Diagramas de interacción de UML

UML define dos Diagramas de Interacción:

Diagrama de Secuencia

Diagrama de colaboración

Diagramas de interacción de UML

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

Page 3: Diagramas de Interaccion

08/07/2013

3

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.

Page 4: Diagramas de Interaccion

08/07/2013

4

¿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)

Cada vez mejor!

IntroducirPago(Monto)

EfectuarPago(Monto) Importante: Describir el Propósito

EfectuarPago(Monto)

Page 5: Diagramas de Interaccion

08/07/2013

5

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

B A.1, B.3 / 1:Mensaje

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:

P1:Class

<<create>>

<<destroy>>

Page 6: Diagramas de Interaccion

08/07/2013

6

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

colaboración

Diagramas de colaboración vs. Diagrama de secuencia

Page 7: Diagramas de Interaccion

08/07/2013

7

Diagramas de colaboración vs. Diagrama de secuencia

(Habilidad para representar el paso del tiempo gráficamente)

(Se pierde claridad cuando hay mensajes condicionales)

Diagramas de secuencia

Page 8: Diagramas de Interaccion

08/07/2013

8

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

Page 9: Diagramas de Interaccion

08/07/2013

9

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

¿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 10: Diagramas de Interaccion

08/07/2013

10

¿Cómo construir eficazmente los

diagramas de secuencia?

Pueden Codificarse Explicarse Aplicarse

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.

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 11: Diagramas de Interaccion

08/07/2013

11

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.

Page 12: Diagramas de Interaccion

08/07/2013

12

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.

Page 13: Diagramas de Interaccion

08/07/2013

13

Diagrama de secuencia

Ejemplo

Económico

Evaluar un proyecto

económicamente

Evaluar un proyecto

técnicamente

Jefe de obra

Aprobar/rechazar proyecto

Diagrama de secuencia

Ejemplo: CUS Aprobar/Rechazar proyecto

Page 14: Diagramas de Interaccion

08/07/2013

14

: 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

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 15: Diagramas de Interaccion

08/07/2013

15

Diagrama de clases después de construir el Diagrama de interacción

Diagramas de colaboración

Page 16: Diagramas de Interaccion

08/07/2013

16

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 colaboració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 colaboración

Page 17: Diagramas de Interaccion

08/07/2013

17

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 colaboración