Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
By            Nadeem MahmoodDepartment of Computer Science         University Of Karachi
Interaction DiagramsInteraction diagrams describe exemplary how groups of objects collaborate in some behavior.An intera...
Types of Interaction Diagrams There are two types of interaction diagrams:Sequence diagrams emphasize the order or concur...
Behavior of the “order” use case:A customer orders several products.The (sub-)orders (“order lines”) for each product are ...
ObjectObject naming:   syntax: [instanceName][:className]                                                         myBirt...
MessagesAn interaction between two objects is performed as a message sent from one object to another (simple operation ca...
Messages (Cont.)A message is represented by an arrow between the life lines of two objects.   Self calls are also allowe...
Return ValuesOptionally indicated using a dashed arrow with a label indicating the return value.  Don’t model a return v...
Synchronous MessagesNested flow of control, typically implemented as an operation call.  The routine that handles the me...
Object CreationAn object may create another object via a <<create>> message.                                            P...
Object DestructionAn object may destroy another object via a <<destroy>> message.   An object may destroy itself.   Avo...
Why not just code it? Sequence diagrams can be somewhat close to the code     level. So why not just code up that algorit...
Lifetime of objectscreation: arrow with new written above it  notice that an object created       after the start of the...
Indicating selection and loopsframe: box around part of a sequence diagram to     indicate selection or loop     if -> (...
Reference: Object-Oriented Analysis and DesignJ.W. Schmidt, F. Matthes, TU Hamburg-Harburg
Reference: Object-Oriented Analysis and DesignJ.W. Schmidt, F. Matthes, TU Hamburg-Harburg
Sequence diag. from use case26
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Ooad sequence diagram lecture
Upcoming SlideShare
Loading in …5
×

Ooad sequence diagram lecture

4,647 views

Published on

object-oriented programming

Published in: Education
  • Login to see the comments

Ooad sequence diagram lecture

  1. 1. By Nadeem MahmoodDepartment of Computer Science University Of Karachi
  2. 2. Interaction DiagramsInteraction diagrams describe exemplary how groups of objects collaborate in some behavior.An interaction diagram typically captures the behavior of a single use case.Interaction diagrams do not capture the complete behavior, only typical scenarios.
  3. 3. Types of Interaction Diagrams There are two types of interaction diagrams:Sequence diagrams emphasize the order or concurrency of the interactions.Collaboration diagrams emphasize the interacting objects.
  4. 4. Behavior of the “order” use case:A customer orders several products.The (sub-)orders (“order lines”) for each product are preparedseparately.For each product check the stock.• If the product is in stock, remove requested amount from stock.• If the product stock falls below a predefined level, reorder it.
  5. 5. ObjectObject naming:  syntax: [instanceName][:className] myBirthdy :Date  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
  6. 6. 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 (dependency, same objects)
  7. 7. 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.
  8. 8. 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() Model a return value only when you need to refer to it elsewhere, e.g. as a parameter passed in another message. Prefer modeling return values as part of a method invocation, e.g. ok = isValid()
  9. 9. 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 Caller yes (optional) Blocked
  10. 10. Object CreationAn object may create another object via a <<create>> message. Preferred :A :B :A <<create>> <<create>> :B Constructor
  11. 11. 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>>
  12. 12. Why not just code it? Sequence diagrams can be somewhat close to the code level. So why not just code up that algorithm rather than drawing it as a sequence diagram?  a good sequence diagram is still a bit above the level of the real code (not EVERY line of code is drawn on diagram)  sequence diagrams are language-agnostic (can be implemented in many different languages  non-coders can do sequence diagrams  easier to do sequence diagrams as a team  can see many objects/classes at a time on same page (visual bandwidth)17
  13. 13. Lifetime of objectscreation: arrow with new written above it notice that an object created after the start of the scenario appears lower than the othersdeletion: an X at bottom of objects lifeline Java doesnt explicitly delete objects; they fall out of scope and are garbage-collected 18
  14. 14. Indicating selection and loopsframe: box around part of a sequence diagram to indicate selection or loop if -> (opt) [condition] if/else -> (alt) [condition], separated by horiz. dashed line loop -> (loop) [condition or items to loop over] opt [balance 0] <> alt [balance 100 ] < .00 [balance 100 ] >= .00 loop [balance 0] <19
  15. 15. Reference: Object-Oriented Analysis and DesignJ.W. Schmidt, F. Matthes, TU Hamburg-Harburg
  16. 16. Reference: Object-Oriented Analysis and DesignJ.W. Schmidt, F. Matthes, TU Hamburg-Harburg
  17. 17. Sequence diag. from use case26

×