Sequence Diagrams.

Slides:



Advertisements
Similar presentations
SEQUENCE DIAGRAM. UML diagrams There are many ways of organizing the UML diagrams. Can be organized as the fallowing: 1. Structural diagrams: to show.
Advertisements

Concepts & Notations. Acknowledgements  The material in this tutorial is based in part on: The Unified Modeling Language Reference Manual, 2 nd edition,
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
System Sequence Diagrams (SSD). Recap Concepts of Action, Pins and Activity Description of activity nodes and activity edges New notations – Activity.
Interaction Diagrams Software Engineering BIT8. Interaction Diagrams  A series of diagrams describing the dynamic behavior of an object-oriented system.
THE OBJECT-ORIENTED DESIGN WORKFLOW UML2 Sequence Diagrams.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
Unified Modeling Language (UML)
Sequence Diagrams By Zvika Gutterman Adam Carmi. Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control Information Examples.
Sequence Diagrams By Zvika Gutterman Adam Carmi. Sequence Diagrams2 Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control.
7M822 UML Interaction Diagrams 25 November 2010.
Sequence Diagrams By Zvika Gutterman Adam Carmi. Sequence Diagrams2 Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control.
SE-565 Software System Requirements More UML Diagrams.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Slide 1 Use Case Sequence Diagram. Slide 2 Interaction Diagrams l Interaction diagrams model the behavior of use cases by describing the way groups of.
SEQUENCE DIAGRAM Prepared by: T. Fatimah Alageel.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples.
The Vision SSM Models Databases Use Cases Programs Activity Models
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
1 On to Object Design Chapter 14 Applying UML and Patterns.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 9: Interaction.
Copyright © Hsiao-Lan Wei All Rights Reserved Design Model Interaction diagram.
M Taimoor Khan Sequence Diagrams Illustrates how objects interacts with each other. Emphasizes time ordering of messages.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 An Introduction to UML Interaction (Sequence and Communication) Diagrams Georgia State University CIS 3300 Spring, 2009.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Object-Oriented Analysis and Design 1 Mira Balaban & Arnon Sturm Object-Oriented Analysis and Design Session 3a: Behavioral Modeling - Interactions.
System sequence diagram M Taimoor Khan
1 On To Object Design Chapter 14 Applying UML and Patterns -Craig Larman.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
1 START AT 31 MARCH END 8 APRIL PHASE5(CONCEPTUAL AND SEQUENCE MODEL)
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Chapter 3: Introducing the UML
UML Class Diagrams Sequence Diagrams CSE230 Dae-Kyoo Kim.
 The Sequence Diagram models the collaboration of objects based on a time sequence.  It shows how the objects interact with others in a particular scenario.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Project 2: Phase 1 Submission 7 Late submissions 10% 10 No submissions 14% Better than project 1 phase 3 submissions 10-point bonus: If you catch the deadline.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
CompSci 280 S Introduction to Software Development
Systems Analysis and Design in a Changing World, Fourth Edition
CHAPTER
Interactions.
Sequence Diagrams Mimi Opkins CECS 493 Fall2016
Sequence Diagrams.
Interaction View.
Chapter 11: Collaboration Diagram - PART1
Unified Modeling Language
Sequence Diagram.
Behavioral Modeling.
Object-Orientated Analysis, Design and Programming
Sequence Diagrams.
Sequence Diagrams.
UML Sequence Diagrams.
Object Oriented Analysis and Design
Requirements To Design In This Iteration
Princess Nourah bint Abdulrahman University
UML Overview Part 2.
IMAT5205 Systems Analysis and Design
Unified Modelling Language
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
UML Interaction diagrams
Review CSE116 2/21/2019 B.Ramamurthy.
Sequence Diagrams.
Chapter 4 Sequence Diagrams
Presentation transcript:

Sequence Diagrams

Agenda Interaction Diagrams A First Look at Sequence Diagrams Objects Messages Control Information Examples Sequence Diagrams

Interaction Diagrams A series of diagrams describing the dynamic behavior of an object-oriented system. A set of messages exchanged among a set of objects within a context to accomplish a purpose. Often used to model the way a use case is realized through a sequence of messages between objects. Sequence Diagrams

