

En ingeniería de software , un diagrama de secuencia [ 1 ] muestra las interacciones de los procesos organizadas en una secuencia temporal. Este diagrama representa los procesos y objetos involucrados, así como la secuencia de mensajes intercambiados según sea necesario para llevar a cabo la funcionalidad. Los diagramas de secuencia suelen asociarse con la realización de casos de uso en el modelo arquitectónico 4+1 del sistema en desarrollo. A veces, los diagramas de secuencia se denominan diagramas de eventos o escenarios de eventos .
Para un escenario particular de un caso de uso , los diagramas muestran los eventos que generan los actores externos, su orden y los posibles eventos entre sistemas. [ 2 ] El diagrama enfatiza los eventos que cruzan el límite del sistema, desde los actores hacia los sistemas. Se debe realizar un diagrama de secuencia del sistema para el escenario principal de éxito del caso de uso y para escenarios alternativos frecuentes o complejos.
Existen dos tipos de diagramas de secuencia:
- Diagrama de secuencia (DS) : Una versión estándar del diagrama de secuencia describe cómo funciona el sistema, y cada objeto dentro del sistema se describe de forma específica.
- Diagrama de secuencia del sistema (SSD) : Todos los sistemas se tratan como una caja negra , donde no se representan todas las clases que posee el sistema. En su lugar, solo se representa un objeto llamado Sistema.
Elementos clave de los diagramas de secuencia
Un diagrama de secuencia muestra, mediante líneas verticales paralelas ( líneas de vida ), los diferentes procesos u objetos que coexisten, y, mediante flechas horizontales, los mensajes intercambiados entre ellos en el orden en que se producen. Esto permite la especificación gráfica de escenarios de ejecución sencillos.
Un diagrama de secuencia del sistema debe especificar y mostrar lo siguiente:
- Actores externos
- Mensajes (métodos) invocados por estos actores
- Valores de retorno (si los hay) asociados a mensajes anteriores
- Indicación de cualquier bucle o área de iteración
Lectura de un diagrama de secuencia de sistema
Los profesionales, al desarrollar un proyecto, suelen utilizar diagramas de secuencia de sistemas para ilustrar cómo se realizan ciertas tareas entre los usuarios y el sistema. Estas tareas pueden ser repetitivas, simples o complejas. El objetivo es ilustrar el caso de uso de forma visual. Para construir un diagrama de secuencia de sistemas, es necesario tener conocimientos del lenguaje unificado de modelado (UML). Estos modelos muestran la lógica que subyace a los actores (personas que afectan al sistema) y al sistema en la ejecución de la tarea. La lectura de un diagrama de secuencia comienza en la parte superior, con el/los actor/es o sistema/s (ubicado/s en la parte superior de la página). Debajo de cada actor o sistema hay líneas punteadas largas, llamadas "líneas de vida", que están conectadas a ellos. Las acciones se realizan mediante líneas que se extienden entre estas líneas de vida. La conexión entre una línea de acción y una línea de vida muestra la interacción entre el actor o sistema. Los mensajes suelen aparecer en la parte superior o inferior de un diagrama de secuencia de sistemas para ilustrar la acción en detalle. Por ejemplo, una solicitud de un actor para iniciar sesión se representaría mediante login (nombre de usuario, contraseña). Después de realizar cada acción, la respuesta o siguiente acción se ubica debajo de la anterior. Leyendo atentamente las líneas, se puede observar en detalle cómo se realizan ciertas acciones en el modelo proporcionado y en qué orden.
Diagrama de bloques de construcción
Si la línea de vida es la de un objeto, demuestra un rol. Dejar el nombre de la instancia en blanco puede representar instancias anónimas y sin nombre. → Los mensajes, escritos con flechas horizontales con el nombre del mensaje escrito encima de ellas, muestran interacción. Las puntas de flecha sólidas representan llamadas síncronas, las puntas de flecha abiertas representan mensajes asíncronos y las líneas punteadas representan mensajes de respuesta. [ 3 ] Si un llamador envía un mensaje síncrono, debe esperar hasta que el mensaje termine, como invocar una subrutina. Si un llamador envía un mensaje asíncrono, puede continuar procesando y no necesita esperar una respuesta. Las llamadas asíncronas están presentes en aplicaciones multihilo, aplicaciones controladas por eventos y en middleware orientado a mensajes . Los cuadros de activación, o cuadros de llamada a método , son rectángulos opacos dibujados sobre las líneas de vida para representar que los procesos se están realizando en respuesta al mensaje (ExecutionSpecifications en UML ).
Los objetos que llaman a métodos sobre sí mismos usan mensajes y agregan nuevos cuadros de activación encima de los demás para indicar un nivel adicional de procesamiento . Si un objeto se destruye (se elimina de la memoria ), se dibuja una X debajo de la línea de vida y la línea discontinua deja de dibujarse debajo de ella. Esto debería ser el resultado de un mensaje, ya sea del propio objeto o de otro.
Un mensaje enviado desde fuera del diagrama puede representarse mediante un mensaje que se origina en un círculo relleno ( mensaje encontrado en UML) o en un borde del diagrama de secuencia ( puerta en UML).
UML ha introducido mejoras significativas en las capacidades de los diagramas de secuencia. La mayoría de estas mejoras se basan en la idea de fragmentos de interacción [ 4 ] , que representan partes más pequeñas de una interacción más amplia. Se combinan varios fragmentos de interacción para crear una variedad de fragmentos combinados [ 5 ] , que luego se utilizan para modelar interacciones que incluyen paralelismo, bifurcaciones condicionales e interacciones opcionales.
Véase también
Referencias
- ↑ "Diagramas de secuencia". Lenguaje Unificado de Modelado 2.5.1 . Documento OMG formal/2017-12-05. Organización de Desarrollo de Estándares del Grupo de Gestión de Objetos (OMG SDO). Diciembre de 2017. pág. 595.
- ↑ Diagramas de secuencia del sistema
- ↑ OMG (2011). Lenguaje de modelado unificado de OMG (OMG UML), Superestructura, V2.4.1 , pág. 507.
- ↑ OMG (2008). Lenguaje Unificado de Modelado de OMG (OMG UML), Superestructura, V2.1.2 , pág. 485.
- ↑ OMG (2007). Lenguaje Unificado de Modelado de OMG (OMG UML), Superestructura, V2.1.2 . pág. 467.
Enlaces externos
- "Acerca de la especificación del lenguaje unificado de modelado, versión 2.5.1" . Organización de desarrollo de estándares del Grupo de gestión de objetos (OMG SDO). Diciembre de 2017.
- Introducción a los diagramas de secuencia UML 2 por Scott W. Ambler.
- Una breve introducción a los diagramas de secuencia UML. Archivado el 11 de enero de 2010 en Wayback Machine por Yanic Inghelbrecht.
- Diagramas de secuencia UML 2
- Diagramas del Lenguaje Unificado de Modelado
- Ingeniería de sistemas