Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples.

Similar presentations


Presentation on theme: "Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples."— Presentation transcript:

1 Interactions

2 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples of member function calls... objectName.messageName( ); objectPointer->messageName( ); (*objectPointer).messageName( ); An interaction is a set of messages exchanged among a set of objects in order to accomplish a specific goal. Introduction

3 3 Interactions model the dynamic aspects of a system by showing the message traffic between a group of objects. Showing the time-ordering of the message traffic is a central ingredient of interactions. Graphically, a message is represented as a directed line that is labeled. Introduction

4 4

5 5 Context –Interactions appear whenever an object is linked to another object. Links –A link is an instance of an association. –Links must exist for interactions to occur. –The multiplicity on both ends of a link is 1, since it is an instance of an association. Terms and Concepts

6 6 Links and Associations

7 7 Messages –A message is the vehicle by which communication between objects is achieved. –A call is the most common type of message. –The return of data as a result of a function call is also considered a message. –A message may result in a change of state for the receiver of the message. –The receipt of a message is considered an instance of an event. Terms and Concepts

8 8 Sequence Diagram

9 9 Sequencing –A sequence of messages is rooted in some process, thread or hardware event. –A sequence will continue as long as the process that started it lives. –Messages in sequence are ordered by time. Terms and Concepts

10 10 Creation, Modification, and Destruction –There are three predefined stereotypes that can adorn an interaction for purposes of showing the life span of a link or, more commonly, the life span of an object participating in the link. > -- interaction results in the creation of a new object. > -- interaction results in the destruction of an existing object. > -- link will be destroyed before the completion of the interaction. Terms and Concepts

11 11 Representation –Interactions are be modeled using interaction diagrams. –There are two types of interaction diagrams. Sequence diagrams emphasize the time ordering of the interactions. Collaboration diagrams emphasize the structural organization of the objects participating in interactions. –Both types convey the same information, but with a different emphasis. –The type of diagram used is largely a matter of personnel preference. Terms and Concepts

12 12 It is impossible to model all possible interactions within a system. Only model those interactions that are interesting or shed light on important aspects of the system. A system of even modest complexity may require several interaction diagrams. It does not matter whether you use interaction or collaboration diagrams to model interactions. Common Modeling Techniques

13 13 Sequence / Collaboration Diagram Comparison

14 14 Sequence / Collaboration Diagram Comparison

15 Interaction Diagrams

16 16 Interaction diagrams... –Are used to model the dynamic aspects of a system. –Aid the developer visualize the system as it is running. –Are storyboards of selected sequences of message traffic between objects. After class diagrams, interaction diagrams are the most widely used diagrams in UML. Interaction diagrams commonly contain objects, links and messages. Introduction

17 17 There are two types of interaction diagrams … –Sequence diagrams emphasize the time ordering of message traffic between objects. – Collaboration diagrams emphasize the structural relationships between objects that send and receive messages. Both types of diagrams are semantically equivalent and can easily be converted from one format to the other. –See figure 18-1, page 245. Introduction

18 18 Sequence diagrams are build around an X-Y axis. –Objects are aligned (in most cases) at the top of the diagram, parallel to the X axis. –Messages travel (in most cases) parallel to the X axis. –Time passes from top to bottom along the Y axis. –Where a message arrow appears relative to the Y axis and other message arrows, determines the relative time the message is sent. –Sequence diagrams most commonly show relative timings, not absolute timings. –Links between objects are implied by the existence of a message. Sequence Diagrams

19 19 Sequence Diagrams

20 20 A collaboration diagram is a graph where the objects (vertices) are connected by links (arcs). Each link is adorned with the relevant message traffic that can travel across the link. Each message is assigned a sequence number to show the time order of the message. –The sequence number may be prefixed with an expression to show iteration. Collaboration Diagrams

21 21 Collaboration Diagrams

22 22 Determine what scenarios need to be modeled. Identify the objects that play a role in the scenario. Lay the objects out in a sequence diagram left to right, with the most important objects to the left. –Most important in this context means objects that are the principle initiators of events. Draw in the message arrows, top to bottom. –Adorn the message as needed with detailed timing information. Modeling Control Flow by Time

23 23 Modeling Control Flow by Time

24 24 Determine what scenarios need to be modeled, then identify the objects that play a role in the scenario. Place the most important objects in the center of the diagram. Place links between the appropriate objects. Draw message arrows next to the appropriate links. Number the message arrows to show time ordering of messages. Modeling Control Flow by Organization

25 25 Modeling Control Flow by Organization


Download ppt "Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples."

Similar presentations


Ads by Google