Interaction Diagrams (Cont.) The purpose of Interaction diagrams is to: Model interactions between objects Assist in understanding how a system (a use case) actually works Verify that a use case description can be supported by the existing classes Identify responsibilities/operations and assign them to classes Sequence Diagrams

Interaction Diagrams (Cont.) UML Collaboration Diagrams Emphasizes structural relations between objects Sequence Diagram The subject of this tutorial Sequence Diagrams

A First Look at Sequence Diagrams Illustrates how objects interacts with each other. Emphasizes time ordering of messages. Can model simple sequential flow, branching, iteration, recursion and concurrency. Sequence Diagrams

member: LibraryMember A Sequence Diagram member: LibraryMember book:Book :Book Copy borrow(book) ok = mayBorrow() [ok] borrow(member) setTaken(member) Sequence Diagrams

member: LibraryMember A Sequence Diagram X-Axis (objects) member: LibraryMember book:Book :Book Copy Object borrow(book) Life Line ok = mayBorrow() Y-Axis (time) message Activation box [ok] borrow(member) setTaken(member) condition Sequence Diagrams

Object Object naming: syntax: [instanceName][:className] Name classes consistently with your class diagram (same classes). Include instance names when objects are referred to in messages or when several objects of the same type exist in the diagram. The Life-Line represents the object’s life during the interaction myBirthdy :Date Sequence Diagrams

Messages An interaction between two objects is performed as a message sent from one object to another (simple operation call, Signaling, RPC) If object obj1 sends a message to another object obj2 some link must exist between those two objects Sequence Diagrams

Messages (Cont.) A message is represented by an arrow between the life lines of two objects. Self calls are also allowed The time required by the receiver object to process the message is denoted by an activation-box. A message is labeled at minimum with the message name. Arguments and control information (conditions, iteration) may be included. Sequence Diagrams

Return Values Optionally indicated using a dashed arrow with a label indicating the return value. Don’t model a return value when it is obvious what is being returned, e.g. getTotal() Prefer modeling return values as part of a method invocation, e.g. ok = isValid() Model a return value when you need to refer to it elsewhere, e.g. as a parameter passed in another message. Sequence Diagrams

Synchronous Messages Nested flow of control, typically implemented as an operation call. The routine that handles the message is completed before the caller resumes execution. :A :B doYouUnderstand() return (optional) Caller Blocked yes Sequence Diagrams

Object Creation An object may create another object via a <<create>> message. :A :B <<create>> Constructor Preferred :A <<create>> :B Sequence Diagrams

Object Destruction An object may destroy another object via a <<destroy>> message. An object may destroy itself. Avoid modeling object destruction unless memory management is critical. :A :B <<destroy>> Sequence Diagrams

Control information Condition Iteration syntax: ‘[‘ expression ’]’ message-label The message is sent only if the condition is true example: Iteration syntax: * [ ‘[‘ expression ‘]’ ] message-label The message is sent many times to possibly multiple receiver objects. [ok] borrow(member) Sequence Diagrams

Control Information (Cont.) Iteration examples: :CompoundShape :Shape :Driver :Bus draw() *draw() *[until full] insert() The syntax of expressions is not a standard Sequence Diagrams

Control Information (Cont.) The control mechanisms of sequence diagrams suffice only for modeling simple alternatives. Consider drawing several diagrams for modeling complex scenarios. Don’t use sequence diagrams for detailed modeling of algorithms (this is better done using activity diagrams, pseudo-code or state-charts). Sequence Diagrams

:Violations Controller Example 1 :Violations Dialog :Violations Controller :Violations DBProxy Lookup Traffic Violation Clerk lookup viewButton() id=getID() getViolation(id) <<create>> v:Traffic Violation v DB is queried and the result is returned as an object display(v) Sequence Diagrams

Example 2 - Observer Pattern Sequence Diagrams

Example 3 Printing A Document Active object Client :PrintServer :Queue :Printer Proxy Client print(doc,client) enqueue(job) job=dequeue() Repeated forever with 1 min interludes [job]print(job.doc) status [job] done(status) Sequence Diagrams