UMLコンポーネント図とは?表記法、例

⚡ スマートサマリー

OOADにおけるUMLコンポーネント図は、大規模システムをより小さく管理しやすいサブシステムに分割し、交換可能なコンポーネントがインターフェースを介してどのように接続されるかを示すことで、システムをモデル化します。この資料では、コンポーネントの表記法、ポート、サブシステム、描画手順、および具体的な例について説明します。

  • 🧩 コアアイデア: コンポーネント図は、大規模なシステムを、より小さく、交換可能で、実行可能なサブシステムに分割する。
  • ⬛ コンポーネント: 各コンポーネントはブラックボックスであり、その動作は提供されるインターフェースと要求されるインターフェースによって定義されます。
  • 🔌 インターフェース: 提供されるインターフェースと必要なインターフェースは、アセンブリコネクタを介して接続され、コンポーネント同士を配線します。
  • 🚪 ポート: ポートとは、コンポーネントが提供するインターフェースと要求するインターフェースをグループ化する相互作用ポイントです。
  • 🛠️ 使用法: コンポーネント図は実行時の構造をモデル化し、システムテストとサブシステム構成をサポートします。

UMLコンポーネント図とは何ですか?

UML のコンポーネント図とは何ですか?

UML コンポーネント図 大規模なシステムを、簡単に管理できる小さなサブシステムにモデル化するために使用されます。 UML コンポーネント図は、システムのさまざまなコンポーネントを表すために使用されます。 大規模なオブジェクト指向システムをモデル化する場合、システムを管理可能なサブシステムに分割する必要があります。

コンポーネントは、実装の詳細が隠されている、交換可能で実行可能なシステムの一部です。コンポーネントは、コンポーネントが実現または実装するインターフェイスのセットを提供します。コンポーネントには、機能を実行するためのインターフェイスも必要です。

コンポーネント図の表記

UML コンポーネント ダイアグラムの表記は次のとおりです。

成分

コンポーネント図におけるコンポーネントの表記
コンポーネント図におけるコンポーネントの表記

Node

コンポーネント図のノード表記

コンポーネント図のノード表記

OOAD のコンポーネントとは何ですか?

コンポーネントは、実装の詳細が隠されている、交換可能で実行可能なシステムの一部です。コンポーネントは、コンポーネントが実現または実装するインターフェイスのセットを提供します。コンポーネントには、機能を実行するためのインターフェイスも必要です。

これは、その内容をカプセル化するシステムのモジュール部分です。 これらは、システムの実行中に重要な役割を果たすシステムの論理要素です。

コンポーネントは、提供されたインターフェースと必須のインターフェースによって外部動作が定義されるブラック ボックスに似ています。

UML コンポーネントの構造

コンポーネントは、次のように分類子四角形ステレオタイプで表されます。

《コンポーネント》: コンポーネントの詳細は外部からは見えません。コンポーネントの名前は四角形の中央に配置されます。四角形の右上隅にコンポーネント アイコンが表示されますが、これはオプションです。

のコンポーネント UML は次のように表されます。

UML コンポーネントの構造

UML コンポーネントの構造

コンポーネント図のインターフェース

インターフェイスは、名前付きのパブリック機能のセットです。 機能の仕様をその実装から分離します。 クラス図 またはサブシステム。インターフェースシンボルはインスタンス化できません。これはconを宣言します。tracこれは、クラスやサブシステムなどのゼロ個以上の分類器によって実現される可能性があります。

インターフェースを実現するものはすべて、インターフェースの機能を受け入れ、規約に従うことに同意する。tractはインターフェースによって定義されます。

実装言語がインターフェースをサポートしていない場合は、abs を使用してください。tract クラス、インターフェースはクラスと同じように命名されます。 アッパーキャメルケース.

コンポーネント図には XNUMX 種類のインターフェイスがあります。

  1. 提供されるインターフェース
  2. 必要なインターフェース

アセンブリ コネクタを使用して、提供されているインターフェイスと必要なインターフェイスを接続できます。

優位性

  • これにより、クラスの柔軟性と拡張性が向上します。
  • これにより、実装の依存関係が減少します。

デメリット

  • 柔軟性が増すとクラスが複雑になります。
  • インターフェースが多すぎると、システムが理解しにくくなります。

コンポーネント図のサブシステム

これは、大規模なシステムの分解ユニットとして機能するコンポーネント ベースです。 これは、大規模なシステムをサブシステムと呼ばれる小さなシステムに分割するために使用される論理構造です。 このプロセスにより、各サブシステムを効率的に管理することが容易になります。

サブシステムは実行時にインスタンス化できませんが、その内容は初期化できます。 サブシステムを接続すると、単一のシステムが作成されます。

コンポーネント図のポート

