The Unified Modeling Language is the industry standard for modeling software-intensive systems.
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.