© M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA
L3-6c-S2 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad 2 Lesson 3-6c: Interaction Diagrams
L3-6c-S3 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Lesson Objectives 3 Understand how to create interaction diagrams Learn the syntax of interaction diagrams Explore interaction diagrams’ examples
L3-6c-S4 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad An interaction diagram shows an interaction, consisting of a set of objects and their relationships, including the messages that may be dispatched among them –Sequence diagram –Collaboration diagram 4 Interaction Diagrams (1)
L3-6c-S5 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad A sequence diagram emphasizes the time ordering of messages A collaboration diagram emphasizes the structural organization of the objects that send and receive messages 5 Interaction Diagrams (2)
L3-6c-S6 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad To visualize, specify, construct, and document the dynamics of a particular society of objects To model one particular flow of control of a use case 6 Uses of Interaction Diagrams
L3-6c-S7 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Objects Links Messages Notes Constraints 7 Contents of Interaction Diagrams
L3-6c-S8 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Place objects that participate in the interaction as the vertices in a graph Render the links that connect these objects as the arcs of this graph Adorn these links with the messages that objects send and receive 8 Drawing Collaboration Diagrams
L3-6c-S9 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Use sequence diagrams to model flows of control by time ordering –Do a better job of visualizing simple iteration and branching Use collaboration diagrams to model flows of control by organization –Do a better job of visualizing complex iteration and branching and of visualizing multiple concurrent flows of control 9 Common Uses
L3-6c-S10 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad A collaboration diagram displays object interactions organized around objects and their links to one another 10 Interaction Diagrams (1)
L3-6c-S11 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Don’t show the lifeline of an object explicitly –Although one can show both create and destroy messages Don’t show the focus of control explicitly –Although each message’s sequence number can indicate nesting 11 Interaction Diagrams (2)
L3-6c-S12 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad Two features that distinguish them from sequence diagrams –Path To indicate how one object is linked to another –Sequence number To indicate the time order of a message 12 Interaction Diagrams (3)
L3-6c-S13 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad 13 Interaction Diagram: Example (1)
L3-6c-S14 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad 14 Interaction Diagram: Example (2)
L3-6c-S15 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad 15 Interaction Diagram: Example (3)
L3-6c-S16 Interaction Diagrams © M.E. Fayad SJSU – CmpE M.E. Fayad T/F a.Use collaboration diagrams to model flows of control by organization b.A collaboration diagram displays object interactions organized around objects and their links to one another 16 Discussion Questions