AlexLecture_CollaborationSynthesis

AlexLecture_CollaborationSynthesis - 1 Collaboration...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 Collaboration Synthesis Designing composite collaborations Strategy: ─ Model concrete interactions in the new collaboration using sketches ● E.g., draw a sequence diagram illustrating what should happen when user drags the slider to new position ● In this context, design sketches are sufficient ─ Create roles of the new collaboration by synthesizing the roles of existing (and possibly some new) collaborations A complete application can be modeled as a large composite collaboration 2 2 Design sketches When designing a new collaboration, often helpful to defer some design decisions ─ E.g., actual class of the participants that are interacting ● OK in the early stages of design, as we may end up designing a reusable collaboration, in which case the participants are roles rather than objects which case the participants are roles rather than objects ─ E.g., names/signatures of messages ● OK in the early stages, as these names/signatures are highly dependent upon the protocol we end up adopting, and we might wish to explore lots of alternatives before choosing! Design tip: Use the notations as precisely as possible, but elide details that are likely to change while exploring alternatives 3 Scrollbar–listener collaboration Scrollbar – Listener listener : ValuatorListener sb : ScrollBar 0..* 1..* 1: announceNewValue(X) 4 3 Behavior of Scrollbar–Listener collaboration sd moveHandle userEvent() announceNewValue(n) : ScrollBar listener : ValuatorListener 5 Evaluating a design Often, there is no “best” design in the abstract What makes a design “good” is its fitness to the purpose and clientele for which it was intended ─ A superior design in one context might be inferior in another ─ Your chances of “stumbling” onto the superior design for your context are miniscule if you don’t understand the context Thus: ─ Design process should begin with a clear understanding of context (requirements) ─ Design decisions should be reflective and deliberate and should be justifiable in terms of (traceable back to) this context (requirements) 6 4 Design sketch (alternative #1) vp : … sb : … dm : … announceNewValue(X) userEvent()...
View Full Document

{[ snackBarMessage ]}

Page1 / 13

AlexLecture_CollaborationSynthesis - 1 Collaboration...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online