Interactions Introduction • 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. 2 Introduction • 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. 3 Introduction 4 Terms and Concepts • 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. 5 Links and Associations 6 Terms and Concepts • 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. 7 Sequence Diagram 8 Terms and Concepts • 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. 9 Terms and Concepts • 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. 10 Terms and Concepts • 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. 11 Common Modeling Techniques • 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. 12 Sequence / Collaboration Diagram Comparison 13 Sequence / Collaboration Diagram Comparison 14 Interaction Diagrams Introduction • 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. 16 Introduction • 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. 17 Sequence Diagrams • 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. 18 Sequence Diagrams 19 Collaboration Diagrams • 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. 20 Collaboration Diagrams 21 Modeling Control Flow by Time • 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. 22 Modeling Control Flow by Time 23 Modeling Control Flow by Organization • 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. 24 Modeling Control Flow by Organization 25
© Copyright 2026 Paperzz