Artifact: Analysis Collaboration
This work product is a set of analysis (i.e. "essential") elements that work together to realize a larger-scale purpose, usually the realization of a single use case.
Purpose

The purpose of a collaboration is to specify how internal elements of a system work together to realize a larger-scale functionality, most commonly a use case. An analysis collaboration should execute and realize all the functional requirements of the use case it realizes.

Relationships
Container Artifact
RolesResponsible: Modified By:
TasksInput To: Output From:
Description
Main DescriptionA collaboration is a set of object roles (typed by classes) that are interrelated by relations (e.g. association, aggregation, composition, generalization, and dependencies) so that they work together to achieve a larger-scale behavior. In an object analysis model (PIM), the collaboration captures the essential object roles, attributes, operations, states, events, and relations that must be present for the collaboration to properly semantically model the problem. In a design model (PSM), the collaboration is optimized against the various design constraints.
Key Considerations

Don't add design patterns to an analysis (PIM) collaborations, or if you must, then it should be the simplest one that meets the functional need. PIM collaborations do not contain threads either, as this is another design concern. In the PSM, those aspects are added to optimize the execution of the PSM.

The analysis collaboration should execute and be able to replicate all the use case scenarios via execution, but will usually be sub-optimal in performance.

More Information