Modeling languages have been used by system developers for decades to specify, visualize, construct, and document systems; rough sketches using stick figures and arrows and scribbled routing conditions go back still further. But the Unified Modeling Language (UML), for the first time in the history of systems engineering, gives practitioners a common language that applies to a multitude of different systems, domains, and methods or processes. It does not guarantee project success, but enables you to communicate solutions in a consistent, standardized, and tool-supported language.
All indications suggest that the industry is rushing to the UML. Created by leading software engineering experts Grady Booch, James Rumbaugh, and Ivar Jacobson (now of Rational Software Corporation), and accepted as a standard by the Object Management Group (OMG) in 1997, the language has already achieved more success than any previous contenders. With a firm conceptual and pragmatic basis, it is well suited to supporting projects in modern languages like C++ and Java. And standardization lays the groundwork for tools as well as standard methods or processes.
This book presents the UML, including its extension mechanisms and the Object Constraint Language (OCL), in a clear reference format. For those new to the language, a tutorial quickly brings you to the point where you can use the UML. The book is concise and precise, breaking down the information along clean lines and explaining each element of the language. Introductory chapters also convey the purpose of the UML and show its value to projects and as a means for communication.
The role of the UML in projects
The object-oriented paradigm and its relation to the UML
Tutorial with realistic examples
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component, and Deployment Diagrams
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of UML in a Nutshell is the domestic short-hair cat (Felis catus). Cats have been kept as pets for thousands of years, originally for their skill in ridding homes of mice and rats; domestic cats are descended from the European wildcat (Felis silvestris). While cats make excellent pets, they are not as obedient as dogs, as their social structure in the wild is not based on submission to a leader. They are most closely related to fellow carnivores hyenas and mongooses. Cats spend about two-thirds of their time napping or sleeping.
Domestic cats have much in common with their wild relatives. Cat bodies are engineered for supremely efficient hunting: excellent balance, silent paws, sharp claws and teeth, sensitive whiskers, flexible muscles and skeletons. Their sight is especially attuned to moving objects, but they do need a small amount of light to see at night. It's not true that cats always land on their feet; it is true that given enough distance, they usually can orient their bodies correctly using their tails as counterweight. Science has not yet determined exactly why or how cats purr.
Cats have been both revered and feared throughout history. Ancient Egyptians worshipped them, adorned them with jewelry, and mummified them; the Egyptian goddess Bastet had the head of a cat, and was associated with beauty, grace, and fertility. During the Middle Ages, though, they were believed to be associated with witches and the devil. Paula Carroll served as production coordinator. Argosy provided editorial and production services. Megan Morahan created the illustrations using Macromedia FreeHand 7; Robert Romano coordinated the art program. Mike Sierra provided FrameMaker technical support. Seth Maislin wrote the index.
Edie Freedman designed the cover of this book, using a 19th-century engraving from the Dover Pictorial Archive. The cover layout was produced with Quark XPress 3.32 using the ITC Garamond font. Whenever possible, our books use RepKover(TM), a durable and flexible lay-flat binding. If the page count exceeds RepKover's limit, perfect binding is used.
The inside layout was designed by Nancy Priest and implemented in FrameMaker 5.0 by Mike Sierra. The text and heading fonts are ITC Garamond Light and Garamond Book. This colophon was written by Nancy Kotary.
This is probably the worst nutshell book I have ever read. If O'Reilly produces a UML 2.0 version I suggest they get a new author. I am quite familiar with UML and this doesn't come close to being useful. sorry. Have your authors read a good nutshell book like "Java in a Nutshell" before they start writing.
In the review I posted yesterday, I forgot to mention the positive points: "UML in a Nutshell" has the classic Nutshell virtues of being complete, concise and correct. Especially concise.
For example, if you look up the term "qualifier" in Rumbaugh's UML Reference Manual, you'll find nearly seven pages of detailed description, discussion, diagrams and cross-references. Look it up in the Nutshell book, and you'll find a half-page entry that gives substantially the same facts, organised into bullet points. The UML Reference Manual is better when you're learning UML or extending your knowledge; but when you're in the "muck-and-bullets" of actually working on a model, the Nutshell book is much more useful.
I bought this book two years ago, when I made the transition from programmer to system architect. The project I was getting involved with used UML. The Three Amigo books were available, but I bought this because of past happy experiences with Nutshell books.
The book, in combination with a short course I attended, got me started. However, I can't really recommend it as a starting point. I found it better to learn UML through other means, and use this book as a reference. For that purpose, it was excellent.
The main flaws in the book are:
it uses UML 1.2. This is a problem, because UML 1.3 has changed greatly in certain respects, especially in the use case diagrams.
the book seems to be aimed more at programmers than at analysts and designers. The examples of classes are very much the sort that programmers come up with; basically data tables with accessor (get and set) methods.
the tutorial is not suitable for beginners.
On the whole, I'm pretty positive about the book as a reference work, but it is badly in need of a revision. I suggest the revision should be more "Nutshelly", concentrating on presenting the notation and concepts within a Unified Process context, rather than trying to teach UML.
This book is a very big disappointment. I've always been a big fan of O'Reilly books, but this one proves that not all O'Reilly books are the cat's meow.
It's extremely boring and unpractical, offering absolutely no useful content - I know nothing more about UML after reading it than before, and certainly nothing that I was able to apply to my software engineering.
I usually read technical books from cover to cover, but not with this book!
Fortunately, there are other good books on UML (which I have), and put to use.
I don't know why some of the reviwers were complaining about this book. From a reference's point of view, it is a darn good book! ... It was concise and terse enough that I got the job done. Improvement is needed. However, it is a darn good book! ...
Most Nutshell books are technically designed to be a technical references. Correct!? ... If the complainer(s) wants to read something that is complex (Try the uml section pages from Rational.com.) or write one themselves.
... Agreed with previous reader. ... UML Distilled first. Then this book later. ... Look forward to "UML in A Nutshell" (2nd ed.)!
I am disgusted to see most of the readers (starters) found this book not useful. This book is not a tutorial and more targeted towards experienced people who know actually and did Object Oriented Analysis/Design/Programming (I think the prerequesties are pretty clear). It is very good as a desktop quick reference as it avoided me to go through UML Specification. I think you cant refer to the Three Amigos book all the time. Although the author has his own views, he could have avoided the chapter on Object Orientation.