Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone

List of the best books (based on my own opinion) to learn the UML notation for specifying software systems. 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 :-D). Recommendations are done based on my 15+ years of experience teaching UML and Software Engineering.

The best UML book (and one you didn’t even know it existed) UML @ Classroom

Let me start with a book with zero amazon reviews (at the time of writing) and one that I bet you didn’t know it even existed until today:

So, then, why am I saying this is the best UML book (especially, if you don’t know UML and what an introductory book that goes beyond a basic notation description)? This will convince you.

The Elements of UML(TM) 2.0 Style

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. (review by Andrea Baruffaldi creator of the UML Lovers group in LinkedIn)

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

Clearly, the best-seller of the UML world. The best book for a soft introduction to UML, suitable even FOR complete novices . Not recommended for people looking for a more complete description of the language.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

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.

The Unified Modeling Language User Guide (2nd Edition)

The UML language explained by its own creators. The language is introduced in an iterative process, where at each iteration some more constructs for each kind of UML diagrams are introduced. Probably, NOT the best book to start learning UML but it is always good to  know first-hand the opinion of the guys who started all this.

The Unified Modeling Language Reference Manual, (paperback) (2nd Edition)

Ideal for quickly clarifying all typical doubts that arise during a development process. Even if this is not a recent book, it’s worth having since it provides a brief and comprehensible description of all UML modeling constructs, including many small examples that help settle the arguments once and for all among designers with different views on  how to  model a particular aspect of the domain.

Looking for more UML books? See if you can find what you need here:

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone