聞こえないJavaエンジニアが適当に書き連ねていく

つらつらとメモしたり日頃の溜まっている想いを吐き出す場所です。

システム設計時の脱Excelの手助けとなるツール

これは何

業務で設計する際に、Excelを使わずにドキュメントを作成したいときに使いたいものまとめ。

Excelだと辛いこと

Excelで図を書こうとすると、図形の大きさや矢印の向き、吹き出しの位置の調整に結構時間を取られてしまう。 また、修正したときに差分確認がExcelだと出来ないのでどこを変えたのかがわかりにくい。

改善するにあたって重視するポイント

  • 新たなツールを購入する必要が無い。
    • フリーのツールで実現できる。
  • 導入が比較的容易である。
    • 環境構築するのが難しくない。
  • テキストベースで資料を作成出来る。
    • テキストベースであるため、差分確認が容易である。
  • 構文が難しくない
    • ある程度パターンを把握すれば、直感的に書くことが出来る。
  • 図の配置はツールにほぼ一任が出来る。
    • 図によっては、ちょっと位置を変えたくなることがあるが、その時はオプションでちょっとだけどうにか出来る。
  • 画像ファイルへエクスポートが出来る。
    • 書くのはテキストでも、画像に変換することで可視化が容易になる。

以降の記述に対する注意点

code.visualstudio.com

  • 書いた人はWindows10で使っている。
  • テーブル設計で必要なER図は A5:SQL Mk-2 で作成しているので別扱いとした。

a5m2.mmatsubara.com

使っているツール

PlantUML

plantuml.com

  • かなり有名なツールで、テキストで書きたいなと思って検索すると大抵はこれが上位に出てくる。
  • 基本的な図はほぼこれ一本で書ける上、色々な図を書けるのでかなり重宝している。
  • たまに公式サイトを見ると、新たな記法が追加されていることもあるので油断ならない。
  • Visual Studio Codeにもプラグインが提供されているので、導入は難しくない。
    • プラグインの入れ方は「vscode plantuml」でググれば簡単に出てくるので、ここを見てとアナウンスが容易。

guiflow

もう保守されない画面遷移図は嫌なので、UI Flow図を簡単にマークダウンぽく書くエディタ作った - Qiita

qiita.com

uiflowのvscodeプラグインを作ってみました - Qiita

qiita.com

  • PlantUMLよりは知名度は低いが、私が無知だっただけで実は結構使われているツールだった。
  • PlantUMLだと書きにくい、画面遷移図もguiflowを使うと、テキストベースで書くことが出来る。
  • 細かい画面項目を書くのではなく、ボタンを押したときやリンクをクリックしたときにどの画面に遷移するのかという資料を書くのにおすすめ。
  • Visual Studio Codeにもプラグインが提供されているので、導入は難しくない。
    • プラグインの入れ方は2つ目のリンク先で紹介されている。

まとめ

細かい設計をする際にはまだどうしてもExcel仕様書になってしまうが(本来はこの辺りもテキスト主体で書けるとよいのだが…) 要件定義や大枠を決めて、必要な機能を洗い出す段階では上記、2ツールはかなり重宝する。

今関わっているシステム設計の要件定義では、私が使い始めたら周りも真似して使いだしたので差分管理が楽になった。 表現できる範囲の都合上、まだExcelで作成した図形の資料も残っているが、今まではExcelで作っていた資料が一部だけでもテキストベースになったことは大いなる進歩だと思う。

いずれは、各プログラムの詳細設計書も概要はMarkdownで書いて、細かい部分のみ用途に応じてPlantUMLだったり、guiflowだったり、ER図だったりでベースを作成し、画像エクスポートしたものを貼り付けていく形で開発が出来れば差分管理が容易になって最高なのでは?と想いを馳せている。