Friday, March 14, 2014

Diagramas de Secuencia

Los Diagramas de Secuencia muestran cómo las instancias se intercambian mensajes a lo largo del tiempo en un escenario determinado. El tiempo viene representado por la bajada que se realiza a lo largo de la líneas de vida, el eje vertical, y el paso de mensajes se representa en el eje horizontal. Obviamente los mensajes nunca pueden darse hacia detrás, por lo que no veremos líneas de mensaje ascendentes.

En la parte superior del diagrama se colocan los objetos que intervienen en la escena, la notación suele bien colocar simplemente el nombre de la clase que representa a la instancia o bien el nombre del objeto seguido de su clase utilizando dos puntos para separalos. Por ejemplo <<usuario:Espectador>> indica que el nombre (la variable de nombre) "usuario" es una instancia de la clase Espectador.

La línea de vida discontinua implica que o bien aún el objeto no ha sido instanciado o bien se encuentra latente. Los objetos cobran vida al reaccionar a mensajes recibidos, aunque en el diagrama de ejemplo no se muestran, existen dos mensajes típicos create y destroy, que levantan una instacia de un objeto o la destruyen. Algunos diagramatizadores permiten indicar cuándo un objeto ha sido destruído cerrando su línea de vida con una X.






Como ejemplo ampliado, añado a continuación otro diagrama de secuencia. Cuando un diagrama se vuelve tan extenso es conveniente plantearse el dividirlo en varios.