Jump to ratings and reviews
Rate this book
Rate this book
Many working programmers have little time for keeping up with the latest advances from the world of software engineering. UML Distilled: Applying the Standard Object Modeling Language provides a quick, useful take on one of the field's most important recent developments: the emergence of the Unified Modeling Language (UML).

UML Distilled offers a useful perspective on what UML is and what it's good for. The author, an experienced software engineer, gives his own opinions of which diagrams are best to use. He is never doctrinaire and is always willing to put common sense design ahead of rigid adherence to models and documents. He runs through the basic notation used in UML for such design documents as use case, class, sequence, state, activity, and deployment diagrams. In addition, he includes concise examples of the details of working with objects, with an excellent step-by-step rendition of many of the details involved in UML. The author even includes some actual C++ code so you can see what all these design documents lead to.

You'll need some idea of what software engineering is in order to benefit from this book. However, if you have the appropriate background, you'll find this book invaluable in understanding this emerging new standard, which has the potential to bring solid software engineering to many developers who have never used disciplined software design techniques before.

157 pages, Hardcover

First published January 1, 1997

174 people are currently reading
1331 people want to read

About the author

Martin Fowler

46 books1,099 followers
Martin Fowler (b. 1963) is a software engineer, Chief Scientist at ThoughtWorks, and an outspoken advocate for best practices in enterprise software design, particularly in regard to agile software development methodologies, including extreme programming.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
398 (26%)
4 stars
566 (37%)
3 stars
426 (28%)
2 stars
92 (6%)
1 star
30 (1%)
Displaying 1 - 30 of 69 reviews
Profile Image for Scott Pearson.
821 reviews39 followers
November 11, 2024
Unified Modeling Language (UML) models how software and technology are designed. Unfortunately, its committee-derived specifications are too long and too detailed for most software developers to parse. This book distills that complexity into a series of simple instructions alongside graphics. These graphics can easily serve as starters or quick interpretive guides for thorny situations.

Additionally, Martin Fowler, a UML veteran, offers sage advice to help the reader know what’s most essential and what can be skipped. The dictionary of glyphs inside the front and back covers provide an invaluable reference to pull from the shelf when detailed guides must be drawn or read. Overall, a very helpful, concise resource!
Profile Image for Babak Ghadiri.
34 reviews9 followers
August 20, 2017
خیلی کتاب با ارزش و زیباییه. مثل بقیه کتابهای فاولر با دید عمل گرایانه و با تکیه بر تجربیات واقعی نوشته شده. خواندنش رو به تمام مهندسین نرم افزار پیشنهاد میکنم. خیلی هم کم حجم و فشرده است. با وجود اینکه هدفش آشنایی باUML هست ولی در کنارش اصول طراحی هم تا حدی بیان میشه و مثالهاش واقعی هستند.
19 reviews
January 6, 2015
Using UML for "sketching" really resonates with me.
It's nice when someone famous tells you it's ok to keep doing what you are doing.
Fowler's treatment of the various diagrams are for and how to apply them is great and concise.
A must read.
Profile Image for Matteo Tomasulo.
57 reviews11 followers
April 10, 2016
A very useful book on how to use UML efficiently without to be to match strict on the standards.
Interesting the introduction on the different development production cycle.
Profile Image for Anton Antonov.
350 reviews48 followers
January 16, 2019
UML Distilled 3rd edition is what I read most recently. It's a very light read that I would say is a practical reference book for the most industry-practical UML diagrams.

It is not a good source to learn UML, you're probably better of reading "Learning UML 2.0" or a similar more UML-focused book.

UML Distilled is a mostly chaotic and unordered review and thoughts of Fowler about the usage of the specific patterns. It doesn't go through the structure, behavioural and then interaction diagrams.

It starts with Class Diagrams: essential (structure), moves to sequence diagrams, then back to class diagrams advanced concepts and so on

In terms of "depth" based on how much information is perceived, I wouldn't recommend reading the book in the order it's presented. As mentioned earlier, structural, behavioural and interaction diagrams in this order, are in my opinion the correct way to review them.

Overall it's not a UML "guide" book, as it's falsely, in my opinion, advertised.

It's useful for reference and it draws few comparisons between UML 1.0 and 2.0, which are sometimes easy to forget if you lean more towards a specific version when working with a specific set of people who are more used to the former or later.

It could use a better organization and could be followed and/or complimented well by "Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development", as a more directed approach to applying the patterns.
Profile Image for Jeff.
78 reviews
February 2, 2018
Using this more as a reference book, then a full blown read from start to finish. That said, the writing could be a lot better. As a IT professional, this book could be better at explaining all aspects of a given UML diagram. The book reads more like the information came from a software developer's brain that a layman (or someone who is not a software developer writing code).

Considering this is one of the top recommended UML books, I high higher hopes for the book. It is disappointing it is written in this way.
Profile Image for Anit Shrestha.
2 reviews3 followers
October 1, 2018
The lack of design documentation in today's software development culture has become one of the reasons of technical debt. Reading books that helps to share the views on higher level as well as in the implementation perspective is a must. Also to share technical perspectives in the planning phases, the understanding of UML is very important!

