2010/09/18

抽象化と曖昧性

私たちITエンジニアは、システムやソフトウェアのモデリングを行います。最近はズバリな名称を持つUML(Unified Modeling Language:統一モデリング言語)を使用することも多いですね。
このモデリングには、抽象化が必要です。複雑な現実世界から、構築対象のシステムにとって関心のあることを重点的に選び、それ以外を捨て去ります(捨象)。

ところで、ソフトウェア開発においては、「曖昧性の除去」という課題もあります。実装時に曖昧で良く判らないことが出てくると、手戻やプログラマの独断など、好ましくない事態になってしまいます。

この「抽象化」と「曖昧性の除去」とは両立すべき項目ですが、なぜか「抽象化すると曖昧になる」と思い込んでいる人もいるようなので、簡単に整理してみました。

「関心のある箇所」まで捨ててしまっているとか、「関心のない箇所」を十分に捨て切れていないとか、そういう「変な抽象化」にたくさん出合ってきたのでは、「抽象化すると曖昧になる」と思ってしまって無理がないのかもしれません。

0 件のコメント:

コメントを投稿