2012年10月9日火曜日

MindmapModelingと集合知(5) - SVOで考える

今月の22日にとある名古屋の学際的な集まりで、マインドマップモデリングやモデル駆動開発についてお話させていただくことになりました。タイトルは「文書をプログラムにする技術」となりました。このセッションのネタ整理を「Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標」や「クラウド温泉3.0@小樽」といった感じで、ブログの上で行なっていっています。

前回はオブジェクト・モデルにおける関係(relationship)がマインドマップモデリングでどのように扱われているのかについて説明しました。

関係(relationship)の中で汎化(generalization)と集約(aggregation)を特別扱いするのがオブジェクト指向の基本的な考え方です。

関係(relationship)の一種に関連(association)があり、関連(association)の一種に集約(aggregation)、集約(aggregation)の一種に合成(composition)があるという関係になっています。

マインドマップモデリングでは、汎化を種類枝、集約を部品枝で記述していきます。

さて、伝統的なオブジェクト指向モデルでは、基本的にはこの部品建てなのですが、実際に業務アプリケーションをモデリングするとなるとこれだけでは道具不足です。UMLの基本部品をベースに、用途向けのプロファイルを整備していく必要があります。

動詞

業務アプリケーション向けのプロファイルは色々な論点がありますが、その一つとしてシステムの振舞いとの接点をどのように持たせるのかという点があります。

マインドマップモデリングで重要視している概念がSVOです。英文法に出てくるSubject-Verb-Objectですね。

日本語の文書にある「動詞」からシステムの振舞いを抽出するのが第一ステップです。


SVO

抽出した「動詞」を静的構造の中に位置付けるための手法としてSVOを使用します。


SVOを用いて、振舞いをモデル化した「動詞」と振舞いの起点となる「名詞」、振舞いの対象となる「名詞」を結びつけます。さらに、振舞いの結果発生する「名詞」の状態遷移を記述するための土台ともなります。

出来事

オブジェクト指向モデルの基本的な考え方では、動的モデルの振舞いは静的構造モデルの関連(association)に結びつきますが、関連そのものは揮発的な情報になってしまうので、動的モデルとの連携のヒントといったレベルのものになってしまいます。

また、業務アプリケーションのおけるイベントは、「伝票の発行」など記録を残していくことが基本なので、動的モデルといえども静的構造モデルとしての側面を持っています。

その上、アプリケーション上の最重要情報でもあるので、"連携のヒント"レベルの扱いではもったいなさすぎます。

以上の点からマインドマップモデリングではビジネス・イベントをエンティティとして扱い「動詞」やSVOのVと結びつけています。

具体的なモデリングの手法としてはスライドにもあるように、SVOを用いて動詞を「出来事」の枝に追加していきます。


SVOでモデリングした「動詞」を「出来事」として可視化し、「名詞」から抽出した「登場人物」や「道具」と結びつけていくのがマインドマップモデリングの重要な作業になるわけです。

0 件のコメント:

コメントを投稿