Chapter 2, Modeling with UML: UML 2 Hightlights

Similar documents
Unified Modeling Language

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Object-Oriented Modeling. Sequence Diagram. Slides accompanying Version 1.0

Chapter 2, Modeling with UML, Part 2

Chapter 2, Modeling with UML, Part 2

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UML Behavioral Models

Object-Interaction Diagrams: Sequence Diagrams UML

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

Object Interaction Sequence Diagrams

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

Software Engineering Fall 2014

Chapter 4 Requirements Elicitation

Chapter 7, System Design: Addressing Design Goals

Chapter 7, System Design: Addressing Design Goals

Software Specification 2IX20

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015

Chapter 5, Analysis: Dynamic Modeling

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

In this case, the behavior of a single scenario

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Object-Oriented Software Engineering: Using UML, Patterns And Java (2nd Edition) By Allen H. Dutoit, Bernd Bruegge

Fault, Error, and Failure

Object-Oriented Software Engineering Using UML, Patterns, And Java (3rd Edition) By Bernd Bruegge READ ONLINE

Chapter 5, Analysis: Dynamic Modeling

Chapter 7, System Design: Addressing Design Goals

What's New in UML 2.0

Chapter 8, Design Patterns Visitor

Chapter 5, Analysis: Dynamic Modeling

Object-Oriented Design

Test Case Generation Based on Sequence Diagrams

3: Modeling Behavior with UML Sequence Diagrams

Lecture 21 Detailed Design Dynamic Modeling with UML

Page 1. Dynamic Modeling. How do you find classes? Dynamic Modeling with UML. UML Interaction Diagrams. UML State Chart Diagram.

Chapter 11, Testing, Part 2: Integration and System Testing

The SPL Programming Language Reference Manual

The PCAT Programming Language Reference Manual

Software Engineering (CSC 4350/6350) Rao Casturi

Chapter 11, Testing, Part 2: Integration and System Testing

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2014

Chapter 2, lecture 1, Modeling with UML

Object Design II: Design Patterns

Introduction to Unified Modelling Language (UML)

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 11, Testing, Part 2: Integration and System Testing

A Logical Framework for Sequence Diagram with Combined Fragments

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Java Programming Training for Experienced Programmers (5 Days)

Implementation Work Flow. CSC 532: Advanced Software Engineer Louisiana Tech University

Programming Languages Third Edition. Chapter 9 Control I Expressions and Statements

Software Service Engineering

Outline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants

Chapter 8, Object Design: Object Constraint Language

Chapter 10, Mapping Models to Relational Schema

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

COMSC-051 Java Programming Part 1. Part-Time Instructor: Joenil Mistal

Designing Robust Classes

Chapter 7, System Design: II Addressing Design Goals

Testing, Debugging, and Verification

CONDITIONAL EXECUTION: PART 2

Flow of Control. Chapter 3 Part 3 The Switch Statement

Language Reference Manual simplicity

Refining UML specifications. - the STAIRS method. Ragnhild Kobro Runde. Joint work with Ketil Stølen and Øystein Haugen. Ragnhild Kobro Runde

A Conceptual Model of the UML

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Chapter 6, System Design Lecture 2

Control Structures. Lecture 4 COP 3014 Fall September 18, 2017

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

GraphQuil Language Reference Manual COMS W4115

Chapter 4 Defining Classes I

PROGRAMMING FUNDAMENTALS

CS18000: Programming I

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Object Oriented Programming

9/21/17. Outline. Expression Evaluation and Control Flow. Arithmetic Expressions. Operators. Operators. Notation & Placement

Chapter 7 Control I Expressions and Statements

G Programming Languages - Fall 2012

Activities Radovan Cervenka

UNIT 3

Recommendations for Architecture- Centric Software Supporting Self- Adaptive Behavior

Continuous Prototyping: Unified Application Delivery from Early Design to Code

Programming with Java

UML (Unified Modeling Language)

Semantics Preservation of Sequence

