O’Reilly news

"UML 2.0 In a Nutshell": A Guide to the Syntax, Semantics, and Usage of UML

June 23, 2005

Sebastopol, CA--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, US $34.95), 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.

    Additional Resources:

    UML 2.0 in a Nutshell
    Dan Pilone with Neil Pitman
    ISBN: 0-596-00795-7, 216 pages, $34.95 US, $48.95 CA
    order@oreilly.com
    1-800-998-9938; 1-707-827-7000

    About O’Reilly

    O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.

    Email a link to this press release