Book Review Department Editor Warren Keuffel
Book Review
Department Editor: Warren Keuffel, wkeuffel@computer.org
A Masterful Approach to Explaining UML
Todd Schultz
UML by Example, Ghinwa Jalloul, Cambridge Univ. Press, 2004, ISBN 0-521-00881-6, 249 pp. US$34.99.
Many books cover UML, and a vast selection of materials are available for free on the Internet. However, UML by Example—Ghinwa Jalloul’s introduction to object-oriented software modeling—is a fresh, distinctive contribution to the literature. It’s especially useful for development team managers, requirements analysts working with users, university instructors, and anyone who must convey UML concepts to others.
Jalloul begins by describing how to model object-oriented artifacts in UML, and this chapter alone makes the text worth mentioning. It’s both complete and concise, and it has become my reference glossary when I need reminders on how to explain a key UML concept. The chapter focuses entirely on what the modeling symbols convey and on how to represent a wide variety of interactions; readers shouldn’t expect instructions on preparing UML diagrams using a particular vendor’s product or a review of the code that results from a model’s implementation.
Another chapter introduces Bridge, a process model that “integrates traditional phases of software development and phases of the unified software development approach.” The process is sound and the chapter has great examples of how UML integrates with system development; however, most readers will already be applying an existing development process and won’t be in the market for yet another one. But the chapter sets the stage for the cogent examples that follow.
Jalloul then develops five complete cases, including an online reservations system, a Web page maker, a robotic arm, a math tutor, and a distribution system. Derived from small software projects involving real users, the cases provide copious examples of UML in action to real effect. They can also act as templates that readers can tailor to fit specific needs and circumstances. In the cases, Jalloul continues her knack for providing complete ideas without burdensome volume.
For best use, UML by Example readers should be at least a little familiar with both UML and object-oriented development. It’s not a gradual introduction: there’s no historical account of software development methods, no academic discussion of general modeling languages, no mention of the various UML product vendors or the standards bodies, and no walk-throughs of generated or developed code. But all these omissions are strengths, not weaknesses, and they make UML by Example distinct. For readers who want to better understand the connections between UML and object-oriented development or whose work requires them to teach these connections toothers, I’d suggest taking a look. In a course with the right instructor, it would make a fine graduate or professional textbook.
Todd Schultz is a professor of management information systems at Augusta State University. Contact him at tschultz@aug.edu.