DIAGRAMA DE INTERACCIÓN
El diagrama de interacción,
representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican
entre sí en petición a un evento. Esto implica recorrer toda la secuencia de
llamadas, de donde se obtienen las responsabilidades claramente.
Dicho diagrama puede ser
obtenido de dos partes, desde el Diagrama Estático de Clases o el de Casos de
Uso (son diferentes).
v DIAGRAMA DE SECUENCIA
Un diagrama de secuencia es
una forma de diagrama de interacción que muestra los objetos como líneas de
vida a lo largo de la página y con sus interacciones en el tiempo representadas
como mensajes dibujados como flechas desde la línea de vida origen hasta la
línea de vida destino. Los diagramas de secuencia son buenos para mostrar qué
objetos se comunican con qué otros objetos y qué mensajes disparan esas
comunicaciones. Los diagramas de secuencia no están pensados para mostrar
lógicas de procedimientos complejos.
-
Línea
de Vida
Una
línea de vida representa un participante individual en un diagrama de
secuencia. Una línea de vida usualmente tiene un rectángulo que contiene el
nombre del objeto. Si el nombre es self entonces eso indica que la línea de
vida representa el clasificador que posee el diagrama de secuencia.
Algunas veces un diagrama de
secuencia tendrá una línea de vida con un símbolo del elemento actor en la
parte superior. Este usualmente sería el caso si un diagrama de secuencia es
contenido por un caso de uso. Los elementos entidad, control y límite de los
diagramas de robustez también pueden contener líneas de vida.
-
Mensajes
Los mensajes se muestran como
flechas. Los mensajes pueden ser completos, perdidos o encontrados; síncronos o
asíncronos: llamadas o señales. En el siguiente diagrama, el primer mensaje es
un mensaje síncrono (denotado por una punta de flecha oscura), completo con un
mensaje de retorno implícito; el segundo mensaje es asíncrono (denotado por una
punta de flecha en línea) y el tercero es un mensaje de retorno asíncrono
(denotado por una línea punteada).
-
Ocurrencia
de ejecución
Un rectángulo fino a lo largo
de la línea de vida denota la ocurrencia de ejecución o activación de un foco
de control. En el diagrama anterior hay tres ocurrencias de ejecución. El
primero es el objeto origen que envía dos mensajes y recibe dos respuestas, el
segundo es el objeto destino que recibe un mensaje asíncrono y retorna una
respuesta, y el tercero es el objeto destino que recibe un mensaje asíncrono y
retorna una respuesta.
-
Mensaje
Self
Un mensaje self puede representar
una llamada recursiva de una operación, o un método llamando a otro método
perteneciente al mismo objeto. Este se muestra como cuando crea un foco de
control anidado en la ocurrencia de ejecución de la línea de vida.
-
Mensajes
perdidos y encontrados
Los mensajes perdidos son aquellos que han sido enviados pero que no han llegado al destino esperado, o que han llegado a un destino que no se muestra en el diagrama actual. Los mensajes encontrados son aquellos que llegan de un remitente no conocido, o de un remitente no conocido en el diagrama actual. Ellos se denotan yendo o llegando desde un elemento de punto final.
-
Inicio
y final de línea de vida
Una línea de vida se puede crear o destruir durante la escala de tiempo representada por un diagrama de secuencia. En el último caso, la línea de vida se termina por un símbolo de detención, representado como una cruz. En el primer caso, el símbolo al inicio de la línea de vida se muestra en un nivel más bajo de la página que el símbolo del objeto que causó la creación. El siguiente diagrama muestra un objeto que fue creado y destruido.
-
Restricciones
de tiempo y duración
En forma predeterminada, un mensaje se muestra como una línea horizontal. Ya que la línea de vida representa el pasaje de tiempo hacia abajo, cuando se modela un sistema en tiempo real, o incluso un proceso de negocios en tiempo límite, puede ser importante considerar el tiempo que toma realizar las acciones. Al configurar una restricción de duración para un mensaje, el mensaje se mostrará como una línea inclinada.
-
Fragmentos
combinados
Se estableció anteriormente que no
se espera que los diagramas de secuencia muestren lógicas de procedimientos
complejos. Siendo este el caso, hay un número de mecanismos que permiten
agregar un grado de lógicas de procedimientos a los diagramas y que a la vez
vienen bajo el encabezado de fragmentos combinados. Un fragmento combinado es
una o más secuencias de procesos incluidas en un marco y ejecutadas bajo
circunstancias nombradas específicas. Los fragmentos disponibles son:
- El fragmento
Alternative (denotedo “alt”) modela estructuras if…then…else.
- El fragmento
Option (denotado “opt”) modela estructuras switch.
- El fragmento
Break modela una secuencia alternativa de eventos que se procesa en lugar
de todo del resto del diagrama.
- El fragmento
Parallel (denotado “par”) modela procesos concurrentes.
- El fragmento
de secuenciado Weak (denotado “seq”) incluye un número de secuencias para
las cuales todos los mensajes se deben procesar en un segmento anterior,
antes de que el siguiente segmento pueda comenzar, pero que no impone
ningún secuenciado en los mensajes que no comparten una línea de vida.
- El fragmento
de secuenciado Strict (denotado “strict”) incluye una serie de mensajes
que se deben procesar en el orden proporcionado.
- El fragmento
Negative (denotado “neg”) incluye una serie de mensajes inválidos.
- El fragmento
Critical incluye una sección crítica.
- El fragmento
Ignore declara un mensaje o mensajes que no son de ningún interés si este
aparece en el contexto actual.
- El fragmento
Consider es el opuesto del fragmento Ignore: cualquier mensaje que no se
incluya en el fragmento Consider se debería ignorar.
- El fragmento
Assertion (denotado “assert”) designa que cualquier secuencia que no se
muestra como un operando de la aserción es inválida.
- El fragmento
Loop incluye una serie de mensajes que están repetidos.
El siguiente diagrama muestra un fragmento loop.
También hay una ocurrencia de
interacción, que es similar a un fragmento combinado. Una ocurrencia de
interacción es una referencia a otro diagrama que tiene la palabra “ref” en la
esquina izquierda arriba del marco, y tiene el nombre del diagrama referenciado
que se muestra en el medio del marco
-
Puerta
Una puerta es un punto de conexión para conectar un
mensaje dentro de un fragmento con un
mensaje fuera del fragmento. EA muestra
una puerta como un cuadro pequeño en un marco del
fragmento.
-
Descomposición
en parte
Un objeto puede tener más de una línea de vida que viene de ésta. Esto permite mensajes de entre e intra objetos para que se muestren en el mismo diagrama.
-
Continuaciones
/ Invariantes de Estado
Una invariante de estado es una restricción ubicada en una línea de vida que debe ser verdadera en el tiempo de ejecución. Esta se muestra como un rectángulo con los extremos en semi-circulos.
Una
continuación tiene la misma notación que una invariante de estado pero se usa
en fragmentos combinados y puede extenderse a través de más de una línea de
vida.
v
DIAGRAMA DE COLABORACIÓN
Un
Diagrama de Colaboración describe en forma de un grafo el comportamiento de
sistemas, subsistemas y operaciones, representando los objetos que intervienen,
así como los mensajes que intercambian, enumerados en el tiempo. Un diagrama de
colaboración es un tipo de diagrama que muestra las interacciones entre objetos
organizadas y enlazados entre ellos.
Los diagramas de colaboración muestran las interacciones que ocurren entre los objetos que participan en una situación determinada. Esta es más o menos la misma información que la mostrada por los diagramas de secuencia, pero destacando la forma en que las operaciones se producen en el tiempo, mientras que los diagramas de colaboración fijan el interés en las relaciones entre los objetos y su topología.
Llamada: Invoca una operación sobre un objeto. Puede ser a sí mismo.
OPERACION DE B(A,B)
OBJETO A ---------------------------------------->OBJETO B
OPERACION DE B(A,B)
OBJETO A ---------------------------------------->OBJETO B
Retorno:El receptor de una llamada devuelve un valor al emisor, si es necesario.
PROMEDIO
OBJETO A <----------------------------------------OBJETO B
Envío: Envía una señal a un objeto.
NOTIFICAR()
OBJETO A ----------------------------------------> OBJETO B
En cuanto a la representación, un
Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre
los mismos, y con los mensajes que se intercambian dichos objetos. Los mensajes
son flechas que van junto al enlace por el que “circulan”, y con el nombre del
mensaje y los parámetros (si los tiene) entre paréntesis. Cada mensaje lleva un
número de secuencia que denota cuál es el mensaje que le precede, excepto el
mensaje que inicia el diagrama, que no lleva número de secuencia.
Consiste en:
*Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común.
*Consiste especificar un contrato entre objetos
*Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace".
Un Diagrama de Colaboración muestra una interacción organizada basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere).
UML –Interacciones
·
Los objetos interactúan entre sí pasándose mensajes.
·
Los objetos se conectan a través de enlaces.
Mensaje: especifica transmisión de información entre objetos.
Enlace: especifica un camino a lo largo del cual un objeto puede enviar un mensaje a otro objeto.
*Es una conexión semántica entre objetos.
*Es una instancia de una relación.
*Puede contener los adornos de la relación.
Su utilidad
·
Maneja la comunicación entre los elementos del
sistema.
·
Cómo deben colaborar los objetos del sistema para
llevar a cabo una operación.
·
Muestran cómo será implementada la operación.
·
Son un medio el diseño de las clases del sistema.
Elementos
Objetos
o Roles: nodos del grafo.
Enlaces
o comunicaciones: arcos del grafo.
Mensajes: llevan número de
secuencia y flecha dirigida.
Anidamiento: se utiliza la
numeración decimal. ejemplo: 1, 1.1, 1.1.1 ........
Iteración: colocar un *
antes del número de secuencia y una cláusula de condición, si es necesario.
ejemplo : *[x > 0].
Bifurcación: los cambios
alternativos tendrán el mismo número de secuencia, seguido del múmero de
subsecuencia, y se deben distinguir por una condición.
Elementos básicos
Un objeto se representa con
un rectángulo, que contiene el nombre y la clase del objeto en un formato
nombreObjeto: nombreClase.
Enlaces: Un enlace es una instancia de una asociación
en un diagrama de clases. Se representa como una linea contínua que une a dos
objetos. Esta acompañada por un número que indica el orden dentro de la interacción
y por un estereotipo que indica que tipo de objeto recibe el mensaje.
Flujo de mensajes: Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace.
Flujo de mensajes: Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace.
Marcadores de creación y destrucción de objetos:
Puede mostrarse en la gráfica cuáles objetos son creados y destruidos,
agregando una restricción con la palabra new o delete,
respectivamente, cercana al rectángulo del objeto
Ejemplos:
Diagrama de Secuencia
La dimensión vertical de un diagrama de secuencia representa el tiempo, que transcurre a medida que se avanza hacia abajo en la página. La dimensión horizontal representa los diferentes actores u objetos.
Losobjeto se representan comoobjetolínea de vida de objeto, es decir, en función de su existencia en un momento determinado. Ajuste la longitud de la línea para indicar la creación o destrucción de un objeto.
Las flechas representan objetolínea de vida de objetomensaje entre objetos. Un objeto también puede enviarse un mensaje a sí mismo.
Agregue una objetolínea de vida de objetomensajeactivación (también denominada foco de control) a una línea de vida para indicar el período durante el que un objeto realiza una acción.
Los mensajes de retorno se muestran como línea de guiones.
Diagrama de Colaboración
Diagrama de colaboración para el caso de uso: Prestar un ejemplar de una aplicación encargada de los préstamos y reservas de una biblioteca.
RESUMEN
DIAGRAMA
DE INTERACCIÓN
El diagrama de interacción, representa la forma en como un Cliente
(Actor) u Objetos (Clases) se comunican entre sí en petición a un evento. Esto
implica recorrer toda la secuencia de llamadas, de donde se obtienen las
responsabilidades claramente.
DIAGRAMA DE SECUENCIA
Un diagrama de secuencia es una forma
de diagrama de interacción que muestra los
Objetos como líneas de vida a lo largo
de la página y con sus interacciones en el
tiempo representadas como mensajes
dibujados como flechas desde la línea de vida
origen hasta la línea de vida destino.
Línea de Vida
Una línea de vida representa un
participante individual en un diagrama de secuencia.
Mensajes
Los mensajes se muestran como flechas.
Los mensajes pueden ser completos,
perdidos o encontrados; síncronos o
asíncronos: llamadas o señales.
Ocurrencia de ejecución
Un rectángulo fino a lo largo de la
línea de vida denota la ocurrencia de ejecución
Activación de un foco de control.
Mensaje Self
Un mensaje self puede representar una
llamada recursiva de una operación, o un
método llamando a otro método
perteneciente al mismo objeto.
Mensajes perdidos y encontrados
Los mensajes perdidos son aquellos que
han sido enviados pero que no han llegado
al destino esperado, o que han llegado
a un destino que no se muestra en el diagrama
actual.
Inicio y final de línea de vida
Una línea de vida se puede crear o
destruir durante la escala de tiempo representada
por un diagrama de secuencia.
Restricciones de tiempo y duración
En forma predeterminada, un mensaje se muestra como una línea horizontal.
DIAGRAMA DE
COLABORACIÓN
Un Diagrama de Colaboración describe en forma de un
grafo el comportamiento de sistemas, subsistemas y operaciones, representando
los objetos que intervienen, así como los mensajes que intercambian, enumerados
en el tiempo.
Llamada: Invoca una operación sobre un
objeto. Puede ser a sí mismo.
OPERACION DE B(A,B)
OBJETO A ---------------------------------------->OBJETO B
Retorno:El receptor de una llamada devuelve un valor al emisor, si es necesario.
PROMEDIO
OBJETO A <----------------------------------------OBJETO B
Envío: Envía una señal a un objeto.
NOTIFICAR()
OBJETO A ----------------------------------------> OBJETO B
Elementos básicos
Un objeto se representa con un rectángulo, que
contiene el nombre y la clase del objeto en un formato nombreObjeto:
nombreClase.
Enlaces: Un enlace es una
instancia de una asociación en un diagrama de clases. Se representa como una
linea contínua que une a dos objetos. Esta acompañada por un número que indica
el orden dentro de la interacción y por un estereotipo que indica que tipo de
objeto recibe el mensaje.
Flujo de mensajes: Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace.
Marcadores de creación y destrucción de objetos: Puede
mostrarse en la gráfica cuáles objetos son creados y destruidos, agregando una
restricción con la palabra new o delete,
respectivamente, cercana al rectángulo del objeto
SUMARY
Interaction diagram
The interaction diagram represents the way in which a client (Actor) or objects (classes) communicate with each other on request to an event. This means going through the entire sequence of calls, where responsibilities are obtained clearly.
Sequence Diagram
A sequence diagram is an interaction diagram form showing
Objects as lifelines along the page and their interactions in the
represented as arrows drawn from posts as the lifeline time
origin to the destination lifeline.
Life line
A lifeline represents an individual participant in a sequence diagram.
Messages
The messages are shown as arrows. Messages can be complete,
lost and found; synchronous or asynchronous: calls or signals.
Occurrence of execution
A thin rectangle along the lifeline denotes the execution occurrence
Activating a focus of control.
Self Message
A self message can represent a recursive call of an operation, or
method calling another method belonging to the same object.
Messages Lost and Found
Lost messages are those that have been sent but have not reached
the destination expected, or have come to a destination that is not shown in the diagram
current.
Start and end of lifeline
A lifeline can be created or destroyed during the timescale represented
by a sequence diagram.
Constraints of time and duration
By default, a message is displayed as a horizontal line.
Collaboration diagram
A collaboration diagram describes as a graph the behavior of systems, subsystems and operations, representing the objects involved, as well as exchanging messages listed in time.
Call: Invokes an operation on an object. You can be yourself.
OPERATION B (A, B)
---------------------------------------- OBJECT> Object B
Return: The recipient of a call returns a value to the sender, if necessary.
AVERAGE
OBJECT <OBJECT B ----------------------------------------
Shipping: It sends a signal to an object.
NOTIFY()
---------------------------------------- OBJECT> Object B
Core items
An object is represented by a rectangle containing the name and class of the object in a objname format: ClassName.
Links: A link is an instance of an association in a class diagram. It is represented as a continuous line that connects two objects. This accompanied by a number indicating the order in the interaction and a stereotype that indicates what type of object receiving the message.
Message Flow: Expresses sending a message. It is represented by an arrow pointing close to a link.
Markers of creation and destruction of objects: graphics can be displayed in which objects are created and destroyed, adding a constraint with the word new or delete, respectively, near the rectangle object
RECOMENDACIONES
Utilizar diagrama global de
interacción
Utilizar diagrama de caso de
uso, para construcción del sistema
No utilizar diagrama de tiempo
CONCLUSIONES
Un buen diagrama de secuencia
debe dejar claro cuáles son los objetos involucrados, cómo colaboran dichos
objetos para realizar el caso de uso, y qué objetos se crean durante el caso de
uso y cuáles existían previamente.
Linkografia
Video de Referencia
Link de la Diapositiva
Muy buen trabajo. Saludos.
ResponderEliminar