https://en.wikipedia.org/wiki/Class_diagram
Instance level relationships
Dependency
Association
Aggregationaggregation is more specific than association. It is an association that represents a part-whole or part-of relationship.
Aggregation can occur when a class is a collection or container of other classes, but the contained classes do not have a stronglifecycle dependency on the container. The contents of the container are not automatically destroyed when the container is.
http://www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html
Generalizations
A generalization is used to indicate inheritance.
Realization
http://creately.com/blog/diagrams/class-diagram-relationships/
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/
Instance level relationships
Dependency
Association
Aggregationaggregation is more specific than association. It is an association that represents a part-whole or part-of relationship.
Aggregation can occur when a class is a collection or container of other classes, but the contained classes do not have a stronglifecycle dependency on the container. The contents of the container are not automatically destroyed when the container is.
Composition
Composition is a stronger variant of the "has a" association relationship; composition is more specific than aggregation.
Composition usually has a strong lifecycle dependency between instances of the container class and instances of the contained class(es): if the container is destroyed, normally every instance that it contains is destroyed as well.
Differences between composition and aggregation
Composition relationship : When attempting to represent real-world whole-part relationships, e.g., an engine is a part of a car.
Aggregation relationship : Thus the aggregation relationship is often "catalog" containment to distinguish it from composition's "physical" containment
Aggregation relationship : Thus the aggregation relationship is often "catalog" containment to distinguish it from composition's "physical" containment
http://www.sparxsystems.com/resources/uml2_tutorial/uml2_classdiagram.html
Generalizations
A generalization is used to indicate inheritance.
Realization
http://creately.com/blog/diagrams/class-diagram-relationships/
Nestings
A nesting is connector that shows the source element is nested within the target element.
A nesting is connector that shows the source element is nested within the target element.
Bi-directional (standard) associationboth classes are aware of each other and their relationship
http://www.agilemodeling.com/artifacts/classDiagram.htm
Responsibilities
http://www.visual-paradigm.com/VPGallery/diagrams/Class.html
Example
http://www.uml-diagrams.org/class-diagrams-examples.html
http://www.uml-diagrams.org/design-pattern-abstract-factory-uml-class-diagram-example.html
https://www.genmymodel.com/uml-class-diagram
https://sourcemaking.com/uml/modeling-it-systems/structural-view/class-diagram
A bi-directional association is indicated by a solid line between the two classes. At either end of the line, you place a role name and a multiplicity value.
Uni-directional associationIn a uni-directional association, two classes are related, but only one class knows that the relationship existshttp://www.agilemodeling.com/artifacts/classDiagram.htm
Responsibilities
http://www.visual-paradigm.com/VPGallery/diagrams/Class.html
Example
http://www.uml-diagrams.org/class-diagrams-examples.html
http://www.uml-diagrams.org/design-pattern-abstract-factory-uml-class-diagram-example.html
https://www.genmymodel.com/uml-class-diagram
https://sourcemaking.com/uml/modeling-it-systems/structural-view/class-diagram