Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 RNDS Deployment, Collaborations and Sequences CS 236700: Software Design Winter 2004-2005/T6.

Similar presentations


Presentation on theme: "1 RNDS Deployment, Collaborations and Sequences CS 236700: Software Design Winter 2004-2005/T6."— Presentation transcript:

1 1 RNDS Deployment, Collaborations and Sequences CS 236700: Software Design Winter 2004-2005/T6

2 2 Reminder: Homework bonus program  Report a bug  Report a programming challenge

3 3 RNDS: The story so far  Problem description  SRS Use case model  SDD Class design Sequence, Deployment Detailed class design  Coding Design patterns

4 4  Deployment (in design) The configuration of the running system in a real-world environment Show relationships between Nodes  What is a node? A “location” where run-time entities “live” Run-time entities: objects, components Has a memory Usually has processing capabilities  Nodes usually represent: Executables (processes) Distinct hardware (workstations, I/O devices) Deployment diagram (1/2)

5 5  Deployment diagram Shows dependency between nodes In most cases shows instances of nodes Analogous to a diagram of running objects Nodes are typically singletons/anonymous It is possible (but not common) to show types of nodes Analogous to class diagram Relevant components/objects inside a node are usually shown  Notation A network of Node symbols Edges between nodes => communication relationship Dashed arrows => dependency between components Preferably thru interface Deployment diagram (2/2)

6 6  What are components? A replaceable part of the system Provides implementation Conforms to a set of interfaces  Components vs. classes Every class is (usually) a trivial component Usually components include several classes/packages Not always coherent Components

7 7  The major tradeoff: Simplicity vs. Modularity  Few components => System is simple “Everybody” knows each other Usually hard-coded within constructors On the other hand: poor modularity  Many components => System is complex Implementing inter-component relationship is difficult Techniques for overcoming the problem: Unique identifiers Interfaces Central registry Configuration values processed in run-time On the other hand: the system is highly modular Components considerations

8 8 Deployment diagram (sample)

9 9 Deployment diagram (RNDS)  Devices: RF, GPS  Processes: RNDS station

10 10 Package Diagram

11 11 Collaborations  What is a collaboration? An arrangement of objects within a context  Properties The collaboration is aimed at achieving some goal Object (possibly) fulfill a predefined role A single object may fulfill more than one role Roles are only meaningful within their context A parameterized collaboration is a Pattern  Collaboration diagram Shows Interaction between the participating objects Relationship are indicated by arrows (messages, composition, …) Time is indicated by “sequence number”

12 12 Collaboration Diagram

13 13  Describes how groups of objects interact  Shows messages passed (between objects) over time  Properties Captures the behavior of a single scenario The most popular way for representing a use-case Actually shows the same information as a collaboration diagram  Sequence diagrams (SD) vs. Collaboration Diagrams (CD) SD: Shows time clearly; object relationships are implicit CD: Shows object relationships clearly; time has no visual representation Sequence Diagrams

14 14 Sequence Diagram: Adding a message  Adding actors, objects: Drag-and-drop

15 15 Sequence Diagram: GPS update  Do you like this design?


Download ppt "1 RNDS Deployment, Collaborations and Sequences CS 236700: Software Design Winter 2004-2005/T6."

Similar presentations


Ads by Google