The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. It uses graphical notations to express the design of software projects.
UML offers a way to visualize a system's architectural blueprints in a diagram, including elements such as activities, actors, business processes, database schemas, components, programming language statements, and reusable software components.
UML is not a development method by itself, but it was designed to be compatible with the leading object-oriented software development methods of its time (for example OMT, Booch method, Objectory).