UML - csinn/CSharp-From-Zero-To-Hero-v2 GitHub Wiki
Introduction
UML is a unified modelling language, used for defining parts of software through diagrams.
Class Diagram
Class diagram is one of the most commonly used UML diagrams. It shows what different classes have and can do, the relations between them.
Relations
Let's say we have two classes: A and B and a relationship between them. The relationship starts at A and ends at B. Here is a meaning for each such a relationship

Dependency
A references B (either as an argument, in method body or as a return).
Association
A has B. There can be many of A, B, 1 or each, etc. The relation in terms of how many of them is there on each side is called a cardinality.

Aggregation
A is made of B. Removing A will keep B intact.
Composition
A owns B. Removing A will remove B as well.