The long anticipated release of Visual Studio .NET with support for C# and the .NET environment took place this past week.

Perhaps little known to most developers, the Enterprise Architect version of VS .NET contains support for UML modelling, provided through integration with Microsoft Visio. If you look at the UML support web page, you can see samples of 8 UML diagram types.

How tight this integration is with Visio remains to be seen. Unfortunately, you probably can't get a demo of this version - a download would most likely be huge. If anybody has any experience with the UML support in VS .NET, please comment!

If you want to buy the Enterprise Architect version to try out the UML support, that will set you back about 2500 dollars.

I used Visio2002 w/VS.NET Ent. Architect to generate code from UML and reverse engineer code to UML.

First, Visio 2002 is a lot more stable then version 2000. This alone, makes a big difference. 2002 is rock solid!

The code generation feature works well. The code generation options (right click on a class, go into properties, then select 'Code Generation Options') let you create generation templates which you can reuse, so it's easy to customize, easy to reuse the customization on different element, and you can specify a generation template on any element so you have a fine grained control over the whole code generation process.

When you generate code from Visio, Visio does not update the Visual Studio Project with the new code, it creates a new Visual Studio Project and put the code skeleton in it. Same thing when reverse engineering code into a UML model. Visio won't update a model from code, it can only creates a new UML poject.

What is generated when you reverse engineer code is the model's 'skeleton' that you see in the Model Explorer. Reverse engineering code alone doesn't generate any diagrams at all.

So the reverse engineering/code generation features are useful as long as you don't need (as I do) real Round-Trip Engineering, in which case, Rational XDE is a lot better. Also, ironically, XDE is really well integrated into VS.NET. With Visio, you have to go back and forth between the two applications which makes it harder on this so fragile creative workflow!!

I haven't had much opportunity to investigate Visio Enterprise Architect yet, but what I have tried to establish is whether it can be integrated with VSS. Recently I did some UML analysis in Visio 2002 and found that the model couldn't be worked on by more than one analyst (as vb can for example) so only one analyst can work on a model at a time.

If anyone knows how to do this then please post a reply.

I have tried Rational XDE and it is ironic that this is integrated into the .Net IDE and Visio isn't.