2. モデル・図の作成 |
2.7 配置図の作成 |
![]() |
今度は、ハードウェアにソフトウェアをどのように配置するかという観点から考えていこう。これを表したものが「配置図」なんだよ。 | |||||||||
|
||||||||||
![]() |
配置図では、ノードとノード間の関係によって、システムの実行時に必要なオブジェクトの構成と、それらのコミュニケーションパスを表すんだよ。コミュニケーションパスというのは、チャネルやネットワークの種類やプロセス間通信などのことだよ。 | |||||||||
![]() |
では、OSや機種などのスピードやメモリ容量などについて考慮する必要がありますね。 | |||||||||
![]() |
そのとおり。配置図を作成するときには、レスポンスタイムやシステム・スループット、パフォーマンス、フォールトトレランスなどについても考慮するんだよ。また、マルチプロセッサのハードウェアや分散システムといった問題もシステム設計時に解決しておく必要があるんだ。 | |||||||||
![]() |
ノードには、ステレオタイプを付けられるのですか? | |||||||||
![]() |
うん、ノードやノード間の関係には、ステレオタイプを付けることができるよ。ノードのステレオタイプとしては、プロセッサ(<<processor>>:プログラムを実行できるもの)やデバイス(<<device>>:端末など)が一般的だよ。 | |||||||||
![]() |
分かりました。ノード内では、どんなことを表すのですか? | |||||||||
![]() |
ノード内には、実行時の計算リソースであるオブジェクトやコンポーネントの構成を表示することができるんだよ。そして、コンポーネント間に依存関係を引くことによって、クライアントとサーバの関係を明示することもできるんだ。配置図には、コンポーネントがどのノードに割り当てられるかを示す役割もあるからね。 |
|||||||||
![]() |
Jun先輩、ノードは、実体として存在するものを表すのですね? | |||||||||
![]() |
そうだよ。だから、配置図は、コンポーネント図を実体化したものだと思ってくれればいいよ。 | |||||||||
![]() |
分かりました。 | |||||||||
![]() |
ではChen君、今回のシステムではどんな配置図が作成できるかな? | |||||||||
|
図2.7 Chen君が作成した配置図
|
![]() |
「本社PC : サーバ」と「顧客係PC : クライアント」をそれぞれノードとして接続しました。「サーバ」のノード内では、「Order Management System(注文管理システム)」コンポーネントが、既存システムである「Stock Information Management System(在庫情報管理システム)」コンポーネントと「Customer Information Management System(顧客情報管理システム)」コンポーネントに依存した構成になっています。また、注文管理システムの実行により生成される情報を、データベースである「注文テーブル(Order)」と「配送テーブル(Delivery)」で管理するようにしているので、注文管理システムが依存している構成になると思いました。 |
![]() |
うん、よくできたね。「Order」と「Delivery」については、<<database>>というステレオタイプでまとめたんだね。 |
![]() |
はい、そうです。 |
![]() |
配置図ではこのように、ノードにコンポーネントを割り当てることができることが分かったかな?またこのとき、コンポーネントには、プロセスやスレッドが割り付けられるんだ。プロセスやスレッドは、アクティブなオブジェクトとして、コンポーネントの中に記述すればいいよ。 |
![]() |
分かりました。 |
|
|
![]() |
設計段階はひとまずここまでだよ。オブジェクト指向による設計の進め方が分かったかな? |