messykitchenなブログ

ただひたすらに散らかった台所や人生やその他を晒す。

脱W〇rd, 脱E×cel, 脱@st@h = Markdown, PlantUML, etc. : #0

なぜ PlantUML を使うことにしたのか

ブロック図を描いたり、シーケンス図を描いたり、けっこうありませんか?

例えば、ソフトウェアコンポーネントの構成図を、Excel でがんばって描いたりします。

資料を描き終わって、レビューが通過し、提出が済みました。
しかしここで間違いに気付いて、一部を修正したとします。

どこを直したか、わかりません。。。

修正履歴があればまだ変化点を追いやすいですが、 Excel のオートシェイプで書かれていたりしたら どうやって比較すればよいものか・・・
マクロで検出したり、目視で調べるというのもありますが・・・

でも、このような図がテキストで生成されているものだとしたらどうでしょう?

修正前のコンポーネント図は、次のようなテキストファイルで記述されています。

component    鬼
component   鬽
component   魂
component   魁
component   鬾
component   鬿
component   魅
component   魃
component   魄
component   䰠
component   魈
component   魍
component   魎
component   魏
component   魌
component   魋
component   魊
component   魔
component   魑
component   魕

修正後のコンポーネント図は、次のテキストファイルです。

component    魘
component   鬽
component   魂
component   魁
component   鬾
component   鬿
component   魅
component   魃
component   魄
component   䰠
component   魈
component   魍
component   魎
component   魗
component   魌
component   魖
component   魊
component   魔
component   魑
component   魕

差分は、diff を使えばすぐに知ることができます。

3箇所に差分がありました。
上記例では文字の変化だけだったので、一つ一つを比較すれば全てを見つけられますが、 シャッフルがあった場合は目視で探し出すのは大変です。
このようにテキストでの比較ができれば、どこが変化したかが検出しやすいですし、 ソースコードバージョン管理システムを使っての管理も容易になります。

PlantUML というツールで、テキストからの描画ができます。
ツールの名前の通り、UML に関連する図の描画が主体です。

必要な図はできる限り、このツールで作るような取り組みを始めています。
私は次のものを主に利用しています。

PlantUML を使っていく中で見つけた・調べた、便利な使い方などを備忘録を兼ねてメモしていこうと思います。

ワードさん、勝手にスタイル適用やめてくらさい。図を貼っていっても、体裁をドタバタしないでくらさい。
エクセルさん、広大なシート上にシェイプでお絵描きしていくと、何がどこに配置してあるかわからんとです。
アスターさん、最近無償版が商用利用できないっす。あと、図の再利用や体裁整えが難しいっす。