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