You are on page 1of 1

COMP 16412: UML Syntax Quick Reference Sheet

attribute type Other Reference Types:

class name
An enum
attributes super class values
methods
A triangle arrow indicates
constructor that one class
(no return type) extends another
An interface
visibility modifier sub class
- private
+ public The lollipop notation (…or the dashed arrow)
# protected indicates that a class
realises (aka implements)
an interface

parameter type(s) return type Relationships:


A diamond headed line represents a whole-part relationship

static modifier
an underlined attribute or open = aggregation shaded = composition
method indicates that the
(the part exists without the whole) (the part cannot exist without the whole)
member is static
A cross inside a circle indicates a nested class (or nested enum / interface)

A box with a tab in the top-left corner indicates a Java package. You can use a straight line connector to indicate association (e.g. in this case, ClassA and ClassB might
Classes inside the box are part of the package. call each other), or a directional arrow if that association is one way (e.g. ClassB calls ClassC, but
ClassC does not ClassB). You can also label any line to describe the relationship in more depth.

calls

You can label lines using numbers to describe cardinality. Some common cardinality options…
Version 1.2, February 2021 © Sarah Clinch 0…1 Zero or one.
Licensed under Creative Commons Attribution-ShareAlike (CC By-SA) 1...* At least one.
1 8 * Zero or more.
https://creativecommons.org/licenses/by-sa/4.0/

You might also like