I'm currently writing up a text document for a .NET solution that contains multiple projects and assemblies and I'm needing to communicate the relationship between the classes/interfaces/etc. so that others can understand how data needs to be "wired up" inside the application.
For example, I might need to say something like:
The MySolution.WebService is going to consume an
IMessageProcessor
, which is defined in MySolution.WebService.Business. You can extend MySolution.WebService with more implementations ofIMessageProcessor
. A custom implementation ofIMessageProcessor
calledMessageProcessorOurVendor
is defined in OurVendor.Processor and is currently being used in MySolution.WebService. ...etc.
Writing all of this out might be helpful, but I think I would benefit a lot from supplementing my explanation with a graphical representation of what I'm trying to explain.
What is a good tool for visualizing these kinds of object-oriented relationships?
NOTE: I know that Visual Studio has class diagrams, but I'm not sure if it's able to do more than simply visualize classes within a single assembly. Also, I've heard that VS can work with UML, but since I've never worked with UML, I'm not sure if this will help me.
See Also: What's the best UML diagramming tool?