UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.

Slides:



Advertisements
Similar presentations
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Advertisements

1 Behavioral Modeling Chapter 8. 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
UML: Use Cases Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Unified Modeling Language UML Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
SE-565 Software System Requirements More UML Diagrams.
An Introduction to Rational Rose Real-Time
UML. Overview of UML Diagrams Structural : element of spec. irrespective of time Class Component Deployment Object Composite structure Package Behavioral.
Unified Modeling Language
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
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.
Class, Sequence and UML Model.  Has actors and use cases.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Unified Modeling Language, Version 2.0
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
UNIT- Venkata Ratnam K1 BEHAVIORAL MODELING.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
For accurate communication, since a project can have several participants, each from different background. Represent a given aspect of the system We will.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Behavioral Modeling Chapter 8.
Real Time Systems Modeling Structure in UML (Part I)
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 Structuring Systems Requirements Use Case Description and Diagrams.
TAL7011 – Lecture 4 UML for Architecture Modeling.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
UML Diagrams CSC 422 Kutztown University Dr. Daniel Spiegel.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Basic Characteristics of Object-Oriented Systems
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
UML Diagrams By Daniel Damaris Novarianto S..
Department of Computer Science
Systems Analysis and Design With UML 2
UML Diagrams Jung Woo.
UML: Unified modeling language
Interactions.
UML Overview Part 2.
Unified Modeling Language
Software Design Lecture : 15.
Presentation transcript:

UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University

Types of Diagrams Structural Diagrams – focus on static aspects of the software system –Class, Object, Component, Deployment Behavioral Diagrams – focus on dynamic aspects of the software system –Use-case, Interaction, State Chart, Activity

Structural Diagrams Class Diagram – set of classes and their relationships. Describes interface to the class (set of operations describing services) Object Diagram – set of objects (class instances) and their relationships Component Diagram – logical groupings of elements and their relationships Deployment Diagram - set of computational resources (nodes) that host each component.

Behavioral Diagram Use Case Diagram – high-level behaviors of the system, user goals, external entities: actors Sequence Diagram – focus on time ordering of messages Collaboration Diagram – focus on structural organization of objects and messages State Chart Diagram – event driven state changes of system Activity Diagram – flow of control between activities

Use Case Diagrams

Describes a set of sequences. Each sequence represents the interactions of things outside the system (actors) with the system itself (and key abstractions) Use cases represent the functional requirements of the system (non- functional requirements must be given elsewhere)

Use case Each use case has a descriptive name Describes what a system does but not how it does it. Use case names must be unique within a given package Examples: withdraw money, process loan

Actor Actors have a name An actor is a set of roles that users of use cases play when interacting with the system They are external entities They may be external an system or DB Examples: Customer, Loan officer

What is a Use Case Use case captures some user-visible functionality Granularity of functionality depends on the level of detail in your model Each use case achieves a discrete goal for the user Use Cases are generated through requirements elicitation

Example

Extend and Include

Example (generalization)

Modeling Behavior Sequence Diagrams

Refining the Object Model Typically, only very simplistic object models can be directly derived from use cases. A better understanding of the behavior of each use case is necessary (i.e., analysis) Use interaction diagrams to specify and detail the behavior of use cases This helps to identify and refine key abstractions and relationships Operations, attributes, and messages are also identified during this process

Interaction Diagrams There is one (or more) Interaction diagram per use case –Represent a sequence of interactions –Made up of objects, links, and messages Sequence diagrams –Models flow of control by time ordering –Emphasizes passing messages wrt time –Shows simple iteration and branching Collaboration diagrams –Models flow of control by organization –Structural relationships among instances in the interaction –Shows complex iteration and branching

Sequence Diagrams X-axis is objects –Object that initiates interaction is left most –Object to the right are increasingly more subordinate Y-axis is time –Messages sent and received are ordered by time Object life lines represent the existence over a period of time Activation (double line) is the execution of the procedure.

Message Passing Send – sends a signal (message) to an object Return – returns a value to a caller Call – invoke an operation Stereotypes – >

Example UML Sequence Diagram

Example

Mail System

Mail System (2)

Mail System Objects Caller, owner, administrator Mailbox, extension, password, greeting Message, message list Mail system Input reader/device

Leave a message

Properties of Sequence Diagrams Initiator is leftmost object (boundary object) Next is typically a control object Then comes entity objects

Collaboration Diagrams Emphasizes the organization of the objects that participate in an interaction Classifier roles Association Messages, flow, and sequencing

Example Collaboration Diagram

Leave a Message

Collaboration vs Sequence The two diagrams really show the same information Collaboration diagrams show more static structure (however, class diagrams are better at this) Sequence diagrams clearly highlight the orderings and very useful for multi-tasking

Summary (Interaction Diagrams) Well structured interaction diagrams: –Is focused on communicating one aspect of a system’s dynamics –Contains only those elements that are essential to understanding –Is not so minimalistic that it misinforms the reader about the semantics that are important Diagrams should have meaningful names Layout diagram to minimize line crossings Use branching sparingly (leave for activity dia)

State Diagrams Finite state machines (i.e., automata, Mealy/Moore, state transition) Used to describe the behavior of one object (or sometimes an operator) for a number of scenarios that affect the object They are not good for showing interaction between objects (use interaction diagrams) Only use when the behavior of a object is complex and more detail is needed

State Diagram Features Event – something that happens at a specific point –Alarm goes off Condition – something that has a duration –Alarm is on –Fuel level is low State – an abstraction of the attributes and relationships of an object (or system) –The fuel tank is in a too low level when the fuel level is below level x for n seconds

Example: on/off Switch

Using guards and actions trigger event guard action