UML 2.0

advertisement
A 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



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 Information
 Captures meaning of an application
 Used for code generation, validation, etc

Visual Presentation
 Notations
 Guide human understanding of a model

Context
Meaning

Abstraction vs. Detail

Specification vs. Implementation

Description vs. Instance

Variations in interpretation




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 & Booch
 Combined OMT & Booch methods
 Jacobson join Rational group
○ UML draft

1996, OMG issues rfp for standard
approach to OO modeling
 UML results
UML History

Fusion [Coleman-94]
 Included concepts from:
○ OMT [Rumbaugh-91]
○ Booch [Booch-94]
○ CRC [Wirfs-Brock-90]

Rational Software, Rumbaugh & Booch
 Combined OMT & Booch methods
 Jacobson join Rational group
○ UML draft

1996, OMG issues rfp for standard
approach to OO modeling
 UML results
UML History

Fusion [Coleman-94]
 Included concepts from:
○ OMT [Rumbaugh-91]
○ Booch [Booch-94]
○ CRC [Wirfs-Brock-90]

Rational Software, Rumbaugh & Booch
 Combined OMT & Booch methods
 Jacobson join Rational group
○ UML draft

1996, OMG issues rfp for standard
approach to OO modeling
 UML results
Goals of UML



General-purpose modeling language
Non-proprietary
Support good design practices
 Encapsulation
 Separation of concerns

Address development issues





Large-scale
Distribution
Concurrency
Patterns
Team development
Goals of UML



General-purpose modeling language
Non-proprietary
Support good design practices
 Encapsulation
 Separation of concerns

Address development issues





Large-scale
Distribution
Concurrency
Patterns
Team development
Goals of UML



General-purpose modeling language
Non-proprietary
Support good design practices
 Encapsulation
 Separation of concerns

Address development issues





Large-scale
Distribution
Concurrency
Patterns
Team development
Goals of UML



General-purpose modeling language
Non-proprietary
Support good design practices
 Encapsulation
 Separation of concerns

Address development issues





Large-scale
Distribution
Concurrency
Patterns
Team development
UML Views

4 Areas
 Structural classification
 Dynamic behavior
 Physical layout
 Model 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

Structural
 Static View
 Design View
 Use Case View
Dynamic
 Physical
 Model Management

Class Diagram
association
class
dependency
generalization
interface
realization
UML Views
Internal Structure
Collaboration Diagram

Structural
 Static View
 Design View
 Use Case View
Dynamic
 Physical
 Model Management

Component Diagram
connector
interface
part
port
provided interface
role
required interface
collaboration
collaboration use
component
dependency
realization
subsystem
UML Views

Structural
 Static View
 Design View
 Use Case View
Dynamic
 Physical
 Model Management

Use Case Diagram
actor
association
extend
include
use case
use case generalization
UML Views
Structural
 Dynamic

 State Machine View
 Activity View
 Interaction View
Physical
 Model Management

State Machine Diagram
completion transition
do activity
effect
event
region
state
transition
trigger
UML Views
Structural
 Dynamic

 State Machine View
 Activity View
 Interaction View
Physical
 Model Management

Activity Diagram
action
activity
control flow
control node
data flow
exception
expansion region
fork
join
object node
pin
UML Views
Sequence Diagram
Communication Diagram
Structural
 Dynamic

 State Machine View
 Activity View
 Interaction View
Physical
 Model Management

occurrence specification
execution specification
interaction
interaction fragment
interaction operand
lifeline
message
signal
collaboration
guard condition
role
sequence number
UML Views
Structural
 Dynamic
 Physical

 Deployment View

Model Management
Deployment Diagram
artifact
dependency
manifestation
node
UML Views
Structural
 Dynamic
 Physical
 Model Management

 Model Management View
 Profile
Package Diagram
import
model
package
constraint
profile
stereotype
tagged value
Review

Modeling
 Models have several abstract levels
 Models takes various forms

UML
 History
 Four concept areas and corresponding
views
Download