UML
It is a family of visual, diagrammatic specification languages
that facilitate the specification of both software systems and process
models for their development.
Four basic categories of diagrams:
Use case diagrams
Structural diagrams
Behavioral diagrams
Implemenatation diagrams.
Use case diagrams: Capture the functional requirements of the
system.
Structural diagrams: Describe the static structure of the application
Behavioral diagrams: Describe the dynamic behavior of the application
Implementation Diagrams: Describe the physical system structures
and runtime entities.