Escolar Documentos
Profissional Documentos
Cultura Documentos
An Introduction
Contents
Why model ?
Principles of modeling
What is UML ?
Introduction to UML
Why Model ?
Introduction to UML
Principles of Modeling
Introduction to UML
What is UML ?
Introduction to UML
What is UML?
Pretty pictures.
UML is not process. (That is, it doesnt tell you how to do
things, only what you should do.)
6
Introduction to UML
Introduction to UML
Structural Things
The nouns of UML models; usually the static
parts of the system in question.
Class - an abstraction of a set of things in the problemdomain that have similar properties and/or functionality.
Notation:
customer
Introduction to UML
Accounts
System
Process
Order
Introduction to UML
Notation:
eventManager
DML_Parser.C
Introduction to UML
10
Notation:
PrintServer
Introduction to UML
11
Behavioral Things
The verbs of UML models; usually the dynamic
parts of the system in question.
Parse
Introduction to UML
12
Notation:
Engine
Idling
Introduction to UML
13
Grouping Things
The organisational part of the UML model; provides a
higher level of abstraction (granularity).
Notation:
Accounts
Department
Introduction to UML
14
Annotational Things
The explanatory part of the UML model; adds
information/meaning to the model elements.
Notation:
Introduction to UML
15
Relationships
Articulates the meaning of the links between things.
Introduction to UML
16
Relationships (contd.)
Introduction to UML
17
Relationships (contd.)
Introduction to UML
18
Diagrams
The graphical presentation of the model. Represented
as a connected graph - vertices (things) connected by
arcs (relationships).
UML includes nine diagrams - each capturing a
different dimension of a software-system architecture.
Class Diagram
Object Diagram
Use Case Diagram
Sequence Diagram
Collaboration Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Introduction to UML
19
More on Diagrams...
Introduction to UML
20
More on Diagrams...
Sequence Diagram - models the flow of control by timeordering; depicts the interaction between various objects by
of messages passed, with a temporal dimension to it.
Introduction to UML
21
More on Diagrams...
Introduction to UML
22
Dimensions...
. . .of Software Architecture
Structural Implementation
View View
Class Diagrams
Object Diagrams
Component Diagrams
User View
Use Case
Diagrams
Sequence Diagrams
Deployment Diagrams
Collaboration Diagrams
Statechart Diagrams
Activity Diagrams
Behavioral Environment
View View
CDAC (Formerly NCST)
Introduction to UML
23
Rules
Introduction to UML
24
Common Mechanisms
Introduction to UML
25
Adornments
Adorn the model - i.e., enhance the model. Adds to
the meaning and/or semantics of the element to
which it pertains.
Notes are the mechanism provided by UML for
adorning a model:
Introduction to UML
26
UML syntax, 2
27
Introduction to UML
27
UML syntax, 3
Introduction to UML
28
29
Introduction to UML
29
30
Introduction to UML
30
31
Introduction to UML
31
32
Introduction to UML
32
33
Introduction to UML
33
34
Introduction to UML
34
Introduction to UML
35
Introduction to UML
36
UML pitfalls, 1
Introduction to UML
37
Introduction to UML
38
Class diagram
perspective
Class diagrams can make sense at three distinct
levels, or perspectives:
Introduction to UML
39
40
Introduction to UML
40
Introduction to UML
41
Notation:
Package
Name
Class Name
<<Interface>>
Interface Name
42
Introduction to UML
42
Relationships
Notation:
Association
Aggregation
Inheritance
Dependency
Realize
43
Introduction to UML
43
44
Introduction to UML
44
Package Relationships
45
Introduction to UML
45
Multiplicity Indicators
Exactly one
0..*
Zero or more
1..*
One or more
0..1
Zero or one
2..7
Specified range
46
Introduction to UML
46
Multiplicity Indicators
47
Introduction to UML
47
Sequence Diagrams
48
Introduction to UML
49
Sequence diagram
example
50
Introduction to UML
50
More on UML...
UML is a modeling language for visualising,
specifying, constructing and documenting the
artifacts(pieces) of software systems.
Visualising - a picture is worth a thousand
words; a graphical unambiguously
communicates the overall view of the system
(problem-domain).
Introduction to UML
51
Introduction to UML
52
53
Introduction to UML
53
54
Introduction to UML
54
55
Introduction to UML
55
56
Introduction to UML
56
More on UML...
Specifying - UML provides the means to model
precisely, unambiguously and completely, the
system in question.
Introduction to UML
57
More on UML...
Documenting - every software
project involves a lot of documentation from the inception phase to the
deliverables.
Documentation is
(among others) for:
Requirements
Design
Tests
CDAC (Formerly NCST)
Introduction to UML
58
Stereotypes
Introduction to UML
59
Tagged Values
Introduction to UML
60
Constraints
Can apply to any element in the model attributes of a class, relationship, etc.
Notation: { incomplete, disjoint }
Introduction to UML
61
Summary
Introduction to UML
62
Summary
Introduction to UML
63
Summary
Introduction to UML
64
Summary
Introduction to UML
65
Summary
Introduction to UML
66
Summary
Introduction to UML
67
References
The Unified Modeling Language User
Guide
Grady Booch, James Rumbaugh, Ivar Jacobson
Addison-Wesley (International Student Edition)
UML Distilled
Martin Fowler (with Kendall Scott)
Addison-Wesley