sábado, 2 de abril de 2016

Diagramas de Interacción Parte 1



10. 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 represntadas 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 que mensajes disparan esas comunicaciones. Los diagramas de secuencia no están pensado para mostrar lógicas de procedimientos complejos. Los diagramas de secuencia muestra los objetos participando de la interacción, la secuencia de mensajes intercambiados y contiene objetos con su línea de vida, mensajes intercambiados entre objetos de una secuencia ordenada y linea de vida activa.

Estructura

  • Objetos: Los diagramas de secuencia consta de objetos que se representa de modo usual: rectángulo con nombre, mensaeje entre los objetos representados por líneas continuas con una punta de flecha y el tiempo representado como una progresión vertical. Los objetos se colocan cerca de la parte superior del diagrama de izquierda a derecha y se acomoden de manera que simplifiquen el diagrama. La extensión que esta debajo (en forma descendente) de cada objeto será una línea discontinua conocida como la línea de la vida de un objeto, junto con la línea de la de vida de un objeto rectángulo se le conoce como activación, el cual una operación que realiza el objeto la interpreta como la duración de la activación.
  • Linea 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 vidas.
  • Mensaje: Los mensajes se muestran como flechas. Los mensajes pueden ser completos, perdidos o encontrados; síncronos o asíncronos: llamadas o señales. Un mensaje síncrono es denotado por una punta de flecha oscura, el mensaje asíncrono es denotado por una punta de flecha en línea y el mensaje de retorno asíncrono detonado por una línea punteada.
  • Ocurrencia de ejecución: Un rectángulo fino a lo largo de la vida de línea denota la ocurrencia de ejecución o activación de un foco de control.
  • 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. 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 las escala de tiempo representada por un diagrama de secuencia. En el útlimo 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.
  • 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 sequencia de procesos incluidas en una marco y ejecutadas bajo circunstancias nombradas específicas. Los fragmentos disponibles son el fragmento alternative(modela estructuras if...then...else, denotación alt), fragmento Option( modela estructura switch, denotación opt), fragmento Break( modela una secuencia alternativa de eventos que se procesa en lugar de todo del resto del diagrama), fragmento Parallel(modela procesos concurrentes, denotación par), fragmento sequenciado Weak( 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, denotación "seq"), fragmento de sequenciado Strict (incluye una serie de mensajes que se deben procesar en el orden proporcionado, denotación strict), fragmento Negative (incluye una serie de mensajes inválidos, denotación neg), fragmento Critical (incluye una sección crítica), fragmento Ignore( declara un mensaje o mensajes que no son de ningún interés si este aparece en el contexto actual), fragmento Consider( es el opuesto del fragmento Ignore: cualquier mensaje que no se incluya en el fragmento Consider se debería ignorar), fragmento Assertion( designa que cualquier secuencia que no se muestra como un operando de la aserción es inválida, denotación assert) y fragmento Loop incluye una serie de mensajes que están repetidos.
  • Puerta: Es un punto de conexión para conectar un mensaje dentro de un fragmento con un mensaje fuera del fragmento. Una puerta se representa  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 del Estado: Una invariante de estado es una restricción ubicada en una línea de vida como se muestra como un rectángulo con los extremos en semi-círculos.
Ejemplo

Prestar un ejemplar de una aplicación encargada de los préstamos y reservas  de una biblioteca.

 

11. Diagrama de Comunicación: Permite modelar la interacción entre los diferentes objetos que se produce mediante mensajes en secuencia, es decir, muestra que mensajes  se pasan los objetos entre sí y en que orden. Es un diagrama muy útil, pues muestra tanto información estática, tomada del diagrama de clases, como información dinámica, tomada del diagrama de casos de uso y del diagrama de secuencia.

Estructura

  • Objetos: Un objeto se representa  con un símbolo de objeto (normalmente cuadrado o círculo) que muestra el nombre del objeto y su clase subrayada, separado por dos puntos ( objectname : classname). Puede utilizar objetos en diagramas de comunicación  de los siguientes modos como la clase de un objeto puede estar sin especificar. Habitualmente, crea un diagrama de comunicación con objetos primero y  especifica sus clases posteriormente, los objetos pueden no tener nombre, pero debería nombrarlos si desea  discriminar diferentes objetos de la misma clase, la clase de un objeto puede representarse en una diagrama de comunicación, si participa activamente en la interacción.
  • Actores: Normalmente, una instancia de actor se produce en el diagrama de comunicación, como la parte que invoca la interacción. Si dispone de varias instancias  de actor en el mismo diagrama.
  • Enlaces: Los enlaces se definen como un enlace es una relación entre objetos a través de la cual se puede enviar mensajes, en diagramas de comunicación, un enlace se muestra como una línea solida entre dos objetos, un objeto interactúa con, o, navega hasta, otros objetos a través de sus enlaces con estos objetos. Un enlace puede ser una instancia de una asociación o bien puede ser anónimo, lo que significa que la asociación no está especificada. Los flujos de mensajes se conectan a mensajes.
  • Mensajes: Es una comunicación entre objetos que transfiere información con la expectativa de que esta actividad se llevará a cabo. En diagramas de comunicación, un mensaje se muestra como una flecha etiquetada junto a un enlace. Esto significa que el enlace se utiliza para transportar, o para implementar la entrega del mensaje al objeto de destino. La flecha dirige a lo largo del enlace en la dirección del objeto de destino (el que recibe el mensaje). La flecha está etiquetada con el nombre del mensaje, y sus parámetros. La flecha también puede estar etiquetada con un número de sequencia para mostrar la secuencia  del mensaje en la interacción global. Los números de secuencia suelen utilizarse en los diagramas de comunicación, porque son el único modo de describir la secuenciación relativa de los mensajes. Un mensaje puede estar sin asignar, lo que significa que su nombre es una cadena temporal que describe el significado general del mensaje. Posteriormente, podrá asignar el mensaje especificando la operación del objeto del destino del mensaje. La operación especificada reemplazará entonces el nombre del mensaje.
Ejemplo

Diagrama  de comunicación de ejemplo para el guión de uso Autenticar usuario en un cajero.

 



No hay comentarios:

Publicar un comentario