Diagrama de Interacción

Diagrama de Interacción Diagrama de Interacción ó (DInt) y Características del DInt, DInt DCol y DSec y DCol vs. DSec y Componentes básicos del DInt

1 downloads 58 Views 159KB Size

Recommend Stories


EL DIAGRAMA DE PARETO
Lagoas - Marcosende, 9 36200 VIGO (Pontevedra) Telfs.: (986) 81 22 20 - 81 23 85 Fax: (986) 81 23 85 ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIA

Story Transcript

Diagrama de Interacción

Diagrama de Interacción ó (DInt) y Características del DInt, DInt DCol y DSec y DCol vs. DSec y Componentes básicos del DInt y Componentes de un DCol y Componentes C dde un DS DSec y Grado de centralización de control y Sincronismo y asincronismo en el DInt y Otras notaciones y Construcción del DInt

Características í del DInt y Describe la interacción entre objetos en términos de

mensajes. y Requiere del complemento de modelos de comportamiento para todos los objetos o por lo menos para los más complejos.

...Características í del DInt y Responde a preguntas tales como: y ¿cuál es la interacción entre los objetos del sistema? y ¿cuál es la cronología de estas interacciones? y ¿qué intercambio de eventos se da en el sistema? y Existen 2 tipos de DInt: DInt y Diagrama de Colaboración (DCol) tiene su origen en R. WirfsBrock (1990). (1990) y Diagrama de Secuencia (DSec) tiene su origen en I. Jacobson ( (1992). )

Características del DCol y Muestra un conjunto de interacciones entre objetos, en forma topográfica, para un

contexto situacional delimitado. y Componentes de un DCol: y y y y

objeto que interactúa actor mensaje vía de comunicación

y Ejemplo: identificarCliente c: Cliente

iniciarSesión cs: ControlSesión C S

Cliente

crearTransacción t: Transacción

Características del DSec y Muestra un conjunto de interacciones entre objetos, en forma cronológica, para un

contexto temporal delimitado. y Componentes de un DSec: y y y y

objeto que interactúa actor mensaje línea de vida y caja de activación

y Ejemplo: cs: ControlSesión iniciarSesión identificarCliente crearTransacción

Cliente

c: Cliente

t: Transacción

DCol vs. DSec y DCol: DCol y enfatiza colaboración en términos espaciales y más flexible ya que crece bidimensionalmente y mensajes fluyen por vías de comunicación y dificulta ver secuencia de mensajes j y puede ser convertido en un DSec equivalente q (con mensajes numerados)

y DSec: DSec y enfatiza secuencia en términos temporales y más rígido g yya qque crece unidireccionalmente y mensajes entre líneas de vida/cajas de activación y favorece secuencia visual de mensajes y puede ser convertido en un DCol equivalente

Componentes básicos del DInt y objeto que interactúa: interactúa objeto que tiene

comportamiento y por ende, interactúa. Puede requerir un modelo de comportamiento. Ejemplo: p: Producto

y Actor Actor: Ente o agente externo al sistema que inicia la

interacción Ejemplo: interacción.

Proveedor

...Componentes básicos del DInt y Mensaje Mensaje: Solicitud que hace un emisor (agente o objeto) a un

receptor p ((objeto) j ) para p qque realice una operación. p y Emisor y receptor no necesariamente son objetos distintos, ni deben pertenecer a clases distintas. y Los mensajes pueden ser: y sincrónicos sincrónicos: el emisor espera a que el receptor complete la operación. y asincrónicos asincrónicos: el emisor no requiere esperar nada del receptor.

...Componentes básicos del DInt y Que los mensajes (llamados procedimentales) fluyan en forma

sincrónica y bidireccional implica p que: q

y sólo un emisor puede enviar de a un mensaje a la vez y el emisor espera a que el receptor “acepte” el mensaje (retorno implícito) y sólo un receptor recibe de a un mensaje a la vez

y Mensajes sincrónicos requieren de un único hilo (thread) de ejecución. y Representación:

autorizarCrédito

actualizarStock

consultarCalificación

...Componentes básicos del DInt y Existe anidamiento de mensajes cuando, dada la ocurrencia de un

mensaje j inicial, i i i l se emiten i uno o más á mensajes j ddependientes di anidados dd y se reciben sus respectivos retornos antes del retorno del mensaje inicial. inicial y Gráficamente, si A está anidado a M: emisión mensaje anidado A

recepción mensaje anidado A

tiempo emisión mensaje M

recepción mensaje M

...Componentes básicos del DInt y Que los mensajes fluyan en forma asincrónica y unidireccional

implica que el emisor emite un mensaje a un objeto receptor y puede continuar ejecutando mientras el receptor procesa el mensaje. y Mensajes asincrónicos requieren múltiples hilos (multithreads) de ejecución, j ió permitiendo iti d asíí lla concurrencia i en ell sistema. it y Representación:

emitirAlarma

imprimirRecibo

Componentes de un DCol y Vía de comunicación: comunicación representa un conducto o “puente”

bidireccional a través del cual fluyen los mensajes. mensajes y Con relación a los mensajes y las vías de comunicación: y mensaje no puede fluir sin una vía de comunicación y en una vía í dde comunicación ó puede d fl fluir más á dde un mensaje

y Ejemplos: disminuirStock m: MovimientoInventario

s: StockProducto aumentarStock

consultarPresupuesto p: Persona

e: EquipoTrabajo consultarSalario

