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.
Hola Ramón. Felicidades, muy buen blog (aunque no me lo he leido todo, mentiría si dijera que me lo he leido todo, y además me pillarías).
ReplyDeleteSin embargo echo de menos alguna cosa más moderna, o sea, de este siglo. De todas maneras, hay muchas cosas de las que hablar (de las que yo no tengo ni idea), AOP, Domain Driven Design, Data Oriented Design, lenguajes declarativos, enterprise patterns, analysis patterns, DSL's ..., en fin, toda una vida de cosas.
Por cierto, con respecto al título de tu blog, es muy posible que ya lo conozcas, pero el libro probablemente más apropiado (que no me he leido) sería Object Oriented Software Construction de Bertrand Meyer, el creador del lenguaje Eiffel.
Saludos.