UML is used to specify, visualize, and document a system's architecture through data, business object and component modeling. It can be used throughout the development cycle of the software, and is not language-dependent. It includes a set of graphic notation techniques to create visual models (diagrams, see below) of systems.

UML diagrams overview

To learn more:

history | show excerpt | excerpt history