1. ダイアグラム(Diagram)
- モノと関係を図形で表現したもの
- 様々な観点からシステムを可視化したビュー(View)を提供することで、コミュニケーションを助ける。
- 静的モデリングでは主に構造的ダイアグラムを使用する。
- 動的モデリングでは主に振る舞いダイアグラムを使用する。
2. 構造的(Structural)ダイアグラムの種類
種類 | 内容 |
クラスダイアグラム(Class Diagram) | クラスとクラスが持つ属性、クラス間の関係を表現する |
オブジェクトダイアグラム(Object Diagram) | – クラスに属するモノ(オブジェクト)、すなわちインスタンス(Instance)を特定の時点のオブジェクトとオブジェクト間の関係で表現する – ランボー(Rumbaugh)のオブジェクト指向分析手法でオブジェクトモデリングに活用される |
コンポーネントダイアグラム(Component Diagram) | – 実際の実装モジュールであるコンポーネント間の関係やコンポーネント間のインターフェースを表現する – 実装段階で使用される |
配置ダイアグラム(Deployment Diagram) | – 成果物、プロセス、コンポーネントなど物理的要素の位置を表現する – 実装段階で使用される |
複合構造ダイアグラム(Composite Structure Diagram) | クラスやコンポーネントが複合構造を持つ場合、その内部構造を表現する |
パッケージダイアグラム(Package Diagram) | ユースケースやクラスなどのモデル要素をグループ化したパッケージ間の関係を表現する |
3. 振る舞い(Behavioral)ダイアグラムの種類
種類 | 内容 |
ユースケースダイアグラム(Use Case Diagram) | – ユーザーの要求を分析するもので、機能モデリング作業に使用する – ユーザー(Actor)とユースケース(Use Case)で構成される |
シーケンスダイアグラム(Sequence Diagram) | 相互作用するシステムやオブジェクトがやり取りするメッセージを表現する |
コミュニケーションダイアグラム(Communication Diagram) | 動作に参加するオブジェクトがやり取りするメッセージとオブジェクト間の関連関係を表現する |
ステートマシンダイアグラム(State Diagram) | – 一つのオブジェクトが自身が属するクラスの状態変化、あるいは他のオブジェクトとの相互作用によって状態がどのように変化するかを表現する – ランボー(Rumbaugh)のオブジェクト指向分析手法で動的モデリングに活用される |
アクティビティダイアグラム(Activity Diagram) | システムがどのような機能を遂行するのか、オブジェクトの処理ロジックや条件による処理の流れを順序に従って表現する |
相互作用概要ダイアグラム(Interaction Overview Diagram) | 相互作用ダイアグラム間の制御フローを表現する |
タイミングダイアグラム(Timing Diagram) | オブジェクトの状態変化と時間制約を明示的に表現する |
4. ステレオタイプ(Stereotype)
- UMLで表現する基本機能以外に追加的な機能を表現するもの
- ギルメット(Guillemet)と呼ばれる二重山括弧(<< >>)の間に表現する形式を記述する。
主に表現される形式
表現形式 | 意味 |
< | 接続された他のUML要素に対して包含関係にある場合 |
< | 接続された他のUML要素に対して拡張関係がある場合 |
< | インターフェースを定義する場合 |
< | 例外を定義する場合 |
< | コンストラクタの役割を遂行する場合 |