PlantUML+VSCodeでUMLを書く

2 min read読了の目安(約1900字

綺麗な資料作りが苦手

  • 綺麗な資料作りが苦手だけど人に見せる為にも出来る限りは綺麗に作りたい
  • draw.ioとか有名だから試したけどなんだか使いにくい
  • エクセル頼り
  • html書くよりマークダウン使った方が綺麗

という思いから、新たな力を手に入れる事にする
手に入れるついでにその方法等を記事にしつつ紹介する

調べもので英語の情報系サイト見ていてたまたま知ったものなので良い物なのかどうかすら分かりません
公式サイト見た感じ良さそうなので紹介するだけです

PlantUMLとは

  • 色んなUMLやダイアグラムをテキストで書かかせてくれるナイスなやつ、プログラマーの味方
  • パワポやエクセルやmysqlworkbenchみたいに重くない ※テキスト管理だから当然

前提

  • VSCodeインストール済み
  • Javaインストール済み
  • Graphvizインストール済み
  • OSはWindows10 Pro
  • ドキュメントを読んで理解する努力が出来ること
  • 公式情報だけを参考に環境構築する

VSCodeの設定

  1. 設定
  2. restoreで検索
  3. Window: Restore Windowsnoneにする
  4. Ctrl + Shift + x
  5. PlantUMLで検索
  6. PlantUMLのインストール

動作確認

サンプルコードの用意

sequenceDiagram.puml
@startuml sample
Alice -> Bob: test
@enduml

プレビュー

Alt + dを押してこんな感じの表示になればOK
サンプラー

ER図を書いてみる

ER図の書き方を参考にER図を書いてみる

er.puml
@startuml user

' hide the spot
hide circle

' avoid problems with angled crows feet
skinparam linetype ortho

entity "users" as users {
  - id : int NOT NULL AUTO_INCREMENT
  * login_id : varchar(255)
  * password : varchar(255)
    created_at : datetime
  * updated_at : datetime
    deleted_at : datetime
  --
  indexなんちゃらかんちゃら
}

entity "user_profiles" as user_profiles {
  - id : int NOT NULL
  * name : varchar(255)
  * sex : tinyint
  --
  * id : number <<FK>>
}

entity "history" as history {
  - id : bigint autoincrement
  * userid : int not null
    action : varchar(255)
    datetime : datetime
  --
  * id : number <<FK>>
}


users ||..o{ user_profiles
users ||..o{ history

@enduml

出来た図はこんな感じ

感想

  • パワポやエクセルに慣れよう
    せっかく作るならついでに制作物として含められそうな見た目、つまり相手が見慣れていそうな見た目や形式・ファイル形式の方が絶対に良い
  • 仕事ではない・自分だけの為のソロ開発・技術者だけしかいない身内チームでの開発などでは採用しても良いかもしれない