Sebastopol, CA--Software developers don't have to use the Unified Modeling Language when developing complex systems, but if they choose not to, their experience can be a little like traveling in a foreign land where you don't speak the language and don't have a phrasebook handy. With enough pointing and gesturing, you can usually get your meaning across, but often imperfectly, and at the cost of increasing frustration levels all around. It is perhaps not the most effective way to enjoy a trip.
The Unified Modeling Language, or UML, is "the" standard modeling language for software and systems development. That alone provides a good reason to learn UML, but it leaves other questions unanswered, observe Russ Miles and Kim Hamilton, authors of Learning UML 2.0 (O'Reilly, US $44.99). For example, why is UML unified? How is UML a language? And, probably most important, why should you care?
As Miles and Hamilton point out, systems design on any reasonably large scale is difficult. Developers and their teams must keep track of which components are needed, what the components do, and how they meet the customers' requirements. Furthermore, developers need to share their designs with colleagues to ensure that the pieces work together. There are too many details that can be misinterpreted or forgotten when developing a large system.
"To effectively model a system, you need one very important thing: a language with which the model can be described," state Miles and Hamilton. "And here's where UML comes in."
Many books on UML focus on learning the notation only, leaving readers wanting more understanding, or overwhelm readers with huge book-spanning examples that assumed readers would know the examples before they learned the subject. "'Learning UML 2.0' aims to fix these two things by placing itself squarely between reference and stuffy all-encompassing text," observes Miles. "Our books shows the reader that UML itself is not that difficult and with a bit of knowledge about UML--more than just the notation--you can do some powerful things."
In short, as Miles says, readers will learn how to really use UML, period. "They'll have learned not only the language itself, but how it can be best applied in a variety of situations, what pitfalls to avoid, and what a particular notation really does. Everything is presented in terms of 'you'd want to learn this because you want to do this really useful thing.' This give the reader the reasons why they'd want to use, and therefore learn, a particular facet of UML rather than just assuming that the reader will want to know, say, timing diagrams just for the hell of it."
The book bases its approach to learning the subject on practice, not theory. Readers will learn how to use UML to craft and communicate their project's design, regardless of software process or methodology used. The authors also focus on the specific challenges inherent in the new standard. Says Hamilton, "With the UML 2.0 specifications recently solidified, UML tool notation may not necessarily match the specs. This can be confusing, especially to UML beginners. We touch on these differences to introduce readers to the variety of notations their UML tool may use.
"A common problem for UML beginners is knowing how much detail to provide in a diagram," Hamilton continues. "For example, they may include every method and attribute of a class, thinking it's required for the diagram to be correct. And while the required level of detail may be influenced by factors such as design standards at your job, it helps to think of UML as simply a tool to communicate your design to your audience. You can use as much or as little as you like. Throughout the book, we discuss these issues to help readers understand how much UML to use."
Advance Praise for Learning UML 2.0:
"Since its original introduction in 1997, the Unified Modeling Language has revolutionized software development. Every integrated software development environment in the world--open source, standards-based, proprietary--now supports UML, and more importantly, the model-driven approach to software development. This makes learning the newest UML standard, UML 2.0, critical for all software developers--and there isn't a better choice than this clear, step-by-step guide to learning the language."
--Richard Mark Soley, Chairman and CEO, OMG
- More information about the book, including table of contents, index, author bio, and samples
- A cover graphic in JPEG format
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.