Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramas de Colaboracion
Diagramas de Colaboracion
de software van a cumplir con ellas. Los diagramas de interaccin (diagramas de secuencia o diagramas de colaboracin) explican grficamente cmo los objetos interactan a travs de mensajes para realizar las tareas. Antes de definir estos diagramas, hay que generar el modelo conceptual, los contratos de operacin y los casos de uso reales (estos ltimos se generan a partir de los casos de uso definidos en el anlisis). Los diagramas de colaboracin explican grficamente las interacciones entre las instancias del modelo (objetos). Por ejemplo:
El punto de partida de las interacciones son las postcondiciones de los contratos de operacin. El siguiente ejemplo muestra el diagrama de colaboracin de la operacin efectuarPago.
Note que el primer mensaje corresponde a uno de los "mensaje externos" del diagrama de secuencia del sistema, definido en una clase anterior. Los diagramas de interaccin constituyen una de las herramientas ms importantes para el anlisis y diseo orientado a objetos. El tiempo y esfuerzo dedicado a la preparacin de stos, correponde a un porcentaje considerable de la actividad total del proyecto. Notacin: Para representar grficamente el hecho de que un mensaje devuelva un valor, se puede hacer de la siguiente manera:
Tambin es posible indicar el nmero de veces (iteraciones) que un mensaje va a ser enviado. Por ejemplo, el siguiente mtodo:
msg1() { for i := 1 to 10 { miB.mens2(); miC.mens3(); } }
Notacin: El siguiente ejemplo muestra la forma de definir la secuencia de los mensajes dentro de un diagrama de colaboracin.
Notacin: Es posible definir mensajes condicionales. Para esto, se define la condicin entre corchetes, y el mensaje se enva solamente si la condicin es verdadera. Por ejemplo:
Notacin: Un multiobjeto, o conjunto de instancias (por ejemplo un arreglo en Java), se dibuja en forma de pila. Por ejemplo:
La siguiente figura muestra cmo enviar mensajes para crear una instancia de un objeto, y agregarla a un multiobjeto.
Tambin es posible enviar mensajes a la clase y no a una instancia, con el fin de llamar a mtodos de la clase. Por ejemplo: