MiniUMLは、デンマーク技術大学で開発され、ソースコードはMicrosoft Reciprocal License(Ms-RL)ライセンスで公開されています。プログラムに関するレポートも公開されています。

MiniUMLのプログラムに関するレポート(Report.pdf)

英語のレポートですが、機能概要、実装内容、ツール(VS2008、TFS、Expression Blend2)、パターン(DataModel-View-ViewModel、Observer、Singleton、Utility pattern)等について書かれているので、興味のある方は見てみてはいかがでしょうか。 参考までに、MiniUMLソリューションに含まれている各プロジェクトの概要について示しておきます。

プロジェクトの名前と概要

ファイル名 概要
MiniUML.exe アプリケーション本体。メインウィンドウの管理、プラグインの管理
MiniUML.Model.dll データと振る舞いを表すモデル
MiniUML.View.dll XAMLで定義されたビュー。ウィンドウ、コントロール、テンプレート、リソース等
MiniUML.Framework.dll アプリケーションの主機能を担うクラス群
MiniUML.Diagnostics.dll エラー、デバッグ、エラーダイアログの管理用
Plugins/MiniUML.Plugins.Home.dll Homeメニュー
Plugins/MiniUML.Plugins.UmlClassDiagram.dll UML Diaglamメニュー
Themes/MiniUML.Themes.Blue.dll 青色のテーマ
Themes/MiniUML.Themes.Gray.dll 灰色のテーマ

各EXE/DLLの依存関係(Diagnostics.dllへの依存表記は一部省略)

まとめ

MiniUMLは、無償で入手できるソフトウェアですが、シンプルなクラス図であれば特に問題なく記述することができます。モデルはXML形式で出力されるのでLINQ to XML等を使ってクラス図を独自に解析することもできます。

また、ソースコードも公開されています。コード量が多いため簡単に理解することはできないかもしれませんが、WPFを利用したGUIツールを作る場合には参考にできるのではないでしょうか。