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 DocumentRight Arrow Icon

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

View Full DocumentRight 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 Scrollbarlistener collaboration Scrollbar Listener listener : ValuatorListener sb : ScrollBar 0..* 1..* 1: announceNewValue(X) 4 3 Behavior of ScrollbarListener 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 dont 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

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