UML入門向けチートシート

効率的なモデリングのための必須要素ガイド
作成日: 2025年3月30日

1UMLの基礎知識

UML(Unified Modeling Language)は、システム設計やソフトウェア開発において広く使用される標準的な図式表現です。

📊 UMLとは何か
オブジェクト指向システムの視覚的モデリング言語で、様々な図を使ってシステムの構造や振る舞いを表現します。
🔍 UMLの主な目的
  • システムの視覚化
  • システム構造の明確化
  • 開発者間のコミュニケーション促進
  • 要件の仕様化
UMLは1990年代に誕生し、現在はOMG(Object Management Group)によって管理されています。最新バージョンはUML 2.5.1です。

2UML図の種類

📑 構造図(Static Diagram)
システムの静的な構造を表現する図
クラス図 オブジェクト図 コンポーネント図 パッケージ図 配置図
🔄 振る舞い図(Behavior Diagram)
システムの動的な振る舞いを表現する図
ユースケース図 アクティビティ図 状態マシン図 シーケンス図 通信図

3主要なUML図の表記法

🧩 クラス図(Class Diagram)
クラスの構造、属性、操作、関連性を表現します。オブジェクト指向設計の中核となる図です。
ユーザー -名前: 文字列 -年齢: 整数 +ログイン(): 真偽値 +プロフィール更新(): void
👤 ユースケース図(Use Case Diagram)
システムの機能と、それを利用するアクター(ユーザーなど)との関係を表現します。
商品を購入する 顧客
📈 シーケンス図(Sequence Diagram)
オブジェクト間の相互作用を時系列で表現します。メッセージのやり取りに焦点を当てています。

4関連性と関係

🔗 クラス間の関連性
クラスA
クラスB
クラス間の主な関連性は以下の通りです:
  • 関連(Association): 基本的なつながり
  • 集約(Aggregation): "持っている"関係
  • コンポジション(Composition): "一部である"関係
  • 依存(Dependency): 一時的な関係
  • 汎化(Generalization): 継承関係
📝 多重度(Multiplicity)
関連の両端に表記され、オブジェクトの数量関係を示します:
  • 1: 必ず1つ
  • 0..1: 0または1つ
  • *: 0以上
  • 1..*: 1以上
  • m..n: m個以上n個以下

5UMLの実践的活用法

🛠 UML設計のベストプラクティス
  • 目的に合った図を選択する
  • 必要以上に複雑にしない
  • 一貫した表記を使用する
  • チーム内で表記ルールを統一する
  • ツールを活用する(PlantUML, Draw.io, Lucidchartなど)
UML図は完璧を目指すよりも、チーム内のコミュニケーションツールとして活用することが重要です。必要に応じて詳細度を調整しましょう。