第19章 方針とレベル

ソフトウェアシステムとは、方針を示したものである

ほとんどのシステムでは、方針はさらに小さな方針に分割される
方針には、ビジネスルールやフォーマット方法などを記述している

ソフトウェアアーキテクチャの開発の技芸は、方針を分離し、再編成すること
同じ理由や時期に変更する方針は、同じレベルのコンポーネント
異なる理由や時期に変更する方針は、異なるコンポーネントに分ける

レベルの厳密な定義は、入出力からの距離
方針がシステムの入出力から離れていれば、それだけレベルが高くなる
上位レベルの方針の変更頻度は少なく、変更の理由が重要である
下位レベルの方針の変更頻度は多く、緊急性は高いものの、変更の理由は重要ではない