コンポーネント図

コンポーネント図の例。
UMLの図
構造図
振る舞い図

統一モデリング言語 (UML) におけるコンポーネント図(コンポーネントず)は、実装しようとするソフトウェアシステムやモジュール等の構造の概要の図で、コンポーネント(部品)とそのインターフェース、それらの依存関係などを表現する。

概要

物理的な構成要素とは、例えば、ファイル、ヘッダ、ライブラリモジュール、実行可能ファイルやパッケージなどである[疑問点 – ノート]。コンポーネント図では、あらゆるシステムの構造を設計、記述できる。

規模が大きなプロジェクトにおいて、システム全体を俯瞰する際に有用である。

UML 1.xでは大規模なシステム開発に十分に対応しきれなかった反省点から、UML 2.0以降ではコンポーネント図は大幅に改訂されている。

以下、原則としてUML 2.0に即した内容となっている。

構成要素

コンポーネント

コンポーネントは単純な矩形で表現する(1.xでは長方形から2つの小さな長方形が左側に突き出したかたちで表現される)。2.0では、1.xで使用していた図を、ステレオタイプ<<component>>の代替として長方形内の右上に描画することができる。

ポート

ポートは、暗黙的または明示的に、サブコンポーネントから提供されているインタフェースに委譲していることを表現することができる。

ポートは、コンポーネントの一辺から突き出した四角で表現する。

インタフェース

UMLではコンポーネントはクラスのサブタイプとされており、そのインタフェースは、クラス図と似たかたちで四角の区画内にインタフェースを列挙することができる。ステレオタイプ<<provided interfaces>>の下に記述する。そのコンポーネントが必要とするインタフェースは、ステレオタイプ<<required interfaces>>の下に記述する。

また別の表現方法として、コンポーネントが提供するインタフェースをロリポップを使って表現する方法がある。ロリポップは、白抜きの丸で表現し、関連するコンポーネントに線でつないで表現する。ロリポップには、インタフェース名を記述する。

コンポーネントが必要とするインタフェースに関しては、ソケットを使って表現する。ソケットは半円で表現し、それとコンポーネントを線でつなぐ(ソケットは2.0から導入された)。

更に別の方法として、インタフェースをクラス図と同様の形式で記述し、それに対して依存の矢印を引いて表現することができる。

関係

関係とは、論理的な連結の種類を総称する用語である。コンポーネント図では、以下の関係を表現できる。

依存

コンポーネント図では、コンポーネント同士の依存関係を示すことができる。

依存関係のステレオタイプには、包含していることを示す<<reside>>と実現する生産物を示す<<implement>>がある。

そのコンポーネント必須のインタフェースへの依存関係は、破線ではなく実線で表現する。また、末端は矢印ではなくロリポップを覆う半円で表現する。

委譲

委譲は、親コンポーネントと子コンポーネントとの関係を表現できる。

親コンポーネントのどのインタフェースが子コンポーネントのどのインタフェースに委譲しているのか、また親コンポーネントのどの必須インタフェースが子コンポーネントのどの必須インタフェースとなっているのかを記述できる。

それぞれ、親コンポーネントのインタフェースから子コンポーネントのインタフェースへの矢印、子コンポーネントの必須インタフェースから親コンポーネントの必須インタフェースへの矢印で表現する。

関連項目

外部リンク

  • Introduction to UML 2 Component Diagrams by Scott W. Ambler
  • UML 2 Component Diagram Guidelines by Scott W. Ambler
団体人物
概念
OOP
構造性
  • アクター(英語版)
  • 属性
  • アーティファクト(英語版)
  • クラス
  • コンポーネント(英語版)
  • インターフェース(英語版)
  • オブジェクト
  • パッケージ(英語版)
操作性
  • アクティビティ(英語版)
  • イベント(英語版)
  • メッセージ
  • メソッド
  • ステート(英語版)
  • ユースケース
関連性
  • ジェネラライゼーション
  • スペシャライゼーション
  • リアライゼーション
  • インプリメンテーション
  • 多重度
  • コンポジション
  • アグリゲーション
  • アソシエーション(英語版)
  • ディペンデンシー
拡張性
  • プロファイル(英語版)
  • ステレオタイプ(英語版)
図式
構造
振る舞い
相互作用
  • インタラクション概要図(英語版)
  • コミュニケーション図(英語版)
  • シーケンス図
  • タイミング図(英語版)
派生言語
その他
カテゴリ カテゴリ
スタブアイコン

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。

  • 表示
  • 編集