This document provides an overview of the Unified Modeling Language (UML) and how it can be used to design software systems. It discusses what UML is, why we use UML, and the main types of UML diagrams including use case diagrams, class diagrams, sequence diagrams, collaboration diagrams, and state diagrams. It also briefly mentions some popular UML modeling tools. The document aims to introduce students to UML and illustrate how different diagram types can be applied at different stages of the software design process.