diagramas de interacci n n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Diagramas de Interacci ón PowerPoint Presentation
Download Presentation
Diagramas de Interacci ón

Loading in 2 Seconds...

play fullscreen
1 / 71

Diagramas de Interacci ón - PowerPoint PPT Presentation


  • 153 Views
  • Uploaded on

Diagramas de Interacci ón. Interacción. Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un contexto para lograr un propósito

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Diagramas de Interacci ón' - anevay


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
interacci n
Interacción
  • Es un comportamiento que compromete un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un contexto para lograr un propósito
  • Un mensaje es la especificación de una comunicación entre objetos en la que se transmite información con la expectativa de que la actividad se lleve a cabo
aspectos comunes en interacci n
Aspectos comunes eninteracción
  • Objetos: Participantes en la interacción
  • Roles: Jugados por los objetos
  • Enlaces: Conexión semántica entre objetos
  • Mensajes: Comunicación entre objetos
  • Secuenciación: Orden de los mensajes
diagramas de interacci n1
Diagramas de Interacción
  • Muestra la interacción entre los objetos con sus relaciones y los mensajes que pueden enviar entre ellos
    • Diagramas de Secuencia
    • Diagramas de Colaboración
  • Un mensaje es la invocación de un método
diagramas de interacci n2
Diagramas de Interacción
  • Modelan los aspectos dinámicos del sistema
  • Sirven para visualizar, especificar, construir y documentar la dinámica de una sociedad particular de objetos

 Modelan un flujo de control particular de un caso de uso

diagramas de interacci n3
Diagramas de Interacción
  • Muestra una interacción, que consiste en un conjunto de objetos y las relaciones entre ellos, incluyendo los mensajes que deben ser enviados.
  • Es un macro-algoritmo descrito gráficamente
  • Son modelos dinámicos que describen cómo los objetos colaboran entre sí.
tipos de diagramas de interacci n
Tipos de Diagramas deInteracción
  • Diagramas de Secuencia
    • Enfatiza el tiempo que indica el orden de los mensajes
    • Es útil para describir escenarios donde existe interacción con el usuario
    • Es utilizado para mostrar el diseño detallado de un procedimiento (método)
  • Diagrama de colaboración
    • Enfatiza la organización estructural de los objetos que envían y reciben información
tipos de diagramas de interacci n1
Tipos de Diagramas deInteracción
  • Diagramas de Estado
    • Muestra los posibles estados de un objeto y las transiciones que causa un cambio en el estado
  • Diagramas de Actividad
    • Muestra un flujo de actividades involucradas en un simple proceso
propiedades comunes
Propiedades Comunes
  • Roles u objetos
  • Comunicaciones o Enlaces
  • Mensajes
  • Pueden contener notas o restricciones
diagrama de secuencia
Diagrama de Secuencia
  • Diagrama de interacción que destaca la ordenación temporal de los mensajes
  • Se caracterizan por:
    • Línea de vida
      • Línea discontinua vertical
      • Representa la existencia de un objeto a lo largo de un periodo de tiempo
diagrama de secuencia1
Diagrama de Secuencia
  • Se caracterizan por:
    • El foco de control es un rectángulo delgado y estrecho que representa el periodo durante el cual el objeto desarrolla una acción
    • Mensajes: Se representa con una flecha entre líneas de vida. La punta se dirige al receptor que es el que posee el método.
diagrama de secuencia2
Diagrama de Secuencia
  • Detalla cómo las operaciones son llevadas a cabo, qué mensajes son enviados y cuándo.
  • Es una representación que muestra, en determinado escenario de un caso de uso, los eventos generados por actores externos, su orden y los eventos internos del sistema.
diagrama de secuencia3
Diagrama de Secuencia
  • Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo.
  • La creación de los diagramas de secuencia depende de la formulación de los casos de uso
  • Un diagrama de secuencia se modela para cada caso de uso, esto es, el diagrama de secuencia captura el comportamiento del caso de uso.
diagramas de secuencia
Diagramas de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

