Hay muchos libros para aprender UML pero muy pocos buenos, especialmente para los que empiezan desde cero.

Os dejo aquí mis cinco recomendaciones (más un bonus de regalo). Si los habéis leído, decid si os gustaron o si recomendaríais algún otro.

Ah, y por desgracia, la mayoría no estan introducidos al español o sólo una versión muy antigua lo está. Cuando puedo os doy la versión traducida.

UML@Classroom

Éste es sin duda el mejor libro sobre UML que he leído y seguramente también el más desconocido. Nada que ver con los otros libros de esta lista de autores mucho más famosos.

El libro cubre los cinco diagramas principales (diagramas de clase, de secuencia, máquinas de estado, diagramas de actividad y de casos d euso) y como se complementan entre ellos para modelar un sistema completo. Todo ilustrado con ejemplos simples pero intuitivos.  El libro cubre la The book covers the UML syntax (as expected)  but also the semantics of the language and its pragmatics (that is, how to actually use the language).

El libro cubre la sintaxis del lenguaje UML (como era de esperar) pero también la semántica y su aplicación práctica.

Otros puntos a favor del libro:

  • Los autores llevan muchos años enseñando UML a un gran número de estudiantes (alrededor de 1000 cada año). Y esta experiencia se nota.
  • El libro viene con una web con mucho material adicional, incluyendo powerpoints para usar en clase tu mismo.
  • Viene con tablas resumen y hasta cheat sheets para encontrar rápidamente lo que necesitas.
  • Es más completo de lo que parece. Los autores intentan explicar claramente los conceptos fundamentales de modelado (útiles al modelar con UML pero también al modelar con cualquier otro lenguaje), como por ejemplo cuando comparan soluciones parecidas pero semánticamente diferentes.

Compralo aquí

UML Gota a Gota

Sin duda, el best-seller más importante del mundo UML. Y escrito por toda una celebridad en el mundo de la Ingeniería de Software como Martin Fowler.

Es el mejor libro para una introducción ligera y rápida, especialmente útil para aquellos que se consideren unos completos novatos y quieran simplemente tener una visión superficial del lenguaje que les permita entender los diagramas UML sencillos que se encuentran en otros libros o discutiendo con colegas.

No recomendado para los que buscan una explicación completa del lenguaje.

Compralo aquí

The Elements of UML 2.0

Así como el libro de Fowler sólo trataba la parte sintáctica del lenguaje, éste es un poco lo contrario. En vez de dedicarse a explicar en detalle la notación UML lo que intenta es proporcionar un conjunto de guías y consejos para aplicar UML de una forma efectiva (desde temas de posicionamiento en el diagrama, a temas de nomenclatura y de modelado de general) siempre viniendo de la ámplia experiencia del autor, Scott Ambler (el padre de, entre otras muchas cosas, del modelado ágil, del que hablamos aquí).

Algunos de estos consejos pueden parecer triviales al expero pero son imprescindibles para todos los que están todavía aprendiendo. Fijaros, que entre estos dos extremos (este libro y el de Fowler, tenemos el que destacaba como mi preferido que es como una buena mezcla de los dos, escoged bien dependiendo de vuestro principal objetivo de aprendizaje).

Cómpralo aquí.

UML y Patrones

Uno de mis libros favoritos y el qué mejor une UML con el resto de técnicas y métodos de la Ingeniería de Software.

El libro, explica UML en el contexto de un proceso de desarrollo de software introduciendo y explicando a cada paso del proceso los diagramas UML más útiles en ese paso. El émfasis no es tanto el lenguaje en sí como su utilidad y su rol dentro del análisis y diseño de software.

Para los que dominéis el idioma de Shakespeare :-), hay una versión más reciente en inglés: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

Cómpralo aquí.

El Lenguaje Unificado de Modelado: Guía de Usuario

No podíamos dejar esta lista sin uno de los libros sobre UML ecritos por los propios creadores del lenguaje. UML explicado de boca de sus creadores.

El lenguaje se introduce de forma iterativa, donde en cada iteración se introducen nuevos elementos de modelado para cada tipo de diagrama UML de forma que en la primera iteración se cubren los elementos más básicos y a partir de ahí se van añadiendo elementos más y más complejos.

No es que sea el mejor libro para a empezar a aprender UML pero siempre es útil conocer de primera mano la visión de los que crearon el lenguaje.

Cómpralo aquí.

BONUS: Conceptual Modeling of Information Systems

El libro para los que quieran ir más allá de UML y busquen entender (y saber aplicar) la teoría de la modelización de software.

El autor cubre todos los aspectos del modelado conceptual, explicando claramente la semántica de cada construcción y justificando su necesidad a través de ejemplos convincentes, dibujados en UML pero válidos para cualquier otro lenguaje de modelado.

Los ejemplos muestran porqué cada construcción es necesaria para capturar en el modelo la riqueza semántica del dominio real de forma que el sistema software a desarrollar pueda entender e imitar.

Este libro es lectura obligatoria para todos aquellos que quieren modelar “de verdad”

Cómpralo aquí.