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, class diagrams, sequence diagrams, and state machine diagrams. UML is not a process but a modeling language that can be used throughout the software development lifecycle.