Help us understand the problem. What is going on with this article?

PlantUMLで気軽にUML作成

More than 3 years have passed since last update.

UML作成ツールは数々ありますが

ちょっとクラス図書くだけだし、レイアウトはいい感じにしてくれないかなあ。
なんて要望に応えるべく、便利なツールを揃えたいと思います。

モデリングツールは持っているけど、プロジェクトメンバーとかクライアント全員は持ってなかったりで結局画像ファイルで配ってるんだよなあ、という場合にも良いかなと。

ツールってたくさんありますが・・Wikipediaでツール比較
さくっとかけて、できればgitでバージョン管理も。
→「テキストでUML描けたらいいんじゃない?」
PlantUMLが便利そう。
ATOMのPlantUMLプラグインを使えば、Previewしながら書けるらしい。
AtomとPlantUMLで爆速UMLモデリング を参考にさせていただき、Macに環境を整えました。

環境

  • macOS Sierra 10.12.5
  • Atom 1.18.0

前提ソフトウェア

以下は別途準備されている想定です。

  • Java (PlantUMLプラグインが使用するGraphvizの動作に必要)
  • Homebrew (Graphvizの導入に使用)

セットアップ

graphviz

Homebrewでインストールします。

$ brew install graphviz

インストールできたかチェック。

$ dot -V
dot - graphviz version 2.40.1 (20161225.0304)

ちょっと横道にそれますが、Graphvizの使い方はこちらに大変詳しくまとまってます。
Graphvizとdot言語でグラフを描く方法のまとめ

PlantUML

Atomのプラグインに含まれているのでスキップ可能です。
ただコマンドから出力する際には必要なので、以下から単体のjarファイルのダウンロードをしておきます。
http://plantuml.com/download

jQueryのプラグインなんかもあるみたいですね。

Atom PlantUMLプラグイン

Atomのパッケージ管理プログラムのapmを使用し、プレビューのためのplantuml-vieweとエディタでハイライト表示するためのlanguage-plantumlを導入します。

$ apm install plantuml-viewer
Installing plantuml-viewer to /Users/hiroshi/.atom/packages ✓

$ apm install language-plantuml
Installing language-plantuml to /Users/hiroshi/.atom/packages ✓

実行

PlatUMLのDSLでモデルを記述し保存します。

@startuml
Alice -> Bob: test
@enduml 

[Ctrl]+[Alt]+[P] で右側にプレビュー表示。
Screen Shot 2017-07-11 at 17.46.07.png

日本語大丈夫。特に文字化けもありません。

@startuml

class ユーザー {
  ユーザー名
  パスワード
  +ログイン()
}

class グループ {
  グループ名
}
  
class メンバー {
  役割
}

ユーザー .. メンバー
グループ .. メンバー

@enduml

Screen Shot 2017-07-11 at 17.29.17.png

ただ、時折変なエラーに遭遇します。どうも日本語入力状態で、Ctrl+Alt+Pを打つと、見えない文字が入力されてしまう模様。見えない文字を削除すればエラーは解消されます。。
Screen Shot 2017-07-11 at 17.23.34.png

参考資料

hkitahara
*おことわり* このサイトの掲載内容は私自身の見解であり、必ずしも所属会社の立場、戦略、意見を代表するものではありません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away