UML
UML (Unified Modelling Language) is a general-purpose visual modeling-language that is intended to provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly divided into three main groups:
- behaviour diagrams
- structure diagrams
Hierarchy of UML diagrams

Structure diagrams
Structure diagrams represent the static aspects of a system. It emphasizes the things that must be present in the system. They are used extensively in documenting the software architecture of a software system.
It is further split into:
- class diagram
- component diagram
- object diagram
- you can find the rest on the hierarchy figure
Behaviour diagrams
Behvaiour diagram represent the dynamic aspect of the system. It emphasizes what must happen in a system. They are used extensively to describe the functionality of software systems.
It is further split into:
- activity diagram
- use case diagram
- you can find the rest on the hierarchy figure