Better Modelling with the Visual Studio Class Designer
As you may have experienced whenever modelling any kind of software design, it gets pretty hard to keep the model in-sync with the software as the code changes over a period of time. It’s even harder to keep both updated if you’re modelling with a different, independent application than your IDE.
Today, for the very first time, I was playing around with the Visual Studio 2008 Class Designer. I’ve been using Sparx’s Enterprise Architect for a number of years, but I wanted a better way to keep my design in-sync with my code inside the IDE. The major problem with the Visual Studio Class Designer is that it lacks some fundamental features that should appear on a UML class diagram such as associations between classes.
Well, you might be delighted to know that there’s a neat project on CodePlex that fulfills this need. That project is PowerToys for the Class Designer and Distributed System Designer. Here’s its description:
This set of add-ins augments existing functionality in the Visual Studio Class Designer and the Distributed Systems Designers. It now supports Visual Studio 2005, Visual Studio 2008. The Design Tools Enhancements add-in provides a common set of features that can be used by both the Class Designer and the Distributed System Designers, such as pan/zoom window and rich formatting commands. The Class Designer Enhancements add-in provides additional functionality for the Visual Studio Class Designer, such as HTML export and nested type creation commands. This download includes all necessary source code and a Visual Studio project template for creating your own add-ins for the Visual Studio designers. The Class Designer is a developer productivity tool available in Visual Studio Standard Edition and above, which allows developers to easily visualize, design, refactor, and document their code. The Distributed System Designers enable software architects, operations managers, and developers to visually design service-oriented solutions and validate them at design time against their operational environments. The Distributed System Designers are a core component of Visual Studio Team Edition for Software Architects and the Visual Studio Team System.
Even though the description says that it supports Visual Studio 2005, the latest release only supports Visual Studio 2008 (Professional edition or higher). I haven’t tried it in Visual Studio 2005 (but if you did, feel free to post a comment on your experience with this PowerToys on VS2005).
P.S To show the associations between classes inside the Class Designer, simply right-click on a class attribute or a property, then click on Show as Association or Show as Collection Association, depending on the type. Sweet!
Similar posts you might be interested in reading:
- Integrating Enterprise Library 3.1 Configuration Tool in Visual Studio 2008
- My Visual Studio 2008/Resharper Theme
- Part I: Beginning the CI Journey with Subversion
- Go to your project’s output directory directly by using Windows Explorer as an External Tool (Visual Studio)
- Using the “Source Control – Team Foundation” toolbar to perform common TFS operations on the current document within Visual Studio
- Book Review #7: "The Dip: A Little Book That Teaches You When to Quit (and When to Stick)"
- Microsoft’s DreamSpark: free access to .NET development tools for students