The content of the books has been good to help me be more Object Oriented thinker and a better Technical Leader.
Profile Image for Philippe Fanaro.
158 reviews1 follower
May 19, 2020
Everything is great and Fowler's advice throughout the book is incredibly useful for when applying UML to the real world, however I feel like this book is missing a section/chapter with a project where we can follow a back-to-back system design from a world-class software engineer such as the author.

The bibliography is really great though and the book really does serve well as a reference book for later on.
Profile Image for Marco.
23 reviews
April 3, 2021
Ottimo per avere un'infarinatura, ma su alcuni dei diagrammi più utilizzati è troppo sintetico e approssimativo. Nonostante condivida il messaggio di fondo, per cui lo scopo principale di un diagramma sia quello di rendere visualmente e al primo impatto il funzionamento di un processo o di un progetto, avrei gradito un approccio più sistematico ed esaustivo almeno per gli elementi base comuni a tutti i diagrammi.
2 reviews
November 15, 2017
Before reading this book, I was often at lost when using UML in software design. In the past, I put much emphasis on elaborate UML before writing code, while often got bogged down. UML distilled told me to use UML sparingly, which shed light on what UML's role really is. Not too much, not too complex. That's it!
Profile Image for Ralph N.
358 reviews22 followers
May 8, 2018
Nice quick overview on UML to gain more insight into modeling the software development process. Don’t know if I would recommend this book though over the other way more useful books if you’re a software engineer
Profile Image for Nikolas Mavrogeneiadis.
9 reviews21 followers
August 24, 2018
Really good book! Martin Fowler knows the subject very well and describe it clearly. It can be used as a reference book cause it contains a lot of diagrams about UML. Also the small size makes the book more attractive cause it has only the necessary things.
Profile Image for Amano.
18 reviews
August 9, 2021
This is more of a handbook to me. Since I've already been through Dennis and Larman, Fowler seems to be a good quick reference. I don't think this book fits beginners well. However, it is a good complement to other beginner's book. It is worth to have this book around.
Profile Image for Paul.
24 reviews
August 21, 2021
I re-read this classic after first reading it almost 10 years ago, and as I've grown as a software engineer, this book only becomes more wonderful. I think UML was Fowler's excuse for writing this book, because it's about so much more. Highly recommended to all software engineers.
1 review
September 11, 2022
It could me more “distilled”

Leave a feeling that some information and diagrams were added as a waste of timeZ
Since I why the arbor still choose to describe them while it will be enough to concentrate on Class, Sequence, State, Activity, Use Case diagrams?
Profile Image for Mehmet Davut.
35 reviews2 followers
February 12, 2023
The book is an excellent introduction to designing UML diagrams. There are no boring details and all the information is satisfying that you learn enough about UML. Also, the comments of the author about the UML diagrams and how he uses them are excellent.
Profile Image for Kevin Schultz.
6 reviews3 followers
November 3, 2018
Useful reference book. It's something to skim for 10 minutes and then keep on your desk for the next time you need to sketch out a diagram.
Profile Image for Sebastian Salamanca.
126 reviews
September 27, 2018
Very helpful book. It helped me shape some loose concepts I had.

If your milestone is to become a software architect, this book is good starting point.
1 review
Read
March 17, 2021
UML
This entire review has been hidden because of spoilers.
Profile Image for Steve Whiting.
181 reviews18 followers
February 17, 2016
This is a fairly short (160 page) gallop through UML2. It's short and to the point, and mostly this gets across the gist of what you need to know. There are times where it strays a bit too far into terseness, and some of the text really needs to be broken up with specific examples closer to the descriptions. Particularly, the text sometimes ploughs on with some quite dense descriptions and no visual example, or has a reference to a diagram several pages away, neither of which make for easy reading.

Conversely, Fowler is refreshingly pragmatic, and there's a great quote in chapter 2 that sums up the pragmatic approach: "Be prepared to break the rules of the UML at any time if it helps you communicate better. The biggest risk with using the UML in analysis is that you draw diagrams that the domain experts don't fully understand. A diagram that isn't understood by the people who know the domain is worse than useless; all it does is breed a false sense of confidence for the development team". Contrast this with 'Domain-Driven Design: Tackling Complexity in the Heart of Software', where UML class diagrams are promoted as a communication medium with non-technical customers, mainly to ease the path towards maintenance of a single model, an approach I'm still pretty sceptical about. He also includes examples of non-standard notation which can be used to bend the usage of certain models beyond their normative use (eg, using message passing on class diagrams)

While Fowler's text can be a bit dense at times, he is also not afraid to point out area where the UML 2 definition is weak - typically in barely perceptible differences between symbols which imply huge differences in meaning - for example, the difference between a "stick" arrowhead and a "filled" arrowhead on a sequence diagram (this type of thing is a particular bugbear of mine - the different meaning of the various permutations of solid & dotted lines and closed & open arrowheads on class diagrams being another example: this may be self-evident to aficionados, but it's very non-intuitive to any non-experts sharing the diagrams. Still, can't blame the book for that!)

