Last week I took a first look at the modelling features in Visual Studio 2005. A little late... sure... but probably still plenty of time to evaluate these features before the final release ;-)
I started with the class designer and tried to model the information I would like to give to a developer to give her or him a head start. In my opinion that would be a definition of the components and their interfaces. And in addition to that, I would like to give some examples of the interaction between the components. I would generally leave it to the developer to define the classes that are hidden within the component.
As always when code is generated directly within the design/development environment, you'll have to have general idea about how you want your model to be translated into code. So I created the necessary projects within the solution and started defining the interfaces and main implementation class for each interface. So far no sweat, you won't need a three days course to use it. The only thing you'll have to keep in mind is that the project references must be set to use a class from another project in your diagram.
With the basics done, I wanted to model some examples of the interaction between the components I defined. But then I tried to make an interaction diagram to define how the components interact, I ran in to trouble. I just couldn’t find something that looked like an interaction diagram or collaboration diagram. I would expect it somewhere at the solution level because you would need interfaces or classes from several projects to model the interaction between components, but I couldn’t find it.
I actually hope it's a bad case of RTFM on my behalf. If not, then the class designer is a fancy way to make a class diagram. In my opinion even to little information for documentation purposes.
To be continued...