メインコンテンツへスキップ

🗂️ UML記法チートシート(図の種類別)

🏛️ クラス図(Class Diagram)

関係名 線の種類 矢印の先端 意味・特徴 例記法(PlantUML)
継承(Generalization) 実線 白抜き三角 ▷ サブクラス → スーパークラス `A --
実装(Realization) 破線 白抜き三角 ▷ クラス → インタフェース `A ..
関連(Association) 実線 矢印 or 無し 所有または参照、双方向も可能 A --> B または A -- B
依存(Dependency) 破線 通常の矢印 → 一時的に使う関係(引数・戻り値など) A ..> B
集約(Aggregation) 実線 白菱 ◇ 弱い「含む」関係 A o-- B
コンポジション(Composition) 実線 黒菱 ◆ 強い「含む」関係(生死も一体) A *-- B

🎬 シーケンス図(Sequence Diagram)

関係・動作 線の種類 矢印の先端 意味・特徴 例記法(PlantUML)
同期メッセージ 実線 処理を呼び出して待つ A -> B: 処理名
非同期メッセージ 実線 呼び出し後すぐに次に進む(fire & forget) A ->> B: 非同期処理(独自)
応答/戻り値 破線 呼び出し結果など B --> A: 戻り値
自分自身への呼び出し 実線ループ 再帰やメソッド内呼び出し A -> A: 内部処理

🧱 コンポーネント図(Component Diagram)

関係名 線の種類 矢印の先端 意味・特徴 例記法(PlantUML)
依存(Dependency) 破線 矢印 → 他コンポーネントを必要とする ComponentA ..> ComponentB
インターフェース提供 破線 白抜き三角 ▷ 提供側が向き(反転三角) `ComponentA ..

👥 ユースケース図(Use Case Diagram)

関係名 線の種類 矢印の先端 意味・特徴 例記法(PlantUML)
アクターとの関係 実線 → or 無し アクターとユースケースの関係 User --> UseCase
include 関係 破線 白抜き三角 ▷ 呼び出し元が include を使う UC1 .> UC2 : <<include>>
extend 関係 破線 白抜き三角 ▷ 呼び出し先が条件付きで実行される UC1 .> UC2 : <<extend>>

📌 記号対応まとめ

記号 意味 出現図
`-- >` 継承
`.. >` 実装
-- 関連 クラス図、ユースケース図
--> メッセージ応答・戻り シーケンス図(破線)
-> 呼び出しメッセージ シーケンス図、クラス図の依存
..> 依存(破線) クラス図、コンポーネント図
o-- 集約(白菱) クラス図
*-- コンポジション(黒菱) クラス図
->> 非同期呼び出し(独自) PlantUML 拡張表現(シーケンス図)

🎁 おわりに

このチートシートは、UML図を描く際の「意味のある表現」を素早く選ぶための早見表です。図を「なんとなく」描くのではなく、関係の性質に合った線と矢印を選ぶことで、設計意図が明確に伝わる図になります。

PDF化や画像形式のまとめも可能ですので、ドキュメント資料やチーム共有用に欲しければ対応します!どうしますか?