Drawing System Sequence Diagrams

Slides:



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

Object Design Examples with GRASP
System Sequence Diagrams
Interaction Diagram Notation From Chapter 15 of Craig Larman, Applying UML and Patterns John Dalesandro.
Object-Oriented Analysis and Design
Objectives Detailed Object-Oriented Requirements Definitions
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: 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.
Drawing System Sequence Diagrams
Systems Analysis and Design in a Changing World, Fourth Edition
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Use Case Modeling.
Detailed Object-Oriented Requirements Definitions
Sept Ron McFadyen1 Extend Relationship.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
9/18/011 Software Requirements Analysis and Design (Continued)
Unified Modeling Language
LECTURE 5 SEQUENCE DIAGRAM 1. INTRODUCTION – SYSTEM SEQUENCE DIAGRAM A system sequence diagram is a fast and easily created artifact that illustrates.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
Chapter 7: The Object-Oriented Approach to Requirements
SENG 403 SENG 403 – Winter  Brief introduction to SSD  Example (A sales systems (Cashier))  Example (Monopoly game) SENG 403 – Winter 2012.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Object Oriented Analysis and Design System Events & Contracts.
Objectives Detailed Object-Oriented Requirements Definitions
1 On to Object Design Chapter 14 Applying UML and Patterns.
Systems Analysis and Design in a Changing World, 6th Edition
Review ♦ System sequence diagram ♦ Domain model
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.
Operation Contracts: Getting ready to open the “System” black box All material from Applying UML and Patterns, 3 rd Edition, Craig Larman, chapter 11.
PRJ566 System Sequence Diagrams.  A system sequence diagram …. Illustrates input and output events related to the system under discussion.  Larman,
7 Systems Analysis and Design in a Changing World, Fifth Edition.
♦ Use Case Model  Detailled use case - Important  Use case diagram- Refactoring Use case diagram  > 1 Last Lectures.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Object-Oriented Analysis and Design CHAPTER 10: SYSTEM SEQUENCE DIAGRAMS 1.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
System sequence diagram M Taimoor Khan
System sequence diagrams
System Sequence Diagram Chandan Rupakheti & Steve Chenoweth Week 5-3a.
TK2023 Object-Oriented Software Engineering CHAPTER 12 Introduction to Responsibility-Driven Design.
Systems Analysis and Design in a Changing World, Fourth Edition
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
OO Methodology Elaboration Phase Iteration 1- Part 3.
Summary from previous lectures
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
SYSTEM-LEVEL SEQUENCE DIAGRAMS Sys466. System-Level Sequence Diagrams  Use cases describe how external actors interact with the software system…  An.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 Object Oriented Analysis and Design System Events & Contracts.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
System sequence diagrams
BTS430 Systems Analysis and Design using UML
Object-Oriented Systems Analysis and Design Using UML
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
Sequence Diagrams.
Princess Nourah bint Abdulrahman University
Princess Nourah bint Abdulrahman University
How do we convince people that in programming simplicity and clarity —in short: what mathematicians call "elegance"— are not a dispensable luxury, but.
Sequence Diagrams Lecture 6.
Week 12: Activity & Sequence Diagrams
CIS 375 Bruce R. Maxim UM-Dearborn
System Sequence Diagrams(SSD)
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman

UP Artifacts

Sequence Diagrams Shows objects and classes involved in a use case scenario Shows the messages exchanged between objects in time order sequence Used in design to assign object responsibilities Can be used test user interface requirements

System Sequence Diagrams (SSDs) SSD is an artifact of analysis that illustrates input and output events related to the system. SSD is associated with use-case realization in the logical view of system development.

SSDs and System Behavior System behaves as “Black Box”. Interior objects are not shown, as they would be on a Sequence Diagram. :System

Use Cases are Source for SSD Use cases describe How actors interact with system. Typical course of events that external actors generate and The order of the events.

SSD Components For a particular scenario of use-case an SSD shows- The external actors that interact directly with the system. The System (as a black box). The system events that the actors generate.

What SSDs Show Match operations of the system in response to the events generated Depict the temporal order of the events. Should be done for the main success scenario of the use-case Also for frequent and alternative scenarios

Objects on SSDs Objects are instances of classes. Represented as a rectangle which contains the name of the object underlined Because the system is instantiated, it is shown as an object. :Object1

Actors on SSDs Actor: An Actor is modeled using the ubiquitous symbol, the stick figure. actor1

Lifelines on SSDs LifeLine identifies the existence of the object over time. The notation for a Lifeline is a vertical dotted line extending from an object.

Messages on SSDs Messages, modeled as horizontal arrows between Activations, indicate the communications between objects. messageName(argument)

Example of an SSD Following example shows the success scenario of the Process Sale use case. Events generated by cashier (actor)-    makeNewSale     enterItem      endSale      makePayment.

SSD for Process Sale scenario

Create SSDs for each Use Case Draw a lifeline representing the system as a black box. Identify each actor that directly operates on the system. Draw a lifeline for each actor From the use case happy path text, identify system (external) events that actors generate (look at right side of the flow of events). Add them as messages to diagram. Add the main outputs from the use case as messages back to actor – see use case table Optionally, include the use case text to the left of the diagram.

SSDs are derived from use cases.

System Events and System Boundary To identify the system events, knowing the system boundary is critical. For the purpose of software development, the system boundary is chosen to be the software system itself.

Determining SSD System Boundary Identifying the System events- Determine the actors that directly interact with the system. In the process Sale example, the customer does not directly interact with the POS system. Cashier interacts with the system directly. Therefore cashier is the generator of the system events.

Defining system boundary.

Naming System Events and Operations External input event generated by an actor. Initiates a responding operation by system. In order to improve the clarity, it is appropriate to start the name of the system event with a verb System operation Operation invoked in response to system event.

Choosing SSD event / operation names “enterItem” is better than “scan” as it captures the intent of operation rather than what interface is used to capture the system event (design choice).

SSDs in Analysis SSDs are a visualization of the interactions implied in the use cases. It is useful to create SSDs during analysis to: Identify the system events and major operations Write system operation contracts (Contracts describe detailed system behavior) Provide a way for us to visually step through invocation of the operations in Use-Cases.