A Guide to the Syntax, Semantics, and Usage of UML
O’Reilly Releases “UML 2.0 In a Nutshell”

UML 2.0 in a Nutshell by
Dan Pilone with Neil Pitman

ISBN: 0596007957

Pages: 216

Publisher: O’Reilly

Topic: UML

Buy Now from Amazon

There is no shortage of languages in the world of technology:
programming languages alone are described as high-level, low-level,
object-oriented, procedural, scripting, markup, and so on. The Unified Modeling Language, or UML, is none of these, although it draws much of its terminology
from Object-Oriented Programming (OOP). On the surface, it’s a visual language for capturing software designs and patterns. Dig a little deeper, however, and you’ll find that UML can be applied to quite a few different areas and can capture and communicate everything from company organization to business processes to distributed enterprise software.

Now the standard for modeling software application, UML is growing in popularity in modeling other domains. Still, there are plenty of people who are mystified
by the difference in line endings on a class diagram, puzzle over the folded
corner of a rectangle, or are baffled by an interactive diagram. For these newcomers to UML, and for experienced users who want a thorough reference to the language, Dan Pilone and Neil Pitman have written “UML 2.0 in a Nutshell” (O’Reilly), a comprehensive guide to the syntax and semantics of the Unified Modeling Language.

According to Pilone and Pitman, UML is intended to be a common way of capturing and expressing relationships, behaviors, and high-level ideas in a notation that’s easy to learn and efficient to write. Software developers and architects are the primary audience for “UML 2.0 in a Nutshell” but the authors have written the book to accessible to as many people as possible. “In particular, we thought about project managers, business analysts, and requirements analysts,” says Pilone. “We discuss modeling business organizations, real-time systems, and databases. The book is very readable and tries to very the examples across domains.”

Pilone also observes, “As software becomes more and more complex, any tool that helps raise the level of abstraction and increase communication is critical. The industry as a whole is recognizing this along with concepts like Model Driven Architecture (MDA) and Domain Specific Languages (DSLs). UML is central to MDA and a source of inspiration for concepts in DSLs.”

Since UML’s first release, it has gone through several revisions and refinements leading up to the current version. Each revision has addressed problems and
shortcomings identified in the previous version. UML 2.0 is the largest UML
specification in terms of page count, but it represents the cleanest, most
compact version of UML yet. In their coverage of it, the authors include:

-Chapters covering each of the major diagram types, including class diagrams,
use case diagrams, composite structures, interaction diagrams, and more
-Detailed explanations of the different symbols, notations, and line types used
with each diagram
-The types of information each diagram can best communicate
-Explanations for using tagged values, stereotypes, and UML profiles to
customize UML for a specific application domain
-A tutorial on the Object Constraint Language (OCL)
-Advice on effective diagramming practices to sharpen communication skills with the language

“UML 2.0 in a Nutshell” is intended primarily as a reference but was written
also to accommodate those learning the language. “Readers will develop a real
appreciation for UML and know when to apply it and when to leave things off,”
says Pilone. “We touch on nearly every aspect of UML but really try to do it
from a ‘why you might care’ perspective. We explicitly say when we feel a part
of UML is complicated or rarely used, or more importantly, what parts really
need to be understood inside and out.”

The book makes no assumptions about the reader’s knowledge of UML. Each chapter begins with a top-to-bottom discussion of the chapter’s contents, offering plenty of examples and discussions of how UML can be applied beyond the obvious.

“I want the book to be useful to people who know what they need to convey, but
don’t know how to model it, as well as people who have a diagram, but don’t know what it means,” says Pilone. As a result, “UML 2.0 in a Nutshell” is a complete guide to becoming fluent in UML.

UML 2.0 in a Nutshell
Tagged on: