System developers have used modeling languages for decades to specify, visualize, construct, and document systems. The Unified Modeling Language (UML) is one of those languages. UML makes it possible for team members to collaborate by providing a common language that applies to a multitude of different systems. Essentially, it enables you to communicate solutions in a consistent, tool-supported language.Today, UML has become the standard method for modeling software systems, which means you're probably confronting this rich and expressive language more than ever before. And even though you may not write UML diagrams yourself, you'll still need to interpret diagrams written by others.UML 2.0 in a Nutshell from O'Reilly feels your pain. It's been crafted for professionals like you who must read, create, and understand system artifacts expressed using UML. Furthermore, it's been fully revised to cover version 2.0 of the language.This comprehensive new edition not only provides a quick-reference to all UML 2.0 diagram types, it also explains key concepts in a way that appeals to readers already familiar with UML or object-oriented programming concepts.Topics include:
The role and value of UML in projects
The object-oriented paradigm and its relation to the UML
An integrated approach to UML diagrams
Class and Object, Use Case, Sequence, Collaboration, Statechart, Activity, Component, and Deployment Diagrams
The Object Constraint Language (OCL)
If you're new to UML, a tutorial with realistic examples has even been included to help you quickly familiarize yourself with the system.
Chapter 1 Fundamentals of UML
Putting UML to Work
UML Rules of Thumb
Chapter 2 Class Diagrams
Variations on Class Diagrams
Chapter 3 Package Diagrams
Importing and Accessing Packages
Variations on Package Diagrams
Chapter 4 Composite Structures
Chapter 5 Component Diagrams
Chapter 6 Deployment Diagrams
Variations on Deployment Diagrams
Chapter 7 Use Case Diagrams
Advanced Use Case Modeling
Use Case Scope
Chapter 8 Statechart Diagrams
Behavioral State Machines
State Machine Extension
Protocol State Machines
Variations on Statechart Diagrams
Chapter 9 Activity Diagrams
Activities and Actions
Advanced Activity Modeling
Chapter 10 Interaction Diagrams
What Are Interactions?
Alternate Interaction Notations
Chapter 11 Tagged Values, Stereotypes, and UML Profiles
Dan Pilone is a Software Architect with SFA, Inc., cofounder and president of Zizworks, Inc. and a terrible rock climber. He has designed and implemented systems for Hughes, ARINC, UPS, and the Naval Research Laboratory. When not writing for O'Reilly, he teaches Software Design and Software Engineering at The Catholic University in Washington DC. Originally writing in C and C++, he has moved into the blissful world of managed code with Java and C#. He has had several articles published by Intelligent Enterprise and Java Developer's Journal on software process, consulting in the software industry, and 3D graphics in Java.
Neil Pitman is Chief Technical Officer of Mahjong Mania, co-developer of LamMDA from Mindset Corporation, and formerly Vice President of Research and Development at Codagen Technologies. Neil has twenty years of experience in software development ranging from medical systems to Smalltalk development platforms, gaming software to code generation. When he does real work, it's in J2EE and XSLT as well as UML. Look for him at http://www.architecturerules.com.
The animal on the cover of UML 2.0 in a Nutshell is a chimpanzee (Pan troglodytes). Chimpanzees use a vast array of facial expressions, postures, and gestures to communicate with each other, in addition to at least 32 different sounds. There is some evidence to suggest that chimpanzees can learn symbolic languages.The natural habitat of the chimpanzee is western Africa, from Sierra Leone to the Great Lakes east of the Congo. Living primarily in forested areas, chimpanzees spend 50 to 70 percent of their time in trees. They are omnivores, eating primarily fruits and vegetables, but they will also hunt and eat small animals. They live in family groups that consist of about twice as many females as males. While adult chimpanzees aren't monogamous, there's a close bond between a young chimp and its parents, and this bond remains unbroken for life. Chimpanzees are very sociable and affectionate animals, and frequently hug, kiss, stroke each other, or hold hands. Violent fights often break out within a social group. The loser of the fight makes up to the winner by displaying submissive behavior and conciliatory gestures. In this way they maintain the social harmony.Though able to, the chimpanzee rarely walks erect on both feet. Short arm muscles prevent simultaneous extension of the wrists and fingers. Because of this, chimpanzees can't walk with their hands flat; when walking on all fours, only the knuckles of their hands touch the ground. Unlike human feet, chimpanzee feet also have an opposing toe, but it's used mainly for climbing and for walking on precarious footing. The foot is rarely used for picking up objects.Mary Anne Weeks Mayo was the production editor and proofreader, and Audrey Doyle was the copyeditor for UML 2.0 in a Nutshell . Phil Dangler and Colleen Gorman provided quality control. Peter Ryan provided production assistance. Lucie Haskins wrote the index.Ellie Volckhausen designed the cover of this book, based on a series design by Edie Freedman. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Karen Montgomery produced the cover layout with Adobe InDesign CS using Adobe's ITC Garamond font.David Futato designed the interior layout. This book was converted by Keith Fahlgren to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano, Jessamyn Read, and Lesley Borash using Macromedia FreeHand MX and Adobe Photoshop CS. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Clairemarie Fisher O'Leary.
This was a "have to read" not a "want to read" book for me. Naturally this might bias my impression. Anyway, I find most technical books to be fascinating, but this book failed to inspire me. It was a boring reading experience.
The diagrams in the book has a bad graphical quality (in the ePub and PDF versions of the book). It is hard to see the difference between dotted and solid lines.
Despite these shortcomings, the book is not all bad. It does have a lot of useful information about UML.
Bottom Line No, I would not recommend this to a friend
About Me Designer, Developer, Educator, Maker, Sys Admin
Difficult to understand
Comments about oreilly UML 2.0 in a Nutshell:
The book is missing some important diagrams. For example it mentions Communication Diagrams in page 6 under Fundamentals and then says they are explored in Chapter 10 and they are not there! a serious overlook by the editor! One expects this UML 2.0 nutshell book to say something like "a communication diagram was formerly called a collaboration diagram". I expected things like a chart between UML 1.x a UML 2.0 because there are several name changes that cause confusion. I wanted more examples and less blah, blah, blah, which IMHO is not "in a nutshell". I also wanted an overview graphic showing all diagrams and how they are related. Honestly the book did not meet our expectations at all. It's still somewhat useful but we didn't like it at all.
Bottom Line No, I would not recommend this to a friend
Complete coverage about UML 2.0 syntax, and something more
Comments about oreilly UML 2.0 in a Nutshell:
You know, the UML 2.0 is composed bye four parts (four specifications): the Diagram Interchange Specification, the Infrastructure, the Superstructure and the Object Constrain Language. This book is a quite complete reference of the UML 2.0 Superstructure. The Superstructure is the one that tipically is used by a software production involved person. The book offers a smart introduction to the UML architecture, but, obviously, if you are interested to the UML Infrastructure or to the Diagram Interchange specification, you need to read the OMG specification, or other books. Yes because at the end of the book there are 8 pages about the OCL 2.0, with the basic of the OCL syntax.
As a reference this book is almost complete and precise: it covers every kind of UML diagram and deeply explains the syntax.
There is also a short chapter about Effective Diagramming, but you must remember that this is a reference and you must have a background about UML and or OO Design before you can get something useful from it. For example, I have other books about object oriented design (one from B. Meyer and one from Page-Jones) and they are focused on design but on UML (yes, the one from Page-Jones uses UML for diagram examples, but doesn't cover uml but some aspects) so I keep "UML 2.0 in a nutshell" on my desk in order to verify how to put down my diagrams using diagramming tools (such as Together Architect), even if they are based on the 1.4 UML specification. In this case the book is very useful but you cannot use it if you are trying to understand if your association is an Aggregation or a Composition, or if you are effectively explaining a concept with a use case diagram. It's obvious, but you need to keep in mind that this book stays at design books as a "Java 1.4 reference" book stays at a "Programming in java" book: surely you need both and probably you won't read UML specification from OMG as you probably won't read Java 1.5 specification from Sun.
By the way, if you have a basic OOD background the reference could remember you, for example, what the term composition means, so you can immediately decide when to use it.
Finally I think the book has a very good coverage about dynamic diagrams and about statechart and class diagrams.