Uml-component-diagram
UML-コンポーネント図
コンポーネント図は、性質と動作の点で異なります。 コンポーネント図は、システムの物理的側面をモデル化するために使用されます。 ここで問題は、これらの物理的側面は何ですか? 物理的側面は、実行可能ファイル、ライブラリ、ファイル、ドキュメントなどの要素です。 ノードに存在します。
コンポーネント図は、システム内のコンポーネント間の組織と関係を視覚化するために使用されます。 これらの図は、実行可能システムの作成にも使用されます。
コンポーネント図の目的
コンポーネント図は、UMLの特別な種類の図です。 目的は、これまでに説明した他のすべての図とも異なります。 システムの機能については説明しませんが、それらの機能を作成するために使用されるコンポーネントについては説明します。
したがって、その観点から、システム内の物理コンポーネントを視覚化するためにコンポーネント図が使用されます。 これらのコンポーネントは、ライブラリ、パッケージ、ファイルなどです。
コンポーネント図は、システムの静的実装ビューとして説明することもできます。 静的実装は、特定の瞬間におけるコンポーネントの編成を表します。
単一のコンポーネント図ではシステム全体を表すことはできませんが、図の集合を使用して全体を表すことができます。
コンポーネント図の目的は次のようにまとめることができます-
- システムのコンポーネントを視覚化します。
- フォワードエンジニアリングとリバースエンジニアリングを使用して実行可能ファイルを構築します。
- コンポーネントの構成と関係を説明します。
コンポーネント図の作成方法
コンポーネント図は、システムの物理的なアーティファクトを記述するために使用されます。 このアーティファクトには、ファイル、実行可能ファイル、ライブラリなどが含まれます
この図の目的は異なります。 コンポーネント図は、アプリケーションの実装段階で使用されます。 ただし、実装の詳細を視覚化するために事前に準備されています。
最初に、システムは異なるUML図を使用して設計され、その後、成果物の準備ができたら、コンポーネント図を使用して実装のアイデアを取得します。
この図は、アプリケーションを効率的に実装できないため、非常に重要です。 適切に準備されたコンポーネント図は、アプリケーションのパフォーマンス、メンテナンスなどの他の側面にとっても重要です。
コンポーネント図を描く前に、次のアーティファクトを明確に識別する必要があります-
- システムで使用されるファイル。
- ライブラリおよびアプリケーションに関連するその他のアーティファクト。
- アーティファクト間の関係。
アーティファクトを特定したら、次の点に留意する必要があります。
- 意味のある名前を使用して、ダイアグラムを描画するコンポーネントを識別します。
- 使用ツールを作成する前に、メンタルレイアウトを準備します。
- 重要なポイントを明確にするためにメモを使用します。
以下は、注文管理システムのコンポーネント図です。 ここで、アーティファクトはファイルです。 この図は、アプリケーション内のファイルとそれらの関係を示しています。 実際には、コンポーネント図には、dll、ライブラリ、フォルダなども含まれています。
次の図では、4つのファイルが識別され、それらの関係が生成されます。 コンポーネント図は、まったく別の目的で描かれている限り、他のUML図と直接一致させることはできません。
次のコンポーネント図は、上記のすべての点を考慮して描かれています。
コンポーネント図の使用場所
システムの静的実装ビューを視覚化するためにコンポーネント図が使用されることはすでに説明しました。 コンポーネント図は、さまざまな目的に使用される特別なタイプのUML図です。
これらの図は、システムの物理コンポーネントを示しています。 それを明確にするために、コンポーネント図はシステム内のコンポーネントの組織を記述すると言うことができます。
組織は、システム内のコンポーネントの場所としてさらに説明できます。 これらのコンポーネントは、システム要件を満たすために特別な方法で編成されています。
すでに説明したように、これらのコンポーネントはライブラリ、ファイル、実行可能ファイルなどです。 アプリケーションを実装する前に、これらのコンポーネントを整理する必要があります。 このコンポーネント編成は、プロジェクト実行の一部として個別に設計されています。
コンポーネント図は、実装の観点から非常に重要です。 したがって、アプリケーションの実装チームは、コンポーネントの詳細について適切な知識を持っている必要があります
コンポーネント図を使用することができます-
- システムのコンポーネントをモデル化します。
- データベーススキーマをモデル化します。
- アプリケーションの実行可能ファイルをモデル化します。
- システムのソースコードをモデル化します。