A Brief Introduction. Acknowledgements The material in this tutorial is based in part on:...
-
Upload
jerome-woods -
Category
Documents
-
view
214 -
download
0
Transcript of A Brief Introduction. Acknowledgements The material in this tutorial is based in part on:...
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
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
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
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
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