Professional Documents
Culture Documents
Class Diagrams: Depicting Classes and Static Relationships
Class Diagrams: Depicting Classes and Static Relationships
Class
Classes in UML
Class
Names
Person
Athlete
Fruit
Kiwi
Apple
HockeyPlayer
Classes in UML
As
Attributes in Classes
Person
age: Duration
height: Length
Athlete
teamName: String
Fruit
numSeeds: Integer
Apple
skinColour: Colour
diameter: Length
Attributes in Classes
Attributes
name : type
This format is taken from Eiffel, which uses a
Pascal-like syntax
Names are usually alphanumeric
Types are logical types from the domain
Attribute Modifiers
Attributes
only
Attributes
Attribute Modifiers
Attributes in Classes
Person
/ age: Duration
height: Length
Fruit
-numSeeds: Integer
Apple
Athlete
+teamName: String
-skinColour: Colour
#diameter: Length
$carboRatio: Real
Operations in Classes
Person
+birthday()
+getHeight(): Length
Apple
+getSkinColour(): Colour
+bite(depth: Length)
Operations in Classes
Athlete
{abstract}
+getPointsTotal() {abstract}
Genericity in Classes
Parameterized Classes
Printer
+print(item : T)
Parameterized Classes
Printer
+print(item : T)
<< bind >>
<Image>
ImagePrinter
Class Diagrams
Ok,
A is a type of B (inheritance)
A is associated with B (association)
A is a part of B (composition)
Inheritance
Fruit
Apple
Kiwi
Inheritance
Fruit
This is an
alternate
notation
Apple
Kiwi
Multiple Inheritance
StorageDevice
CDReader
CDWriter
Groups
Whenever
Overlapping/Disjoint Groups
Overlapping/Disjoint
Overlapping Groups
Overlapping/Disjoint
Overlapping Groups
Movie
overlapping
Comedy
Action
Overlapping Groups
Movies
Comedy
Action
A Venn Diagram
Disjoint Groups
Overlapping/Disjoint
Disjoint Groups
Book
disjoint
Paperback
Hardcover
Disjoint Groups
Books
Hardcover
Paperback
Complete/Incomplete Groups
Complete/Incomplete
Complete Groups
Complete/Incomplete
Complete Groups
Book
disjoint, complete
Paperback
Hardcover
Complete Groups
Books
Hardcover
Paperback
Incomplete Groups
Complete/Incomplete
Incomplete Groups
Movie
overlapping, incomplete
Comedy
Action
Incomplete Groups
Movies
Action
Comedy
There are
more items
Completeness/Disjointness
We
Is
Overlapping, incomplete
Disjoint, complete
What
Overlapping, complete
Disjoint, Incomplete
What
Group Separation
Group Separation
Association
Associations
Association
Association
An association contains:
Association
Lets
Association
Person
Plays
MusicalInstrument
Association
Person
Plays
MusicalInstrument
Association
Person
Plays
MusicalInstrument
Association
Person
0..*
Plays
MusicalInstrument
The multiplicity of
MusicalInstrument means:
Association
Person
0..*
Plays
MusicalInstrument
The multiplicity of
MusicalInstrument means:
Association
Person
0..*
Plays
0..*
MusicalInstrument
Association
Plays
Person
0..*
0..*
MusicalInstrument
Higher-Order Associations
Associations
classes
Composition
Composition
Composition
Composition
Airplane
Wing
Propeller
Fuselage
Tail
Aggregation
Aggregations
An
Aggregation
To
Aggregation
Parts
Aggregation
Aggregation
An
It
Aggregation
Club
1..*
1..*
Member
Aggregation
Toybox
1
1..*
Toy
Aggregate Order
Aggregate Order
Toybox
1
1..*
Toy
Magazine
[ordere
d]
1..*
Page
0..*
[ordered]
Paragraph 1
0..*
Element
[ordered]
Character
Image
Class Types
Class Types
control
MyControlClass
boundary
MyBoundaryClass
entity
MyEntityClass
MyControlClass
MyBoundaryClass
MyEntityClass