PlantUML を使ってみた
はじめに
PlantUML でシーケンス図を書く機会があったので、使い方を自分用にまとめておく。
たぶん追記していく感じになると思う。
インストール
公式ページ に書かれてあるが、あっけないほど簡単。
端的にいうと、Jar ファイルをダウンロードして、Java がインストールされている環境で動かしてね、という感じ。
Jar ファイルのダウンロードリンクは ↑ の遷移先にあるので割愛。
plantuml.jar
というファイルがダウンロードできれば OK 。
Java インストール
手元では OpenJDK の Java 8 で動いた。
Windows 環境で動作させたが、Java が入っていれば OS は問わないのではないだろうか。
これだけのために Java を入れたくないって人は、Docker で Java のイメージを使えば良さそう。
OpenJDK のページ → http://jdk.java.net/
Docker Hub のページ → https://hub.docker.com/_/openjdk
コマンドラインからの Java 実行をしやすくするため、Path を通しておく。
Path=C:\java-1.8.0-openjdk-1.8.0.171-1.b10.redhat.windows.x86_64\bin
みたいな。
使い方
ダウンロードした plantuml.jar
と、後述するソースファイルを同一ディレクトリに置き、かつそのディレクトリにいる状態で、以下のコマンドを実行する。
java -jar plantuml.jar sample.txt -charset UTF-8
-charset UTF-8
を付けないと、ソースファイルに日本語が含まれていると文字化けする。
ソースファイルは UTF-8 で保存する。
改行コードは CRLF でも大丈夫だった。
このコマンドを実行すると、ソースファイルと同じ名前の png
ファイルが同一ディレクトリに出力されているはず。
ソースファイルの書き方
シーケンス図
@startuml
で始まり、@enduml
で終わる。
@startuml
@enduml
登場人物を ->
(矢印)でつなぐ。
:
(コロン)区切りでコメントを書ける。
@startuml
User -> Server : リクエスト
@enduml
逆向きの場合はこうする。
@startuml
User -> Server : リクエスト
User <- Server : レスポンス
@enduml
左右を同じ名前にすると、その中での処理のような表現になる。
@startuml
User -> Server : リクエスト
Server -> Server : 計算処理
User <- Server : レスポンス
@enduml
登場人物のアイコンと名前を定義できる。
定義した名前が、シーケンス部分の記述の名前に紐付く。
空行が入るのは問題なさそう。
@startuml
actor User
participant Server
database Store
User -> Server : リクエスト
Server -> Store : データ取得
Server <- Store : データ返却
Server -> Server : 計算処理
User <- Server : レスポンス
@enduml
名前の定義にスペースを入れたい場合は "
(ダブルクォーテーション)で囲い、as
句でシーケンス用のエイリアスを書く。
@startuml
actor User
participant Server
participant "Other Service" as OtherService
database Store
User -> Server : リクエスト
Server -> Store : データ取得
Server <- Store : データ返却
Server -> Server : 計算処理
Server -> OtherService : 通知
User <- Server : レスポンス
@enduml
出力するとこんな感じ。
とりあえずここまで。
Author And Source
この問題について(PlantUML を使ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/ysk_n/items/0fba64a210a9c313973e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .