Tools Ease Big-Project Pain

By Timothy Dyck  |  Posted 2002-04-15

Tools Ease Big-Project Pain


Tools Ease Big

-Project Pain">

The top two players in the code modeling and code generation space—Rational Software Corp. and TogetherSoft Corp.—have just updated their flagship products, hoping to appeal to a new generation of .Net and Web developers.

TogetherSofts $3,495 Together ControlCenter 6.0, launched at JavaOne last month, is the latest version of that companys all-in-one design and development package. It runs on Windows, Solaris, Linux, HP-UX and Compaq Tru64 Unix.

In eWeek Labs tests, we were very impressed with ControlCenters overall usability, comprehensiveness and power. For Java development, this product is our pick. However, ControlCenter is significantly less capable when it comes to C#, Visual Basic .Net and Visual Basic 6 development.

Although it has modeling and code generation support for these languages, the editor does not offer code completion or syntax checking for them, nor could we compile or run applications written in these languages from ControlCenter. For those focusing on Microsoft Corp. technologies, ControlCenter offers good design tools but a poor editing environment.

The situation is reversed with Rational Software Corp.s $3,595 Rational XDE Professional 2002, which started shipping in February. The software comes in two versions: a Microsoft .Net Edition for those developing in the C# language (which is our pick for modeling in the .Net environment) and a less-than-competitive Java Platform Edition for those developing in Java.

We tested both versions, and they are similar—the Java version has additional patterns based on JSP (JavaServer Pages) and Java 2 Enterprise Edition patterns that are not in the .Net version. Both versions run on Windows 2000 or Windows XP; the .Net product also requires an installed copy of Visual Studio .Net.

For Rational customers coding with Microsoft development tools, XDE will have to be a clean break from the past. Rationals existing Rational Rose design product does not (and will not) support .Net languages, and Rational XDE does not support Visual Studio 6 languages such as Visual Basic 6, C and C++. The XDE products support only two languages right now, C# and Java, making them linguistically much less flexible than ControlCenter. Visual Basic .Net will be the next language supported by the .Net product, according to Rational Software staff. XDE can import Rational Rose models, but Rational customers moving to .Net languages will need to switch tools.

The .Net version of XDE integrated beautifully with Visual Studio .Nets own menus and windows and offers far-more-sophisticated UML (Unified Modeling Language) design features than Visual Studio .Net Enterprise itself does. Customers just wanting to gain design tools should skip the Enterprise upgrade and get XDE instead.

However, on the Java side, XDE is based on IBMs WebSphere Studio Workbench Java development tool, which isnt as advanced an editing tool as Visual Studio .Net or ControlCenter.

Besides its limited language support, XDE has only simple re-factoring features, doesnt provide Web services support beyond what the host IDE has on its own, lacks code audit features and has only basic code reporting features. Its set of patterns, or code templates, also isnt as extensive as ControlCenters.

In terms of polish and depth, we found ControlCenter superior to XDE in many areas (particularly for Java developers and Web service developers), but ControlCenters editing and compilation problems with .Net languages hamstring it in that space, making XDE a better choice for C# developers.

Coding With Pictures

Although these tools take different strategies toward code editing— ControlCenter includes an integrated code editing environment, while XDE installs on top of either Microsoft or IBM editing tools—both are based on UML for code design.

UML diagrams are central to how these products work, and since UML is a standardized design methodology, both tools had essentially the same set of base diagram types and objects within those diagram types. We created an activity, a use case and a class diagram in both tools, and the results were similar in both.

However, ControlCenter offered a smoother ride getting there. The biggest difference was how much more editable ControlCenters diagrams were over those in XDE. In ControlCenter, if we wanted to edit the properties of a classs attributes (its member variables) or its methods, we could just click on objects and edit data in a properties box. We could also easily reorder, copy or move attributes or methods just by dragging and dropping. Rearranging our classes visually was simple and obvious in ControlCenter.

XDE had little in the way of visual attribute or method manipulation. While we could click in an attribute or method name to rename it, we couldnt copy or move attributes by dragging and dropping in the diagram itself (we could do so in a separate Model Explorer window, an approach that we found cumbersome).

