Todo Lo Que Necesitas Saber Sobre Los Diagramas De Secuencia
Los diagramas de secuencia UML son diagramas de interacción que detallan cómo se llevan a cabo las operaciones. Capturan la interacción entre objetos en el contexto de una colaboración. Los diagramas de secuencia se centran en el tiempo y muestran visualmente el orden de la interacción mediante el uso del eje vertical del diagrama para representar en el tiempo qué mensajes se envían y cuándo.
¿Qué es un diagrama de secuencia?
Un diagrama de secuencia, también conocido como diagrama de secuencia, diagrama secuencial o diagrama secuencial, es un diagrama de interacción UML. Muestra la colaboración dinámica entre múltiples objetos al describir el orden temporal en el que se envían los mensajes entre ellos.
En UML, un objeto en un diagrama de secuencia se dibuja como un rectángulo que contiene el nombre del objeto, subrayado. Un objeto se puede nombrar de tres maneras: el nombre del objeto, el nombre del objeto y su clase, o simplemente el nombre de la clase (objeto anónimo). Las tres formas de nombrar un objeto se muestran en la Figura siguiente.
EDITE ESTE DIAGRAMA DE SECUENCIA
Los objetos del diagrama de secuencia
- Muestra el orden de las interacciones entre los objetos. Modele el comportamiento de interacción como paso de mensajes y muestre la interacción entre objetos de forma dinámica describiendo cómo se envían y reciben mensajes entre ellos.
- Comparado con otros diagramas UML, un diagrama de secuencia temporal pone más énfasis en el orden cronológico del comportamiento de interacción.
- Puede describir visualmente el proceso de concurrencia.
Los elementos del diagrama de secuencia
1. Actor – Actores del sistema, que pueden ser personas, máquinas, otros sistemas, subsistemas; utilizado para representar en el diagrama de secuencia temporal.
2. Objeto: hay tres formas de nombrar objetos:
- Incluye el nombre del objeto y el nombre de la clase, por ejemplo: clase en vivo: clase, en el diagrama de serie temporal, con “objeto: clase”.
- Muestra solo el nombre de la clase, es decir, es un objeto anónimo, por ejemplo: :curso; en el cronograma, con “:class”.
- Muestra solo el nombre del objeto pero no el nombre de la clase, por ejemplo: profesor; en el cronograma, está representado por “objeto”.
Los tres métodos de nomenclatura están disponibles, que es el más fácil de entender para las personas que leen el cuadro cronológico, elija cuál.
3. El orden de los objetos
- El orden izquierdo y derecho de los objetos no es importante, pero para hacer un diagrama claro y prolijo, se deben seguir los siguientes dos principios: coloque los objetos con interacciones frecuentes lo más juntos posible;
- Coloque el objeto que inicializa toda la actividad de interacción en el extremo izquierdo.
Línea de vida
Una línea discontinua que se extiende hacia abajo desde el icono del objeto en el diagrama de tiempo, que indica cuánto tiempo ha existido el objeto.
- El foco de control (también conocido como período de activación) es el símbolo del período de tiempo durante el cual el objeto realizará la operación correspondiente. Puede interpretarse como un par de corchetes { } en la semántica C; representado por un pequeño rectángulo. Representa el período durante el cual un elemento está realizando una operación. La parte superior e inferior del rectángulo están alineadas con el tiempo de inicio y finalización respectivamente.
- Los mensajes generalmente se clasifican como Mensaje síncrono, Mensaje asíncrono y Mensaje de retorno.
Tenga en cuenta que
- El remitente de un mensaje pasa el control al receptor del mensaje, luego detiene la actividad y espera a que el receptor del mensaje renuncie o devuelva el control que se utiliza para indicar la sincronización.
- El remitente de un mensaje pasa la señal al receptor del mensaje a través del mensaje y luego continúa su actividad sin esperar a que el receptor devuelva el mensaje o control. El receptor y el remitente de un mensaje asíncrono están trabajando simultáneamente.
- El mensaje de retorno indica un retorno de una llamada de procedimiento.
Mensajes de creación y destrucción
Los participantes no necesariamente viven durante toda la duración de la interacción de un diagrama de secuencia. Los participantes se pueden crear y destruir de acuerdo con los mensajes que se transmiten.
Un mensaje constructor crea su receptor. Los remitentes que ya existen al comienzo de la interacción se colocan en la parte superior del diagrama. Los objetivos que se crean durante la interacción mediante una llamada de constructor se colocan automáticamente más abajo en el diagrama.
Un mensaje destructor destruye a su receptor. Hay otras formas de indicar que un objetivo se destruye durante una interacción. Solo cuando la destrucción de un objetivo se establece en ‘después del destructor’ tienes que usar un destructor.
Mensaje no instantáneo
Los mensajes a menudo se consideran instantáneos, por lo que el tiempo que tardan en llegar al receptor es insignificante. Los mensajes se dibujan como una flecha horizontal. Para indicar que pasa cierto tiempo antes de que el receptor reciba un mensaje, se usa una flecha inclinada .
Fragmentos combinados
Un fragmento de secuencia se representa como un cuadro denominado fragmento combinado, que encierra una parte de la interacción en el gráfico de secuencia. El operador de fragmento (en la esquina superior izquierda) indica el tipo de fragmento. Los fragmentos interactivos le permiten agrupar mensajes relacionados en un diagrama de secuencia. Hay varios tipos de fragmentos predefinidos disponibles, lo que le permite especificar resultados alternativos, mensajes paralelos o bucles.
El fragmento en el diagrama de secuencia son marcos rectangulares dibujados sobre una parte del diagrama. Representan la estructura condicional que afecta el flujo de mensajes. Estos marcos se denominan fragmentos combinados en la especificación UML y los contenedores se denominan operandos de interacción. Los marcos están etiquetados en la esquina superior izquierda. Esta etiqueta se denomina operador de interacción en UML.
Ejemplo: colocar un escenario de pedido
Un miembro del barco que desea realizar un pedido en línea. Los artículos solicitados se enviarán al miembro por mensajería o correo ordinario, según su condición de miembro (VIP, miembro regular). Si el miembro selecciona la opción de notificación en el pedido, la tienda enviará una notificación de confirmación al miembro.
EDITE ESTE DIAGRAMA DE SECUENCIA
Otro ejemplo: Realizar pedido
Un diagrama de secuencia es un diagrama bidimensional con el eje horizontal que representa objetos y el eje vertical que representa el tiempo, donde los mensajes se transmiten horizontalmente entre objetos y se organizan verticalmente en orden cronológico. El ejemplo muestra un diagrama de secuencia con tres objetos participantes: Cliente, Pedido y Stock. Sin siquiera conocer la notación formalmente, probablemente puedas hacerte una buena idea de lo que está pasando.
- Paso 1 y 2: El cliente crea un pedido.
- Paso 3: el cliente agrega artículos al pedido.
- Paso 4, 5: Se verifica la disponibilidad de cada artículo en el inventario.
- Paso 6, 7, 8: Si el producto está disponible, se agrega al pedido.
- Paso 9 volver
- Paso 10, 11: guardar y destruir orden
EDITE ESTE DIAGRAMA DE SECUENCIA
Fragmentos de combinación de uso común
Los tipos de fragmentos incluyen ref, afirmar, bucle, romper, alt, opt y neg, ref, sd.
Operador | Sentido |
alternativa | Fragmentos múltiples alternativos: solo se ejecutará aquel cuya condición sea verdadera. |
optar | Opcional : el fragmento se ejecuta solo si la condición proporcionada es verdadera. Equivalente a un alt solo con un rastro. |
par | Paralelo : cada fragmento se ejecuta en paralelo. |
círculo | Bucle : el fragmento puede ejecutarse varias veces y la protección indica la base de la iteración. |
crítico | Región crítica : el fragmento solo puede tener un subproceso ejecutándolo a la vez. |
negativo | Negativo : el fragmento muestra una interacción no válida. |
árbitro | Referencia : se refiere a una interacción definida en otro diagrama. El marco se dibuja para cubrir las líneas vitales involucradas en la interacción. Puede definir parámetros y un valor de retorno. |
Dakota del Sur | Diagrama de secuencia : se utiliza para rodear un diagrama de secuencia completo. |
Tenga en cuenta que:
- Es posible combinar marcos para capturar, por ejemplo, bucles o ramas.
- Palabras clave de fragmentos combinados : alt, opt, break, par, seq, strict, neg, Critical, ignore, consider, assert y loop.
- Las restricciones se utilizan generalmente para mostrar las restricciones de tiempo en los mensajes. Pueden aplicarse a la sincronización de un mensaje o intervalos entre mensajes.
Ejemplos de fragmentos combinados
(1) Elección (Alt): un fragmento alternativo proporciona varios fragmentos alternativos protegidos (separados por operandos de interacción), es decir, se utiliza para especificar elecciones mutuamente excluyentes entre dos o más secuencias de mensajes, equivalente al clásico if…else…:
EDITE ESTE DIAGRAMA DE SECUENCIA
(2) Opción (Opt): contiene una secuencia de posibles ocurrencias o no ocurrencias, lo que significa que un fragmento opcional solo se ejecuta si alguna condición de protección es verdadera:
EDITE ESTE DIAGRAMA DE SECUENCIA
(3) Bucle (Loop) – Un bucle permite repetir un fragmento hasta que alguna condición de guarda se vuelve falsa:
EDITE ESTE DIAGRAMA DE SECUENCIA
Romper
Una ruptura permite escapar de un bucle envolvente cuando alguna protección se vuelve verdadera:
EDITE ESTE DIAGRAMA DE SECUENCIA
Los descansos se usan más comúnmente para modelar el manejo de excepciones. Este ejemplo de diagrama de secuencia utiliza un fragmento de combinación de interrupción porque trata la condición de saldo <cantidad como una excepción en lugar de un flujo alternativo. Para leer este ejemplo, comenzamos en la esquina superior izquierda de la secuencia y leemos hacia abajo. Cuando la secuencia llega al “saldo” del valor de retorno, verifica si el saldo es menor que la cantidad. Si el saldo no es inferior a la cantidad, el siguiente mensaje enviado es el mensaje addDebitTransaction y la secuencia continúa con normalidad.
Paralela
Un fragmento paralelo permite que múltiples interacciones se ejecuten en paralelo:
EDITE ESTE DIAGRAMA DE SECUENCIA
marcos
Un marco proporciona una forma de encapsular un diagrama de secuencia.
EDITE ESTE DIAGRAMA DE SECUENCIA
Referencia (Referencia)
Se puede hacer referencia a un cuadro en otro diagrama de secuencia:
EDITE ESTE DIAGRAMA DE SECUENCIA
protocolos
EDITE ESTE DIAGRAMA DE SECUENCIA
Colaboraciones
EDITE ESTE DIAGRAMA DE SECUENCIA
Escenarios
EDITE ESTE DIAGRAMA DE SECUENCIA
Señales y Recepciones
Un subastador transmite un precio propuesto para un artículo a una sala llena de ansiosos postores. Cuando un postor escucha la propuesta, decide aceptar el precio o no.
En una subasta automatizada, ¿cómo transmitirá el subastador la propuesta? Un objeto puede tener operaciones designadas que deberían llamarse automáticamente si se reciben ciertos tipos de señales de transmisión. Estos métodos se denominan recepciones. Las señales son un tipo especial de clase. El nombre de la recepción suele coincidir con el nombre de la señal. Las recepciones se muestran en un compartimento separado:
EDITE ESTE DIAGRAMA DE SECUENCIA
En un diagrama de secuencia podemos representar una señal como una señal asíncrona, y la recepción como una invocación de recepción:
EDITE ESTE DIAGRAMA DE SECUENCIA
Crítico
EDITE ESTE DIAGRAMA DE SECUENCIA
Otros tipos de fragmentos
- Estricto
- Afirmar
- Considerar
- Pasar por alto
- Región
- negativo
Resumen de la notación del diagrama de secuencia
Notación Descripción | Representación visual |
---|---|
Actor
Tenga en cuenta que:
|
|
Línea de vida
|
|
Activaciones
|
|
Mensaje de llamada
|
|
Mensaje de vuelta
|
|
Automensaje
|
|
Mensaje recursivo
|
|
Crear un mensaje
|
|
Destruir mensaje
|
|
Mensaje de duración
|
|
NotaUna nota (comentario) brinda la posibilidad de adjuntar varios comentarios a los elementos. Un comentario no tiene fuerza semántica, pero puede contener información útil para un modelador. |