活動報告

新着記事

カテゴリー

キーワード検索

2013.02/07 弊社の問題解決法について<21>

 問題と課題が定義され、問題は課題を用いた構造で表せることがわかりました。また、問題認識や問題の共有化で生じる問題とその解決方法についても少し触れました。新しい問題解決法の説明に入る前に、なぜ問題解決でフリーズするのか、その原因について考えてみます。

 

コンピューターのソフトウェアー技法としてオブジェクト指向とエージェント指向という2つのパラダイムがあります。科学的問題解決法として有名なUSITの問題分析法は、このオブジェクト指向のパラダイムと似ています。

 

 オブジェクト指向プログラミング言語としてC++やC#、JAVAなどが知られています。これらはソフトウェアーに擬人化を持ち込んだ初めてのプログラミング技法と言われ、1980年代初めに登場しました。プログラムの固まりであるオブジェクトは、モノを構成するデータである属性と、モノの持つ機能であるメソッドで構成され、カプセル化(隠蔽化)されています。このオブジェクトにメッセージを与えるとプログラムの実行、すなわちアクションを起こします。

 

言い換えれば、データと機能を有するプログラムの「かたまり」をオブジェクトと言い、このオブジェクトにメッセージ、例えばデータを与えると、そのプログラム機能に沿ったアウトプットを吐き出す、ということです。

 

オブジェクト指向で作られた具体的なプログラムの例として、マイクロソフト社のWINDOWSプログラムがあり、アイコンをクリックした時に、そのアイコンのプログラムの動作する様子がオブジェクトのアクションに相当します。

 

クリックの仕方が悪いときには何も動作しない、というように、メッセージとメッセージが与えられた時のオブジェクトの条件が矛盾する場合には、アクションを起こさない、すなわちアイコンが指し示すプログラムが起動しないという現象が生じます。

 

このように、オブジェクト指向はメッセージ至上主義で、このパラダイムの特徴ゆえにオブジェクト指向を用いたプログラムでは、条件が完全に揃わない時にはプログラムが動作をしないケースが出てきます。すなわちソフトウェア―側でそのような場合の対応がされていない時には、プログラムは途中でフリーズすることになります。

 

オブジェクト指向によるソフトウェアーの作成プロセスは、オブジェクト指向分析に始まり、オブジェクト指向設計を行い、実装するという手順です。一般に、オブジェクト指向分析の結果が完成したソフトウェアーの品質を左右するといわれています。このソフトウェアー品質が、オブジェクト指向分析結果に依存する問題を解決するために、エージェント指向というパラダイムが同じ年代に登場しています。

 

オブジェクト指向のパラダイムでは、論理が「前向きの推論」でボトムアップ的に展開され、データ間の類似関係により体系化されてゆくという生物学の分類学にも似た美しさを持っています。オブジェクト指向のパラダイムとよく似たUSITなどが人気を集めているのは、その美しさからかもしれません。しかし、説明の美しさに比較し、USITを用いて問題解決した場合には分析的思考方法で苦しみ、前向きの推論における手続きの煩雑さに多くのユーザーが悩むことになります。そして苦労しても科学的な見地から当たり前の結果しか得られません。

                           <明日へ続く>

カテゴリー : 連載

pagetop