[実世界をそのまま表現するモデルとは]
5.顧客モデル
次にもう1つの例を見てみましょう。
ここでは以前の銀行モデルにも登場した「顧客」クラスについて、より深く考えてみたいと思います。
上記のような「顧客」クラスは、特にビジネス系の問題領域ではよく見かける、非常に基本的なものです。
ところが、このモデルを実世界と照らし合わせてみると、とてもおかしな点があることに気づきます。それは何かというと「住所」や「電話番号」が「顧客」の属性として定義されていることです。
人の性質として「氏名」は良いとしても、「住所」「電話番号」はどうでしょう?
性別や生年月日、身長、体重、顔立ち、髪型、血液型といった情報(指名手配犯人のポスターに書かれている情報は、ほとんどこの類です)は、人の性質として自然ですが、「住所」と「電話番号」が果たして「人」の性質と言えるでしょうか?
常識的に考えれば、「住所」と「電話番号」は人の性質ではなく、それぞれ家の性質であり、電話の性質とするのが自然ではないでしょうか?
この考え方に沿って、「顧客」モデルをより実世界に近い形で表現すると次のようになります。
人−家−電話モデル
このモデルが先ほどの「顧客」クラスだけのモデルに比べて、実世界をより適切に表現していることに異論はないでしょう。
しかし実際に銀行などで使われているビジネスアプリケーションで、上のようなモデルを適用している例はほとんど全くないはずです。
なぜ実世界をより正しく表現したモデルが採用されず、顧客の属性として「住所」や「電話番号」が定義されているような不自然なモデルが採用されるのでしょうか?
© 1998 OGIS-RI Co., Ltd. |
|