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, 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:
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.
[It is recommended that systems architects, including enterprise security architects, take a closer look at this. --Ed.]
Related links: (Open in a new window.)
www.oreilly.com/catalog/umlnut2/index.html
View printable version (opens in new window)
Back