Class Diagrammer

Class Diagrammer is an application for creating UML class and package diagrams from the type information found in .NET assemblies. Class Diagrammer is © 2010–2012 by Christoph Nahr but available for free download under the MIT license.

Overview

Class Diagrammer specializes on so-called “reverse engineering” of .NET assemblies into UML diagrams for documentation purposes. That is, all diagram elements are created by reflecting over .NET type information. The application offers the following features:

  • Create UML diagrams whose elements represent arbitrary .NET types or assemblies. Element contents can be filtered using a variety of display options.
  • Create arbitrary UML relations between elements. Relation layout is adjusted automatically as the connected elements change size or location.
  • Save created diagrams as image files, or print them to any local printer. This can be automated using an included console executable. Direct PDF output is supported via PDFsharp.
  • Diagrams use (mostly) standard UML notation and a compact layout suitable for print publication, unlike the weird bubbly boxes of Visual Studio’s class diagrams.
  • Diagrams only store references to CLR names and minimal layout data. The actual element contents are always recreated from the current type information found in the referenced .NET assemblies.

On the other hand, Class Diagrammer is much more limited than commercial UML packages such as Sparx Enterprise Architect:

  • Elements must be based entirely on type information from reverse-engineered .NET assemblies.
  • Relations must be created, updated, and deleted manually – only their layout is adjusted automatically.
  • You cannot forward-engineer diagrams, i.e. create code from diagrams.
  • You cannot add any custom text, drawings, or element contents to diagrams.

System Requirements

Class Diagrammer requires a Microsoft Windows system capable of running the Microsoft .NET Framework 4.0 Client Profile. This includes Windows XP SP3, Windows Vista SP1 or later, Windows 7, Windows Server 2003 SP2, and Windows Server 2008 & R2 with Internet Explorer 5.01 or later.

Further Information

Consult the following links for more information on Class Diagrammer. Copies of the ReadMe and WhatsNew files are included with both download packages.

  • The ReadMe file contains the copyright notice, setup instructions, and technical details on the project – including a section on using PDFsharp to convert XPS documents.
  • The WhatsNew file contains the annotated version history of the project.
  • The Binary Package includes a comprehensive help file that describes basic concepts as well as usage details.

The binary package also includes a small sample project. For a larger demonstration, check out the User’s Guide (PDF, 1.82 MB) of my Hexkit project. All UML diagrams in chapter 4 ff. were created with Class Diagrammer. The corresponding project file comes with the Hexkit Source Package.

Download Files

The current Class Diagrammer version is 1.4.4, released on 18 April 2012. Users should download the Binary Package. Developers may want to download the Source Package and Class Reference as well.

Binary Package

The current binary package is Diagrammer.zip (538 KB). This is a standard ZIP archive without subdirectories.

Class Diagrammer requires no installation. Simply extract the contents to any directory of your liking, then study the enclosed ReadMe file before deciding how to proceed.

Source Package

The current source package is DiagrammerSource.zip (1.28 MB). This is a standard ZIP archive containing subdirectories and long file names. Extract the contents to any directory of your liking.

You need Microsoft Visual Studio 2010 to load the included solution and project files, although you can also use the free Microsoft Windows SDK 7.1 for Windows 7 and .NET 4.0 to rebuild Class Diagrammer. Both have the same system requirements as the .NET Framework 4.0 itself, but the Windows SDK also requires that you first install the full .NET Framework 4.0 – not just the Client Profile.

The current version of Class Diagrammer includes version 5.6.2 of my Tektosyne library. The current Tektosyne version is also available as a separate download, but this is not required to run or compile Class Diagrammer.

Class Reference

The current class reference is DiagrammerClasses.chm (7.79 MB). This file was created from XML source code comments using the free Sandcastle Help File Builder. To view the class reference, you need Microsoft’s HTML Help Viewer (which should be present on most systems).