@startuml
title PlantUMLを使ったUML作図作業シーケンス図
/'
* PlantUML
PlantUMLは、シンプルで人間が読むことのできるテキストの記述を使って、UMLの図を描くために使われる。
モデリングツールというよりは描画ツールである。
2つのクラスがお互いに継承し合うような矛盾した図が描画されてしまう場合がある。
http ://plantuml.com/ja/index
http ://yohshiy.blog.fc2.com/blog-entry-153.html
http ://www.aise.ics.saitama-u.ac.jp/~gotoh/SequenceDiagramByPlantUML.html
* UML
https ://it-koala.com/sequence_diagram-1775
'/
!include include/common.txt
' !include include/color.txt
/'
* 分類子
分類子が表示される順序をorderキーワードで指定できる。
省略時は分類子の宣言順、使用順によって自動調整される。
'/
actor ユーザ
box 入出力ファイル #LightGray
database txtファイル <<入力ファイル>>
database pngファイル <<出力ファイル>>
end box
box 実行ファイル #LightBlue
participant sakuraエディタ <<テキストエディタ>>
participant FireFox <<pngビューア>>
participant plantuml.bat
participant plantuml.jar <<txtファイル→pngファイル変換>>
participant Graphviz <<作図>>
end box
/'
* メッセージなど
'/
note over ユーザ : 起動順序は自由
ユーザ -> plantuml.bat : 起動
activate ユーザ
activate plantuml.bat
plantuml.bat -> plantuml.jar : 呼び出し
note over plantuml.bat : plantuml.jarを呼び出し後に終了する
activate plantuml.jar
deactivate plantuml.bat
plantuml.jar -> txtファイル : 監視
note over txtファイル : 最初はなくても\n保存すると検知される
ユーザ -> FireFox : 起動
activate FireFox
ユーザ -> sakuraエディタ : 起動
activate sakuraエディタ
||50||
' 正式な書き方をせず、noteで済ませた方が図が簡素になる。
' 字下げはしなくても良い。
' loop
note over ユーザ
テキストエディタで編集、保存、
pngビューアで表示、確認を繰り返す
end note
ユーザ -> ユーザ : 編集、保存、表示、確認
activate ユーザ
ユーザ -> sakuraエディタ : txtファイル編集、保存
sakuraエディタ -> txtファイル : 保存
activate txtファイル
||50||
plantuml.jar -> txtファイル : 保存検知、読み取り
' opt シーケンス図、アクティビティ図以外のダイアグラム
plantuml.jar -> Graphviz : 呼び出し
note right plantuml.jar : シーケンス図、アクティビティ図以外の\nダイアグラムの場合呼び出す
' end
note over plantuml.jar : 作図
plantuml.jar -> pngファイル : 出力
activate pngファイル
||50||
ユーザ -> FireFox : pngファイル表示
FireFox -> pngファイル : 読み取り
note over FireFox : 表示
||50||
ユーザ -> FireFox : pngファイル確認
deactivate ユーザ
' end
||50||
note over ユーザ : 終了順序は自由
ユーザ -> sakuraエディタ : 終了
deactivate sakuraエディタ
ユーザ -> FireFox : 終了
deactivate FireFox
ユーザ -> plantuml.jar : 終了
deactivate plantuml.jar
||50||
note over ユーザ : ファイルは\n再利用、流用できる
ユーザ -> txtファイル : 再利用
ユーザ -> pngファイル : 再利用
@enduml