Le langage UML (Unified Modeling Language) s'est maintenant imposé comme l'outil de référence qui permet au démarrage de la conception d'un logiciel d'analyser les problèmes à traiter et de concevoir les solutions dans leurs grandes lignes. Cet ouvrage décrit en détail les nouveautés d'UML 2 ainsi que «l'ingénierie des modèles» (MDE pour Model Driven Engineering) qui lui est associée. La première partie porte sur la technologie des objets et plus particulièrement sur le lien entre modélisation orientée objet et programmation orientée objet. De nombreux exemples de code sont fournis avec une étude de cas concise en C++. La seconde partie est une présentation détaillée d'UML 2 et notamment de tous les changements par rapport à UML 1.x. La troisième partie présente trois études de cas décrites dans leur totalité (leur code est téléchargeable sur Internet)