This document provides an overview and introduction to using the Unified Modeling Language (UML) for object-oriented analysis and design. It discusses the UML's role within common software development processes like the waterfall model and iterative frameworks. It also introduces basic UML diagram types and how they are used during the different phases of analysis and design such as use case modeling, conceptual modeling, analysis, and design. The document is intended as a course companion for learning to apply the UML in a development project.