The document provides an overview of the Unified Modeling Language (UML) including what UML is, why it is used, common UML diagrams, and tools for UML modeling. UML is a standard modeling language used to visualize, specify, construct and document artifacts of a software system. Common UML diagrams include use case diagrams, class diagrams, sequence diagrams, state diagrams and collaboration diagrams. Popular UML modeling tools mentioned are ArgoUML, Rational Rose, UML Studio and TogetherSoft Control Center.