本文へスキップ
BecomeCoder

UMLコース · 第6章 図の使い分け · レッスン12

どの図を選ぶか

導入

図はそれぞれ「得意な問い」を持っています。伝えたいことに合った図を選ぶことが、UML を使いこなす第一歩です。迷ったら「構造の話か、動きの話か」から考えます。

説明

代表的な5つの図と、それが答える問いを対応づけると、選ぶ基準がはっきりします。

  • クラス図 … 「何でできているか」(構造・データ設計)
  • シーケンス図 … 「登場人物がどうやりとりするか」(処理の往復)
  • 状態遷移図 … 「状態がどう移り変わるか」(ライフサイクル)
  • ユースケース図 … 「誰が何をできるか」(機能の全体像)
  • アクティビティ図 … 「どんな手順で進むか」(1本の処理の流れ)
クラス図 何で できているか
<rect x="156" y="20" width="132" height="140" rx="10" fill="none" stroke="currentColor" stroke-width="1.5"/>
<rect x="156" y="20" width="132" height="34" rx="10" fill="#8b5cf6"/>
<text x="222" y="42" font-size="12" font-weight="bold" fill="#ffffff">シーケンス図</text>
<text x="222" y="90" font-size="11" fill="currentColor">どう</text>
<text x="222" y="108" font-size="11" fill="currentColor">やりとりするか</text>

<rect x="298" y="20" width="132" height="140" rx="10" fill="none" stroke="currentColor" stroke-width="1.5"/>
<rect x="298" y="20" width="132" height="34" rx="10" fill="#f59e0b"/>
<text x="364" y="42" font-size="12" font-weight="bold" fill="#ffffff">状態遷移図</text>
<text x="364" y="90" font-size="11" fill="currentColor">状態が</text>
<text x="364" y="108" font-size="11" fill="currentColor">どう移るか</text>

<rect x="440" y="20" width="132" height="140" rx="10" fill="none" stroke="currentColor" stroke-width="1.5"/>
<rect x="440" y="20" width="132" height="34" rx="10" fill="#10b981"/>
<text x="506" y="42" font-size="12" font-weight="bold" fill="#ffffff">ユースケース図</text>
<text x="506" y="90" font-size="11" fill="currentColor">誰が何を</text>
<text x="506" y="108" font-size="11" fill="currentColor">できるか</text>

<rect x="582" y="20" width="132" height="140" rx="10" fill="none" stroke="currentColor" stroke-width="1.5"/>
<rect x="582" y="20" width="132" height="34" rx="10" fill="#06b6d4"/>
<text x="648" y="42" font-size="12" font-weight="bold" fill="#ffffff">アクティビティ図</text>
<text x="648" y="90" font-size="11" fill="currentColor">どんな手順で</text>
<text x="648" y="108" font-size="11" fill="currentColor">進むか</text>
flowchart TD
    Q{何を伝えたい?} --> S[構造・データ]
    Q --> B[動き・振る舞い]
    S --> C1[クラス図]
    B --> B2{どんな動き?}
    B2 -->|人物間のやりとり| SEQ[シーケンス図]
    B2 -->|状態の変化| ST[状態遷移図]
    B2 -->|手順の流れ| ACT[アクティビティ図]
    Q --> U[できることの一覧] --> UC[ユースケース図]

この選択フローのように、まず「構造か・振る舞いか・機能一覧か」で大きく分け、振る舞いならさらに「やりとり/状態/手順」で選びます。

読んでみよう

実務では、企画の初期にユースケース図で機能を合意し、設計でクラス図とシーケンス図を描き、複雑な状態を持つ部分だけ状態遷移図を足す ―― といった使い分けをします。大切なのは 図の完璧さより、伝わること。目的に合う1枚を選び、チームで会話するための道具として UML を使ってください。

これで UML コースは修了です。図は「描いて終わり」ではなく「読んで・見せて・話す」ための共通言語です。設計書やプルリクエストで図を見かけたら、この章で学んだ読み方を思い出してみましょう。