「上流工程UMLモデリング」について

浅海先生の最新刊です。遅くなりましたがメモします。

  • モデリングは要求分析から設計に至る段階で何度も行う、ということの意味がわかるようになっています。最初は「業務モデリング」で、現状の業務の流れを図示していくとともに、これをどう変えたいかという図も一緒につくります。そこから「要求モデリング」「システムモデリング」「設計モデリング」と続いていき、それぞれの段階で成果物(モデル)が出来上がってきます。
  • 業務アプリケーションとして規定されるドメイン・モデルは「エンティティ・モデル」「サービス・モデル」「ルール・モデル」の 3 つの要素があります。いきなり Wagby と比較すると、Wagby ではエンティティ・モデルはある程度自由に決められますが、サービス・モデルは定型的なパターンを選択するという形で実現しています。ルール・モデルは Wagby が提供するいくつかの関数をつかった簡単な式は書けますが、それ以上複雑なロジックはカスタマイズ開発ということになります。こういう視点で「Wagby モデリング」を説明するような資料があると SIer には理解しやすいかも知れません。
  • 浅海先生が提唱する SimpleModeling では「プレフィックス」が重要です。例えば「商品」を示すエンティティは「DER商品」となっています。DER は "ドメイン・モデル" の "エンティティ" の "リソース" を意味します。よくマスタ系とくくられるデータは "リソース" と呼んでおり、トランザクション系とくくられるデータ(注文伝票など)は "イベント" と呼んでいます。私も リソース/イベント という捉え方が馴染むので、この表現は受け入れやすかったです。
  • 最終的には UML 図まで整理するストーリーですが、そこから Java へ落とし込む実装例の紹介は、わずかです。この点は浅海先生の方で自動生成処理を考えられているようですので、おそらく続刊で語られるのではないかと期待してしまうところ。Java 実装例ではクラス名やメソッド名に日本語を含んでおり、それを推奨していました。Wagbyもそうした方が良いのかどうか、ちょっと悩むところ。

書籍は本棚に置いておきます。> 当社技術開発部の皆さん