UML is a modeling language used to create visual models of object-oriented software systems. It was developed in the early 1990s to standardize the various object-oriented modeling notations in use at the time. UML uses different types of diagrams to represent different views of a system, including use case diagrams, class diagrams, sequence diagrams, and state machine diagrams. The language provides a standardized way to visualize the various components of an object-oriented system.