List of UML books
List of books to learn the UML notation for specifying software systems. When choosing a book it is important to check that the book covers the "new" UML 2.0 version.
Only the books I’ve personally read (or recommended by people I trust) are included in the list (yes! this means that if you want me to review your book you must hand me a copy ). Follow the link below to search for additional books.
The Elements of UML(TM) 2.0 Style by Scott W. Ambler
(review by Andrea Baruffaldi creator of the UML Lovers group in LinkedIn)
The best thing about this book is that it does not simply introduce the UML notation. Instead, it focuses on providing a valuable set of guidelines to effectively use the UML (from layout guidelines to naming guidelines and to more general modeling advices coming from his own experience). Some of the suggestions may seem trivial to modeling experts but are definitely useful to all beginners. As an example, for activity diagrams, he defines the concepts of “Miracle activity” (activity that has activity edges out of it but none into it) and “Black Hole activity” (edges in but none out) and asks you to check if your diagram contains any instance of them, since then it is likely that you are missing something in the diagram
Clearly, the best-seller of the UML world. The best book for a soft introduction to UML, suitable even for complete novices to the software engineering community. Non-recommended for people looking for a more complete explanation of the language.
One of my favourite books and the one I recommend to teach UML in a first-level software engineering course. The book explain a software development process introducing and explaining at each step of the process the UML diagrams and constructs that are needed in that step. In this sense, it is really useful to see how we can combine the different UML modeling views in a coherent development process.