A Brief Introduction. Acknowledgements The material in this tutorial is based in part on:...

46
UML A Brief Introduction

Transcript of A Brief Introduction. Acknowledgements The material in this tutorial is based in part on:...

UMLA Brief Introduction

Acknowledgements The material in this tutorial is

based in part on:Concurrency: State Models & Java

Programming, by Jeff Magee and Jeff Kramer

The Unified Modeling Language, 2nd edition, by James Rumbaugh, Ivar Jacobson, and Grady Booch

Model

Definition Abstraction Meaning

Purpose Contents

Definition

A representation in a medium of something in the same or another medium

Captures important aspects Convenient for working Take various forms

Definition

A representation in a medium of something in the same or another medium

Captures important aspects Convenient for working Takes various forms

Definition

A representation in a medium of something in the same or another medium

Captures important aspects Convenient for working Takes various forms

Definition

A representation in a medium of something in the same or another medium

Captures important aspects Convenient for working Take various forms

Purpose

To capture and precisely state requirements and domain knowledge

To think about the design of a system

To capture design decisions in a mutable form

Purpose

To capture and precisely state requirements and domain knowledge

To think about the design of a system

To capture design decisions in a mutable form

Purpose

To capture and precisely state requirements and domain knowledge

To think about the design of a system

To capture design decisions in a mutable form

Purpose

To generate usable work products

To organize, find, filter, retrieve, examine, and edit information about large systems

To explore multiple solutions

To master complex systems

Purpose

To generate usable work products

To organize, find, filter, retrieve, examine, and edit information about large systems

To explore multiple solutions

To master complex systems

Purpose

To generate usable work products

To organize, find, filter, retrieve, examine, and edit information about large systems

To explore multiple solutions

To master complex systems

Purpose

To generate usable work products

To organize, find, filter, retrieve, examine, and edit information about large systems

To explore multiple solutions

To master complex systems

Abstraction

Different forms

Different levels of abstraction

Various purposes

Levels of Abstraction

Guides to the thought process Abstract specifications of the essential

structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of

systems

Levels of Abstraction

Guides to the thought process Abstract specifications of the essential

structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of

systems

Levels of Abstraction

Guides to the thought process Abstract specifications of the essential

structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of

systems

Levels of Abstraction

Guides to the thought process Abstract specifications of the essential

structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of

systems

Levels of Abstraction

Guides to the thought process Abstract specifications of the essential

structure of a system Full specifications of a final system Exemplars of typical or final systems Complete or partial description of

systems

Content

Semantic InformationCaptures meaning of an applicationUsed for code generation, validation, etc

Visual PresentationNotationsGuide human understanding of a model

Context

Meaning

Abstraction vs. Detail

Specification vs. Implementation

Description vs. Instance

Variations in interpretation

UML

A Brief Summary UML History Goals of UML UML Views

A Brief Summary

General-purpose visual modeling language for discrete system

Captures information about the static structure and dynamic behavior of a system

Contains organizational constructs for arranging models into packages

NOT primarily a programming language

A Brief Summary

General-purpose visual modeling language for discrete system

Captures information about the static structure and dynamic behavior of a system

Contains organizational constructs for arranging models into packages

NOT primarily a programming language

A Brief Summary

General-purpose visual modeling language for discrete system

Captures information about the static structure and dynamic behavior of a system

Contains organizational constructs for arranging models into packages

NOT primarily a programming language

A Brief Summary

General-purpose visual modeling language for discrete system

Captures information about the static structure and dynamic behavior of a system

Contains organizational constructs for arranging models into packages

NOT primarily a programming language

UML History Fusion [Coleman-94]

Included concepts from:○ OMT [Rumbaugh-91]○ Booch [Booch-94]○ CRC [Wirfs-Brock-90]

Rational Software, Rumbaugh & BoochCombined OMT & Booch methodsJacobson join Rational group

○ UML draft

1996, OMG issues rfp for standard approach to OO modelingUML results

UML History Fusion [Coleman-94]

Included concepts from:○ OMT [Rumbaugh-91]○ Booch [Booch-94]○ CRC [Wirfs-Brock-90]

Rational Software, Rumbaugh & BoochCombined OMT & Booch methodsJacobson join Rational group

○ UML draft

1996, OMG issues rfp for standard approach to OO modelingUML results

UML History Fusion [Coleman-94]

Included concepts from:○ OMT [Rumbaugh-91]○ Booch [Booch-94]○ CRC [Wirfs-Brock-90]

Rational Software, Rumbaugh & BoochCombined OMT & Booch methodsJacobson join Rational group

○ UML draft

1996, OMG issues rfp for standard approach to OO modelingUML results

Goals of UML General-purpose modeling language Non-proprietary Support good design practices

EncapsulationSeparation of concerns

Address development issuesLarge-scaleDistributionConcurrencyPatternsTeam development

Goals of UML General-purpose modeling language Non-proprietary Support good design practices

EncapsulationSeparation of concerns

Address development issuesLarge-scaleDistributionConcurrencyPatternsTeam development

Goals of UML General-purpose modeling language Non-proprietary Support good design practices

EncapsulationSeparation of concerns

Address development issuesLarge-scaleDistributionConcurrencyPatternsTeam development

Goals of UML General-purpose modeling language Non-proprietary Support good design practices

EncapsulationSeparation of concerns

Address development issuesLarge-scaleDistributionConcurrencyPatternsTeam development

UML Views

4 AreasStructural classificationDynamic behaviorPhysical layoutModel Management

UML Views

A subset of UML modeling constructs

Represents one aspect of a system

One or two kinds of diagrams provide a visual notation for the concepts in each view

UML Views

StructuralStatic ViewDesign ViewUse Case View

Dynamic Physical Model Management

Class Diagramassociation

classdependency

generalizationinterface

realization

UML Views

StructuralStatic ViewDesign ViewUse Case View

Dynamic Physical Model Management

connectorinterface

partport

provided interfacerole

required interfacecollaboration

collaboration usecomponent

dependencyrealizationsubsystem

Internal Structure

Collaboration Diagram

Component Diagram

UML Views

StructuralStatic ViewDesign ViewUse Case View

Dynamic Physical Model Management

Use Case Diagramactor

associationextendinclude

use caseuse case generalization

UML Views

Structural Dynamic

State Machine ViewActivity ViewInteraction View

Physical Model Management

State Machine Diagramcompletion transition

do activityeffectevent

regionstate

transitiontrigger

UML Views

Structural Dynamic

State Machine ViewActivity ViewInteraction View

Physical Model Management

Activity Diagramaction

activitycontrol flow

control nodedata flow

exceptionexpansion region

forkjoin

object nodepin

UML Views

Structural Dynamic

State Machine ViewActivity ViewInteraction View

Physical Model Management

Sequence Diagram

occurrence specificationexecution specification

interactioninteraction fragmentinteraction operand

lifelinemessage

signalcollaboration

guard conditionrole

sequence number

Communication Diagram

UML Views

Structural Dynamic Physical

Deployment View

Model Management

Deployment Diagramartifact

dependencymanifestation

node

UML Views

Structural Dynamic Physical Model Management

Model Management ViewProfile

Package Diagramimportmodel

packageconstraint

profilestereotype

tagged value

Review

Review

ModelingModels have several abstract levelsModels takes various forms

UMLHistoryFour concept areas and corresponding

views