El documento explica qué es un diagrama de secuencia en UML, incluyendo que muestra la secuencia de mensajes intercambiados entre objetos a lo largo del tiempo. Describe los componentes clave de un diagrama de secuencia como objetos, mensajes y línea de tiempo. Explica diferentes tipos de mensajes y cómo representar recursividad. Finalmente, destaca los propósitos y características de los diagramas de secuencia.
2. ¿Qué es un diagrama de
secuencia?
• El diagrama de secuencias en UML muestra la forma en
que los objetos se comunican entre sí al transcurrir el
tiempo y qué mensajes proyectan esas comunicaciones.
• Para poder realizar un diagrama de secuencias es
necesario haber tenido antes un desarrollo de un casos
de uso.
• Un caso de uso es una descripción de los pasos o las
actividades que deberán realizarse para llevar a cabo
algún proceso.
3. Diagrama de
Secuencia
• El diagrama de secuencia muestra:
Los objetos participando en la interacción
La secuencia de mensajes intercambiados
• Un diagrama contiene:
Objetos
Mensajes
Línea de tiempo
4. Objetos
• El diagrama de secuencias consta de
objetos que se representan del modo
usual:
rectángulos
con
nombre
(subrayado), mensajes entre los
objetos representados por líneas
continuas con una punta de flecha y el
tiempo
representado
como
una
progresión vertical.
5. Objetos
• Los objetos se colocan cerca de la parte
superior del diagrama de izquierda a
derecha y se acomodan de manera que
simplifiquen el diagrama.
• La extensión que está debajo (y en forma
descendente) de cada objeto será una
línea discontinua conocida como la línea
de tiempo de un objeto.
9. Mensaje
Un mensaje puede ser simple, síncrono y
asíncrono:
• Mensaje simple: es la transferencia de datos de un
objeto a otro.
• Mensaje síncrono: es cuando el objeto espera la
respuesta a ese mensaje antes de continuar con su
trabajo.
• Mensaje asíncrono: es cuando el objeto no espera
la respuesta a ese mensaje antes de continuar.
11. Línea de Tiempo
• Expresan el tiempo de vida del
objeto.
• La función del rectángulo es
representar el tiempo de duración
del mensaje.
12. Recursividad
• En ocasiones un objeto
posee una operación que
se invoca (o envía) un
mensaje a sí mismo.
• Es una característica
fundamental de varios
lenguajes de
programación.
13. Recursividad
Para representar esto en UML,
dibujamos una flecha de mensaje
fuera de la activación, y un
pequeño rectángulo encima de la
activación.
14. Propósito y Utilidad
• Uno de los principales usos de los diagramas de
secuencia está en la transición de los requisitos
expresados en los casos de uso al siguiente
nivel y más formal de refinamiento.
• Los casos de uso son a menudo refinados en
uno o varios diagramas de secuencia.
• Contiene detalles de implementación del
escenario, incluyendo los objetos y clases que
se usan para implementar el escenario y
mensajes intercambiados entre los objetos.
15. Propósito y Utilidad
• Si se dispone de la descripción de cada caso de uso
como una secuencia de varios pasos, entonces se
puede "caminar sobre" esos pasos para descubrir qué
objetos son necesarios para que se puedan seguir los
pasos.
• Su uso en el diseño de nuevos sistemas.
• Se pueden utilizar para documentar cómo los objetos
en un sistema existente (lo llaman "legacy")
actualmente interactúan.
• Esta documentación es muy útil cuando la transición
de un sistema a otro persona u organización.
16. Características
• Muestra la secuencia de mensajes entre
objetos durante un escenario concreto.
• Cada objeto viene dado por una barra
vertical.
• El tiempo transcurre de arriba abajo.
• Se muestra el tiempo durante el cual se
encuentra un objeto activo.
17. Características
• Se hace énfasis en el orden en que
ocurren las interacciones.
:A
Hacer( )
:B
• Cuando existe demora entre el envío y la
atención se puede indicar
usando una línea oblicua
18. Objetivo Diagrama de
Secuencias
• Descubrir las interfaces requeridas para
cada objeto y validar que cada interfaz se
usa realmente.
• El diagrama de Secuencias modela
interacciones entre objetos. Ya que estas
interacciones pueden ser muy complejas,
se modelan un pequeño juego de
interacciones como un solo escenario
19. Ejemplo
Actores: Socio , Sistema
Pasos:
• Casos de uso: Cancelar Pedido
• 1. A: Indicar al sistema que se desea cancelar
un pedido.
• 2. S : Pedir la identificación al Socio
• 3. A: Caso de uso Identificación ante el Sistema
de un Socio
• 4. A: Indicar el pedido a cancelar
• 5. S : Tramitar la cancelación del Pedido
20.
21. Resumen
• Identificar a los objetos participantes
• Dibujar una línea vertical bajo cada objeto, que
representa la línea de tiempo
• Cada mensaje se convierte en una línea
horizontal del objeto que manda al que recibe.
• Para un mensaje síncrono o procedimiento de
llamada se requiere una respuesta.
• Los asíncronos no necesitan respuesta.