Authors: Michael Jesse Chonoles, James A. Schardt
Publisher: For Dummies; 1st Edition, July 2, 2003
ISBN 0764526146
As someone with a lot of years in the computing field but with absolutely no experience with UML, I was the appropriate “dummy” to review this book. Overall, I found it a very useful
tutorial with a lot of excellent information about how to write different types of UML diagrams, what they are used for, and when in the design process to write them. For example, I recently was
asked to write a class diagram and only had a couple of days to brush up on my object-oriented skills and learn enough UML to develop an accurate diagram. I successfully used UML 2 for
Dummies in conjunction with some additional reference information to accomplish the task. Voila! Presto Chango! A dummy becomes skilled at writing UML diagrams after reading a 400-page book!
The book has 24 chapters, organized into seven parts. Part I introduces UML, UML reports, and what the reports are used for. The UML chart in Figure 1-1 showing a hierarchy of UML diagrams was very
helpful, as was Table 1-1 summarizing the purpose of each UML diagram. Part II introduces the reader to object-oriented concepts and provides tips on how to develop good modeling practices. Then
the book describes each type of UML diagram, explaining why you would want to use it, and giving step-by-step instructions on how to construct each diagram. The book provides an abundance of
examples, and, as with most Dummies series books, the design hints and tips were extremely helpful. The last part, Part VII, has good reference material about the ten common modeling mistakes,
useful web sites for additional information, and modeling tools for creating UML diagrams.
Chapter 24 has a very nice summary of each of the ten primary UML diagrams. For each summary, however, it would have been helpful to have a sample diagram. I used Learning UML, an O’Reilly
book by Sinan Si Alhir, and the UML Pocket Reference, also an O’Reilly book, by Dan Pilone, as references to refresh my memory of each UML diagram.
Please note that before I was able to create a class diagram, I needed to review Object-Oriented Analysis and Design, by Grady Booch, to refresh my memory of object-oriented design. The section in
UML 2 for Dummies titled “Some Presumptuous Assumptions” is not presumptuous enough. It needs to make clear that a good grasp of object-oriented design is a necessary prerequisite. The
introduction to object-oriented design in Chapter 3 is very helpful, and the design hints though out the book are good, but a more in-depth knowledge is required to successfully create UML
diagrams. Successfully mastering object-oriented design is a whole topic in and of itself, perhaps best left to the masters themselves, James Rumbaugh and Grady Booch, to teach.
A glossary and a bibliography would also be useful. The Dummies books are intended for beginners, but it would be helpful to list other UML books as references for those who would like to explore
further. I would also include books about object-oriented design, including the classics by James Rumbaugh and Grady Booch.
In general, I would recommend UML 2 for Dummies to first time users of UML. It certainly provided enough information, in a cogent enough way, that this “dummy” could grasp UML well
enough to start writing good diagrams. I believe the book will also be useful in the future, as a quick reference, to refresh my memory of UML design hints and tips.