実践的オブジェクト指向設計入門4
システムはハードウェアがないと実現できません。そこで、並列性の識別が終わった後、サブシステムをどの様にハードウェアへ割り当てるのかについて考えます。システム単位で考えても、必要とするハードウェア資源を考えにくいので、サブシステムと並列性が分かった後に考えるのです。
最初に考える事柄は必要な性能です。ハードウェアを決めると言っても、具体性がなければ、どの様にハードウェアを構成すのか決定できません。従って、ハードウェア構成を決めるのに当たって、最初に要求される性能を明らかにします。つまり、要求を数値化するという事です。
クライアントの要求はえてして曖昧な部分があります。しかしながら、要求分析をしっかりと行えば、自ずと必要となる要求が見えてきます。要求が分かったら、開発者が具体値を決定しなくてはなりません。要求を数値化しておかないと、システムに必要な性能が分かりませんし、一般的に酷いパフォーマンスはバグと看做されます。また、数値化する事によりシステムのあるべき姿が見えてきます。
ハードウェア構成はネットワーク単位、および個々の端末レベルまで考えます。ネットワーク単位では、サブシステムをどの様に実現するのかを広い視野で考えます。具体的には、物理装置を接続するトポロジ―、接続チャネルの形式、通信プロトコル等を決定します。そして端末レベルでは、主に必要なプロセッサの数と割り当てるタスクを決定します。
また、ソフトウェアとハードウェアのトレードオフについても考えなくてはなりません。ハードウェアは、融通がきかないものの高度に最適化されたソフトウェアと看做す事が出来ます。たとえば、ルーターの機能をPCとソフトウェアで実現することも可能ですし、専用のハードウェアで実現することも可能です。システム設計段階でそういった様々なトレードオフを決定します。
ハードウェアの構成が決まったら次の段階に進みます。