...Componentes de un DCol y Numeración de mensajes: mensajes

se definen números en secuencia con la siguiente convención:

y el primer mensaje no se numera

(se asume que es 0) Agente y el orden sigue g los números naturales (1, 2, 3, ...) y si existen mensajes anidados, se g anexa una nueva secuencia según notación decimal (1.1, 1.2, 1.2.1, 1.2.2, 1.2.3, 1.3, ...)

1: m2 b: ClaseB m1 a: ClaseA

2.1: m5

1.1: m3

c: ClaseC Cl C 2: m4 2.2: m6

d: ClaseD

Componentes de un DSec y Línea de vida: vida representa la “vida” del objeto durante la

interacción. El tiempo fluye de arriba hacia abajo. y Caja j de activación: activación pperiodo dentro de la línea de vida, durante el cual el objeto se encuentra activo emitiendo/recibiendo mensajes. j y El anidamiento de los mensajes entre los objetos se visualiza ppor la relación entre las longitudes g de las cajas j de activación respectivas.

...Componentes de un DSec a: ClaseA

b: ClaseB

d: ClaseD

c: ClaseC

m1 1 m2 m3

Agente

tiempo

m4 m5 m6

y Existe E i anidamiento id i cuando d un receptor tiene i una caja j dde activación i ió

menor respecto de la caja de activación del emisor. y Aceptación p de los mensajes j se ppuede anotar con mensajes j de retorno explícitos. [1]

Iteración ó de mensajes en DInt y Un mismo mensaje se envía repetidas veces. veces y Iteración se agrega a numeración en el caso del DCol. y Ejemplo: consulta todos los productos que ha pedido un

cliente solicitaProductos( out listaProdCliente)

1*: consultaProductos( out listaProdPedido)

c: Cliente

: Pedido

Cliente 1.1*: getNombre( out nombre)

: Producto

Automensajes en DInt y Un objeto puede enviar automensajes, generando así una interacción

consigo i mismo. i y Ejemplos: p: Persona consultarEdad

p: Persona

consultarEdad

Mensajes excluyentes en DInt y Un objeto puede

enviar 2 o más mensajes excluyentes entre sí. y Ejemplos:

i: Impresora

s: ServidorImpresión

c: ColaImpresión

imprimirDocumento imprimirDocumento

Usuario

almacenarDocumento

1a: imprimirDocumento

imprimirDocumento s: ServidorImpresión

i: Impresora

1b: almacenarDocumento

Usuario

c: ColaImpresión p

Ejemplos: DCol vs. DSec c: Cuenta

o: Orden

t: Ticket

solicitarOrden verificarCrédito

Cli Cliente

reservarTicket

cargarCuenta

2: reservarTicket

solicitarOrden o: Orden

t: Ticket 1: verificarCrédito

Cli t Cliente

c: Cuenta 3: cargarCuenta

Grado de centralización del control y Modelador debe adoptar el grado de centralización que

estime conveniente al usar DInt. y Ejemplo p centralizado (¿por p qqué?): c: Cuenta

o: Orden solicitarOrden O verificarCrédito

Cliente

reservarTicket

cargarCuenta

t: Ticket

...Grado de centralización del control y Ejemplo descentralizado: t: Ticket

c: Cuenta

o: Orden solicitarOrden verificarCrédito

reservarTicket Cliente

cargarCuenta

Sincronismo y asincronismo en el DInt y Mensajes sincrónicos y asincrónicos pueden combinarse en

un mismo DInt. y Ejemplo: p p: PersonaEntrante

ps: PuertaSegura

r: RegistroPersonal

s: SeñalPuerta

solicitarEntrada mantenerAbierto(duraciónPuerta) operar(duraciónSeñal) operar(duraciónReprod)

P Persona registrarEntrada(IdPersona, IdPuerta, fechaHora)

rm: ReprodMúsica

...Sincronismo y asincronismo en el DInt y Mensajes asíncronos se usan para mecanismos de avisos de retorno (callback): y Un objeto j suscriptor p objsusc j indica interés en un evento enviando un mensaje j asíncrono a un objeto oyente objoyen b . y El objeto objsusc continúa con su ejecución mientras objoyen monitorea la ocurrencia del evento indicado. y Cuando el evento ocurre, objoyen envía un mensaje (generalmente asincrónico) de vuelta a objsusc para notificarlo de la ocurrencia. y Ejemplo:

registrarEventoNuevoEMail s: SesiónUsuario

m: MonitorEMail nuevoEMailRecibido

Otras notaciones y Notaciones especiales: y Mensajes pueden ser sólo planos ( ), mostrando apenas progresión de pasos en secuencia o cuando no se sepa aún si el mensaje es sincrónico o asincrónico. y Mensajes j pueden p condicionarse indicando la condición entre [ ]. ] Ejemplo: Calcular promedio [tamañoMuestra>0].

„

Iteración de secuencias de mensajes se puede representar colocando todos los mensajes iterados d ddentro dde una caja.

pe: Pedido

pr: Producto

procesarPedido incluirProducto Empleado

rebajarStock

* [por cada producto]

Construcción ó del DInt y Se recomienda identificar primero al actor y la activación que

da inicio a la situación o secuencia a representar. y Si los objetos: j

y ya están identificados, se definen los mensajes entre ellos a

medida que se avanza en la colaboración/secuencia, o y no están definidos, definirlos sólo como receptores/ emisores de mensajes y nominarlos después.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.