Computer Science 340 Software Design & Testing UML Sequence Diagrams.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

System Sequence Diagrams
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Interaction Diagrams Activity Diagram State Machine Diagram
Object-Oriented Analysis and Design
THE OBJECT-ORIENTED DESIGN WORKFLOW UML2 Sequence Diagrams.
7M822 UML Sequence Diagrams 2 December 2010.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
Object Collaborations. Objectives: Object Interaction (cont.) You will be able to:  Use sequence diagrams to detail object interactions.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
UML Distilled Martin Fowler. State Diagrams  State Transition Diagrams define a number of states and the transitions between the states.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
L3-6b-S1 Sequence Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
SE-565 Software System Requirements More UML Diagrams.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
SEQUENCE DIAGRAM Prepared by: T. Fatimah Alageel.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
Class, Sequence and UML Model.  Has actors and use cases.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Interaction diagrams Sequence and collaboration diagrams.
1 On to Object Design Chapter 14 Applying UML and Patterns.
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.
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
9-1 © Prentice Hall, 2004 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Sequence diagram in UML Martin Palkovik. Sequence diagram  It is a graphic representation of system operations based on chronology - a time sequence.
TAL7011 – Lecture 4 UML for Architecture Modeling.
What to remember from Chap 13 (Logical architecture)
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Object Oriented Analysis and Design Sequence Diagrams.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
BPMN.  BPMN will provide businesses with the capability of understanding their internal business procedures in a graphical notation.
Analysis Classes. What Is an Analysis Class?  A class that represents initial data and behavior requirements, and whose software and hardware-oriented.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Basic Characteristics of Object-Oriented Systems
Test Generation from UML Specifications Michael A. Gray American University Washington, DC.
1 Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
CompSci 280 S Introduction to Software Development
The Movement To Objects
UML Interaction Diagrams
Standard UML: Communication and Dynamic Behavior
UML Modeling Sequence diagram
Unified Modeling Language
Sequence and Collaboration Diagrams
University of Central Florida COP 3330 Object Oriented Programming
Behavioral Modeling.
The Process of Object Modeling
Business System Development
UML dynamic Modeling (Behavior Diagram)
Software System Engineering
Requirements To Design In This Iteration
Object-Oriented Analysis & Design
Interaction diagrams.
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
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.
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Appendix 3 Object-Oriented Analysis and Design
Software System Engineering
Presentation transcript:

Computer Science 340 Software Design & Testing UML Sequence Diagrams

Behavioral Modeling in UML Class Diagrams are used to model the static structure of a system –The things in the system and the connections between them In addition to static structure, a system also has dynamic behavior –The system must DO something to be useful –How the objects in the system interact at runtime When and by whom are the various objects created? What is the message flow between the various objects? –What are the Algorithms?

Sequence Diagrams Sequence Diagrams are used to show how messages flow between objects They provide one possible representation for algorithmic behavior –Pseudo code is another Sequence Diagrams contain: –Objects (instances) –Lifelines –Messages

Object Lifelines Time proceeds from top to bottom Dashed line represents the lifetime of the object (the time during which the object exists) Activation boxes show when the object is active (i.e., executing an operation)

Message Passing

Creating/Deleting Objects

Example Source: Booch et. al., The UML User Guide

Example

Iteration and Branching Source: Fowler, UML Distilled

Pseudo Code Create new student Add new student to school For each course in student's schedule Add student to course Mark student as "registered"

Pseudo Code For each line item in the order If item is in stock Decrement quantity of item in stock If item needs to be reordered Create re-order request Create delivery request

Sequence Diagrams vs. Pseudo Code Sequence diagrams are good at showing how multiple objects work together to achieve a task –Algorithms are frequently distributed across multiple classes –Sequence diagrams excel at showing the message flow across participating objects Sequence diagrams are not good at showing complex logic –Complex logic = Lots of iteration and branching –If complex logic is needed, you can create a separate diagram for each major path, thus keeping each diagram as linear as possible –Pseudo code can be a better representation for complex algorithms