OOAD の UML コンポーネント図とは何ですか? 表記法、例
UML のコンポーネント図とは何ですか?
UML コンポーネント図 大規模なシステムを、簡単に管理できる小さなサブシステムにモデル化するために使用されます。 UML コンポーネント図は、システムのさまざまなコンポーネントを表すために使用されます。 大規模なオブジェクト指向システムをモデル化する場合、システムを管理可能なサブシステムに分割する必要があります。
コンポーネントは、実装の詳細が隠されている、交換可能で実行可能なシステムの一部です。コンポーネントは、コンポーネントが実現または実装するインターフェイスのセットを提供します。コンポーネントには、機能を実行するためのインターフェイスも必要です。
コンポーネント図の表記
UML コンポーネント ダイアグラムの表記は次のとおりです。
成分

Node
OOAD のコンポーネントとは何ですか?
コンポーネントは、実装の詳細が隠されている、交換可能で実行可能なシステムの一部です。コンポーネントは、コンポーネントが実現または実装するインターフェイスのセットを提供します。コンポーネントには、機能を実行するためのインターフェイスも必要です。
これは、その内容をカプセル化するシステムのモジュール部分です。 これらは、システムの実行中に重要な役割を果たすシステムの論理要素です。
コンポーネントは、提供されたインターフェースと必須のインターフェースによって外部動作が定義されるブラック ボックスに似ています。
UML コンポーネントの構造
コンポーネントは、次のように分類子四角形ステレオタイプで表されます。
《コンポーネント》: コンポーネントの詳細は外部からは見えません。コンポーネントの名前は四角形の中央に配置されます。四角形の右上隅にコンポーネント アイコンが表示されますが、これはオプションです。
のコンポーネント UML は次のように表されます。
コンポーネント図のインターフェース
インターフェイスは、名前付きのパブリック機能のセットです。 機能の仕様をその実装から分離します。 クラス図 またはサブシステム。インターフェイス シンボルはインスタンス化できません。クラスやサブシステムなどの 0 個以上の分類子によって実現されるコントラクトを宣言します。
インターフェイスを実現するものはすべて、インターフェイスの機能を受け入れ、インターフェイスによって定義された規約に従うことに同意します。
実装言語がインターフェイスをサポートしていない場合は、抽象クラスを使用します。インターフェイスはクラスと同じように名前が付けられます。 アッパーキャメルケース.
コンポーネント図には XNUMX 種類のインターフェイスがあります。
- 提供されるインターフェース
- 必要なインターフェース
アセンブリ コネクタを使用して、提供されているインターフェイスと必要なインターフェイスを接続できます。
優位性
- これにより、クラスの柔軟性と拡張性が向上します。
- これにより、実装の依存関係が減少します。
デメリット
- 柔軟性が増すとクラスが複雑になります。
- インターフェースが多すぎると、システムが理解しにくくなります。
コンポーネント図のサブシステム
これは、大規模なシステムの分解ユニットとして機能するコンポーネント ベースです。 これは、大規模なシステムをサブシステムと呼ばれる小さなシステムに分割するために使用される論理構造です。 このプロセスにより、各サブシステムを効率的に管理することが容易になります。
サブシステムは実行時にインスタンス化できませんが、その内容は初期化できます。 サブシステムを接続すると、単一のシステムが作成されます。
コンポーネント図のポート
ポートは、分類子と外部環境の間の対話ポイントです。 これは、提供されたインターフェイスと必要なインターフェイスの意味的に一貫したセットをグループ化します。 UML では、ポート名を指定せずにポートを使用できます。 ポートには可視性がある場合があります。 ポートが分類子の境界を越えて描画される場合、それはポートがパブリックであることを意味します。 これは、使用されるすべてのインターフェイスがパブリックとして作成されることも意味します。
ポートが分類子内に描画される場合、そのポートは保護されるかプライベートになります。
ポートには、ポート分類子のインスタンスの数を示す多重度もあります。 UML 図におけるポートは次のように表されます。
ここでは、port1 が境界を越えて描画されています。これは、ポート XNUMX がパブリックとして可視であることを意味します。
コンポーネント図の書き方
UML コンポーネント図を描画する方法は次のとおりです。
ステップ1) コンポーネントは、システムの実行可能な部分にすぎません。 さまざまなコンポーネントが集まって XNUMX つのシステムを構成します。 コンポーネント図は、あらゆるシステムの実行フェーズで広く使用されます。
ステップ2) コンポーネント図をモデル化する前に、システム内のすべてのコンポーネントを理解する必要があります。 各コンポーネントの動作についても言及する必要があります。 コンポーネント図は、システムの実行を分析するために使用されます。
ステップ3) また、システム内の他の物理的成果物とコンポーネントの関係を理解するために、各コンポーネントを深く調査する必要があります。
ステップ4) さまざまなアーティファクト、ライブラリ、およびファイル間の関係は、コンポーネント図のモデリング中に必要となる重要なものです。
UML コンポーネント図の例
以下は UML コンポーネント図の例です。
コンポーネント図を使用する理由
UML コンポーネント図は非常に重要です。コンポーネント図は他の図とはさまざまな点で異なります。他の図はシステム、システムの動作、またはシステムのアーキテクチャを表すために使用されます。コンポーネント図は、システムのさまざまなコンポーネントの動作と動作を説明するために使用されます。
これは、システムの実行中に各コンポーネントがどのように動作するかを表します。
これらは、統一モデリング言語の静的図です。 コンポーネント図は、任意の時点におけるコンポーネントの構造と構成を表すために使用されます。
コンポーネント図はサブシステムのモデル化に使用されます。 これらのサブシステムは、集合的にシステムの全体的な動作ビューを表します。 単一のコンポーネントではシステム全体を視覚化できませんが、複数のコンポーネントを集めれば視覚化できます。
したがって、コンポーネント図は次の目的で使用されます。
- 実行時にシステムのコンポーネントを表すため。
- システムのテスト時に役立ちます。
- さまざまなコンポーネント間の接続を視覚化します。
コンポーネント図をいつ使用するか?
コンポーネント図は他のものとは異なります UML の図。 コンポーネント図は、ソフトウェア システムのさまざまなコンポーネントや単一システムのサブシステムを表示するために使用されます。 これらは、物理的なものやシステムのコンポーネントを表すために使用されます。 一般に、システムの構造と組織を視覚化します。
さまざまなコンポーネントがどのように連携して、単一の完全に機能するシステムを構成するかを説明します。 各コンポーネントを個別に表示することも、単一のユニットとしてまとめて表示することもできます。
- コンポーネント図は、システムのコンポーネント構成をモデル化するために使用されます。
- これらは、単一のシステムを機能ごとにさまざまなサブシステムに分割するために使用されます。
製品概要
- コンポーネントは、システムの交換可能で実行可能な部分です。
- コンポーネントは、コンポーネントが実現または実装する必要なインターフェイスのセットを提供します。
- これらは、統一モデリング言語の静的図です。
- これは、その内容をカプセル化するシステムのモジュール部分です。
- コンポーネント図は、システムのさまざまなコンポーネントの動作と動作を表すために使用されます。
- さまざまなコンポーネントが集まって XNUMX つのシステムを構成します。