プロジェクト

全般

プロフィール

PlantUML

はじめに

本記事は、UML図作成ツールPlantUMLの使用メモです。PlantUMLは日本語ドキュメントがあるので使い方についてはドキュメントを参照するものとし、その上で使い方がすぐに分からなかったこと、ちょっと凝った使い方やトラブルになったことなどをメモします。

PlantUML概要

PlantUMLは、テキストファイルに記述したUML図のネタ情報(要素と要素間の接続情報)を元に、自動配置したUML図の画像を生成します。
生成可能なUML図は、シーケンス図、ユースケース図、クラス図、アクティビティ図、コンポーネント図、状態遷移図、オブジェクト図、配置図、ER図です。

テキストファイル(クラス図)のイメージは次です。

@startuml
Spacecraft <|-- Satellite
@enduml


PlantUMLは、Javaで書かれたプログラムで実行可能JAR形式で配布されています。
PlantUMLの実行には、Java実行環境が必要です。

インストールと実行

PlantUMLは、Javaで作られています。次のダウンロードページからJARファイルを取得します。
http://plantuml.com/download

ダウンロードしたJARファイルを実行します。実行には、JRE(Java Runtime Environment)が必要です。

実行すると画面が表示されます。指定されたディレクトリにあるテキストファイルを監視して変更が入ると画像ファイルを更新します。

記法について

共通要素

コメント

行頭にアポストロフィー ' でコメント行となります。

UML2表記

バージョン 1.2020.13からデフォルトでUML2となっています。それ以前では次の様に指定。

@startuml
skinparam componentStyle uml2
  :
@enduml

形状の指定

コンポーネントを単純な矩形にしたい→ skinparam componentStyle rectangle

packageStyle

ER図

ドキュメントにはER図に言及ないですが、機能として備えています。

注意点

名前の指定に英数字以外(日本語、空白、記号)を含めるには

ダブルクォートで囲みます。

ツール連携

Emacs

orgモードでplantumlを扱う

Emacs標準搭載のorgモードでplantumlを扱うことができます。

  • init.el
    ;; org-mode plantuml
    (org-babel-do-load-languages
     'org-babel-load-languages
     '((plantuml . t)))
    (setq org-plantuml-jar-path (expand-file-name "d:/tools/plantuml/plantuml.1.2018.8.jar"))
    

plantumlのJARファイルのあるパスをorg-plantuml-jar-pathに設定します。

ORGモードで編集し、コンパイルすると画像が生成されます。
コンパイルはキーバインドがC-c C-e h oです。

ファイルの書き方は次となります。

#+BEGIN_SRC plantuml :file glossary_er.png
@startuml
Bob -> Alice : hello
@enduml
#+END_SRC

1行目の:fileで生成する画像の出力先ファイルを指定します。