Model Your Development
Rational XDE Developer Plus provides comprehensive support for Unified Modeling Language (UML) design and implementation on a variety of development platforms.
Unified Modeling Language (UML) has become the common language of big-budget software projects, providing a rich notation for communication between architects and developers, and sometimes even end users. Many tools are available to help development teams fit UML and related processes into their projects, but few are comprehensive enough to take on the entire job. IBM's Rational XDE Developer Plus provides the high level of UML support consistent with Rational's role as the founder and steward of UML.
Rational XDE integrates deeply into many of the major Java, C++, and .NET development environments, including VS.NET, IBM WebSphere, and the open source Eclipse IDE. XDE makes great use of VS.NET's add-in support to integrate its designers and tools so closely that it's easy to forget whether you're using native VS.NET tools or XDE's.
It isn't immediately obvious how to start modeling with XDE in VS.NET, but you have a couple options. If you're starting a new project, you can create a new Analysis Project in the IDE and generate a UML model there. Once you have a starting model, XDE can create the project code files automatically, based on the objects you've defined. Then, you can refine the model or make changes to the code, and XDE keeps everything in sync.
If you have an existing project, you can select to reverse-engineer it into various UML designs. This can take a while as XDE probes deep into the dark corners of your code, but then you can use the Synchronize command to keep things in sync as you continue to work on the project.
When you reverse-engineer code, XDE can also produce models of referenced components, such as the .NET Framework namespaces the product uses. It doesn't do this analysis from scratch, because it would result in a huge performance hit. Instead, it includes preanalyzed models for common components, making it easy to understand the design boundaries of your code and the components it interacts with.
The Developer Plus edition includes several other Rational tools for a complete architecture and development environment. For example, Rational PurifyPlus identifies untested code and provides runtime-analysis tools to help find memory problems and performance bottlenecks that aren't evident from looking at the source code alone. Visual Trace lets you trace an application to create a trace-sequence diagram.
XDE isn't the product to choose if you're new to UML or the rigors of model-driven development; its complexity would be overwhelming. However, if you develop software with strict requirements that form a well-defined model, XDE Developer Plus provides a rich set of tools for the job for multiple platforms.
Rational XDE Developer Plus
Quick Facts: Comprehensive cross-platform set of UML design and implementation tools.
Pros: Integrates closely with various IDEs; full support for round-trip engineering; near-complete support for UML; includes debugging and performance tools.
Cons: Complex product not for UML novices; sluggish performance during reverse engineering; expensive.
Design With UML
by Ken Cox
Borland Together Edition for Microsoft Visual Studio .NET 2.0 (Together) is an add-in that lets you do Unified Modeling Language (UML) design within Microsoft's familiar development environment. Together works with the VS.NET source-code editor to keep your in-progress model and source code in sync as you create blueprints for software construction (see Figure 1).
Installation of Together is easy, and the software works well as part of VS.NET. Unlike most add-ins, Together implements a separate Explorer-type window (called Model View) for adding, locating, and opening models in a project. This is where you'll find Together's templates. Model View isn't especially intuitive, which reinforces the necessity of heading directly to the Getting Started tutorial. You'll save time and frustration by spending a couple of hours walking through the interface and creating Class, Use Case, and Sequence diagrams.
Together's visual-diagram interface makes adding classes, fields, methods, properties, and links easy. The designer generates code behind the scenes. For example, when you create a Store class, the Store.cs file shows up in the project, complete with the skeleton code. If you add a field directly in code, the field shows up in the corresponding diagram, like magic. This impressive round tripping eliminates many manual documentation tasks. Bidirectional hyperlinks let you navigate effortlessly among related diagrams and code.
Audits and refactoring help you improve design quality and code readability. The highly customizable Audits tool scans source code (C# only) for a wide range of flaws and style violations, such as unused local variables and unreachable statements. You can use the refactoring tools (on the main menu bar) as you revise working code to make it easier to understand and maintain. Refactoring includes functions such as Safe Delete, which shows references to an element before you remove it.
An Overview button in the screens' bottom right corner is a usability enhancement for large diagrams. It produces a thumbnail view that helps you navigate to the selected area. To share designs with other modeling tools, Together imports and exports XML Metadata Interchange (XMI) files as XMI for UML 1.3.
Any developer can create software diagrams with this tool, but you might need a book or course on UML to go beyond simple scenarios. The online help describes design tasks adequately, but it isn't as strong in conceptual areas, such as the roles of various diagrams, stereotypes, actors, messages, and patterns.
Borland has created a comprehensive, functional, integrated, and reasonably priced tool for intermediate and advanced software architects who prefer to work in VS.NET 2003.
Together Edition for Microsoft Visual Studio .NET 2.0
Phone: 800-457-9527; 831-431-1000
Quick Facts: Comprehensive add-in for visual UML modeling in VS.NET 2003.
Pros: Keeps your UML model and source code in sync at design time; integrates well with the IDE; hyperlinks speed navigation; includes useful audit and refactoring tools; good tutorial.
Cons: Model View window not intuitive; online help could use more conceptual content and overviews.
Chart Your Data
by Andy Clark
Chart FX for .NET from Software FX adds charting, maps, and statistical-analysis capability to VS.NET. This powerful set of tools supports both WinForms and Web Forms environments, and it accepts input data from a variety of sources (see Figure 1).
Chart FX integrates cleanly into VS.NET. Installation adds a Chart FX Developer Studio tab to your toolbox. Adding a chart to your application is as simple as dragging and dropping an object from the toolbox onto your form and working through Chart FX's chart wizard. The wizard allows you to select the type of chart, its color scheme, and its visual elements. Visual elements include bordering, axes labels, a legend box, a title, and a variety of other items. Chart FX supports many chart typesincluding line, pie, area, bar, scatter, combinational, and financial chartsand renders them attractively.
Chart FX can receive data from a variety of sources, including ADO data sets, text files, a crosstab provider, and XML files. It also accepts data from XML strings, arrays, and collections, through API calls. Chart FX decides automatically which columns should be labels and which columns represent charted data. You can override these assumptions through Chart FX's object-oriented API. Further, the API lets you modify presentation details such as fonts, colors, and chart types at run time.
Your users can also change presentation details at run time, including titles, colors, and even the type of chart. You don't need to add any code to make this happen. However, you do need to code for resizing. Chart FX doesn't include automatic support for runtime resizing, but it's simple to control through the API.
Chart FX comes with several other tools. They provide a variety of maps (world, continent, United States, states, counties, ZIP codes) and include a tool for creating custom maps. The maps are configured and populated at run time. The runtime interface gives the user the ability to zoom, drill down, change colors, and add labels to a map. Chart FX Statistical adds analytical functions such as mean, standard deviation, and linear regression to the chart control.
Chart FX for .NET comes with a hefty price tag. The base price includes a license for one developer and one server. Additional developer seats are $899 apiece, and each additional server license costs $1,599.
Chart FX gives you capable, flexible, and easy-to-use tools for adding powerful charting and mapping tools to your applications. The product's documentation and learning tools are excellent, and Software FX's support staff is responsive and knowledgeable. If your users are serious about charts, then you should consider Chart FX.
Chart FX for .NET
Phone: 800-392-4278; 561-999-8888
Quick Facts: Adds charting, maps, and statistical analysis to Windows and ASP.NET forms.
Pros: Simple to use; supports a variety of data-analysis tools.
Cons: Separate licensing fees for additional servers and development seats.
Control Grid Elements
by Ken Cox
Adding a sophisticated component to your application is much like adding a new developer to your team: Productivity drops during the learning curve, but you'll be further ahead in the long run. Xceed Software makes the introduction of its versatile WinForms grid component, Xceed Grid for .NET 2.1, as smooth as possible by providing a WYSIWYG design-time experience and built-in documentation. Xceed Grid lets you create master-detail and grouped views and gives you fine-grained control over grid elements.
Xceed Grid succeeds at providing precise design-time and runtime control over its headers, rows, columns, and groups. Within the Visual Studio .NET environment, you can select distinct objects directly on the form. It takes only a few seconds to get a feel for selecting elements with the mouse; popup selectors appear as you hover over the headers and rows.
The separate objects allow easy control over colors, borders, and height and width properties. For example, you can create a multicolored grid by adding several datarow templates, then highlight one column by overriding all row styles for the column. Design-challenged developers can choose from a baker's dozen of prepared stylesheets.
Thanks to the granularity of objects, you have a wider choice of editors for manipulating data at run time. For example, you could assign a standard slider control as the editor for a given column. Xceed demonstrates the grid's flexibility by using the component to build an action game and a treeview, and it includes the source code for both.
The grid renders quickly and performs well at run time. You can group data easily by dragging and dropping column headers into the upper area. It would be nice to have some built-in right-click functionality to expand or collapse all groups.
Xceed Grid tries to bolster the control's onscreen user assistance in two ways. When you drop the grid onto your form at design time, the lower half displays the Grid Assistant. The Assistant is a set of hyperlinked pages that take you through configuration steps either sequentially or by jumping from task to task. This is a good idea, but I found that the descriptive text isn't sufficient to get the job done. The other featuredocumentation embedded in tooltipsis fine in theory, but tooltips disappear before you can read the complete text.
The online help is adequate, but the tutorialssuch as the one on building a data-bound gridneed more precise steps. They can confuse newbies at times by offering multiple ways to accomplish one task.
Xceed has produced a highly capable grid that doesn't take days to learn. The sample code (in VB.NET and C#) is nicely done. The standard license includes royalty-free runtimes, and the component's source code is available in the higher-priced Blueprint Edition.
Xceed Grid for .NET 2.1
Phone: 800-865-2626; 450-442-2626
Quick Facts: Data grid for WinForms with fine design-time control over column, row, and group settings.
Pros: Flexible and easy to learn; performs well; royalty-free runtime; source code available; good samples.
Cons: Tutorials are confusing; on-screen assistant not sufficiently helpful.