System Sequence Diagrams. Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

Similar documents
Interaction Modelling: Sequence Diagrams

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Modeling System Behavior. Events Scenarios Sequence Diagrams Collaboration Diagrams

Logical Architecture & Design Preliminaries

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Meltem Özturan

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Advanced Interaction

UML Essentials Dynamic Modeling

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Introduction - SENG 330. Object-Oriented Analysis and Design

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification

ROEVER ENGINEERING COLLEGE DEPARTMENT OF INFORMATION TECHNOLOGY CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

CS6502-OBJECT ORIENTED ANALYSIS AND DESIGN Two Marks Question with Answers Unit-I Introduction to OOAD

Domain Model and Domain Modeling

CSE 403. UML Sequence Diagrams. Reading: UML Distilled Ch. 4, by M. Fowler

CSE 308. UML Sequence Diagrams. Reading / Reference.

OBJECT ORIENTED ANALYSIS AND DESIGN SYLLABUS

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Software Design and Analysis CSCI 2040

BUILDING BLOCKS. UML & more...

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

UML Tutorial. Unified Modeling Language UML Tutorial

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

UML Component Diagrams A.Y 2018/2019

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

Use Case Sequence Diagram. Slide 1

Constantinos Constantinides Computer Science and Software Engineering Concordia University Montreal, Canada

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

LABORATORY 1 REVISION

Software Modeling & Analysis

17. GRASP: Designing Objects with Responsibilities

Object-Interaction Diagrams: Sequence Diagrams UML

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Unified Modeling Language (UML) Object Diagram and Interaction Diagrams

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

1. Introduction to Object Oriented Software Development

Operations Contracts and Preliminaries on Design

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Introduction to Software Engineering. 6. Modeling Behaviour

UML Sequence Diagrams for Process Views

Model-based Transition from Requirements to High-level Software Design

OO Using UML: Dynamic Models

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

SE 1: Software Requirements Specification and Analysis

7. UML Sequence Diagrams Page 1 of 1

COMP 6471 Software Design Methodologies

Information Expert (or Expert)

BDSA Introduction to OOAD. Jakob E. Bardram

Responsibilities. Using several specific design principles to guide OO design decisions.

Unit Wise Questions. Unit-1 Concepts

OO Using UML: Dynamic Models

Interactions A link message

Object Oriented Model of Objectory Process

UNIT-4 Behavioral Diagrams

Engineering Design w/embedded Systems

Final Exam CISC 475/675 Fall 2004

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Lecture 21 Detailed Design Dynamic Modeling with UML

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

XDI Requirements and Use Cases

COMP 354: INTRODUCTION TO SOFTWARE ENGINEERING

Unified Modeling Language

UML- a Brief Look UML and the Process

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Tool Support for Design Inspection: Automatic Generation of Questions

Object-oriented design. More UML

Unified Modeling Language (UML)

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Interaction Modelling: Use Cases

The three element types, connected by relations, can form sentences of sorts.

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Introduction to Software Engineering: Analysis

Quick Start Guide. Table of contents. Browsing in the Navigator... 2 The Navigator makes browsing and navigation easier.

Unified Modeling Language I.

GRASP: Patterns for. chapter18

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

Principles of Software Construction: Objects, Design, and Concurrency. Assigning Responsibilities to Objects. toad. Jonathan Aldrich Charlie Garrod

Design. Furthermore, it is natural to discover and change some requirements during the design and implementation work of the early iterations.

Lecture 8: Use Case -Driven Design. Where UML fits in

Alignment of Business and IT - ArchiMate. Dr. Barbara Re

PROCESSI DI PRODUZIONE E GESTIONE DEL SOFTWARE. Analysis and Design with UML. Paola Turci

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour

Constraint Definition Language in Oracle Configurator - A Holistic Perspective

Software Engineering Lab Manual

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

Software Design Description Report

4 Software models. often more than what people can handle not necessary to know all details at all times

