PlantUML

PlantUMLはオープンソースのUMLダイアグラム作成用のテキストベースの言語である。PlantUMLの言語はドメイン固有言語の一例である。ダイアグラムの表示にはGraphvizを使用している。

PlantUMLを使用するアプリケーション 

PlantUML.com はクラウド上でダイアグラムを生成する。PlantUMLには、ほかにも様々な拡張機能がある。

 Confluence にはPlantUMLのプラグインが存在する。このプラグインはページをリロードする間に即座にダイアグラムを描画する。Confluence Cloud向けに追加のPlantUML plug-inが存在する。
 Doxygen は \startuml コマンド以降に書かれたソースのダイアグラムを統合する。
 Eclipse にはPlantUML plug-inがある。
 Google DocsはPlantUML GizmoというPlantUML.comを扱うアドオンがある。
 IntelliJ IDEA はプラグインを用いることでダイアグラムの作成と表示ができる。
 LaTeXはPGF/TikZパッケージでPlantUMLの部分的なサポートがされる。
 MediaWikiはSVGあるいはPNGで描画するPlantUML plug-inがある。
 LibreOfficeには、Libo_PlantUMLという拡張機能がある。これを利用するとWriter上で記述してダイアグラムが生成できる。
 Microsoft Wordは PlantUML Gizmo という add-in を用いることでPlantUMLダイアグラムを使用できる。
 NetBeansはPlantUML plug-inがある。

テキストとUMLの対応 
PlantUMLは整形され、人間に読むことのできるコードをダイアグラムの描画に用いている。

PlantUMLは様々な形式のダイアグラムをサポートし、レイアウトを明確にする必要がない。もし必要があればダイアグラムの修正を行うことも可能である。

例 
Facade パターンのUMLクラス図の例を以下に示す。
skinparam style strictuml
class Façade {
 doSomething()
}
Façade .> package1.Class1
Façade .> package2.Class2
Façade .> package3.Class3
Client1 .> Façade : doSomething()
Client2 .> Façade : doSomething()
note as N2
doSomething() {
  Class1 c1 = newClass1();
  Class2 c2 = newClass2();
  Class3 c3 = newClass3();
  c1.doStuff(c2)
  c3.setX(c1.getX());
  return c3.getY();
}
end note
Façade .. N2

関連項目

  
 AsciiDoc

脚注

統一モデリング言語
オープンソースソフトウェア
フリーUMLツール