2019年4月21日日曜日

common.txt

' PlantUML用共通設定。

skinparam {

' フォントの指定は環境依存なので未調査。
'  defaultFontName MS ゴシック
'  defaultFontName MS 明朝
'  defaultFontName Consolas,メイリオ
  defaultFontName Consolas,メイリオ
'  defaultFontName Consolas,BIZ UDP明朝

  defaultFontSize 32

  ' 背景色を透明にする。
  ' backgroundColor transparent
}


' 書くダイアグラム共通設定
hide footbox
skinparam {

  componentStyle uml2

  ' 間隔を調整する。
  ParticipantPadding 10
  BoxPadding 30

  ' 広い図を縮小表示すると文字が小さく見える。
  ' 文字を大きくするとアイコンが小さく見える。
  ' 見やすい大きさにするために、図毎に調節することになる場合がある。
  classArrowFontSize 32
  classAttributeFontSize 14
  classFontSize 16
  classStereotypeFontSize 16
  classAttributeIconSize 0
}

color.txt

' PlantUML用共通設定。

' https://qiita.com/k_nakayama/items/77ca73753ebd049a66de

skinparam {
  defaultFontName "Ricty Diminished"
}

skinparam sequence {
  ArrowColor #000000

  LifeLineBorderColor #000000
  LifeLineBackgroundColor #1695a3

  ActorBorderColor #000000
  ActorBackgroundColor #ffffff
  ActorFontStyle bold

  ParticipantBorderColor #000000
  ParticipantBackgroundColor #225378
  ParticipantFontColor #ffffff
  ParticipantFontStyle bold
}

plantuml.bat

@echo off
set "PATH=%PATH%;%cd%\graphviz\release\bin"
start /min plantuml.jar %*

PlantUML用ディレクトリ構造.txt

' PlantUML用ディレクトリ構造。

/'
* PlantUML用ディレクトリ構造
木構造はSaltで描く。
SaltはPlantUMLのサブプロジェクトでグラフィカルインタフェースの設計を助ける。
nodeとleafの区別はない。

http://plantuml.com/ja/salt
'/

@startsalt
{
{T
 + PlantUML
 ++ plantuml.bat
 ++ plantuml.jar
 ++ xxxxxxxx.png : plantuml.jarが作成する
 ++ xxxxxxxx.txt : plantuml.jarと同じディレクトリに置くと監視され、pngが作成される

 ++ graphviz
 +++ graphviz-2.38.zip : 解凍するとreleaseディレクトリになる

 +++ release
 ++++ bin : PATH変数に設定する
 +++++ dot.exe

 ++ include
 +++ color.txt
 +++ common.txt
}
}
@endsalt

PlantUMLを使ったUML作図作業シーケンス図.txt

@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