LoginSignup
507
621

More than 1 year has passed since last update.

結局UMLとかシーケンス図とかAWSの図とかどれで描くと良いのよ?と思ったときの選択肢

Last updated at Posted at 2021-04-18

自身のプライオリティによりますが、いくつか。

  1. Markdownで幅広く再利用性を利かせたい、長期的に丁寧に版管理したい
  2. 自分自身の操作性、描きやすさと、見た目
  3. 俄然手軽に、短期的に、Onlineでいつでもどこでも

いずれかという視点で考えると良いのかなと思い、並べてみました。

1. 長期的に: Markdownで幅広く再利用性を利かせたい、丁寧に版管理したいなら

  • Markdownで描くことのメリットは再利用性。
  • 将来的に追記・編集、自分以外の誰かが手を入れる可能性が高い。
  • 現在のドキュメントだけでなく多種説明資料、媒体に転用する可能性がある。

...という点で差分管理をしたいなら、以下。

VSCodeでPlantUML、Mermaid

上記参考で以下。
image.png

Alt+D でプレビュー起動。
Ctrl + Shift + P でコマンドパレットを起動し、出力。

png, svg, eps, pdf, vdx, xmi, scxml, html で出力可能。
シーケンス図も書けます。

image.png

PlantUMLはQiita記事にも使える

こんな感じで

```plantuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response

Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response

トラブルシュート

あるいはTypora

image.png

その他 flowchart.js, Growi

2. 自分自身の操作性、描きやすさと、見た目なら

  • 多分開発用途で、編集もせいぜい同じツールを使える開発メンバー。
  • 設計資料だから開発チーム内でまあまあ便利に使えるのがベスト。

...という点なら、以下。

こちらもVSCodeで、Draw.io

デフォルトでは .drawio, .dio, .drawio.png, .drawio.svg などの拡張子のファイルを開けば、DrawioのUIで開いてくれる。

image.png

トラブルシュート

JavaScript mermaid.js

npm install mermaid --save-dev

<!DOCTYPE html>
<html lang="ja">
<head>
  <link rel="stylesheet" href="https://unpkg.com/mermaid/dist/mermaid.min.css">
</head>
<body>
<div class="mermaid">
  sequenceDiagram
    A->>B:起動
    B->>C:依頼
    C->>B:返答
    loop 
      B->>B:処理終了まで
    end
</div>

<script src="https://unpkg.com/mermaid/dist/mermaid.min.js" charset="UTF-8"></script>
<script>
  mermaid.initialize({
    startOnLoad:true
  });
</script>
</body>
</html>

image.png

あるいは Python Diagram as Code(Diagrams)

等など。
以上このゾーンは結局お好みかもしれない。

3. 短期的に: 俄然手軽に、Onlineでいつでもどこでもなら

  • とにかく描いて議論して話を固めたい。まだ初期段階だから色々変わりそう。
  • 開発チーム以外も見る、編集するから道具にこだわれない。

...という点なら。

Google Workspace

意外とシンプルに描けます。

チームでああだこうだ言いながら書いても良いかもしれない。

yUML

こちらもお気軽におしゃれな絵が描ける。

image.png

ほか色々 Cacoo、Cloudcraft、Hava

結局 Google Sheets や Excel

Google Sheets やExcelという選択肢になる現場もあるとおもう。Good luck。

番外

その他、Miscたち。

素材

スクリプトを作ってしまうという選択肢

まとめ

  • 長期的に少しずつメンテして育てたい
  • 短期的にササッと書き捨てたい

選択肢そのものも増えている…

GitHubで使えるようになった Mermaid の便利なところ
UMLとかAWS構成図とかを描くツール

以上、選択肢とプラスアルファの順に並べてみました。
参考になればさいわいです。

507
621
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
507
621