The Warhol Language Reference Manual

Instructor: SIR MUHAMMAD NAVEED Created by: ARSLAN AHMED SHAAD ( ) MUHAMMAD BILAL ( ) ISIT:

Chapter 2, lecture 2 Modeling with UML

UML Diagrams MagicDraw UML Diagrams

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

(Not Quite) Minijava

CS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class

Functional programming with Common Lisp

Chapter 5, Analysis: Object Modeling

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

Test Driven Development Building a fortress in a greenfield (or fortifying an existing one) Dr. Hale University of Nebraska at Omaha

Introduction to UML. (Unified Modeling Language)

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Transcription:

Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 2, Modeling with UML: UML 2 Hightlights Outline for this class ü Overview of important changes in UML 2 Ø Deployment diagrams Sequence diagrams Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 2! Page 1

UML 2 Deployment Diagrams Two node types: Device a physical computational resource with processing capability upon which artifacts may be deployed for execution. Execution environment a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts. «device» :AppServer «executionenvironment» :J2EEServer Order.jar ShoppingCart.jar Account.jar Product.jar BackOrder.jar Service.jar :DBServer «device» :DBServer OrderSchema.ddl ItemSchema.ddl Figure 10.14 - Notation for a Device Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 3! Deployment Diagram Changes II Artifacts can now manifest any packageable element, not just components An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Manifestation (the concrete physical rendering of one or more model elements by an artifact) is shown by a dependency with keyword «manifest» «component» Order org.junit «manifest» «manifest» «artifact» «artifact» Order.jar Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using junit-4.5.jar UML, Patterns, and Java 4! Page 2

Deployment Diagram Changes III A deployment diagram can have a deployment specification «artifact» Order.jar «deploy» «deployment spec» Orderdesc.xml :AppServer Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 5! Interaction Diagrams Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 6! Page 3

Interaction Diagrams New concept of interaction fragments Before we go into detail with interaction fragments, let s cover the concept of an interaction. Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 7! Interaction Diagrams Four types of interaction diagrams: Sequence diagrams We will not study the following (by now at least): Communication diagrams Interaction overview diagrams Timing diagrams The basic building block of an interaction diagram is the interaction An interaction is a unit of behavior that focuses on the observable exchange of information between connectable elements Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 8! Page 4

Example of an Interaction: Sequence Diagram Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 9! Interaction Fragment Interaction Fragment Is a piece of an interaction Acts like an interaction itself Combined Fragment Is a subtype of interaction fragment defines an expression of interaction fragments An expression of interaction fragments is defined by an interaction operator and interaction operands. Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 10! Page 5

Interaction Operators The following operators are allowed in the combination of interaction fragments: alt opt par loop critical neg assert strict seq Ignore consider Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 11! Alt Operator The interaction operator alt indicates a choice of behavior between interaction fragments At most one interaction fragment (that is, an InteractionOperand) is chosen The chosen interaction fragment must have an explicit or implicit guard expression that evaluates to true at this point in the interaction A guard can be a boolean expression (called InteractionConstraint) else (a reserved word) If the fragment has no guard expression, true is implied. Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 12! Page 6

Example of a Combined Fragment using the alt operator The interaction operator alt indicates a choice of behavior between interaction fragments Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 13! Opt and Break Operators option: The interaction operator opt designates a choice of behavior where either the (sole) operand happens or nothing happens. break: The interaction operator break represents a breaking scenario: The operand is a scenario that is performed instead of the remainder of the enclosing interaction fragment. Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 14! Page 7

Parallel and Critical Operator par The interaction operator par designates a parallel merge between the behaviors of the operands of a combined fragment. critical The interaction operator critical designates that the combined fragment represents a critical region. Bernd Bruegge & Allen H. Dutoit!! Object-Oriented Software Engineering: Using UML, Patterns, and Java 15! Example of a Critical Region Problem statement: The telephone Operator must make sure to forward a 911-call from a Caller to the Emergency system before doing anything else. Normal calls can be freely interleaved. Page 8