UUML図を初めて見たとき、「矢印が多くて何がどこにつながっているのかわからない…」と感じた記憶があります。でもクラス図・ユースケース図・シーケンス図の3種類に絞って「誰が・何を・どの順番で」という問いを当てはめると、急に読めるようになりました。
この記事でわかること
- オブジェクト指向の基本概念(クラス・継承・カプセル化・ポリモーフィズム)
- UML(統一モデリング言語)の役割と主要図の種類
- クラス図の読み方(関連・集約・コンポジション・継承)
- ユースケース図——システムの「何ができるか」を表す図
- シーケンス図——オブジェクト間のメッセージのやり取りを時系列で表す図
目次
オブジェクト指向の基本概念
オブジェクト指向の4つの柱
① カプセル化:データと操作(メソッド)をクラスとしてひとまとめにして、内部の詳細を隠蔽する。「操作方法だけ公開、内部実装は非公開」② 継承(インヘリタンス):既存のクラスを引き継いで新しいクラスを定義する。親クラスの属性・メソッドを子クラスが受け継ぐ
③ ポリモーフィズム(多態性):同じメソッド名でも、オブジェクトの種類によって異なる動作をする。例:「鳴く」メソッドが犬なら「ワン」、猫なら「ニャー」
④ 抽象化:共通の特性を抽出して汎用的なクラスを定義する
UMLの主要図——目的別に使い分ける
| 図の種類 | 目的 | 主な用途 |
|---|---|---|
| ユースケース図 | システムが「誰に・何を」提供するかを表す | 要件定義・スコープの確認 |
| クラス図 | クラスの属性・メソッドと関係性を表す | 設計段階でのデータ構造・関連の整理 |
| シーケンス図 | オブジェクト間のメッセージのやり取りを時系列で表す | 処理フロー・API連携の確認 |
| アクティビティ図 | 業務フロー・処理の流れ(条件分岐含む)を表す | 業務プロセスの可視化 |
| 状態遷移図 | オブジェクトの状態変化をイベントとともに表す | 注文状態・ワークフローの設計 |
クラス図の関連の種類
| 関係 | UML表記 | 意味 | 例 |
|---|---|---|---|
| 関連(Association) | 実線 | クラス間に何らかの関係がある | 顧客と注文 |
| 集約(Aggregation) | 白い菱形+実線 | 「部分」は「全体」なしでも存在できる | チームと選手(選手はチーム解散後も存在) |
| コンポジション(Composition) | 黒い菱形+実線 | 「部分」は「全体」なしでは存在できない | 家と部屋(家がなければ部屋は消える) |
| 継承(Generalization) | 白抜き三角矢印 | is-a関係(子クラスは親クラスの一種) | 犬 is a 動物 |
| 実現(Realization) | 点線+白抜き三角 | インターフェースの実装 | PayPay implements 決済インターフェース |
Uのメモ
学習メモ
- OOP4本柱:カプセル化・継承・ポリモーフィズム・抽象化
- UML:ユースケース図(何ができるか)・クラス図(構造)・シーケンス図(やりとりの順序)
- 集約(白菱形):部分は独立して存在可能 / コンポジション(黒菱形):部分は全体なしで存在不可
- 継承(白三角):is-a関係 / 実現(点線+白三角):インターフェース実装
- シーケンス図:縦軸が時間経過・横軸がオブジェクト・矢印がメッセージ(呼び出し)









