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 | Platform Independent Model
Roles | Responsible: Software Modeler | Modified By: Software Modeler
Tasks | Input To: Refine Collaboration | Output From: Refine Collaboration
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
Checklists | Platform Independent Model Checklist Class Diagram Checklist Collaboration Checklist Activity Diagram Checklist PIM Review Checklist Scenario Checklist State Diagram Checklist
Guidelines | Scenario Guideline Naming Conventions
IBM® Rational® Harmony™ for Embedded RealTime Development Base Concepts Plug-in Copyright