Software Design (SE321) Lect6-Collaboration Diagram

Slides:



Advertisements
Similar presentations
Week 2 The Object-Oriented Approach to Requirements
Advertisements

Object-Oriented Analysis and Design CHAPTERS 15: UML INTERACTION DIAGRAMS 1.
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
Sequence Diagram Objects are represented horizontally across the top of the diagram The first object is typically an Actor, the one who initiates Each.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Dynamic modeling using UML
Use Case Diagrams. Use Case Use case A view to system seen from outside(user) User’s requirements on system A set of scenario for an actor to achieve.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Designing with Interaction and Design Class Diagrams Chapters 15 & 16 Applying UML and Patterns Craig Larman With some ideas from students in George Blank’s.
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.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Chapter 7: The Object-Oriented Approach to Requirements
Unified Modeling Language
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Interaction diagrams Sequence and collaboration diagrams.
Introduction to Sequence Diagrams
ZEIT2301 Design of Information Systems
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
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.
Group 2 work What is sequence diagram ? What is sequence diagram ? Why do we use it ? Why do we use it ? What is basic notation of SD? What is basic notation.
Behavioral Modeling Chapter 8.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Collaboration Diagrams CSIS3600. What is a Collaboration Diagram Collaboration diagrams illustrate interactions between objects The collaboration diagram.
Sequence diagram in UML Martin Palkovik. Sequence diagram  It is a graphic representation of system operations based on chronology - a time sequence.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
Drawing System Sequence Diagrams
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Use Case Controller System sequence diagram (SSD) shows input messages from external actors within use case Only indicates that messages go to system Use.
Object Oriented Analysis and Design Sequence Diagrams.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
UML Diagrams CSC 422 Kutztown University Dr. Daniel Spiegel.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
System Sequence Diagram Chandan Rupakheti & Steve Chenoweth Week 5-3a.
Collaboration diagrams. Purpose A collaboration diagram is an alternate way to show a scenario. A collaboration diagram shows the objects and relationships.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
1 Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
1 Systems Analysis and Design Behavioral Modeling Chapter 8 (Last one before the Midterm!)
Embedded Systems Software Engineering
UML(Unified Modeling Language)
Collaboration Diagrams
System Sequence Diagrams and Operation Contracts
Chapter 11: Collaboration Diagram - PART1
Webapp Design with System Sequence Diagrams
Sequence Diagram.
Communication DIAGRAM
UML Use Case Diagrams.
Behavioral Modeling.
Sequence Diagrams.
Requirements To Design In This Iteration
Princess Nourah bint Abdulrahman University
Systems Analysis and Design With UML 2
Interaction diagrams.
Object Interaction Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Unified Modelling Language
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Communication DIAGRAM
Software design and architecture
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
UML Interaction Diagrams
Chapter 4 Sequence Diagrams
Presentation transcript:

Software Design (SE321) Lect6-Collaboration Diagram Ahmed Ben Haloum

Collaboration Diagram Shows the relationship between objects and the order of messages passed between them.  The objects are listed as rectangles and arrows indicate the messages being passed. The numbers next to the messages are called sequence numbers. They show the sequence of the messages as they are passed between the objects.  Convey the same information as sequence diagrams, but focus on object roles instead of the time sequence.

That is mean, there is no “life line” in a collaboration diagram. What are the differences between a sequence and a collaboration diagram ? Collaboration diagrams differ from sequence diagrams in that they capture ordered sequencing, but without including separate life lines like in sequence diagrams. sequence diagrams show time-based object interaction while collaboration diagrams show how objects associate with each other. That is mean, there is no “life line” in a collaboration diagram. :Object 1 Lifelines: Identify the existence of the object over time.

√ √ √ χ χ √ χ √ χ 2:Message2 1:Message1 4:Message4 3:Message3 object1 object2 object3 4:Message4 5:Message5 1:Message1 7:Message7 3:Message3 6:Message6 8:Message8 2:Message2 √ √ √ χ χ √ χ √ χ

Collaboration Diagram Notations An Object Object: Class A Line to link between two objects (or an object and itself ) Arrows to show the action direction 1:Message Numbered messages to represent the required action Actor

Conditional Messages To indicate that a message is run conditionally, prefix the message sequence number with a conditional [guard] clause in brackets, for example [ x = true ]. This indicates that the message is sent only if the condition is met object1 object2 2:check(ID) 1:getdisplay(ID) 3:[ID is correct]display() An example to show using the conditional messages

Example: Collaboration diagram to show selling a product 5: get money 8: sale product() 1: order product 2:find(product) Customer salesclerk :Product 3:[Item is found]return(product details) 4:get price :Payment 9: get receipt 10: get product 7: return receipt() 6: make payment()

Another Example 2: check (name) 4:[not found]add patient() : Patients 2: check (name) 3: return response 4:[not found]add patient() 9: add appointment 1: request appointment 7: check appointment() Patient receptionist :Appointment 10: get confirmation 8: available 6: No dues 5:[found] check dues() : Payments