ポートは、分類子と外部環境の間の対話ポイントです。 これは、提供されたインターフェイスと必要なインターフェイスの意味的に一貫したセットをグループ化します。 UML では、ポート名を指定せずにポートを使用できます。 ポートには可視性がある場合があります。 ポートが分類子の境界を越えて描画される場合、それはポートがパブリックであることを意味します。 これは、使用されるすべてのインターフェイスがパブリックとして作成されることも意味します。

ポートが分類子内に描画される場合、そのポートは保護されるかプライベートになります。

ポートには、ポート分類子のインスタンスの数を示す多重度もあります。 UML 図におけるポートは次のように表されます。

コンポーネント図におけるポートの表記

コンポーネント図におけるポートの表記

ここでは、port1 が境界を越えて描画されています。これは、ポート XNUMX がパブリックとして可視であることを意味します。

コンポーネント図の書き方

UML コンポーネント図を描画する方法は次のとおりです。

ステップ1) コンポーネントは、システムの実行可能な部分にすぎません。 さまざまなコンポーネントが集まって XNUMX つのシステムを構成します。 コンポーネント図は、あらゆるシステムの実行フェーズで広く使用されます。

ステップ2) コンポーネント図をモデル化する前に、システム内のすべてのコンポーネントを理解する必要があります。 各コンポーネントの動作についても言及する必要があります。 コンポーネント図は、システムの実行を分析するために使用されます。

ステップ3) また、システム内の他の物理的成果物とコンポーネントの関係を理解するために、各コンポーネントを深く調査する必要があります。

ステップ4) さまざまなアーティファクト、ライブラリ、およびファイル間の関係は、コンポーネント図のモデリング中に必要となる重要なものです。

UML コンポーネント図の例

以下は UML コンポーネント図の例です。

UML コンポーネント図の例

UML コンポーネント図の例

コンポーネント図を使用する理由

UML コンポーネント図は非常に重要です。コンポーネント図は他の図とはさまざまな点で異なります。他の図はシステム、システムの動作、またはシステムのアーキテクチャを表すために使用されます。コンポーネント図は、システムのさまざまなコンポーネントの動作と動作を説明するために使用されます。

これは、システムの実行中に各コンポーネントがどのように動作するかを表します。

これらは、統一モデリング言語の静的図です。 コンポーネント図は、任意の時点におけるコンポーネントの構造と構成を表すために使用されます。

コンポーネント図はサブシステムのモデル化に使用されます。 これらのサブシステムは、集合的にシステムの全体的な動作ビューを表します。 単一のコンポーネントではシステム全体を視覚化できませんが、複数のコンポーネントを集めれば視覚化できます。

したがって、コンポーネント図は次の目的で使用されます。

  • 実行時にシステムのコンポーネントを表すため。
  • システムのテスト時に役立ちます。
  • さまざまなコンポーネント間の接続を視覚化します。

コンポーネント図をいつ使用するか?

コンポーネント図は他のものとは異なります UML の図。 コンポーネント図は、ソフトウェア システムのさまざまなコンポーネントや単一システムのサブシステムを表示するために使用されます。 これらは、物理的なものやシステムのコンポーネントを表すために使用されます。 一般に、システムの構造と組織を視覚化します。

さまざまなコンポーネントがどのように連携して、単一の完全に機能するシステムを構成するかを説明します。 各コンポーネントを個別に表示することも、単一のユニットとしてまとめて表示することもできます。

  1. コンポーネント図は、システムのコンポーネント構成をモデル化するために使用されます。
  2. これらは、単一のシステムを機能ごとにさまざまなサブシステムに分割するために使用されます。

よくあるご質問

コンポーネント図は、ソフトウェアコンポーネントとそのインターフェースを示します。配置図は、物理的なハードウェアノードと、コンポーネントが実行される場所を示します。コンポーネント図はソフトウェア構造をモデル化し、配置図は実行時のハードウェア環境をモデル化します。

アセンブリコネクタは、あるコンポーネントの必要なインターフェースを、別のコンポーネントの既存のインターフェースに接続します。これは、一方のコンポーネントが他方のコンポーネントが必要とするサービスを提供し、コンポーネント同士を配線して動作するシステムを構築することを示しています。

ボール(ロリポップ)のシンボルは、コンポーネントが提供するインターフェースを表し、ソケット(半円)は、コンポーネントが必要とするインターフェースを表します。ボールをソケットにはめ込むことで、一方のコンポーネントが他方のコンポーネントが必要とするものを提供していることがわかります。

AIツールは、システムの説明やモジュールリストを読み込み、コンポーネント、インターフェース、コネクタを含むコンポーネント図を提案できます。これにより、設計者はより迅速に構造図を作成できますが、境界や依存関係については専門家によるレビューが必要です。

Yes. ReverseエンジニアリングツールやAIツールは、コードベースをスキャンし、ファイルをコンポーネントにグループ化し、それらのインターフェースと依存関係をコンポーネント図のドラフトにマッピングすることができます。 RevAIは意図したアーキテクチャ上の境界を見落とす可能性があるため、出力結果を確認してください。