作業:
|
目的
|
|
手順 | |
入力とする成果物: | 結果となる成果物: |
頻度: 反復ごとに 1 回。特に推敲フェーズ中。 | |
役割: ソフトウェア アーキテクト | |
ツール メンター: | |
More Information: |
ワークフローの詳細: |
この作業は、システムの導入アーキテクチャを、物理ノードとそれらの相互接続という観点で定義します。「作業: アーキテクチャ分析」の中で、初期の配置モデルを定義しました。この作業では、その配置モデル (特に配置ビュー) を詳細化して、現在の設計を反映させます。
推敲フェーズ初期の配置ビューは通常、予備的ですが、推敲の終わりでは、十分に定義されています。
一部の実装環境は暗黙の分散サポートを提供します。つまり、要素は自動的に分散可能であり、開発者にとって特別な作業が必要ありません。そうした分散は明示的にモデル化する必要がありません。ただし、特別な分散 (例えば、実装環境で提供されるデフォルトの分散を拡張または詳細化する追加の分散など) は記述しなければなりません。開発中のシステムが特別な導入を含まない場合、この作業 (および関連する配置ビュー) は省略できます。
目的 | システムに必要な分散の程度を定義する。 |
分散要求を推進するのは以下のものです。
多くのアーキテクチャ上の問題と同様、これらの要求はある程度相互に排他的です。少なくとも最初は、矛盾する要求になることがよくあります。重要性で要求のランク付けを行うと、矛盾の解消に役立ちます。
目的 | ネットワークの構成とトポロジーを定義する。 |
このステップでは、初期の配置モデル (「作業: アーキテクチャ分析」で定義) を詳細化し、前のステップで識別した分散要求をサポートします。
ネットワークのトポロジーと、プロセッサの能力と特性、そしてネットワーク上のデバイスがシステムで可能な分散の性質と程度を決定します。
以下の情報を捕捉する必要があります。
例
次に示すダイアグラムは ATM の配置ビューです。
ATM の配置ビュー
ダイアグラムでは 2 つのノード (この例の中心である ATM 自体) と銀行間ネットワークへの全接続を担当する ATM ネットワーク サーバーを示しています。ATM ネットワーク サーバーは ATM 作成者の範囲外ですが、ネットワーク帯域を文書化する方法を説明するためにここに示しています。このダイアグラムは ATM ノードで実行するプロセスとスレッドについても示しています。これは次のステップのシステム要素のノードへの割り当てで説明します。
プロセッサとネットワーク容量を文書化するのに、注記を利用することに注意します。このような文書はノード (あるいはデバイス) の文書化フィールドに入れることもできます。この場合にはダイアグラムには示されません。
目的 | システムの作業負荷を分散する。 |
このステップでは、システム要素が前のステップで定義されたノードに割り当てられます。配置は、論理および物理の両側面から記述できます。
論理配置は、論理要素 (クラス、サブシステム、これらのインスタンスなど) がノードにマップされる場所です。これらには制御スレッドが含まれます。例えば、論理配置は、AuctionManager サブシステムが Application サーバーに配置されることを示す場合があります。
物理配置は、ファイルがノードにマップされる場所です。例えば、物理配置は、CloseAuctionTimer.class ファイルが server76 に配置されることを示す場合があります。
分散は、分散前の合計が分散後の部分の合計よりも小さい分野の 1 つです。分散によって真の利益を達成するには、手間をかけて注意深く計画する必要があります。要素とノードの対応付けを定めたら、次の事項を検討する必要があります。
要素をノードに割り当ててネットワーク間トラヒック量を最小化します。相互作用の多い要素は同一ノードにおく必要があります。一方、あまり相互作用のない要素は別々のノードにおいてかまいません。時に反復が必要となる重要な決定は、境界線をどこに引くかということです。2 つ以上のノードにわたってプロセスを分散させるには、システム内のプロセス間通信のパターンを詳しく調査する必要があります。多くの場合、処理を分散すると、あるマシンから 2 台目のマシンに作業負荷を移せるという単純な認識があります。実際には、プロセスとノードの境界をよく検討しておかないと、プロセス間通信の作業負荷が余分にかかってしまい、作業負荷を分散したことによるプラス部分が簡単に相殺されてしまいます。
例
前に示した ATM の配置ビューのダイアグラムは ATM ノードへのプロセスの割り当てです。プロセスが 1 つあり (ATM メイン)、これが別々の 3 つの制御スレッドに分かれます (顧客インターフェイス、ATM ネットワーク インターフェイス、そしてデバイス コントローラです)。
Rational Unified Process
|