UML モデリングでは、依存関係とは 1 つのモデル要素 (サプライヤー) への変更が、別のモデル要素 (クライアント) に影響する関係のことです。依存関係はクラス図、コンポーネント図、配置図、およびユースケース図で使用できます。
依存関係は優先順位 (1 つのモデル要素が別のモデル要素より優先する必要がある場合) を示すためにも使用できます。
依存関係には通常、名前がありません。
次の図が示すように、依存はクライアントのモデル要素からサプライヤーのモデル要素を指す白抜き矢印を持つ破線として、ダイアグラム・エディターに表示されます。
依存関係は複数の異なるタイプの関係を示すことができるため、詳細な依存の種類はキーワードまたはステレオタイプを使用して示されます。
依存のタイプ | キーワードまたはステレオタイプ | 説明 |
---|---|---|
抽象化 | «abstraction»、«derive»、«refine»、または «trace» | 同じ概念を別の抽象化レベルまたは別の視点から見た場合の、2 つのモデル要素、またはモデル要素のセットを関連づけます。 |
バインド | «bind» | テンプレート引数をテンプレート・パラメーターに接続して、テンプレートからモデル要素を作成します。 |
実現 | «realize» | クライアント・モデル要素がサプライヤー・モデル要素の実装であることを示し、サプライヤー・モデル要素が仕様であることを示します。 |
置換 | «substitute» | クライアント・モデル要素がサプライヤーを置換することを示します。クライアント・モデル要素は、サプライヤー・モデル要素が確立した規約またはインターフェースに準拠する必要があります。 |
使用法 | «use»、«call»、«create»、«instantiate»、または «send» | 1 つのモデル要素を完全に実装または操作するために、別のモデル要素が必要であることを示します。 |
依存関係をモデルに追加して、次の目的を達成できます。
e-コマース・アプリケーションにおいて、Cart クラスは追加操作のパラメーターとして Product クラスを使用するため、Product クラスに依存します。クラス図では、Cart クラスから Product クラス向きの依存関係が示されます。つまり Cart クラスはクライアント・モデル要素で、Product クラスはサプライヤー・モデル要素です。この関係によって、Product クラスへの変更により、Cart クラスへの変更が必要になる場合があることが示されます。