◎データ・ファイルの設計方法に関する大きな2つの視点

データ・ファイルの設計方法に関しては、大きく2つの視点があると思います。一つは「役に立つ」という視点で、もうひとつは「システムを維持する」という視点です。
通常、何らかの情報システムを構築しようとする場合、最終的に必要とされるOUTOPUTを想定して様々なマスターファイルや中間ファイルが設計されます。現在、様々なデータ・モデルと言われる設計方法は、全てこの考え方に立脚しています。
もう一つの設計視点は「役に立つ」ことを考慮するのではなく、システムは「どのような枠組みの元で構築されていなければならないか」という「システム側の論理」に基づく考え方です。このことは、システム構築を依頼するクライアントにとってみればどうでも良いことなのですが、だからこそ設計者は、この論理を十分にわきまえてシステムを設計しなければならないのです。
比喩を適用するのは適切であるかどうかはわかりませんが、建物の設計において、お客様が希望される様々な配置要求に応えるのが「役に立つ」という視点で、そういった要求以前に建物の耐震基準を満たすという根本的な要求に応えるのが「システムを維持する」という視点だということです。
「システムを維持する」という視点からの内容は、クライアントと議論するようなものではありません。クライアントとの議論においては、要求される機能が実現できるか否か、あるいは要求される機能が適切なものであるか否か、といった観点から行われるのであって、そういったことに関わらない部分は、プロフェッショナルとしてのシステム設計者が責任を負わなければならないことなのです。
建築では、顧客の要望を満たす配置で家を建てる場合であっても、2階建てくらいまでならそこそこ頑丈な建物を建てることが出来ます。しかし、高層建築においては、顧客の要望とは別に高度な理論に基づいた設計がなされなければならないということなのです。

ところが、情報システムにおいては未だに顧客の要望を実現するという視点からだけしか設計方法が検討されていません。建築の場合には、不適切な建物を建てれば崩壊の危機が訪れますし、もし崩壊すれば、それは目に見えて崩れ去っていくのです。そして、被害も甚大です。ところが、情報システムの場合には、「崩壊」という現象が直接的には目に見えません。情報システムにおいては、「崩壊」という現象をどのように捉えるか、ということから問題を認識していかなければならない段階にあるのです。「耐崩壊性」を目指す為には、まず「崩壊」を定義することから始めなければならないのです。

これも建物の場合と比較して説明することにします。建物の場合にはクライアントの望む