UML (Unified Modeling Language) is a standard language for visualizing and documenting software systems. It provides elements like classes, relations, and diagrams to model both the static structure and dynamic behavior of a system. Static design with UML includes class diagrams, which show classes and their relationships, and object diagrams, which show objects at a point in time. Dynamic design uses sequence diagrams to show object interactions over time and collaboration diagrams to show message flows. UML aids both detailed design discussions and lighter design processes as a documentation tool.