El diagrama de secuencia es un tipo de diagrama de interacción contenido en UML 2.5. Su objetivo es representar el intercambio de mensajes entre los distintos objetos del sistema para cumplir con una funcionalidad. Define, por tanto, el comportamiento dinámico del sistema de información.
Normalmente es utilizado para definir como se realiza un caso de uso por lo que es comúnmente utilizado junto al diagrama de casos de uso. También se suele construir para comprender mejor el diagrama de clases, ya que el diagrama de secuencia muestra como objetos de esas clases interactúan haciendo intercambio de mensajes.
Construcción del diagrama de secuencia
El diagrama de secuencia está construido a partir de dos dimensiones:
- Horizontal: Representa los objetos que participan en la secuencia.
- Vertical: Representa la linea de tiempo sobre la que los elementos actúan. Va de arriba (menor tiempo) hacia abajo (menor tiempo) No es común «reglar» esta dimensión mediante una escala para poner tiempos específicos, a excepción de sistemas de tiempo real donde la velocidad para llevar a cabo la funcionalidad sí es relevante.
El diagrama de secuencia está compuesto por dos elementos: Objetos y mensajes.
Objeto
Un objeto representa a un participante en la interación. Un objeto puede ser una instancia de una clase, un módulo, un grupo de clases,… en definitiva, un objeto es un componente software que tiene una funcionalidad específica. Dependerá del nivel de abstracción la representación de cada objeto.
Es importante destacar que, en el diagrama de secuencia y a diferencia de otros diagramas, cada uno de los objetos añadidos al diagrama representa solamente una instancia de ese objeto y no varias. En caso de tratarse de un elemento multivaluado, se debe dejar constancia de cual es el elemento que está trabajando.
Un objeto se representa mediante un rectángulo que incluye un identificar en su interior y del que sale una linea de forma vertical hacia abajo. Esta linea se llama linea de vida y representa el tiempo en el que un objeto está presente.
Los objetos que existen previamente al comienzo de la interacción se situan en el eje horizontal mientras que los objetos que se crean durante el transcurso de la misma se sitúan en el momento de la creación.
El final de un punto de vida se representa con un aspa al final de la linea de vida, aunque puede no ser eliminado nunca, prologando su linea de vida hasta el final del diagrama.
Los objetos contienen el denominado foco de control que no es más que el tiempo en el que tal objeto está llevando a cabo algún trabajo. Se representa mediante un rectángulo superpuesto a la linea de vida.
Mensaje
Se utiliza un mensaje en el diagrama de secuencia para representar el paso de un mensaje entre dos objetos o entre un objeto y sí mismo.
Se representa utilizando una flecha que incluye el nombre del mensaje y los argumentos que incluye y que va desde el objeto que envía el mensaje hasta el objeto que lo recibe.
A veces el objeto que recibe el mensaje envía una respuesta. Esta respuesta se representa con una flecha discontinua.
Un ejemplo de mensaje podría ser el siguiente:
Como hemos visto antes, un objeto puede ser creado a mitad de la interacción. Esta creación se hace a través de otro objeto mediante una llamada create. También existe la posibilidad de que objeto destruya otro. Ambas acciones se representan de la siguiente manera:
Ejemplo de diagrama de secuencia
A continuación se muestra un ejemplo de un diagrama de secuencia de la funcionalidad contratar servicio.
Este es otro ejemplo, para un caso de uso gestionar itinerario:
¿Quieres colaborar con esta web? ¡Envíanos tus diagramas UML a la dirección aportaciones@diagramasuml.com para que sirvan de ejemplo a otras personas!
También puedes contactar con nosotros a través de la Página de contacto.
Visita nuestra página principal para conocer más diagramas.