diagrama de secuencia4
Diagrama de Secuencia
  • Están organizados de acuerdo al tiempo, que avanza hacia la parte de inferior en el diagrama.
  • Los objetos involucrados en la operación son listados de izquierda a derecha de acuerdo a cuando toman parte en la secuencia.
  • La dimensión vertical representa el tiempo y la dimensión horizontal representa la interacción de objetos.
diagrama de secuencia5
Diagrama de Secuencia
  • Muestran, para un escenario específico de un caso de uso:
    • los eventos que generan los actores externos
    • el orden de los eventos
    • eventos entre los sistemas
  • Los sistemas se tratan como cajas negras
  • Debe realizarse un DS para el escenario principal de éxito del caso de uso, y los escenarios alternativos complejos o frecuentes
  • No es necesario crear un DS para todos
mensaje
Mensaje
  • Representado como una línea sólida dirigida desde el objeto que emite el mensaje hacia el objeto que lo ejecuta. Consta de:
    • Operación
    • Número de secuencia (opcional)
    • Argumentos de la operación
    • Valor de retorno de la operación
    • Flecha de retorno de mensaje (opcional)
mensaje1
Mensaje
  • Especificación del tipo de mensaje : sincrónico, asincrónico.
  • Especificación de creación ó destrucción (la creación se muestra como un corrimiento del objeto hacia abajo)
  • Condición
  • Iteración
creaci n de objetos

:Registro

:Venta

Realizarpago(dineroEntregado)

Create(dineroEntregado)

:Pago

Autorizar()

La línea de vida muestra la

Duración de la vida de un

Objeto en el diagrama

Los objetos creados recientemente se sitúan a su altura de creación

Creación de Objetos
destrucci n de objetos

:Venta

Create(dineroEntregado)

:Pago

Autorizar()

“Destroy()”

El mensaje estereotipado con “destroy” y la X indica la destrrucción explícita del objeto

Destrucción de objetos
mensajes condicionales

:Foo

:Bar

Mensaje1()

[color = rojo] calcular()

Mensajes condicionales
mensajes condicionales mutuamente exclusivos

:A

:B

:C

Mensaje1()

[x<10] calcular()

[x>15] calcular()

Mensajes CondicionalesMutuamente Exclusivos
iteraci n para un nico mensaje

:Simulador

:Aleatorio

EjecutarSimulación()

* [i=1..N]: Num:=SiguienteEnt()

Iteración para un ÚnicoMensaje
iteraci n sobre una serie de mensajes

:Simulador

:Aleatorio

:Programador

EjecutarSimulación()

Horas:=SiguienteEnt()

Trabajar(horas)

*[i:=1..N]

Comer()

Iteración Sobre una Seriede Mensajes
iteraci n sobre un multiobjeto

:Venta

:LíneaDeVenta

T=getTotal()

*:st:=getSubTotal()

Iteración sobre unMultiobjeto
invocaci n est tica

:Foo

:java.util.collections

Mensaje1()

Lista:=sincronizedList(UnaLista)

Mensaje a una clase o una

Invocación a un método estático

No subrayada → es una clase

Invocación Estática
diagrama de secuencia ejercicio
Diagrama de Secuencia -Ejercicio
  • Desde una GUI se envía solicita una reservación a una cadena de hoteles, la cadena de hoteles a su vez envía la solicitud al hotel que el usuario desea, si el hotel tiene habitaciones, hace una reservación y una confirmación.
diagrama de secuencia tipos de mensaje
Diagrama de Secuencia –Tipos de mensaje
  • Los mensajes pueden ser:
    • Sincrónicos: se envía el mensaje y se espera hasta que haya una respuesta. (wait)
    • Asincrónicos: permite enviar mensajes adicionales mientras el original está siendo procesado. (nowait)
