UML Guide / Basics

Class names are centered.
Package names are left aligned.
A minus sign (-) before an instance variable (field) or method indicates that it is private.
A plus sign (+) before an instance variable (field) or method indicates that it is public.
A pound sign (#) before an instance variable (field) or method indicates that is is protected.
An underlined method indicates that it is static.
An italic method name or class is abstract.

Folded edge (“dog eared”) rectangles are notes/comments.

A closed, hollow arrowhead points to a class's superclass (i.e. What the current class extends.)

A diamond shows that instances of the class contain a collection of instances of other classes.

An open arrow head (normal arrow) indicates a one way reference.

Dashed arrows indicate usage of a dependency without a reference (i.e. Usage of a static method).

“Lollipops” can be used to indicate that a class implements an interface.