UML配置図(例付き)

⚡ スマートサマリー

デプロイメント図は、ソフトウェアシステムが実行される物理ハードウェアを指定し、ソフトウェア成果物をノードにマッピングするUML図です。この図では、その目的、記号、成果物、ノード、描画手順、および実例について説明します。

  • 甘いもの<XNUMXxXNUMX><XNUMXxXNUMX><XNUMXxAXNUMX><XNUMXxAXNUMX>️️ 定義: デプロイメント図は、ソフトウェアシステムの構成要素と、それらを実行する物理ハードウェアとの対応関係を示すものです。
  • 📦 アーティファクト: アーティファクトとは、ノードにデプロイされる具体的なファイル(実行ファイル、DLL、スクリプト、ドキュメントなど)のことです。
  • 🔲 ノード: ノードとは、デバイスまたは実行環境のステレオタイプを持つ、3Dボックスとして表される計算リソースのことです。
  • 🔗 コミュニケーション経路: ノード間の関連付けは、情報が交換される経路を表します。
  • 🎯 使用事例: 管理者はこれを利用して、ネットワークトポロジー、分散システム、およびフォワード/リバースエンジニアリングをモデル化する。

配置図:UMLチュートリアル(例付き)

展開図とは何ですか?

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

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

ソフトウェア システムはさまざまな方法で表現されます。 アーティファクトそして、それらはソフトウェアを実行する実行環境にマッピングされます。 ノード展開図には多数のノードが関与しているため、それらの間の関係は通信経路を用いて表現されます。

配置図には2つの形式があります。

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

展開図の目的

デプロイメント図は、ソフトウェアがハードウェアシステムにどのようにデプロイされるかを記述することを唯一の目的として使用されます。ソフトウェアがハードウェアとどのように相互作用して完全な機能を実行するかを視覚化します。ソフトウェアとハ​​ードウェア間の相互作用、およびその逆の相互作用を記述するために使用されます。

展開図 記号と表記

展開図の表記

展開図の表記

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

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

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

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

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

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

各成果物には、その仕様書に成果物の物理的な場所を示すファイル名が含まれています。成果物は別の成果物を含むことができ、互いに依存関係を持つ場合があります。

人工物には、それらを操作するための特性と挙動がある。

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

アーティファクト

アーチファクト

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

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

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

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

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

ノードとは何ですか?

ノードとは、成果物が実行のために配置される計算リソースのことです。ノードは、1つまたは複数の成果物を実行できる物理的な存在です。ノードのサイズは、プロジェクトの規模に応じて変化する場合があります。

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

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

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

  • 《デバイス》 – これは、計算を実行できる物理マシンを表すノードです。デバイスはルーターまたはサーバーPCです。ステレオタイプ<を持つノードを使用して表されます。 UMLモデルでは、1つまたは複数のデバイスを互いに入れ子にすることもできます。

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

デバイスノード

デバイスノード

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

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

実行環境ノード

実行環境ノード

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

配置図は、システム全体のトポロジーを視覚化したものです。これはシステムの配置状況を表します。

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

システムのノードとアーティファクトは、システムの最終的な実行に関与する。

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

  • 高性能
  • 保守性
  • 拡張性
  • 携帯性
  • わかりやすい

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

アプリケーションがWebアプリケーション、クラウドアプリケーション、デスクトップアプリケーション、モバイルアプリケーションなど、システムのアーキテクチャを理解しておく必要があります。これらはすべて重要であり、デプロイメント図の作成において重要な役割を果たします。

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

展開図の例

以下の配置図は、ブラウザにおけるHTML5ビデオプレーヤーの動作を表しています。

展開図

展開図

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

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

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

配置図は、以下の目的で使用できます。

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

よくあるご質問

はい。AIツールを使えば、サーバー、環境、成果物に関するプレーンテキストの説明を、デプロイメント図のドラフトや図解コードに変換できます。 RevAIはコンポーネントの配置を誤ったり、制約を見落としたりする可能性があるため、生成されたノードと通信パスを確認してください。

AIは、デプロイメント図をスキャンして、単一障害点、冗長性の不足、拡張性のギャップなどを検出し、改善策を提案できます。これは有益なセカンドオピニオンとなりますが、設計者は実際のパフォーマンス要件とセキュリティ要件に基づいて推奨事項を検証する必要があります。

コンポーネント図はソフトウェアコンポーネントとその依存関係を示し、デプロイメント図は物理的なハードウェアノードと、そこに成果物がどのように配置されるかを示します。コンポーネント図は構造に焦点を当て、デプロイメント図は物理的な配置に焦点を当てます。

人気のあるツールには次のものがあります Lucidchart、draw.io、 Microsoft Visio, StarUML, PlantUMLテキストベースのツールなど PlantUML 図をコードとしてバージョン管理できる一方、ビジュアルエディタではノードや成果物の形状をドラッグ&ドロップできるため、より迅速な下書き作成が可能です。