UML solidificou-se como uma linguagem independente de processo, utilizada para especificação, visualização, construção e documentação de artefatos de sistemas de software. Novas versões da UML trouxeram melhorias, como a adoção de novos diagramas (as ferramentas da linguagem). Chegamos à versão 2.2, com quatorze diagramas, contra os nove da primeira versão (1.1) adotada pela OMG. Este livro busca apresentar não só os conceitos da UML, como o mapeamento de seus modelos para linguagens de programação, com um enfoque acadêmico, possibilitando seu acompanhamento por meio de uma linguagem leve e direta, além dos vários exemplos desenvolvidos.