LoginSignup
39
40

More than 1 year has passed since last update.

図を書くのに苦労してますか?じゃPlantUML might be for youです

Last updated at Posted at 2022-11-24

Table of Contents

図を書くのに苦労してますか?じゃPlantUML might be for youです

PlantUMLはテキストでUMLの図を作成できるツールです。こんな感じです。

image.png

個人的にPossibly the best tool of my lifeなので紹介します。
使うかどうかの判断材料にしてください。

UMLってなに?

Unified Modeling Languageです。
ソフトウェアの設計を表現できる図なので開発時のコミュニケーションやドキュメントを残すときに役立ちます。

ビジネスとの仕様確認に下記の様な情報で認識の違いを防げます。

  • 機能とその機能を使う人(Use Case Diagram)
  • 状態がどう変わるのか(State Machine Diagram)
  • システムのフロー(Activity Diagram)

下記のようなシステムのドキュメントを残しておくとメンテするときに開発者は楽になります。

  • アプリの構成(Deployment Diagram)
  • 処理の順序とオブジェクトの関係(Sequence Diagram)
  • オブジェクトの関係性(Class Diagram)

PlantUMLでどんな感じな図ができるの?

PlantUMLでよく作る図を紹介していきます。

Use case diagram

システムの機能とその機能を使う人の関係を表します。全体像を表すのに使ってます。

image.png

State machine diagram

状態がどんなアクションでどう変わるのかを表します。

image.png

Activity diagram

アクションや分岐を入れてフローを表すことができます。個人的にこれを一番使ってます。

image.png

Swimlaneを使ったら誰が何をやってるのかも表現できます。

image.png

Deployment diagram

いろんな図を表現できます。僕はインフラなどを表した図に使います。

image.png

Sequence diagram

処理の順序とオブジェクト同士の関係を表せます。開発者にとってはこの図はわかりやすいのでほとんどの場合開発への説明に使ってます。

image.png

Class diagram

OOPのオブジェクトを表すことができます。

  • クラスの関係性
  • どんなField、Methodがあるのか
  • Field、Methodのアクセスレベル (public, privateとか)
  • クラスの種類 (Abstract, Interfaceとか)

これは技術書などにたまに出てきますね。同じ記述でER図も書けます。個人的にはクラス図よりもER図によく使いますね。

image.png

PlanUMLの良いところ・悪いところ

良いところ

  • UMLの作成が早い
    • マウス操作が不要ですべてキーボード完結
    • レイアウトなど気にしないで良いので楽
  • テキストだから扱いやすい
    • gitなどのVersionControlに含めることができる
    • 更新が楽にできる
  • 色々なIntegrationがある
    • GitLabでPlantUMLを書いたら勝手にイメージに変換してくれる
    • IntelliJやVSCodeでPlantUMLを書いたらRealtimeでイメージのプレビューをしてくれる

悪いところ

  • 学習コスト:言語なのでSyntaxを習う必要がある
  • レイアウトの修正は不可能、または難しい
    • 複雑な図は向いてない、または書けない

Try it out!

僕は開発をするときはほぼすべてのプルリクにPlantUMLを添えてコードレビューしてもらってます。指摘があるときに図があると説明のしやすさが段違いです。

個人的にはすごく役立っていて、手放せないツールとなっているのでおすすめです。

39
40
2

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
39
40