実社会連携PBL(Project Based Learning)の一環として,著者は,「ビジネスモデリング」を試みてきた.具体的には,自治体業務を,業務担当者と一緒にモデリングしてきた.モデリング手法としては,MASPアソシエーションの「概念データモデリング」を採用している.概念データモデリングの詳細は,ここでは述べない.構造化システム分析のER図と似た図(静的モデル)を含むため,構造化システム分析と誤解されることがあるが,「オブジェクト指向分析」に基づくモデリング手法である.
概念データモデリングをやってゆく上で,当初,「オブジェクト指向」そのものが分からなかった.おそらくは,著者がハードウェア装置屋出身であって,ソフトウェア開発の専門家ではないことが大きかったのだと思われる.しかし,大学では,講義でソフトウェア工学を教えなければならない立場でもあった.講義では,「現実世界にある『もの』を写し取るのである」的な「講義」をやって来ていた.このような説明への疑問は,平澤章の著書[2]によって氷解した.しかし,どのような単位をオブジェクトとして認識するべきなのか,そして,それ以前に,なぜ,「もの」と「こと」として対象世界を認識しなければならないのか(なぜ,それで上手く行くのか)は,全く分からなかった.
最初の転機は,岩田裕道らの翻訳による入門書[1]だった.この一般向けの入門書で初めて,以下のごく当たりまえのことが著者にも理解できた.
【オブジェクトの単位】
オブジェクト指向の目的は,ソフトウェア(オブジェクト)のモジュラリティを確保することである.そうであるなら,オブジェクトに付属する「属性(内部変数)」は,そのオブジェクトの使われ方とは無関係に,オブジェクトが生まれた時に不可避に生成され,そして,そのオブジェクトが消滅すると共にこの世から消滅する属性に限定するべきである.
ハーバーの本には,小さなバーのオブジェクトモデルが出てくる.そこには,バーテンダー,お客様,飲み物,メニュー,請求書等の「オブジェクト候補」が存在する.このバーの例で言えば,料理の値段をメニューの属性にしてはいけない.値段は,料理というオブジェクトの属性であっても,メニューの属性ではない.値段は料理が生まれるとともに登録され,その料理が消えるともに,値段も消えるからである(メニューや請求書は「紙」なので,そもそもオブジェクトにすることには疑問がある).一方,メニューの色や重さや製造コストは,メニュー・オブジェクトに付属させて良い.メニューが生まれると共に,不可避に生成され,そして,メニューが燃え尽きると共に,消滅する.
巷(ちまた)には,多くの「オブジェクト指向入門書」が存在する.しかし,上記のような基本的なことは,入手した範囲の教科書には書いてなかった.すぐに,Javaなどが出てきて,クラス定義して,「new」などと書くハメになる.しかし,本質は,コーディング方法だろうか.オブジェクトとは何かを理解せず,いきなり,コーディングに入ってしまっては,「車の運転を知らない若者を,いきなり,高速道路に出す」様なものではないだろうか.
では,海外の入門書には,「なぜ,オブジェクトの形でとりだすのか」が書いてあるのだろうか.手もとにある翻訳書を見ても,書いていない.それなら,日本と同じではないかとも思える.そこに一つの疑問が浮かんできた.そもそも,米国では,書かなくても良いのではないか.書かなくても,読者は,程度の差こそあれ,最初から理解しているのではないか,との疑問である.
話を元に戻そう.そもそも,対象ビジネスのモデリングとは,それまでは認識されていかなった対象世界を,人間の感覚に基づいて認識し,テキスト化(図面化)する作業である.そうであるなら,認識方法の背後には,その民族の伝統や認識哲学が反映することは当然である.米国の認識哲学を考えるとき,パース(Charles Sanders Peirce)を創始者とする「プラグマティズム」に言及せざるを得ない.
パースの代表的な理論のひとつが「可謬主義」と「新カテゴリー表」である.詳細は,文献[4][5]に譲る.可謬主義では,人間は,対象世界を感覚器官からの情報に基づいて認識するが,あくまでもそれは,本人の主観に基づくものとする.したがって,正しく認識するためには,多くの人を集め,その認識が一致すれば,それが「正しい認識」となる(パースの「科学の方法」).しかし,どこまで行っても,人間の認識が,「真なるもの」に一致することはなく,誤りを含んでいる.これは,しばしば「インターネットの思想」として喧伝されているものである.そして,ステークフォルダを集めた,モデリングも,この線上にある.
一方,新カテゴリー論では,命題の主語に対応するものとして,最初に,現前するもの一般の概念として,「実体」が論じられる.「現前するものの内に,何らかの比較や区別が行われる前に,現前するものが現前するものとして,すなわち,それ(it)として,認められていなければならない(文献[4],p.24)」.即ち,「実体」は,その使われ方には無関係に,現前しなければならない.
そして,次に,その実体に制限を加えるものとして,「存在」が登場する.述語(即ち,動詞=「こと」)に相当する.述語によって,実体(オブジェクト)に制限を加えることになる.クラス図を描く際に,シーケンス図も同時に書いた方が良いことがある.実体(クラス)と述語(シーケンス,メッセージパッシング)との関係そのものである.クラスの粒度は,クラスだけは決し得ない.かならず,シーケンス図などの「動詞」との関係でしか規定できないことを,このパースの理論は暗示する.
今日,哲学は,以前のように,「もてはやされて」はいない.哲学がすべての学問の第一原理として存在した時代が終わっている.それを終わらせる上で,大きな影響を与えた人は,プラグマティズムの系譜に並ぶ,クワイン(Willard Van Orman Quine)であろう.論理回路の最小化アルゴリズムの提案者として知られるクワインは,京都賞の受賞者でもある.クワインは,哲学が心理学などの他の学問のひとつに過ぎないことを示し,哲学を第一原理としての立場から引きずり下ろした.それは,近代の哲学が,「人生とは」とか,「正義」とはと言った人間存在の根本的な意味を問うことから離れ,命題を表現している自然言語が持っている能力の議論に集中して行ったことと無縁ではないように思われる.結果的にではあるにせよ,「あるべき世界の姿とは何か」と言った根源的・現代的な問いに対して,哲学が,その責務を放棄しているような印象が拭えないが,それは,ここでの議論ではない.
クワインは「デュエム=クワイン・テーゼ」によって,ひとつの命題の検証を,他の命題集合から切り離して行うことができないことを示した.たとえば,あるオブジェクトの切り出し単位が,正しいかをそのオブジェクト自体を眺めて判断することはできない.ソフトウェア工学における反復的設計は,モデリングでは理論的に不可避となる.
また,クワインは「翻訳の不確定性」によっても知られる.翻訳の不確実性は,パースの「科学の方法」,即ち,皆で集まって議論して合意した対象世界のモデルが,唯一存在する「真なるモデル」であると信じることはできないことを示唆する.つまり,モデリングによって,唯一存在する真のビジネスの姿が出てくることはない.所詮,集まった人たちのモデルであって,それが真実であるかどうかは判定できない.これも,モデリングへのひとつの示唆を与えているように思われる.
オブジェクト指向とプラグマティズムとの対比について,本稿ではあまり深入りする紙幅もなく,そもそも,著者にその力もない.ただし,パースやクワインらは,プラグマティズム哲学を,全く何もない「空虚な状態」から作り上げた訳ではないであろう.むしろ,米国という国が生まれてきた歴史的・文化的経緯,そして,その民族が持っている認識の方法論が,整理されて出てきたものであろう.その意味では,以前のように哲学が学問の第一原理として尊重されなくなった現在でも,米国民の精神の中に,プラグマティズムは息づいていると思われる.米国の認識哲学を踏まえた上で,オブジェクト指向の訓練を受ける米国人と,アニミズム型の認識哲学を持っている日本人が,同じテキストで勉強して良いのだろうか.背後にある認識哲学とは無関係に,海外の方法論の「勉強」を表面的にすることは,果たして適切なのだろうか.すくなくとも,「繰り返し練習によって慣れろ」的な,農耕作業的「手に覚えさせる」方法論が効率的とは思えない.
尚,モデリング結果は言語によって表現されている以上,英語と日本語の持っている意味表現のあり方の差異に対する理解なし,欧米のモデリング手法をそのまま導入することも,実はおかしいのかもしれない.そこらも,今後,分析するべきと感じている.