- Series: Addison Wesley Object Technology Series
- Paperback: 9 pages
- Publisher: Addison-Wesley Pub (Sd); 2nd edition (August 25, 1999)
- Language: English
- ISBN-10: 020165783X
- ISBN-13: 978-0201657838
- Product Dimensions: 0.8 x 7.5 x 9.2 inches
- Shipping Weight: 12 ounces (View shipping rates and policies)
- Average Customer Review: 147 customer reviews
- Amazon Best Sellers Rank: #550,603 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
UML Distilled: A Brief Guide to the Standard Object Modeling Language (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
The second edition of Martin Fowler's bestselling UML Distilled provides updates to the Unified Modeling Language (UML) without changing its basic formula for success. It is still arguably the best resource for quick, no-nonsense explanations of using UML.
The major strength of UML Distilled is its short, concise presentation of the essentials of UML and where it fits within today's software development process. The book describes all the major UML diagram types, what they're for, and the basic notation involved in creating and deciphering them. These diagrams include use cases; class and interaction diagrams; collaborations; and state, activity, and physical diagrams. The examples are always clear, and the explanations cut to the fundamental design logic.
For the second edition, the material has been reworked for use cases and activity diagrams, plus there are numerous small tweaks throughout, including the latest UML v. 1.3 standard. An appendix even traces the evolution of UML versions.
Working developers often don't have time to keep up with new innovations in software engineering. This new edition lets you get acquainted with some of the best thinking about efficient object-oriented software design using UML in a convenient format that will be essential to anyone who designs software professionally. --Richard Dragan
Topics covered: UML basics, analysis and design, outline development (software development process), inception, elaboration, managing risks, construction, transition, use case diagrams, class diagrams, interaction diagrams, collaborations, state diagrams, activity diagrams, physical diagrams, patterns, and refactoring basics.
From the Inside Flap
Two years ago, Addison-Wesley approached me to write a book about the then-new UML. At that time, there was a lot of interest in the UML, but only a standards document from which to learn about it. We broke many records to quickly produce a short introductory guide to the new UML, something that would provide some guidance until the more detailed and official books were to appear later that year.
We didnit expect this book to last after more detailed books appeared. Most people believed that given the choice between a slim overview and a detailed text, everyone would pick the detailed text. Although that was the general view, I believed that even in the presence of detailed books, there was still room for a concise summary.
Two years later, my hopes have been realized more than I could have wished. UML Distilled has been, in computer industry terms, a best-seller. Even though good detailed books have appeared on the UML, the book still sells well. Better than that, more slim books have appeared, confirming my belief that in a world with so much information, there is value in well-chosen brevity.
Now, thatis all very well, but should you buy this book?
Iim going to assume youive heard about the UML. It has become the standard way to draw diagrams of object-oriented designs, and it has also spread into non-OO fields. The major pre-UML methods have all died out. The UML has arrived and is here to stay.
If you want to learn about the UML, this book is one way to do it. The main reason for starting with this book is that itis a small book. Buying a big book will give you more information, but it will also take you longer to read. Iive selected the most important parts of the UML so that you donit have to. With this book, youill pick up the key elements of the notation and what they mean. If you want to move further, you can move to a more detailed book later.
If you want a longer tutorial to the UML, I suggest the Unified
Modeling Language User Guide (Booch, Rumbaugh, and Jacobson 1999). The User Guide is able to cover a lot more ground. Itis well written and organized in a way that explains how to apply the UML to various modeling problems.
Both this book and the User Guide assume that you know something about OO development. Although many people have told me that this book is a good introduction to objects, I didnit write it with that in mind. If youire looking for an introduction to objects with the UML, you should also consider Craig Larmanis book (Larman 1998).
Although the main point of this book is the UML, Iive also added material that complements the UML material. The UML is a relatively small part of what you need to know to succeed with objects, and I think that itis important to point out some of the other things here.
The most important of these is software process. The UML is designed to be independent of process. You can do anything you like; all the UML does is say what your diagrams mean. However, the diagrams donit make much sense without a process to give them context. I also believe that process is important and that a good process doesnit need to be complicated.
So, Iive described a lightweight outline process for OO software development. This provides a context for the techniques and will help to get you going in using objects.
The other topics include patterns, refactoring, self-testing code, design by contract, and CRC cards. None of these are part of the UML, yet they are valuable techniques that I use regularly. Structure of the Book
Chapter 1 looks at what the UML is, the history of its development, and the reasons why you might want to use it.
Chapter 2 discusses the object-oriented development process. Although the UML exists independent of process, I find it hard to discuss modeling techniques without talking about where they fit in with object-oriented development.
Chapters 3 through 6 discuss the three most important techniques in the UML: use cases, class diagrams, and interaction models. The UML is a large beast, but you donit need all of it. These three techniques are the core that almost everyone needs. Start with these and add the others as you need them. (Note that since class diagrams are so complicated in themselves, Iive put the key parts of class diagrams in Chapter 4 and the advanced concepts in Chapter 6. )
Chapters 7 through 10 explore the remaining techniques. All of these are valuable, but not every project needs every technique. So these chapters provide enough information to tell you what the technique is and whether you need it.
For all of these techniques, I describe the notation, explain what the notation means, and provide tips about using the techniques. My philosophy is to make clear what the UML says and, at the same time, to give you my opinions on how best to use it. Iive also added pointers to other books that provide more detail.
Chapter 11 gives a small example to show how the UML fits in with programming using (of course) Java.
The inside covers summarize the UML notation. You may find it useful to refer to these as you are reading the chapters so that you can check on the notation for the various modeling concepts.
If you find this book interesting, you can find other information on my work related to using the UML, patterns, and refactoring at my home page (see page xxi). Changes for the Second Edition
As the UML evolved, and I received feedback about the first edition of the book, I continually updated it. We reprinted every two or three months; nearly every printing contained updates, which resulted in considerable strain on the processes of the publishing industry.
With the change from UML 1.2 to 1.3, we decided to do a more thorough overhaul of the book, enough to produce a second edition. Since the book has been so popular, Iive tried not to change the essential spirit of the book. Iive carefully tried to not add much, and to see whether there are things I can take away.
The biggest changes are in Chapter 3, about use cases, and Chapter 9, about activity diagrams, which have each received a severe rewrite. Iive also added a section on collaborations to Chapter 7. Elsewhere, Iive taken the opportunity to make a host of smaller changes, based on feedback and my experiences over the last couple of years.
Top customer reviews
The first chapter is an introduction to UML, including some short history on the language. The second chapter covers the Development Process with a quick overview of a couple of them - i.e. Agile, RUP, ...- followed by some guidance on choosing the right one.
The following chapters cover the main UML diagrams, respectively, the Class, Sequence, Object, Package, Deployment, Use Case, State Machine, Activity, Communication, Composite Structure, Component, Collaboration, Interaction Overview and Timing Diagrams. At the end, there is an appendix that summarizes the changes between UML versions.
Not all of the diagrams get in-depth coverage. Whereas Class Diagrams get the most attention of the author with two chapters specifically dedicated to them, Object, Deployment, Communication, Composite Structures, Component, Collaboration, Interaction Overview and Timing Diagrams get only a few pages, between two and four. Some of them are just limited to the sample diagrams that illustrate the chapter, with no or little text to support them. Rather than a shortcoming, this seems to be ensuing from the author's willingness to have the book limited to a few pages - 150 exactly, without the appendix -, covering what he considers to be essential.
As such, this book is no replacement for the three classic UML books, i.e. the User's Guide, the Reference Manual and the Unified Process of the Booch/Jacobson/Rumbaugh Object Technology Series that the reader, in my opinion, will anyway have to go through until he/she gains sufficient working proficiency with the language. If the reader's intention is so, he/she'll be better inspired reading "UML Distilled" after, or better, in parallel with the User's Guide, diagram after diagram and have a look at the Reference Manual on selected dictionary terms, as necessary. The Unified Process book can be read independently.
This is not a book an OOA/OOD. As prerequisite, the reader is expected to be comfortable enough with OO concepts such as Class, Object, Relationship, Aggregation, Composition, Inheritance, etc. Although not required, working proficiency with a former OO modeling method - e.g. Fusion, in my case - will help.
The thing I liked the most about this book was the practical advice for moving an object oriented project through to completion. As asides to the explanations of UML syntax and form, the authors dropped in tidbits of advice... "Don't try to do software that exactly maps the conceptual perspective. Try, instead, to be faithful to the spirit of conceptual perspective but still realistic considering the tools you are using" (p. 150). This was said in the context of one of the longer chapters in the book, UML and Programming, where the reader is walked through a demonstration of using UML to conceptualize a patient information system for a hospital and then walked through the choices that might be made to implement it in Java. The authors work with a sample where an ideal solution is out of reach and illustrate instead a pragmatic choice that works. This kind of thing is done over and over again in the book. Martin Fowler also refers the reader to his website where he extends this demonstration into greater complexities than the book covered.
Since this book is so brief it would be a great choice for an entire team to read together to get everyone on the same page for a project.