interactions. 2 objects communicate with each other by sending messages. sending a message is...
TRANSCRIPT
![Page 1: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/1.jpg)
Interactions
![Page 2: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/2.jpg)
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
![Page 3: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/3.jpg)
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
![Page 4: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/4.jpg)
4
Introduction
![Page 5: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/5.jpg)
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
![Page 6: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/6.jpg)
6
Links and Associations
![Page 7: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/7.jpg)
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
![Page 8: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/8.jpg)
8
Sequence Diagram
![Page 9: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/9.jpg)
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
![Page 10: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/10.jpg)
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.
• <<new>> -- interaction results in the creation of a new object.
• <<destroyed>> -- interaction results in the destruction of an existing object.
• <<transient>> -- link will be destroyed before the completion of the interaction.
Terms and Concepts
![Page 11: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/11.jpg)
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
![Page 12: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/12.jpg)
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
![Page 13: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/13.jpg)
13
Sequence / Collaboration Diagram Comparison
![Page 14: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/14.jpg)
14
Sequence / Collaboration Diagram Comparison
![Page 15: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/15.jpg)
Interaction Diagrams
![Page 16: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/16.jpg)
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
![Page 17: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/17.jpg)
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
![Page 18: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/18.jpg)
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
![Page 19: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/19.jpg)
19
Sequence Diagrams
![Page 20: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/20.jpg)
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
![Page 21: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/21.jpg)
21
Collaboration Diagrams
![Page 22: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/22.jpg)
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
![Page 23: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/23.jpg)
23
Modeling Control Flow by Time
![Page 24: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/24.jpg)
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
![Page 25: Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples](https://reader035.vdocuments.mx/reader035/viewer/2022062421/56649e255503460f94b1522a/html5/thumbnails/25.jpg)
25
Modeling Control Flow by Organization