A collaboration diagram is a type of Unified Modeling Language (UML) interaction diagram that highlights the structural organization of objects in Object Oriented Programming (OOP) computer system design. The collaboration diagram depicts the relationships of objects to each other. These diagrams can require technical skill and training to create. A central governing organization controls the UML standards, and they continue to evolve.
In OOP, an object is an encapsulated entity composed of attributes and behaviors, and the term object often refers to a type of complex data. For example, an object might consist of inventory item data and various functions for retrieving and revising that data. Thinking of the data, attributes, and behaviors as objects can simplify the modeling and development process.
The object element is a key element in a collaboration diagram. The objects can interact with each other. For example, a purchase order object may interact with an inventory object to model the effect receiving items on a purchase order has on inventory. The diagram may show a class role for each object, which can also be described as the responsibilities for that object.
A second element is the relation or association element. This element depicts a link that connects associated objects and indicates how the association will behave in this circumstance. It can also be used to show cardinality. Cardinality is the required relationship between the data in the two objects, such as a one to one or one to many relationship.
Messages are the third element in collaboration diagrams. They are depicted as arrows that point from the initial object to the ending object. Numbering may be added to the messages to show the time sequence of object interactions.
A collaboration diagram is similar to a sequence diagram because both show how objects interact with each other in dynamic relationships, or based on time. Some UML modeling programs can convert sequence diagrams to collaboration diagrams and vice versa because of their similarities. Dynamic relationships are more easily grasped from sequence diagrams, whereas collaboration diagrams depict the connections between objects more effectively.
Collaboration diagrams require technical skill to create. The task is often assigned to a computer systems analyst. Analysts who create the models use case diagrams, class diagrams, and sequence diagrams to gather information about the system needed to develop the diagrams. In addition, the models are usually created using special software, which may require training to use.
UML standards are developed by the Object Management Group. The standards continue to advance, and as a result diagram modeling conventions may be modified. For instance, newer UML notations make use of a communication diagram as a simplified version of the collaboration diagram.