All in all, a good book if you're looking to expand your familiarity with UML, but I'm not sure that I would want to learn from it as a first book. Overall, I think UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition) edges it, though that does have the advantage of 3x the page-count to get the information across.
Profile Image for Tuna  Temiz.
29 reviews11 followers
March 6, 2024
"UML Distilled: A Brief Guide to the Standard Object Modeling Language" by Martin Fowler is a succinct and accessible primer on the Unified Modeling Language (UML), designed to introduce novices to the fundamentals of object-oriented design and analysis. Fowler's expertise in software development shines through in his ability to demystify complex concepts, presenting them in a digestible format that appeals to those new to the subject. The book excels in offering a clear, concise overview, making it an ideal starting point for learners. However, its strength in brevity is also its Achilles' heel for readers seeking a more thorough exploration of UML. The distilled nature of the content means it touches only lightly on deeper aspects of the language, potentially leaving those with a desire for in-depth study less satisfied.

Despite its utility as an introductory text, "UML Distilled" faces challenges in catering to the evolving needs of modern software development. The rapid pace of change in methodologies and practices can render some of the discussions and examples less relevant, necessitating supplemental materials for readers wishing to apply UML in contemporary settings effectively. While Fowler's presentation is commendable for its clarity and ease of understanding, the book may not fully equip advanced learners or practitioners with the comprehensive insights needed for complex project implementations. Thus, while "UML Distilled" serves as an excellent gateway to the world of UML for beginners, its scope and depth are somewhat limited for those pursuing advanced mastery or applying the language in the nuances of today's software development landscape.
Profile Image for Alan.
63 reviews13 followers
February 17, 2021
Um ótimo livro para quem não gosta de UML entender o valor da linguagem de modelagem no dia-a-dia do desenvolvimento de software.

Martin Fowler divide a aplicação da linguagem em 3 níveis: esboço, projeto e linguagem de programação. O uso em esboço é quando aplicamos as notações da UML para descrever problemas e relações de entidades de software de uma forma abstrata, ajudando na comunicação e interpretação. Em projeto é quando usamos a UML para projetar todo o sistema antes do desenvolvimento. E em linguagem de programação é quando usamos o projeto para um gerador de código.

Acredito que existe muito valor no uso da UML para o esboço de novas implementações e na engenharia reversa para interpretação de código legado. Quanto ao uso em projeto e linguagem de programação esse valor se perde e, dado o tipo dos problemas que resolvemos e as aplicações que desenvolvemos no dia-a-dia, o seu valor acaba se perdendo e gerando burocracias.

Fowler ainda faz uma relação no livro do uso da UML em métodos de desenvolvimento tradicionais e ágeis, algo que gostei muito de visualizar. Recomendo a leitura deste livro para qualquer engenheiro de software.
Profile Image for Scott Fabel.
128 reviews5 followers
April 8, 2013
As a Business Analyst, and as a Professor of Business Analysis, I am frequently reading books about business analysis tools and techniques. I am very interested in using more UML in my work, so I thought that this would be a good book for me to read. Unfortunately, I didn't think that this book was all that great--at least not for a business analyst.

This book is probably far more useful to a systems designer or developer because most of the diagrams are described in terms of how they could be used for coding a software solution. Even though I am more than capable of following the code, I found it to be too much for business analysis. The discussion of the diagrams that are more frequently used for business analysts (e.g., use case, activity, state, and even class) are either too focused on coding or lacking in general.

If you're a designer or developer of software solutions, I think that this book could be a good overview for you. If, on the other hand, you're a business analyst, this book will not help you all that much.
15 reviews
March 8, 2015
A good overview of UML. UML does not seem to be a large benefit to the software development process in itself, but its value stems from the value of modeling ideas on paper before sinking time into coding. Some of the techniques in this book are good to know about to help you think about your software and how your programs interact with other components of your system. UML formalizes the annotation, which is nice, but I think the thought process that goes into the diagrams more valuable. There are probably places that require you to make diagrams/schematics like this as part of the engineering process. If you are in such a place, I would recommend this book as a primer. (I would probably also recommend working somewhere else.)
Profile Image for Roshan Titus.
6 reviews1 follower
April 15, 2015
Got a copy of the 3rd edition which focus on UML 2.0 version and read it completely! The book is excellently written, concise in a manner which provides lot of valuable information in short words. Along with clarifying various subtle differences in UML elements and concepts, author also gives useful insights to realizing/implementing these in programming languages(eg: Page 111 discusses 3 ways to realize state diagrams including state pattern). Also author discuss various related Object oriented concepts which is always under debate in the OO community and provides his strong opinions. As author mentions in the beginning, this is an opinionated book, but I found it rather helpful as the book reflects the knowledge and long working experiences from "Martin Fowler" itself!
Displaying 1 - 30 of 69 reviews

Can't find what you're looking for?

Get help and learn more about the design.