ナレッジ
【連載】概念モデリングを習得しよう:ドメインごとに概念モデルが必要である(第3回)
読者の皆さん、こんにちは。Knowledge & Experience代表の太田寛です。
この連載では概念モデリングの解説を行っています。今回は、ドメインごとに概念モデルの作成が必要な理由について、具体的な例を織り交ぜながら紹介します。
【連載過去記事はこちら】
意味の場
前回の記事で、“姿”は、その姿に存在する事項と事項の間の関係を言葉で記述するものだ、と説明しました。そんなの当たり前だと思っていませんか? いえいえ、これが一筋縄ではいかないのが実際のところでしょう。
皆さんは曖昧さが一切ない文章を書けるでしょうか? 少なくとも筆者には無理なことは、この記事を読んでいる方ならお分かりでしょう。
文章を構成する単語が、ただ一つだけの意味を持つこと自体がまれです。「テーブル」という単語を聞いて、何を思い浮かべますか? Excel を使ってグラフを書いている人なら、Excel のシートに描かれた表のことを思い浮かべるでしょうし、居間でくつろいでいる人なら、居間の家具を想起するでしょう。あなたが家具職人だとしたら、製造を手掛けている商品のことを連想するに違いありません。
続いて、「商品販売」についてです。商品という単語は、購入する顧客と、顧客に売る側の担当者、商品を仕入れる担当者、各店舗の売り上げを管理するマネジャー、それぞれにとって全く同じ意味を持っているでしょうか?
ここでは、顧客、販売担当者、仕入れ担当者、売り上げ管理者という役割に着目し、分かりやすくするため、それぞれの人が担う役割を「ペルソナ」と呼ぶことにします。それぞれのペルソナにとっての商品という単語が意味するところは、微妙に違うでしょうし、商品に関係する事項群はまるで異なっているはずです。
であれば、「商品を販売する」という非常にシンプルな文章を見ても、それぞれのペルソナが理解する内容は異なるものになるでしょう。それならばと現状を理解してもらうために、ある人が、別のペルソナの人を現場に連れて行き、目の当たりにさせたとしても、目に映っている風景がまるで違って、「え? そこですか?」と同意を得られないという落ちが付くことでしょう。
こんな風にくどくどと説明しなくても、日常の他者とのコミュニケーションにおいては、このような風景は当たり前に経験していることだと思います。要するに、あなたが見て、存在すると感じた事項と、事項間の関係を文章で書いたとしても、同じ内容を他者と共有できるとは限らないということです。この点をどう解決するか。筆者は、これがモデリング全般に抱える根本課題であると考えています。
この課題は、各人の認識に関わるものであり、解決には哲学の言説を適用するのが妥当でしょう。
筆者のnote記事「3. モデリングとは ~ 現象学からの考察」で詳しく書いているのでご一読願いたいのですが、現象学では、現象の認識と記述について、以下のように述べています。
●身体を動かすというような体験を適切に記述することはそもそも不可能
●概念的な事態ではなく、感性的な事態だから。表象様式は無限だから
そもそも誰かの認識したことを他人に分かるように記述することは無理だと言っています。認識においては、
(1)コギタチオ(意識体験)-コギターツム(意識を向けている対象そのもの)という構造がある
― 現に知覚しているのは常に一部、だがそれを通して全体対象を志向的に体験しているということ
(2)「中心対象」と「背景野」という構造がある
(3)注意、配置という主体的な中心点がある
よって、誰にとっても「共通項」として取り出し得る事項を記述せよ、だとしており、各人の感じ方や認識の仕方は異なるため、記述したい内容を持ち寄って合意を取りなさい、と言っています。
このことは、曖昧さのない数式や図をうまく使って、誤解がなるべく生じないように、概念モデルの記述を推奨する動機にはなりますが、どうもしっくりきません。同調圧力の強い日本で、果たしてうまく機能するのでしょうか?
上に挙げた現象学の言説の中で、「背景野」に着目することにします。前の記事で「言語の論理空間」(ウィトゲンシュタインの言語哲学より)という用語を紹介しました。人間の思考に不可欠な言語で現象を記述した場合、現象学の背景野が、言語哲学の言語の論理空間に一致するだろうと筆者は考えています。これが哲学的に正しいのか間違っているのかは哲学者に議論していただきたいところですが、多分、それほど的を外してはいないと思っています。
しかし、そう考えるにしても、言語哲学側に問題が残っています。それは、
●文章に書いている内容が現実世界に存在する場合、その文章の意味は“真”であり、存在しない場合は”偽である
という点です。
筆者は漫画「ONE PIECE(ワンピース)」の大ファンで、毎週欠かさず「週刊少年ジャンプ」で購読しています。ルフィーやゾロ、シャンクス、シルバーズ・レイリーといった登場人物たちを文章にしたとき、その文章の意味はどうなるのでしょう? 彼らはワンピースというお話の中に登場する架空の存在であって、現実世界には存在しないので、意味は偽でしょうか?
他にも、映画「ジョン・ウィック」シリーズも大いに気に入っている作品です。ジョン・ウィックや主席連合等、映画に登場する事項に関する文章の意味はどうなるでしょうか? 映像の中でキアヌ・リーブスという生身の存在がいるから真? いやいや、それは単にジョン・ウィックという役を演じているだけであるため、やはり、それに関する文の意味は偽でしょうか?
仮に、それらを見ている筆者の脳みその中に存在しているのだから、意味は真であると仮定しても、脳みその中で実際に存在するのは、発火しているシナプス群が構成するニューラルネットワークの状態でしかありません。真なのは、ニューラルネットワークの状態なのか。ワンピースという漫画作品の絵にしても、見方を変えれば、単なる紙の上のインクの状態に過ぎません。ジョン・ウィックの映画にしても、単にスクリーンに映っている光点の集まり、あるいは、0と1のビットの羅列で記録されたデジタルコンテンツだと言ってしまえば、それまでです。いやいや、全て宇宙の時空間に存在するのだから、前に紹介した時空の方程式だけが真なのでしょうか。
いったい何が真なのか?
この辺りで、思考の迷宮を脱出して、ウィトゲンシュタインの言語哲学の言語の論理空間に話を戻します。
論理空間全体と関連して初めて単語の意味するものが確定するのは良いとしても、同じ単語で構成されるシンプルな文の解釈でさえも、ペルソナの違いで解釈が異なるのはどういうことなのでしょう。
ペルソナが違えば、それぞれの視点が違うということにヒントがありそうです。暗黙のうちに、背景野も論理空間も記述対象の世界も、たった一つだけ存在していて、それに関する正しい記述はただ一つしかないと考えてしまっていないでしょうか。これを前提にしてしまうと、無限に、あれは真なのか、どれが偽なのかという思考の迷宮にはまってしまい、それが原因で腑に落ちる解釈ができないのではないかということです。
この問題に対する回答は、マルクス・ガブリエルの新実存主義の言説にありました。新実存主義によれば、
●全ての実存を包含するような世界は存在しない
●実存はそれぞれの「意味の場(Sense of Field)」にのみ存在する
●意味の場は複数存在する
とされています。この考えに従えば、商品販売におけるそれぞれのペルソナは、それぞれの意味の場において物事を認識しているため、解釈に違いがあることは当たり前だとなります。漫画のワンピースや映画のジョン・ウィックについても、それぞれの意味の場で存在すると言えるだけでなく、ニューラルネットワークの世界も、スクリーンの光点の世界も、デジタルデータの羅列でも、それぞれの意味の場において意味を持つ、と考えれば、先ほどの違和感は完全に払拭できます。
筆者の好きな作家、京極夏彦氏の小説「京極堂シリーズ」や「巷説百物語」、「豆腐小僧」のストーリーにもたくさんの意味の場が出てきます。あるテーマに対するかみ合わない議論も、先ほど挙げた、分からず屋さんを現場に連れて行った時の認識の違いの例も、双方の思考の意味の場が異なっていることに起因します。
新実存主義においては、数学や物理学もそれぞれの意味の場であると考えて構いません。
参考情報ですが、マルクス・ガブリエルはドイツの現役の哲学者であり、言説の原文はドイツ語や英語で書かれているので、Sense of Fieldを“領野”と訳す訳者もいるようです。
『~なのだから、意味の場ごとに記述しなければならない』
これまで述べてきたことと、概念モデルは“現状の姿”と“あるべき理想の姿”を大勢の人たちの間で共有するために、理解し、記述するという目的を合わせて考えれば、概念モデルは、意味の場ごとに作成するのが妥当であると結論付けられます。
概念モデリングのベースになっている「Shlaer-Mellor法」には、提唱された当初から、「ドメイン(Domain)」という概念がありました。モデルはドメインごとに作成することになっています。筆者は、Shlaer-Mellor法のドメインは、新実存主義の意味の場と同じ意味であると判断しています。概念モデリングではそれを踏襲し、意味の場ごとに概念モデルを作成することにしています。このやり方は、新実存主義の言説に合致するといってよいでしょう。
なお、IT開発において、ドメインという言葉は、昔から「ドメイン駆動型開発」という範疇で使われてきました。ドメイン駆動型開発において、ドメインは一般的にアプリケーション要件の部分だけを意味します。Shlaer-Mellor法のドメインとは意味が根本的に異なることに注意してください。この記事でドメインという言葉が出てきたら、新実存主義の「意味の場」を指していると思って読み進めてください。
「意味の場」ごとにモデルを作成する
最後に、全てを包含する世界は存在せず、複数の「意味の場」が存在することの意義について考えてみます。
まず、全てを包含する世界が一つだけ存在すると仮定してみると、その世界にはただ一つだけ正しい言説が存在することになってしまいます。自分の言説を自分の心の中にだけとどめておくうちは平和ですが、一旦、各自が言説を主張し出したらどうなるか。その世界に正しい言説は一つしかないので、大変な事態に陥ることになるのは明らかです。悲しいことに現代はそんな光景が世界中で見られます。フッサールの現象学やマルクス・ガブリエルの新実存主義も、そんな悲惨な世の中を哲学的に何とかできないのかという動機の元に考察されたもののようです。
反対に、そのような唯一正しい言説しかない、たった一つの世界などは存在せず、それぞれの言説がそれぞれの意味の場においてなされていて、各人がそのことを理解しているとしたらどうでしょう。
他の人が、自分とは異なる言説を主張したとき、それは間違っていて自分が正しいと主張する前に、双方が他者の言説はどんな意味の場において主張しているのかをお互いに探ることができます。それぞれの意味の場が異なるなら、主張が異なるのは当然であり、お互いの意味の場を確認することによって、双方の折り合いを付けることができるでしょう。
ソフトウェア開発においても、複数の意味の場から要件を洗い出すことにより、想定外を少なくできるでしょう。例えば、実店舗における商品販売であれば、顧客への商品の販売プロセスだけでなく、商品の適切な仕入れ、従業員の労務管理、店舗の立地条件など、多様な意味の場が存在します。それぞれの意味の場について深く考察することにより、ビジネスに必要な要件の抜け漏れを防げます。
概念モデリングにおいて、意味の場は、それを対象に構築された概念モデルによって厳密に定義されると考えます。概念モデルは意味の場を対象としてモデル化されるので、一見、ニワトリとタマゴのような言説に見えますが、この考え方に問題はありません。この一連の記事の続きを読めば理由が明らかになるため、そういうものだと思ってそのまま読み進めてください。
意味の場が異なる言説でぶつかっている双方が、概念モデリングを作成して説明し合えば、うまく折り合いが付くかもしれません。そんなことまでしなくても、ある程度の常識がある人なら、人間同士なのだから、折り合えるのではとも思うのですが……。
まとめ
以上、3回にわたって概念モデリングの理解に必要な基礎知識を解説してきました。一連の記事の要点を以下のリストに挙げておきますので、ぜひ覚えておいてください。
●ソフトウェア開発や日常生活においても、「問題」を理解することが重要である
●「問題」は、“現状の姿”と“あるべき理想の姿”のギャップであり、それを埋める施策を「課題」という
●ソフトウェア開発や業務遂行においては、現状の姿とあるべき姿に対する理解を、多人数で共有できるよう、記述しなければならない
●“姿”は、人間の思考を紡ぐ言葉によって、事項と事項の間の関係として記述されるが、文章の曖昧性を避けるため、数学など論理的な形式に従って記述されなければならない
●そのような記述を「モデル」といい、モデルを作成することを「モデリング」と呼ぶ
●姿は、複数の「意味の場」において、また、それぞれの意味の場において認識されるので、姿を記述するモデルは意味の場ごとに作成しなければならない
●概念モデリングは以上の要件を満たすモデルが作成できるよう、Shlaer-Mellor法を基盤とし、数学や哲学の知見を交えながら、筆者の30年以上の体験を元にまとめたモデリング方法論である
この記事は面白かったですか?
今後の改善の参考にさせていただきます!