UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler


UML Distilled: A Brief Guide to the Standard Object Modeling Language
Title : UML Distilled: A Brief Guide to the Standard Object Modeling Language
Author :
Rating :
ISBN : 0321193687
ISBN-10 : 9780321193681
Language : English
Format Type : Paperback
Number of Pages : 208
Publication : First published January 1, 1997

Some readers will want to quickly get up to speed with the UML 2.0 and learn the essentials of the UML. Others will use this book as a handy, quick reference to the most common parts of the UML. The author delivers on both of these promises in a short, concise, and focused presentation. This book describes all the major UML diagram types, what they're used for, and the basic notation involved in creating and deciphering them. These diagrams include class, sequence, object, package, deployment, use case, state machine, activity, communication, composite structure, component, interaction overview, and timing diagrams. The examples are clear and the explanations cut to the fundamental design logic. Includes a quick reference to the most useful parts of the UML notation and a useful summary of diagram types that were added to the UML 2.0. If you are like most developers, you don't have time to keep up with all the new innovations in software engineering. This new edition of Fowler's classic work gets you acquainted with some of the best thinking about efficient object-oriented software design using the UML--in a convenient format that will be essential to anyone who designs software professionally.


UML Distilled: A Brief Guide to the Standard Object Modeling Language Reviews


  • Babak Ghadiri

    خیلی کتاب با ارزش و زیباییه. مثل بقیه کتابهای فاولر با دید عمل گرایانه و با تکیه بر تجربیات واقعی نوشته شده. خواندنش رو به تمام مهندسین نرم افزار پیشنهاد میکنم. خیلی هم کم حجم و فشرده است. با وجود اینکه هدفش آشنایی باUML هست ولی در کنارش اصول طراحی هم تا حدی بیان میشه و مثالهاش واقعی هستند.

  • Anton Antonov

    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.

  • Jeff

    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.

  • Anit Shrestha

    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.

  • Philippe Fanaro

    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.

  • Marco

    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.

  • Steppenwulf

    This is my "little UML book", the big one being
    https://www.goodreads.com/book/show/8...
    A few months ago I had to plow through [Larman]. Now I needed a quick
    refresher course. For this [Fowler] is great. He throws in some things in to think
    about. If you are new in UML/ Object Oriented analysis/design, don't start here.
    A little book doesn't mean it is easier.

  • Ralph N

    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

  • Nikolas Mavrogeneiadis

    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.

  • Miyamoto

    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.

  • Paul

    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.

  • Mehmet Davut

    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.

  • Kevin Schultz

    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.

  • Sebastian S

    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.

  • Sebastian Godoy

    It's a very light book, the author does not get into detail about the majority of topics, some chapters are 3 pages long

  • Patrick Pilz

    Doing it for work, and if you need UML, this is the goto read.

  • Steve Whiting

    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.

  • Alan

    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.

  • Scott Fabel

    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.

  • Roshan Titus

    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!

  • Jon Gauthier

    I've always been a bit uneasy about UML—it seems to me a sort of hallmark of that über-strict, institutionalized OOP that I feel the need to avoid. The table of contents (available on Amazon) makes me think that some of these strategies might actually be useful, though. Maybe worth a skim, at least.

  • Anton Kan

    Wouldn't recommend this book (at least in Russian translation which I was reading), regardless of the fact that it was written by the Great Martin Fowler. The narration is pretty unlinked and a newbie would hardly understand how to use UML 2.0 correctly. May be more useful as a reference to those who just migrate from UML 1.x to UML 2.0.