This document provides an overview of modeling concepts and the Unified Modeling Language (UML). It defines modeling and why models are used, and outlines the main UML diagram types including class, object, use case, activity, sequence and collaboration diagrams. The diagrams are used to visualize different views of a system, such as structure, behavior and interactions. The UML provides a standard language for software blueprints and modeling systems from enterprise to embedded applications.