HomeDigital EditionSearch Dotnet Cd
ASP.NET C# Certification Exams The CLI Data Access Editorials Extending .NET Fundamentals Interoperability Interviews Migrate Mobile .NET Mono .NET Interface Object-Oriented Programming Open Source Optimization Product/Book Reviews Security Source Code UML Visual Studio .NET

Microsoft Visual Studio .NET 2003 is arguably the most advanced integrated development environment (IDE) available today. Prepare to see your Visual Studio .NET environment on steroids!

IBM Rational XDE Developer Plus Edition (v2003) provides an eXtended Development Environment that builds upon Visual Studio .NET 2002 or 2003, providing seamless integration of advanced UML modeling and assisted coding features for all aspects of .NET development.

Software development with the .NET Framework has made our lives as software developers a little less complicated when compared with the previous generation of Microsoft development tools and languages; however, applications are becoming more complicated and the time frames to develop them are ever decreasing.

If you're a software developer and you'd like to be able to make that barbecue tonight instead of working late trying to meet a critical deadline, then I would strongly suggest you take a good look at accelerating your .NET development using IBM Rational XDE Developer Plus Edition.

Why Should .NET Developers Care about UML?
The Unified Modeling Language is the de facto standard for visually describing the requirements, specification, and design of a software system. It is a combination of the very best of three previous notations by Grady Booch (Booch), Ivar Jacobson (Objectory), and James Rumbaugh (OMT), all of whom have since joined IBM Rational Software.

It probably isn't surprising then that the best UML tools have come out of Rational Software and that Rational XDE is no exception; in fact it has taken UML modeling to an all-new level with the 2003 release.

In addition to supporting both Visual Studio .NET and several Java IDEs, IBM Rational XDE Developer Plus Edition also includes a license for Rational Software's runtime analysis tool, known as IBM Rational PurifyPlus (v2003).

Dynamic Sequence Diagrams Using Visual Trace Rational PurifyPlus enables Rational XDE's Visual Trace tool to automatically generate UML sequence diagrams (see Figure 1), enabling the developer to see the sequence of calls through the code as they actually occur rather than a sequence diagram of how the calls should occur.

This is an important distinction, as handcrafted sequence diagrams will normally show only the intended sequence of calls rather than the actual sequence of calls. Aside from saving you time and money in producing this level of documentation for your software, dynamic sequence diagrams provide developers with a real advantage when debugging code.

Initially the diagram generated is not technically considered a UML sequence diagram, as it also contains some tracing information not normally part of UML sequence diagrams. You might also want to suppress some of the messages for the purposes of this sequence diagram; you can do this before telling XDE to generate the final sequence diagram for you.

Before the addition of Visual Trace, Rational XDE was without doubt the best UML modeling tool available - and one of the only ones supporting .NET developers natively within the Visual Studio .NET environment. With the addition of Visual Trace and the dynamic construction of sequence diagrams, Rational XDE simply blows competing products away!

Round-Trip Engineering
Another advantage of using Rational XDE in software development is its ability to generate UML diagrams from source code in either C# or VB.NET and then maintain these diagrams with code synchronization, enabling you to change either the code or the model and have those changes synchronized back - generating either code for new UML model elements or UML model elements for new code.

Often software engineers use existing code in their projects for which there may be little or no existing documentation.

Since installing the latest version of IBM Rational XDE Developer Plus Edition I have used it very successfully to reverse engineer two pieces of code that you may be familiar with; the CLR Profiler sample project (see Figure 2) and the Exception Manager application block, both of which are freely available on the MSDN Web site.

Using Rational XDE to reverse engineer the CLR profiler - which is a considerable project containing in excess of 40 classes implemented in C# - I was able to rapidly understand the design of the profiler and see the relationships between various classes.

Using the UML class diagrams that I was able to rapidly produce enabled me to quickly feel comfortable enough to make changes to the CLR profiler code without the worry that I would introduce defects because of a lack of understanding of the design.

Rational XDE also provides you with a good view of the application's design, enabling you to easily see areas of the design that could be improved using refactoring techniques.

Gang-of-Four Design Patterns
Rational XDE provides an excellent mechanism for implementing the 23 design patterns that were popularized by the now famous Design Patterns by Erich Gamma et al., known as the Gang of Four. Each pattern is defined in the form of a wizard that creates the UML model elements necessary to integrate the design pattern into your application.

Creating any of the design patterns is simply a matter of clicking through the wizard and selecting the appropriate existing classes the pattern should interact with.

Few software developers realize the power in these patterns and even fewer know how to implement more than a couple of them in several languages.

Using Rational XDE you can now concentrate on selecting the appropriate design pattern for your particular problem and not concern yourself with how to actually implement that pattern in your language of choice; Rational XDE will construct the code for you using a technology known as code templates.

Reusable Asset Specification
Another awesome feature in Rational XDE is its support for the Reusable Asset Specification, which enables you to package and share UML model elements and associated code templates that you can then distribute throughout your organization or even the entire Internet using an ASP.NET Web service that is included with Rational XDE.

Imagine you need to implement a typed collection in C#, but you need to search either MSDN or yahoo.com to find the best way to implement the typed collection.

As mentioned before, Rational XDE provides an ASP.NET Web ser- vice to enable you to share and search the Internet for RAS assets that can help solve your development needs. You can simply incorporate an asset into your design and Rational XDE will provide you with the UML model and associated documentation for the solution, along with the associated code templates to enable the implementation to be automatically generated in your chosen language.

Although typed collections are not all that complicated to implement in any CLS-compliant .NET language, they are a good example of contenders for implementation as a reusable asset. However, the sky is the limit as far as the power and complexity of reusable assets that you could package and distribute.

Exchanging UML Models Using XMI
Another great benefit of IBM Rational XDE Developer Plus Edition is its support for version 1.2 of the XML Metadata Interchange Specification (XMI), which allows you to import and export UML models between other tools that support the XMI standard.

In the same way that the UML standard is a published standard of the Object Management Group, the OMG has also produced the standards for XMI, which is gaining industry acceptance and being actively implemented by several tool vendors

Conclusion
Essentially, you now have a decision to make. Like Neo in the movie The Matrix, you are being presented with two options: you can take the blue pill and continue to work on your .NET development the same way you have been until today - probably missing that barbecue I mentioned earlier - or you can take the red pill and dive into .NET development on steroids using the latest in model-driven development tools.

If you've decided to take the red pill, then I can recommend Rational XDE without reservation as the premier UML modeling solution for the .NET developer. Buckle up! Your life as a software engineer is not going to be the same again!

Company Info
Rational software from IBM
18880 Homestead Rd. Cupertino, CA 95014
Phone: 800.728.1212
Web: www.rational.com
E-mail: www.rational.com/contact/request.jsp

Test Environment
Sony RX-755, 512MB RAM, Windows XP Professional Service Pack 1a

Author Bio
Doug Holland, a professional .NET consultant based in Roseville, CA, has over eight years of experience in designing and developing software. Doug currently works with the .NET Framework and specializes in consulting for companies using IBM Rational XDE for .NET development. doug.holland@precisionobjects.com

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.

  E-mail: info@sys-con.com