Artifact: Design Collaboration |
|
 |
A collection of design elements that work together to achieve a unified set of functionality. |
|
|
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. A design collaboration not only realizes the functional behavior of the user case
(and of its associated analysis collaboration) but is also optimized against the QoS requirements and other design
constraints. |
Relationships
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
The design collaboration (part of the PSM) starts life as the analysis collaboration but is optimized by applying selected
design patterns to it. Thus, the design collaboration executes and can replicate the use case scenario functionality but
also meets the QoS and other design constraints required of the system. |
Tailoring
Impact of not having | The design collaboration explicitly represents the PSM version of the analysis collaboration. Not representing the design
collaboration means that it is difficult to understand, view, or modify the design patterns representing the PSM decisions. |
Reasons for not needing | If the production of the design model is done entirely via a translative approach, then the design collaboration may
only be implicitly represented if the translator produces the PSI (Platform Specific Implementation) directly. |
More Information
|