ControlCenter also did a better job of snapping connectors to objects and routing connectors to create professional layouts. It also has special options to create quality printouts. With XDE, we had to do more fiddling to get diagrams that looked professional, and diagram fiddling is something that will distract developers from other jobs.

XDE did have a nice tool to compare two versions of a diagram and reconcile changes, something ControlCenter lacks. The .Net version of XDE has one basic HTML report, one that shows the class hierarchy and associated developer comments in each class. Rational plans to add more reporting features in the future (ControlCenter has extensive reporting features). While XDEs code templates can be used to enforce coding styles, it lacks ControlCenters code audit features to scan existing code for common programming errors and style inconsistencies.

Java coders will find the ControlCenter editor much improved over previous versions: It now has real-time error highlighting (for Java only), outlining, a variety of keyboard accelerator profiles and XML editing features.

ControlCenter is known for its near-real-time synchronization between diagram and code editor, which we found very convenient. It also had excellent support for external editors. When we edited a Java file open in ControlCenter using a separate editor, then switched back to ControlCenter, it noticed the file was changed and automatically updated its diagram and its editing window.

With the Java version of XDE, we had to save any code edits we had within the tool before the related diagram would be updated (going in the other direction, diagram changes were reflected immediately in source code), and when we made changes using an external editor, we had to give a synchronize command to get XDE to load our changes. In the .Net version, source code and diagrams were kept in sync whenever we switched between windows.

ControlCenter also adds fairly extensive code reorganization, or re-factoring, features in this release with 10 new re-factorings (it had just two in the previous version, 5.5). In addition to easily renaming and moving classes, we could also combine two classes into a superclass, turn a section of code into a new method, pull up or push down methods in a class hierarchy, and turn public attributes into private ones (with access methods created automatically for us). In all cases, related code that referred to changed objects was updated appropriately as part of the re-factoring.

Re-factoring is a key part of maintaining code, and ControlCenter is now a leading tool in this space.

West Coast Technical Director Timothy Dyck can be reached at timothy_dyck@

Together ControlCenter 6


Together ControlCenter 6.0


TogetherSofts ControlCenter is a mature design and modeling tool that gains significant code editing, Web service and re-factoring features in this release. For those organizing large Java projects, ControlCenter is a top pick. For .Net efforts, its not really ready yet.

SHORT-TERM BUSINESS IMPACT // A much-improved code editor with outlining, syntax error highlighting and better code completion that will provide immediate productivity gains for developers.

LONG-TERM BUSINESS IMPACT // ControlCenters large set of design patterns, coupled with its re-factoring features, allows organizations to maintain code bases at less cost.

PROS // Productive, powerful code modeling environment; new editing features make mistakes easier to catch; many new re-factoring commands allow code to be reorganized; Web services support.

CONS // Code completion and syntax error highlighting only works for Java code; cant compile or debug .Net projects from the IDE.

TogetherSoft Corp., Raleigh, N.C.; (919) 833-5550;

Rational XDE 1


Rational XDE 1.0


XDE provides a strong set of modeling and code management features for those moving to C# and using Visual Studio .Net; its integration with this tool is impressive and productivity-enhancing. In the Java space, however, its competition is much stronger, and XDE comes up short.

SHORT-TERM BUSINESS IMPACT // The .Net versions elegant integration with Visual Studio .Net provides sophisticated modeling features for developers without disrupting the way they already work.

LONG-TERM BUSINESS IMPACT // Rational offers an extensive line of development management options, and buying XDE allows shops to tap into those resources.

PROS // .Net version offers seamless integration with Visual Studio .Net IDE; capable model comparison and revision control features.

CONS // Diagramming environment is difficult to use; C# and Java are only supported languages; Java version offers just a basic Java editing environment; lacks code audit and has only basic reporting features; offers a relatively small number of design patterns.

Rational Software Corp., Cupertino, Calif.; (800) 728-1212;

Rocket Fuel