diagrama de secuecia mensaje as ncrono ejercicio
Diagrama de Secuecia –mensaje asíncrono-Ejercicio
  • Una enfermera solicita un examen diagnóstico a un laboratorio médico. Hay dos mensajes asíncronos desde la enfermera, preguntar a MedicalLab para reservar una fecha para el examen y preguntar a InsuranceCompany para que apruebe el examen. El orden en el cual los mensajes son enviados o completados es irrelevante (el uno no espera hasta que el otro regrese).
  • Si el examen es aprobado por InsuranceCompany, la enfermera programará el examen en la fecha suministrada por MedicalLab.
diagrama de secuencia visibilidad
Diagrama de Secuencia –Visibilidad
  • El objeto al que se le envía el mensaje (A) debe ser visible por el objeto que envía el mensaje (B) y el mensaje debe corresponder a un método de A.
diagrama de clase
Diagrama de Clase

0..*

1

1

0..*

Corresponde ←

0..*

diagrama de secuencia visibilidad1

A

:ObjCurso

Curso

:CollEstudiantes

Estudiante

B

GUI

:ObjEst

Estudiante

1:AgregarEstudiante(CodEst,Promest)

1.1 :constructor

1.2 :AgregarObjEst):void

Diagrama de Secuencia –Visibilidad
  • A crea a B. En el ejemplo objCurso crea el objEst, ya que lo conoce y lo agrega a la colección de estudiantes
diagrama de secuencia visibilidad2
Diagrama de Secuencia –Visibilidad
  • Existe una relación de asociación entre la clase A y la clase B, A puede invocar métodos de B. En el ejemplo se puede apreciar que los objetos sólo envían mensajes a los objetos que conocen de acuerdo al diagrama de clases
diagrama de secuencia relaci n con el diagrama de clases
Diagrama de Secuencia – Relacióncon el Diagrama de Clases
  • Un diagrama de secuencia sirve para
    • Reconocer qué objetos pueden interactuar en el diagrama de secuencia
    • Reconocer los métodos posibles
    • Completar el diagrama de clases
    • Reconocer más métodos de una clase
    • Crear asociaciones entre clases
diagramas de secuencia1
Diagramas de Secuencia
  • Se pueden representar condicionales y bucles
  • Existen operadores de control

Obj1: Clase1

Obj2: Clase2

con

[cond]

Mensaje1()

Mensaje2()

diagramas de secuencia2
Diagramas de secuencia
  • Operadores de control
    • Ejecución opcional:
      • Opt
      • El cuerpo del operador de control se ejecuta si una condición de guarda es cierta cuando se entra en el operador
    • Ejecución condicional
      • alt
      • El cuerpo del operador se divide en varias subregiones con líneas discontínuas horizontales
      • Cada subregión se considera como una rama de la condición
      • Cada subregión tiene una condición de guarda
      • Sólo se ejecuta una subregión
      • Existe también la etiqueta [else]
diagramas de secuencia3
Diagramas de Secuencia
  • Operadores de control
    • Ejecución paralela:
      • par
      • El cuerpo del operador se divide en varias subregiones con líneas discontinuas horizontales
      • Cada subregión representa una ejecución en paralelo de manera concurrente
      • La concurrencia no implica ejecución físicamente simultánea. Significa que las acciones no están coordinadas y pueden ejecutarse en cualquier orden
diagramas de secuencia4
Diagramas de Secuencia
  • Operadores de control
    • Ejecución en bucle (iterativa):
      • loop
      • loop (min,max)
      • Una condición de guarda aparece sobre una línea de vida dentro del cuerpo
      • Se ejecuta el cuerpo del bucle mientras la guarda sea verdadera
diagramas de secuencia5
Diagramas de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

diagrama de secuencia7
Diagrama de Secuencia

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

diagrama de colaboraci n comunicaci n
Diagrama de colaboración/ comunicación
  • Diagrama de interacción que destaca la organización estructural de los objetos que envían y reciben mensajes.
  • No se muestran las líneas de vida
  • Se pueden representar los mensajes create y destroy
  • Existen números de secuencia y se puede indicar el anidamiento
diagramas de colaboraci n
Diagramas de Colaboración
  • Explican gráficamente las interacciones entre las instancias (objetos)
  • Transmiten la misma información que un diagrama de secuencia pero se focalizan en roles de objetos en lugar de los tiempos en que los mensajes son enviados
