配置図: 例を含む UML チュートリアル

展開図とは何ですか?

配置図は、ソフトウェア システムが実行される物理ハードウェアを指定する図の一種です。また、基盤となるハードウェアにソフトウェアがどのように配置されるかも決定します。システムのソフトウェア部分を、それを実行するデバイスにマッピングします。

配置図は、設計時に作成されたソフトウェア アーキテクチャを、それを実行する物理システム アーキテクチャにマッピングします。分散システムでは、物理ノード全体にわたるソフトウェアの分散をモデル化します。

ソフトウェア システムはさまざまな方法で表現されます。 アーティファクト、次に、次のようなソフトウェアを実行する実行環境にマッピングされます。 ノード。 配置図には多くのノードが関係します。 したがって、それらの間の関係は通信パスを使用して表現されます。

展開図には XNUMX つの形式があります。

  • Descriptまたはフォーム
  • これにはノード、ノードとアーティファクト間の関係が含まれます。
  • インスタンスフォーム
  • これには、ノード インスタンス、ノード インスタンスとアーティファクト インスタンス間の関係が含まれます。
  • 下線付きの名前はノード インスタンスを表します。

展開図の目的

配置図は、ソフトウェアがハードウェア システムに配置される方法を説明するためだけに使用されます。ソフトウェアがハードウェアとやり取りして完全な機能を実行する方法を視覚化します。ソフトウェアとハ​​ードウェアのやり取り、およびその逆を説明するために使用されます。

展開図 記号と表記

展開図の表記
展開図の表記

配置図は次の表記法で構成されます。

  1. ノード
  2. コンポーネント
  3. アーティファクト
  4. インターフェース

アーティファクトとは何ですか?

アーティファクトは、ソフトウェア開発に関連する具体的な実世界のエンティティの仕様を表します。アーティファクトを使用して、ソフトウェア開発プロセス中に使用されるフレームワークや実行可能ファイルを記述できます。アーティファクトはノードに展開されます。最も一般的なアーティファクトは次のとおりです。

  1. ソースファイル
  2. 実行可能ファイル
  3. データベーステーブル
  4. スクリプト
  5. DLLファイル
  6. ユーザーマニュアルまたはドキュメント
  7. 出力ファイル

成果物はノード上に展開されます。これは、UML要素の物理的な表現を提供します。一般的に、成果物はコンポーネントを表現します。成果物にはステレオタイプが付けられます。 < >、 右上隅にアーティファクトのアイコンが表示される場合があります。

各アーティファクトの仕様には、アーティファクトの物理的な場所を示すファイル名が含まれています。 アーティファクトには別のアーティファクトを含めることができます。 お互いに依存しているのかもしれません。

アーティファクトには、それらを操作するプロパティと動作があります。

一般に、アーティファクトは、統一モデリング言語では次のように表現されます。

アーティファクト
アーチファクト

アーティファクトインスタンス

アーティファクト インスタンスは、特定のアーティファクトのインスタンスを表します。 成果物インスタンスは、名前に下線が引かれていることを除いて、成果物と同じ記号で示されます。 UML図 これにより、元のアーティファクトとインスタンスを区別できるようになります。 各物理コピーまたはファイルは、一意のアーティファクトのインスタンスです。

一般に、アーティファクト インスタンスは、統一モデリング言語では次のように表現されます。

アーティファクトインスタンス
アーティファクトインスタンス

ノードとは何ですか?

ノードは、成果物が実行のためにデプロイされる計算リソースです。ノードは、1 つ以上の成果物を実行できる物理的なものです。ノードのサイズは、プロジェクトのサイズに応じて異なる場合があります。

ノードは、コードの実行とシステムのさまざまなエンティティ間の通信を記述する重要な UML 要素です。ノードは、内部にノード名が書かれた 3D ボックスで示されます。ノードは、ソフトウェアを展開するために使用されるハードウェアを伝えるのに役立ちます。

ノード間の関連付けは、情報があらゆる方向に交換される通信パスを表します。

一般に、ノードには次の XNUMX つのステレオタイプがあります。

  • 《デバイス》これは、計算を実行できる物理マシンを表すノードです。 デバイスはルーターまたはサーバー PC です。 これは、ステレオタイプ < を持つノードを使用して表されます。 >。

    UML モデルでは、XNUMX つ以上のデバイスを相互にネストすることもできます。

  • 以下は UML でのデバイスの表現です。

    デバイスノード
    デバイスノード
  • 《実行環境》ソフトウェアが実行される環境を表すノードです。例えば、 Java アプリケーションは Java仮想マシン(JVM)JVMは、 Java アプリケーション。実行環境をデバイス ノードにネストできます。1 つのデバイス ノードに複数の実行環境をネストできます。

以下は、UML での実行環境の表現です。

実行環境ノード
実行環境ノード

展開図はどうやって描くの?

展開図は、システム全体のトポロジー ビューを視覚化します。 システムの展開を表します。

デプロイメント ダイアグラムは、システム内で使用される物理デバイスを記述するノードで構成されます。これらのノードに成果物がデプロイされます。成果物インスタンスが実装されるノード インスタンスを持つこともできます。

システムのノードとアーティファクトは、システムの最終的な実行に参加します。

配置図は管理プロセスにおいて重要な役割を果たし、以下のパラメータを満たす必要があります。

  • 高性能
  • 保守性
  • スケーラビリティ
  • 携帯性
  • わかりやすい

ノードと成果物はデプロイメントの重要な要素です。デプロイメント図を実際に描く前に、システムのすべてのノードと各ノード間の関係を特定する必要があります。

アプリケーションが Web アプリケーション、クラウド アプリケーション、デスクトップ アプリケーション、モバイル アプリケーションであるかどうかに関係なく、システムのアーキテクチャを知っておく必要があります。これらはすべて重要であり、デプロイメント ダイアグラムの開発中に重要な役割を果たします。

すべてのノード、関係、成果物がわかっていれば、展開図の作成が簡単になります。

展開図の例

次の展開図は、ブラウザでの HTML5 ビデオ プレーヤーの動作を表しています。

展開図
展開図

展開図をいつ使用するか?

配置図は、主にシステム管理者やネットワーク エンジニアなどによって使用されます。これらの図は、ソフトウェアがハードウェア システムに展開される方法を説明する目的でのみ使用されます。ソフトウェアがハードウェアと対話して完全な機能を実行する方法を視覚化します。

ソフトウェアを効率的かつ高速に動作させるには、ハードウェアも高品質でなければなりません。 ソフトウェアを適切に動作させ、正確な結果を短時間で生成するには、効率的に設計する必要があります。

展開図は次の用途に使用できます。

  1. システムのネットワーク トポロジのモデル化。
  2. 分散システムとネットワークのモデリング。
  3. フォワード エンジニアリング プロセスとリバース エンジニアリング プロセス。

まとめ

  • デプロイメント図は、設計時に作成されたソフトウェア アーキテクチャを、それを実行する物理システム アーキテクチャにマッピングします。
  • システムのソフトウェア部分を、それを実行するハードウェアにマッピングします。
  • 展開図は、システム全体のトポロジー ビューを視覚化します。
  • ノードとアーティファクトは、デプロイメントの重要な要素です。
  • システムのノードとアーティファクトは、システムの最終的な実行に参加します。