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 |
|
Roles | Responsible:
| Modified By:
|
Tasks | Input To:
| Output From:
|
Description
Main Description | A 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
|