Professional Documents
Culture Documents
Diagramas de Interacción
Diagramas de Interacción
¿Para qué sirven?
Para mostrar la relación entre los distintos
objetos que participan en un escenario
La relación se establece mediante el paso
de mensajes
Existen dos tipos
Diagramas de Secuencia
Diagramas de Colaboración
Análisis y Diseño Orientado a Objeto
Diagramas de Interacción
Diagramas de Interacción
Usos comunes
Modelar los aspectos dinámicos de un sistema.
El uso de estos diagramas es en el contexto del
sistema como un todo, un subsistema, una
operación, o una clase.
Podemos unir diagramas de interacción para
casos de uso (para modelar un escenario) y
para colaboraciones (para modelar los aspectos
dinámicos de una sociedad de objetos).
Análisis y Diseño Orientado a Objeto
Diagramas de Interacción
Diagramas de Interacción
Usos comunes
Cuando modelamos los aspectos dinámicos de un
sistema, usamos diagramas de interacción de dos
maneras:
Para modelar flujos de control por orden de tiempo
Se usan diagramas de secuencia. Se hace énfasis en el paso de
mensajes, en cómo se desenvuelven sobre el tiempo, lo cual es
una manera útil para visualizar el comportamiento dinámico en
el contexto de un escenario de un caso de uso.
Para modelar flujos de control por organización
Se usan diagramas de colaboración. Se hace énfasis en las
relaciones estructurales entre las instancias dentro de la
interacción y junto con los mensajes que pueden ser pasados.
Los diagramas de colaboración hacen un mejor
trabajo para visualizar iteraciones y bifurcaciones
complejas y para visualizar flujos de concurrencia
múltiple de control.
Análisis y Diseño Orientado a Objeto
Diagramas de Interacción
Diagramas de Interacción
Sugerencias
Un diagrama de interacción bien estructurado si:
Esta enfocado en comunicar el aspecto dinámico de un sistema.
Contiene solamente a los elementos que son esenciales para
entender ese aspecto.
Provee un detalle coherente con sus niveles de abstracción y
debería revelar solamente los adornos que son esenciales para su
entendimiento.
No es tan minimalista
Cuando dibujamos un diagrama de interacción, debemos:
Darle un nombre que comunique su propósito.
Usar un diagrama de secuencia si queremos enfatizar el orden de
tiempo de los mensajes. Usar un diagrama de colaboración si
queremos enfatizar la organización de los objetos involucrados en
la interacción.
Usar notas y color como indicaciones visuales para prestar atención
a características importantes de nuestro diagrama.
Usar bifurcaciones limitadas; podemos representar mucho mejor
bifurcaciones complejas usando diagramas de actividad.
Análisis y Diseño Orientado a Objeto
Diagramas de Interacción
Diagramas de Interacción
Relación con los Casos de Uso
Cada caso de uso es una telaraña de escenarios
Primarios: Flujo normal del caso de uso y
Secundarios: Flujos excepcionales y alternativos.
Para un caso de uso podemos definir diferentes instancias
(escenarios) que nos ayudan a la identificación de objetos,
clases e interacciones entre objetos necesarios para llevar a
cabo la parte de funcionalidad que especifica el caso de uso.
El flujo de eventos de un caso de uso se puede representar por:
Especificación texto más,
Distintos escenarios especificados mediante diagramas de interacción,
Cada diagrama será una visión gráfica de un escenario.
Los diagramas de interacción se deben usar cuando se quiere
Analizar el comportamiento de varios objetos dentro del mismo caso
de uso,
Mostrar colaboraciones entre objetos.
En otro caso, si se quiere
Mostrar comportamiento de un único objeto (en varios casos de uso),
utilizar los diagramas de estados.
Mostrar el comportamiento de una sociedad de objetos (en varios
casos de uso) habrá que considerar un diagrama de actividades.
Análisis y Diseño Orientado a Objeto
Elementos de un
Diagrama de Secuencia
Actor: Es el equivalente al
actor que identificamos en
el caso de uso que se
quiere representar con el
diagrama de secuencia
Gráficamente Igual Usuario
Análisis y Diseño Orientado a Objeto
Línea de Vida
Una línea de vida es un participante
individual en una interacción
No tienen multiplicidad!!!.
Las líneas de vida están disponibles en
los diagramas de Secuencias y de
Tiempos, y aunque la representación
difiere entre los dos, el significado de la
línea de vida es el mismo.
Análisis y Diseño Orientado a Objeto
Línea de Vida
Definición según OMG
Una línea de vida representa un
participante individual en la Interacción.
Mientras las Partes y Características de
Estructuras pueden tener multiplicidades
mayores a 1, las Líneas de Vida
representan solamente una entidad
interactuante. La línea de vida es una
especialización de un Elemento nombrado.
Análisis y Diseño Orientado a Objeto
Línea de Vida
Representación Gráfica Objeto1
No tiene Sentido
Representarla sino
está asociada a la
representación de un
Objeto Línea de
Vida
Análisis y Diseño Orientado a Objeto
Mensajes
Indican un flujo de información o
transición del control entre elementos.
Se pueden utilizar por todos los
diagramas de interacción.
Corresponden en el modelo de software
a operaciones y comportamientos de
clases. Son semánticamente similares a
los mensajes pasados entre elementos
en un diagrama de Comunicación.
Análisis y Diseño Orientado a Objeto
Mensajes
Representación
Gráfica Objeto1 Objeto2
Posee distintos
tipos de Mensaje1
Mensaje2 <<llamada>>
al que
corresponda
Análisis y Diseño Orientado a Objeto
Flujos Alternativos
Los diagramas de
secuencia Mensaje1
permiten mostrar
flujos alternativos {X > 10 }
en base a una
condición Lógica Mensaje2
Análisis y Diseño Orientado a Objeto
Mensajes
Automensajes
Un auto mensaje refleja un nuevo proceso
o método que se invoca dentro de la
operación de la misma línea de vida. Es una
especificación de un mensaje.
Auto Mensaje como Retorno
Es posible describir un retorno desde la
llamada de un auto mensaje.
Análisis y Diseño Orientado a Objeto
Mensajes Objeto
Automensajes
Graficamente
Mensaje4
Mensaje5
Análisis y Diseño Orientado a Objeto
Mensajes Objeto2
Mensajes Recurrentes
Indican
Recursividad. No es
lo mismo que un Mensaje4
automensaje
Análisis y Diseño Orientado a Objeto
Límites (boundary)
Un límite es una clase estereotipada que
modela algunos límites del sistema
Normalmente una pantalla de interfaz de
usuario.
Se usa en la fase conceptual para
capturar usuarios interactuando con el
sistema a un nivel de pantalla (o algún
otro tipo de interfaz de límite).
Análisis y Diseño Orientado a Objeto
Límite
Gráficamente
Interacción Necesaria
con Actor
Análisis y Diseño Orientado a Objeto
Entidad
Una entidad es un
almacén o
mecanismo de
persistencia que
captura la
información o el
conocimiento en un
sistema.
Gráficamente
Análisis y Diseño Orientado a Objeto
interacciones
Restricciones «requisito» Mensaje6
especiales a clases o
Una vez que han
terminado de enviarse
mensajes también
los mensajes anteriores
Ejemplo: Solicitud
de Préstamo Sistema
del banco
Aval «extends»
Evalúa Crédito
El Aval puede no
include Ejecutivo
Obtener Datos del
ser cliente
Cliente
Análisis y Diseño Orientado a Objeto
Ejercicio
Se requiere realizar el analisis y diseño
(considerando Casos de Uso, Diagrama
Conceptual (Clases) y Diagramas de
Secuencia) para un punto de venta en un
supermercado.
Este punto de venta es un sistema
automatizado con el que se registran las
ventas y se realizan los pagos (efectivo o
tarjeta de crédito)
Análisis y Diseño Orientado a Objeto
Ejercicio
Por lo general este tipo de sistemas
comprenden hardware (un computador y
un lector de código barras) y software (el
sistema que se ejecuta en el POS).
A modo de ayuda se establecen:
Panorama General
Metas
Funciones del Sistema (sólo su definición)
Análisis y Diseño Orientado a Objeto
Panorama general
Este proyecto tiene por objeto crear un sistema de
terminal para un punto de venta que se utilizará en
las ventas de un supermercado.
Metas
En términos generales, la meta es una mayor
automatización del pago en las cajas registradoras, y
dar soporte a servicios más rápidos, más baratos y
mejores. Concretamente, la meta incluye:
Pago rápido de los clientes.
Análisis rápido y exacto de las ventas.
Control automático del inventario
Análisis y Diseño Orientado a Objeto