UML (Unified Modeling Language) is a standard modeling language used to visualize, specify, construct, and document software systems. It includes graphical notation techniques to create models of object-oriented software systems. Some key UML diagram types are use case diagrams, which depict interactions between external actors and the system; class diagrams, which show system classes and their relationships; and sequence diagrams, which illustrate object interactions over time. UML aims to improve understanding between customers, developers, and other stakeholders and supports the software development lifecycle.