1 / 25

Interactions

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( );

hhavel
Download Presentation

Interactions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interactions

  2. 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.

  3. 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.

  4. Introduction

  5. 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.

  6. Links and Associations

  7. 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.

  8. Sequence Diagram

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. Sequence / Collaboration Diagram Comparison

  14. Sequence / Collaboration Diagram Comparison

  15. Interaction Diagrams

  16. 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.

  17. 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.

  18. 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.

  19. Sequence Diagrams

  20. 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.

  21. Collaboration Diagrams

  22. 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.

  23. Modeling Control Flow by Time

  24. 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.

  25. Modeling Control Flow by Organization

More Related