Content area
Full Text
PRODUCT REVIEWS
E SKINNY ON NEW TOOLS
Under the review spotlight today is Rational Rose 2001 Enterprise Edition by Rational Software. The version I'm evaluating is the Windows version, though Rose is also available for Unix. Rational Rose is a tool for creating graphical Unified Modeling Language (UML) models of software. Notable competitors to Rose include TogetherSoft's Together ControlCenter, Popkin Software's System Architect, Telelogic Tau, and, for open source aficionados, Tigris' ArgoUML.
Rose creates and manages software blueprints. The language of these blueprints is UML, the de facto standard for object modeling. Object modeling, a common component of many object-oriented analysis and design methodologies, is the practice of creating diagrams toward better understanding and communicating the complex systems that comprise object-oriented software. As a practicing programmer, you probably do some informal object modeling, be it drawing C++ classes on a whiteboard or simply staring blankly off into space considering how to break up the problem du jour. Rose simply supports, formalizes, and records that process.
Rational Rose models all of the diagrams of the UML: use case requirements, process flows, state machines, software components, physical deployment topology, static class structure, and the dynamics of object interaction. The underlying state it maintains allows the various diagrams to refer to the same objects. Suppose one diagram illustrates how a socket class connects to a player chat class, and another diagram describes how that socket class operates in the multiplayer command pipeline. The model underpinning the whole diagram framework tracks the relations, and the socket class can show all connections from all diagrams (or even connections that don't exist in any diagram). This can come in handy when reimplementing the socket object using UDP instead of TCP, giving a quick and easy road map of the areas of code that will need to be regression-tested. Also, since all of this data lives within a single tool, it offers easy traceability of requirements to actual classes, classes to components, and components to deployment packages. This enables a quick display of which design elements have been implemented, which interfaces live in which components, and where all the components fit in the overall framework.
Rose's user interface uses the familiar browser/MDI document window paradigm. The browser window exhibits the various views...