diagrama de colaboraci n
Diagrama de Colaboración

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

diagramas de colaboraci n1
Diagramas de colaboración
  • Se caracterizan por:
    • El camino
    • Número de secuencia
  • Se puede representar la iteración y los ciclos
    • Iteración: * [i: 1..n] // La clave es el *
    • Condición: [cond]
diagrama de colaboraci n1
Diagrama de Colaboración

Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh

diagramas de colaboraci n ejemplo

Window:GUI

1.1:HacerReservación():Void

Achain:Cadenadehoteles

1.1.1:HacerReservación():Void

1.1.1.2.1

1.1.1.2:[HayHabitación]

ANotice:Confirmación

Ahotel:Hotel

AReservation:Reservación

1.1.1.1:*[Por cada dia]HayHabitaciónDisponible():Boolean

Diagramas de Colaboración- Ejemplo
elementos
Elementos
  • Objetos: se representan como un rectángulo con la notación objeto:Clase subrayados.
  • Los enlaces conectan dos objetos, representan instancias de una asociación entre los objetos.
  • Cada enlace tiene un mensaje.
  • El mensaje tiene un dirección indicando visibilidad (navegabilidad).
elementos1
Elementos
  • El mensaje tiene un número de secuencia, el mensaje de nivel más alto es etiquetado como 1
  • Los mensajes enviados durante la misma llamada (mismo nivel) tienen el mismo prefijo decimal, pero sufijos 1,2, etc.., de acuerdo a cuando ellos ocurren
  • Se pueden mostrar iteraciones, condiciones y auto llamados
elementos2
Elementos
  • Al igual que en el diagrama de secuencia cada mensaje tiene asociado:
    • Operación
    • Etiqueta
    • Número de secuencia
    • Si el mensaje es de creación ó destrucción
    • Argumentos
    • Valor de retorno
    • Expresiones de condición e iteración
ejercicio
Ejercicio
  • En el siguiente ejemplo identificar:
    • Dirección de los mensajes
    • Primer mensaje
    • Primer mensaje interno
    • Parámetros
    • Creación
    • Instancias
ejemplo

1.RealizarPago(dineroEntregado)

RealizarPago(dineroEntregado)

:Registro

:Venta

1.1.Create(dineroEntregado)

:Pago

Ejemplo
enlaces

1.RealizarPago(dineroEntregado)

2.Foo()

:Registro

:Venta

2.1.Bar()

Enlaces
  • A lo largo del mismo enlace pueden fluir múltiples mensajes y mensajes en ambas direcciones
mensajes

Msj1()

1:Msj2()

2:Msj3()

3:Msj4()

:Registro

:Venta

3.1:Msj5()

Mensajes
  • Todos los mensajes fluyen en el mismo enlace
mensajes a self o this

Msj1()

:Registro

Mensaje a “This”

1:Limpiar()

Mensajes a “self” o “this”
mensaje de creaci n

colEstudiantes:Estudiante

Mensaje de Creación

1.2.Agregar(ObjEst):Void

1.AgregarEstudiante(codEst,promEst):Void

ObjCurso:Curso

<<actor>>

GUI

1.1.<constructor>(int,int)

ObjEst:Estudiante

mensaje de creaci n1

1.2.Agregar(ObjEst):Void

1.AgregarEstudiante(codEst,promEst):Void

ObjCurso:Curso

colEstudiantes:Estudiante

<<actor>>

GUI

1.1.<constructor>(int,int)

ObjEst:Estudiante

Mensaje de Creación
multiobjeto iteraci n

colEstudiantes:Estudiante

↑1.1:.objEst=GetEstudiante(codEst):Estudiante

1:máximaNotaEst(codEst):int →

ObjCurso:Curso

<<actor>>

GUI

↓1.2:datosEst=máximaNotaEst():int

1.2.1:*[para cada nota] máximaNota=GetNota():int →

ObjNota:Nota

ObjEst:Estudiante

Multiobjeto, iteración