Observations so far…. In general… There are two ways to design a software system –Centralized control One “driver” function that contains the entire algorithm.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design CHAPTERS 15: UML INTERACTION DIAGRAMS 1.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
UML Class and Sequence Diagrams Violet Slides adapted from Marty Stepp, CSE 403, Winter 2012 CSE 403 Spring 2012 Anton Osobov.
What is the Chain? It’s a behavioral design pattern. It deals with how objects make requests and how they are handled.
Erlang concurrency. Where were we? Finished talking about sequential Erlang Left with two questions  retry – not an issue; I mis-read the statement in.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
Sept Ron McFadyen Interaction Diagrams - Chapter 15 Describe/illustrate sequence of message exchanges among objects that are working together.
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.
© Copyright Eliyahu Brutman Programming Techniques Course.
Sequence Diagram. What is Sequence Diagram?  Sequence Diagram is a dynamic model of a use case, showing the interaction among classes during a specified.
SE-565 Software System Requirements More UML Diagrams.
Fundamentals of Python: From First Programs Through Data Structures
The Unified Modeling Language (UML) Class Diagrams.
Object-Oriented Design. From Analysis to Design Analysis Artifacts –Essential use cases What are the problem domain processes? –Conceptual Model What.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Sequence Diagram Tutorial
CS3773 Software Engineering
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.
1 SAD2 - UML 2 nd Lecture Sequence Diagram and other dynamic views Lecturer: Dr Dimitrios Makris
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
1 Sequence Diagrams (Based on Stevens and Pooley (2006, Chapters 9, 10) and Fowler (2004, Chapter 4)) David Meredith Aalborg University.
Chapter 4: UML Interaction Diagrams. Objective Provide a reference for frequently used UML interaction diagram notation- sequence and communication diagrams.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Engineering 5895: Software Design 10/5/01Interaction Diagrams1 Modeling Behaviour Engineering 5895: Software Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
1 UML Sequence Diagrams UML Distilled, Third Edition, Chapter 4 M. Fowler.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
Software Engineering Zhang Shuang
PZ12B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ12B - Synchronization and semaphores Programming Language.
Synchronization and semaphores Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Chapter 3: Introducing the UML
CSE 403 Lecture 8 UML Sequence Diagrams Reading: UML Distilled, Ch. 4, M. Fowler slides created by Marty Stepp
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
 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.
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.
Pitfalls: Time Dependent Behaviors CS433 Spring 2001 Laxmikant Kale.
Sequence Diagram.
GRASP: Visibility and Design
UML SEQUENCE DIAGRAM.
Unified Modeling Language
UML UML Sequence Diagrams CSE 403
Sequence Diagram.
Prepared By Sidra Noureen
UML dynamic Modeling (Behavior Diagram)
Princess Nourah bint Abdulrahman University
Interactions.
Object Oriented Analysis and Design
Princess Nourah bint Abdulrahman University
System Sequence Diagrams
Sequence Diagrams.
Interaction diagrams.
Sequence Diagrams Getting the Message.
Unified Modelling Language
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Interaction Diagrams A Lot of UML!
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Synchronization and semaphores
Chapter 4 Sequence Diagrams
Presentation transcript:

Observations so far…

In general… There are two ways to design a software system –Centralized control One “driver” function that contains the entire algorithm and makes a lot of function calls to support –Distributed control The algorithm is split across many objects

Control Centralized –Easy to design –Easy to read (reverse engineer) –Easy to implement and debug –Hard to change/update (changes are not always localized) Distributed –Hard to design –Hard to read (reverse engineer) –Hard to implement and debug –Easy to change (changes are usually localized) My guess is that most (all?) of you are thinking centralized

Sequence Diagrams Chapter 4

Sequence Diagram The Sequence Diagram represents the collaborative nature of the design –The communication/cooperation between objects –Note these are not “static” relationships (those are in class diagrams) –Note these are relationships between objects (instantiations) not classes

Sequence Diagram Shows messages that are passed among objects over a period of time The time period covered is typically that of a single scenario (instantiated Use Case) They don’t show algorithmic behaviors to well –There are artifacts for loops and conditional statements but they lack detail

Sequence Diagram object (participant) loop deletion found message message with parameters message life line activation return self deletion Time

Loops and Conditionals Merely an indicator of what is going on –There is [typically] not enough detail for implementation loop [for each object] alt [amount < $10] [else] opt [amount < $10] parregion for/while/do if/else/switch if parallel critical region

Synchronous/asynchronous messages Messages can be synchronous –Sender waits until the receiver is finished processing the message Messages can be asynchronous –Sender proceeds while the receiver processes the message

Sequence Diagrams This diagram is going to help you “arrange” your objects One classic issue in object-oriented programming is accessibility –“I need this object to send a message to that one but there is not direct link between them – guess I’ll just make a global variable” With a legitimate design effort you should be able to avoid that situation

Deliverables Sequence Diagrams –First draft Revised Class Diagram Now is a good time to begin writing code