UML (Unified Modeling Language) is a general-purpose modeling language used to create abstract models of systems. It grew out of three competing modeling techniques and is now managed by the Object Management Group. UML models can be viewed through different diagrams that represent the functional, structural, and behavioral perspectives of the abstract model. Commonly used UML diagrams include use case diagrams, class diagrams, sequence diagrams, and activity diagrams.