UML (Unified Modeling Language) is used to model software systems and define nine types of diagrams used at different stages of development. The key diagrams are use case diagrams, which show interactions from an external perspective; class diagrams, which show object relationships; sequence diagrams, which show message passing over time; and deployment diagrams, which show how software components are distributed across physical infrastructure. UML provides a standardized way for developers, analysts, and clients to communicate about a system's design.