En esta publicación discutimos los diagramas de secuencia. El lenguaje de modelado unificado (UML) es un lenguaje de modelado en el campo de la ingeniería de software que tiene como objetivo establecer formas estándar para visualizar el diseño de un sistema. UML guía la creación de múltiples tipos de diagramas, como diagramas de interacción, estructura y comportamiento. Un diagrama de secuencia es el diagrama de interacción más utilizado . Diagrama de interacción: un diagrama de interacción se utiliza para mostrar el comportamiento interactivo de un sistema. Dado que visualizar las interacciones en un sistema puede ser una tarea engorrosa, utilizamos diferentes tipos de diagramas de interacción para capturar varias características y aspectos de la interacción en un sistema. Diagramas de secuencia –Un diagrama de secuencia simplemente representa la interacción entre objetos en un orden secuencial, es decir, el orden en el que tienen lugar estas interacciones. También podemos usar los términos diagramas de eventos o escenarios de eventos para referirnos a un diagrama de secuencia. Los diagramas de secuencia describen cómo y en qué orden funcionan los objetos en un sistema. Estos diagramas son ampliamente utilizados por empresarios y desarrolladores de software para documentar y comprender los requisitos de los sistemas nuevos y existentes.
Notaciones del diagrama de secuencia –
- Actores: un actor en un diagrama UML representa un tipo de rol en el que interactúa con el sistema y sus objetos. Es importante notar aquí que un actor siempre está fuera del alcance del sistema que pretendemos modelar utilizando el diagrama UML. Figura: símbolo de notación para actor Usamos actores para representar varios roles, incluidos usuarios humanos y otros sujetos externos. Representamos a un actor en un diagrama UML utilizando una notación de persona fija. Podemos tener múltiples actores en un diagrama de secuencia. Por ejemplo, aquí el usuario en el sistema de reserva de asientos se muestra como un actor donde existe fuera del sistema y no es parte del sistema. Figura: un actor que interactúa con un sistema de reserva de asientos.
- Líneas de vida: una línea de vida es un elemento con nombre que representa a un participante individual en un diagrama de secuencia. Entonces, básicamente, cada instancia en un diagrama de secuencia está representada por una línea de vida. Los elementos de la línea de vida se encuentran en la parte superior de un diagrama de secuencia. El estándar en UML para nombrar una línea de vida sigue el siguiente formato: Nombre de la instancia: Figura del nombre de la clase: Línea de vida. Mostramos una línea de vida en un rectángulo llamado cabeza con su nombre y tipo. La cabeza está ubicada en la parte superior de una línea discontinua vertical (referida como el tallo) como se muestra arriba. Si queremos modelar una instancia sin nombre, seguimos el mismo patrón excepto que ahora la parte del nombre de la línea de vida se deja en blanco. Diferencia entre un salvavidas y un actor:Una línea de vida siempre representa un objeto interno del sistema, mientras que los actores se utilizan para representar objetos externos al sistema. El siguiente es un ejemplo de un diagrama de secuencia: Figura: un diagrama de secuencia
- Mensajes: la comunicación entre objetos se representa mediante mensajes. Los mensajes aparecen en orden secuencial en la línea de vida. Representamos mensajes usando flechas. Las líneas de vida y los mensajes forman el núcleo de un diagrama de secuencia. Los mensajes se pueden clasificar en términos generales en las siguientes categorías : Figura: un diagrama de secuencia con diferentes tipos de mensajes
- Mensajes sincrónicos: un mensaje sincrónico espera una respuesta antes de que la interacción pueda avanzar. El remitente espera hasta que el receptor haya completado el procesamiento del mensaje. La persona que llama continúa solo cuando sabe que el receptor ha procesado el mensaje anterior, es decir, recibe un mensaje de respuesta. Una gran cantidad de llamadas en la programación orientada a objetos son sincrónicas. Usamos una punta de flecha sólida para representar un mensaje síncrono. Figura: un diagrama de secuencia que usa un mensaje síncrono
- Mensajes asíncronos: un mensaje asíncrono no espera una respuesta del receptor. La interacción avanza independientemente de que el receptor procese o no el mensaje anterior. Usamos una punta de flecha rayada para representar un mensaje asíncrono.
- Mensaje de creación: usamos un mensaje de creación para instanciar un nuevo objeto en el diagrama de secuencia. Hay situaciones en las que una llamada de mensaje en particular requiere la creación de un objeto. Se representa con una flecha punteada y una palabra de creación etiquetada en ella para especificar que es el símbolo de mensaje de creación. Por ejemplo, la creación de un nuevo pedido en un sitio web de comercio electrónico requeriría la creación de un nuevo objeto de la clase Pedido. Figura: una situación en la que se usa crear mensaje
- Eliminar mensaje: utilizamos un mensaje de eliminación para eliminar un objeto. Cuando se desasigna la memoria de un objeto o se destruye dentro del sistema, usamos el símbolo Eliminar mensaje. Destruye la ocurrencia del objeto en el sistema. Está representado por una flecha que termina en una x. Por ejemplo: en el siguiente escenario, cuando el usuario recibe el pedido, el objeto de la clase de pedido puede destruirse. Figura: un escenario donde se usa el mensaje de eliminación
- Automensaje: pueden surgir ciertos escenarios en los que el objeto necesita enviarse un mensaje a sí mismo. Dichos mensajes se denominan Automensajes y se representan con una flecha en forma de U. Figura: automensaje Por ejemplo, considere un escenario en el que el dispositivo desea acceder a su cámara web. Tal escenario se representa mediante un automensaje. Figura: un escenario en el que se utiliza un automensaje
- Mensaje de respuesta: los mensajes de respuesta se utilizan para mostrar el mensaje que se envía desde el receptor al remitente. Representamos un mensaje de devolución/respuesta usando una punta de flecha abierta con una línea de puntos. La interacción avanza solo cuando el receptor envía un mensaje de respuesta. Figura: mensaje de respuesta. Por ejemplo, considere el escenario en el que el dispositivo solicita una foto del usuario. Aquí el mensaje que muestra la foto que se está enviando es un mensaje de respuesta. Figura: escenario en el que se utiliza un mensaje de respuesta
- Mensaje encontrado: un mensaje encontrado se usa para representar un escenario en el que una fuente desconocida envía el mensaje. Se representa mediante una flecha dirigida hacia una línea de vida desde un punto final. Por ejemplo: Considere el escenario de una falla de hardware. Figura: mensaje encontrado Puede deberse a múltiples razones y no estamos seguros de qué causó la falla del hardware. Figura: un escenario donde se usa el mensaje encontrado
- Mensaje perdido: un mensaje perdido se utiliza para representar un escenario en el que el sistema no conoce al destinatario. Se representa mediante una flecha dirigida hacia un punto final de una línea de vida. Por ejemplo: Considere un escenario donde se genera una advertencia. Figura: mensaje perdido La advertencia puede generarse para el usuario u otro software/objeto con el que está interactuando la línea de vida. Dado que el destino no se conoce de antemano, usamos el símbolo de mensaje perdido. Figura: un escenario donde se usa el mensaje perdido
- Guardias: para modelar condiciones usamos guardias en UML. Se utilizan cuando necesitamos restringir el flujo de mensajes con el pretexto de que se cumple una condición. Los guardias juegan un papel importante al permitir que los desarrolladores de software conozcan las restricciones asociadas a un sistema o un proceso en particular. Por ejemplo: Para poder retirar efectivo, tener un saldo mayor a cero es una condición que se debe cumplir como se muestra a continuación. Figura: diagrama de secuencia usando un protector
Un diagrama de secuencia para un reproductor de música basado en emociones – Figura – un diagrama de secuencia para un reproductor de música basado en emociones El diagrama de secuencia anterior muestra el diagrama de secuencia para un reproductor de música basado en emociones:
- En primer lugar, el usuario abre la aplicación.
- Luego, el dispositivo obtiene acceso a la cámara web.
- La cámara web captura la imagen del usuario.
- El dispositivo utiliza algoritmos para detectar el rostro y predecir el estado de ánimo.
- Luego solicita la base de datos para el diccionario de posibles estados de ánimo.
- El estado de ánimo se recupera de la base de datos.
- El estado de ánimo se muestra al usuario.
- La música se solicita de la base de datos.
- La lista de reproducción se genera y finalmente se muestra al usuario.
Usos de los diagramas de secuencia:
- Se utiliza para modelar y visualizar la lógica detrás de una función, operación o procedimiento sofisticado.
- También se utilizan para mostrar detalles de los diagramas de casos de uso de UML.
- Se utiliza para comprender la funcionalidad detallada de los sistemas actuales o futuros.
- Visualice cómo se mueven los mensajes y las tareas entre objetos o componentes en un sistema.
Referencias – El diagrama de secuencia – Diagrama de secuencia de IBM – sparxsystems Este artículo es una contribución de Ankit Jain . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA