UML モデリングにおけるコンポーネントは、
交換可能で独立したシステム・パーツを表す、モデル要素です。コンポーネントは、1 つ以上の必須インターフェース、
または提供インターフェースに準拠し、これを実現します。
これによって、コンポーネントの振る舞いが決定されます。
コンポーネントにより、より柔軟で、拡張が容易で、再利用可能なシステムが構築されます。
コンポーネントを置き換え可能にするには、以下の条件に一致させる必要があります。
- コンポーネントの内部構造は、非表示にする必要があります。
コンポーネントと他のオブジェクトの内容の間に、依存関係が存在してはいけません。
- コンポーネントにインターフェースを備えて、
外部オブジェクトがこのインターフェースを経由して、
コンポーネントと対話できるようにする必要があります。
- コンポーネントの内部構造は、独立した状態でなくてはいけません。
内部オブジェクトには、外部オブジェクトの情報が含まれていないことが必須です。
- コンポーネントには必須インターフェースを指定して、
外部オブジェクトにアクセスできるようにする必要があります。
実行可能なシステムを表現するモデルにおけるコンポーネントは、
システムの実行中に使用されるコンポーネントを示します。
サンプルには、COM+ オブジェクト、JavaBeans™、Web
サービスが含まれています。
コンポーネントにつける名前は、通常、その名前が表すシステムのパーツのものにします。
以下の図にあるように、
コンポーネントは、ダイアグラム・エディターにおいて、
コンポーネントの名前を含む長方形で表示されます。
これには、«component» のステレオタイプやコンポーネント・アイコン (2 つの小さい長方形が横から突き出ているボックス) も含まれます。

コンパートメントは、
コンポーネントの属性、操作、提供インターフェース、
必須インターフェース、実現、内部構造などに関する情報の表示に使用されます。