During the MVP Summit this past April, I saw a presentation of UML capabilities that are part of the Visual Studio Team System “Rosario” April 2008 Preview. I immediately downloaded the monstrous virtual machine containing the bits … and finally took a quick look at things today.
In my current job, I find myself creating a fair amount of UML diagrams. My company uses the very powerful Sparx Enterprise Architect (EA) for UML modeling, and despite that fact that some days I spend as much time in EA as I do Microsoft Outlook, I still probably only touch 10% of the functionality of that application. How does Visual Studio measure up? I thought I’d take a quick look at the diagram types that I’ve created most recently in EA: use case, component, sequence and activity.
When you look to create a new Visual Studio project, you now see “Modeling Projects” as an option.
Funny, but all the modeling diagram types (logical, use case, component and sequence) can be added to existing VS.NET projects, EXCEPT “activity diagrams” which must be created as a standalone project. Alrighty then.
For the use case diagram, there’s a fair representation of the standard UML shapes.
Can’t seem to create a system boundary though. That seems odd. The “use case details” is a nice touch.
The sequence diagram also looks pretty decent. What’s nice is that you can generate operations on classes, or the classes themselves directly from the diagram.
How about component diagrams? We actually use a few flavors of these to create system dependency diagrams as well as functional decomposition diagrams. Not sure I could do that particularly easily with this template.
Doesn’t look like I can change the stereotypes at all on either the components or links, so it’s tough to make a “high level” component design. But wait! Looks like I can do a “application design” or “system design” diagram.
Here is a system design.
I couldn’t figure out how to associate multiple systems, but that’s probably my stupidity at work. Pretty nice diagram though, with the ability to add deployment details and constraints.
Finally, you have the activity diagram. This has many of the standard UML activity shapes, and looks pretty solid.
The basic verdict? Looks promising. I have to do a bit too much clicking to make things happen (e.g. no “drag from shape corner to connect to another shape”), and it would be nice if it exported to the industry standard format, but overall, it’s a step in the right direction. I’d also like to see a “lite” version that folks (e.g. business analysts) could use without having to install Visual Studio.
This wouldn’t make me stop using or recommending Sparx EA, but, let’s keep an eye on this.