ビジネスパターンによるモデル駆動設計

ビジネスパターンによるモデル駆動設計

ビジネスパターンによるモデル駆動設計

業務をシンプルに、しかもきちんと why までモデル化していて面白い。

まず、業務の構造を REA (Resource: リソース、Event: イベント、Agent: エージェント) という概念を用いて、「交換プロセス」または「変換プロセス」として整理します。
「変換プロセス」はエージェントどうしがリソースを交換し合うプロセスで、販売や雇用、賃貸などの業務が該当します。「変換プロセス」はリソースを他のリソースに変換するプロセスで、生産活動などが該当します。
本書の面白いところは、増加イベントと減少イベントを必ず分けてモデル化している点。例えば「商品の販売」と「現金の受領」は必ず関係していなければいけないけれど、それは別のタイミングで実行されることもあり、そのアンバランスな状態から請求権が発生したりします。
また、交換が発生する条件として「受け取るリソースの価値が与えるリソースの価値より高いと双方のエージェントが認めること」という記述にも、しごく当たり前のことなんですが、納得してしまいました。単純な等価交換ではないんですよね。
「変換プロセス」も原則としてプロセスの前後でリソースの価値の総和が増加していることが、正常な経済活動の条件となります。

次に、イベントを発生させるルールを、契約やスケジュールとしてモデル化することができます。これ自体、業務の why をモデル化してるのですが、きちんと履行されなかったときにペナルティが発生したりするモデルになっているのも面白いところです。

ここまで非常にシンプルにモデル化していますが、それ以外の関心事 (識別、分類、勘定など) は「振る舞いのパターン」としてアスペクトで設計されています。まだちゃんと見切れていないのですが、これらが全部アスペクト!? にはちょっと驚きました。

こんな感じで、単純な「もの-こと-もの」を超えたモデリングが展開されています。ご一読あれ。

参考URL