A UML (Unified Modeling Language - Linguagem de Modelagem Unificada) é uma linguagem visual utilizada para modelar sistemas computacionais orientados a objetos. Nos últimos anos, a UML consagrou-se como a linguagem-padrão de modelagem adotada pela indústria de Engenharia de Software, existindo atualmente um amplo mercado para profissionais que a dominem. Este livro procura ensinar ao leitor, por meio de exemplos práticos, como modelar softwares utilizando a UML. A linguagem é ensinada mediante a apresentação de seus diversos diagramas, onde são detalhados os diversos componentes de cada diagrama e como estes interagem, além de demonstrar, por meio de diversas ilustrações, como utilizar cada diagrama. Este livro enfatiza também a importância da UML para a Engenharia de Software, além de abordar o paradigma de orientação a objetos, um conceito imprescindível para a compreensão correta da UML. Ao final do livro são descritas as inovações acrescentadas à linguagem UML a partir de sua versão 2.0, destacando-se tópicos como a infra-estrutura da linguagem e os novos diagramas propostos, assim como os acréscimos recebidos pelos diagramas já existentes. Ao final de cada capítulo são propostos vários exercícios, como forma de avaliar e consolidar os conhecimentos adquiridos pelo leitor, com as respectivas soluções de todos os exercícios sendo apresentadas ao final do livro. A obra apresenta ainda um estudo de caso, no qual um sistema é analisado e modelado por meio da UML, com a ilustração completa de todos os diagramas referentes ao software.