Expressing relationships between types

I believe one of the strongest things going for class diagrams is being able to holistically look at a collection of types and see how they’re related. In other words, it’s not just about getting shapes on a diagram but about the lines that connect them. So I’m always interested in learning more about the kinds of relationships, or lines, users try to express on class diagrams.

To date, the VS Class Designer supports visualizing two kinds of relationships: 1) inheritance lines, and 2) association lines on fields and properties.

Expressing relationships between types: inheritance, associations, and collection associations.

Figure 1: Expressing relationships between types: inheritance, associations, and collection associations.

I’ve seen other types of lines on class diagrams, such as dependency lines, to signify for example that one particular class instantiates/calls another class. Another scenario might be to show a method’s parameter type as a relationship. These latter cases aren’t supported in VS2005 and I’d like to get a feel for how prevalent these and other relationship kinds are on class diagrams. 

We’ve seen feedback reported on this issue through the MSDN Feedback Center – I wonder if anyone else would like to share their thoughts.

Regards,

John Stallo

VS Class Designer Program Manager