Software Development. Designing Software

Transcription:

System Sequence Diagrams Based on Craig Larman, Chapter 10 and Anuradha Dharani s notes

Dynamic behaviors Class diagrams represent static relationships. Why? What about modeling dynamic behavior? Interaction diagrams model how groups of object collaborate to perform some behavior Typically captures the behavior of a single use case Use Case: Order Entry 1) An Order Entry window sends a prepare message to an Order 2) The Order sends prepare to each Order Line on the Order 3) Each Order Line checks the given Stock Item 4) Remove appropriate quantity of Stock Item from stock 5) Create a deliver item Alternative: Insufficient Stock 3a) if Stock Item falls below reorder level then Stock Item requests reorder

Sequence diagrams Vertical line is called an object s lifeline Represents an object s life during interaction Object deletion denoted by X, ending a lifeline Horizontal arrow is a message between two objects Order of messages sequences top to bottom Messages labeled with message name Optionally arguments and control information Control information may express conditions: such as [hasstock], or iteration Returns (dashed lines) are optional Use them to add clarity

A time for systems analysis To every thing there is a season, and a time to every purpose under heaven. Ecclesiastes 3:1 What UP phase are your projects in? What have you determined about your projects? Preliminary requirements analysis determines a vision and scope, use cases, risks and estimates I.e., is there a project worthy of pursuing? Next comes systems analysis: Clarifies input and output System events and which Objects trigger them Generates System Sequence Diagrams from Use Cases Why does this activity make sense now?

System Sequence Diagram (SSD) For a use case scenario, an SSD shows: The System (as a black box) :System The external actors that interact with System The System events that the actors generate SSD shows operations of the System in response to events, in temporal order Develop SSDs for the main success scenario of a selected use case, then frequent and salient alternative scenarios

SSD for Process Sale scenario (Larman, page 175)

From Use Case to Sequence System Diagram How to construct an SSD from a use case: 1. Draw System as black box on right side 2. For each actor that directly operates on the System, draw a stick figure and a lifeline. 3. For each System events that each actor generates in use case, draw a message. 4. Optionally, include use case text to left of diagram.

Example: use cases to SSD

Identifying the right Actor In the process Sale example, does the customer interact directly with the POS system? Who does? Cashier interacts with the system directly Cashier is the generator of the system events Why is this an important observation?

Naming System events & operations System events and associated system operations should be expressed at the level of intent Rather than physical input medium or UI widget Start operation names with verb (from use case) Which is better, scanbarcode or enteritem?

SSDs and the Glossary in parallel Why is updating the glossary important when developing the SSD? New terms used in SSDs may need explanation, especially if they are not derived from use cases A glossary is less formal, easier to maintain and more intuitive to discuss with external parties such as customers

SSDs within the Unified Process Create System Sequence Diagrams during Elaboration in order to: Identify System events and major operations Write System operation contracts (Contracts describe detailed system behavior) Support better estimates Remember, there is a season for everything: it is not necessary to create SSDs for all scenarios of all use cases, at least not at the same time

Concurrency in Sequence Diagrams Concurrent processes: UML 1: asynchronous messages as horizontal lines with half arrow heads UML 2 makes this distinction by not filling an arrowhead Fowler prefers older notation. Why? Which do you prefer? After setting up Transaction Coordinator, invoke concurrent Transaction Checkers If a check fails, kill all Transaction Checker processes Note use of comments in margin When is this a good idea?

Collaboration diagrams Objects are rectangular icons e.g., Order Entry Window, Order, etc. Messages are arrows between icons e.g., prepare() Numbers on messages indicate sequence Also spatial layout helps show flow Which do you prefer: sequence or collaboration diagrams? Fowler now admits he doesn t use collaboration diagrams Interaction diagrams show flow clearly, but are awkward when modeling alternatives UML notation for control logic has changed in UML 2 but Fowler isn t impressed