DOAの新刊2冊紹介
今日は、DOA(データ中心アプローチ) の新刊を2冊紹介します。
まず、株式会社データアーキテクト、真野正さんの、
真野さんはこれまでも『実践的データモデリング』など、良質で、現場で使えるDOAの本を書かれています。今回は、DOAの初歩から分かりやすく解説された本で、まさに、「独習」できる。
DFDや、ERDとDFDのCRUDのところで、astah* が紹介、使われています。また、こっそり、マインドマップも使われています。
(※ところで、先日セミナーにて、DFDを多様するのだが、外部エンティティとストアを、直接結びたいケースがあって、でも、astah* だと、間にプロセスを挟まないと書けない。簡略記法を許してくれてもいいのに、というご意見を頂いた。なぜ外部エンティティとストアを直接結んではいけない、というDFDの仕様になっているのか、もしご存知の方は教えてください。)
2つ目は、株式会社PFUの加藤 貞行さんによる、
これは、とても題名がいいですね。冒頭から、ソフトウェア開発の現状、ということで7つの「神話」が上げられています。
- ユーザの要求は明確であり、仕様は凍結しなければならない
- 生産性の向上は難しい
- データ中心アプローチには膨大な工数がかかる
- オブジェクトの識別は難しい
- 開発の標準化は定着できない
- 正確な工数の見積もりは難しい
- パッケージを導入すれば問題は解決する
これを払拭するのが本書の狙いだという。とてもいい始まりです。ちなみに、ぼくの個人的な意見を言うと、
このうち、1、3、7はぼくは完全に神話だと思う。(赤色)
2、6は、逆に正しい命題だと思っている(青色)。
4,5は難しくて判断にまようなぁ(オレンジ)。
そして、データ中心アプローチと、オブジェクト指向を結びつけたDATARUNというモデル駆動の開発を提案しています。ぼくは、このメソッドをよく知らないのですが、データ中心アプローチと、オブジェクト指向を繋ぐ手法は、他にもNTTデータCCSの三河淳一さんたちが提唱している、COUP(クー)という手法があります。寿命の長いデータ部分は、力を入れて分析し、それを、プログラミング部分はオブジェクト指向で扱う。魅力的でとても現実的な方法論だと思っている。
(※2/3 追記:加藤さんからメールを頂き、上記のセミナーでの質問は、加藤さんであったことが判明!そうでしたか。)
(※2/5 追記:さらに、上記の本は新刊ではなく10年前の本でした。。。すみません、献本頂いたので、つい、最近の本だと思いこんでしまいました)
さて、本の販売が伸び悩んでいる状況で、今月、DOAが2冊新刊というのは、奇遇だなと思います。
逆に、クラウド方面でRDBでない流れ、も加速されそうなので、こういう手法の接点なども今後議論されていくでしょうね。
RDB、データ中心アプローチ+オブジェクト指向設計、オブジェクト指向言語
という現在の業務システム開発の主流と並べてみて、
KVM、XXアプローチ+YY指向設計、関数型言語
というのが議論されることを期待しています。
ぼくは、オブジェクト指向がプログラミングパラダイムから始まってどんどん上流に上がっていく過程を見てきました。そして、それは、オブジェクト指向の考え方が、人間の認識の形に近いことが大きく作用していたと思います。ところが、現在の並行性を高めるための関数型言語の世界は、なかなか、自分の頭がなじむことができません。「世界の切り方」として、オブジェクトはすんなりいくのですが、関数、や、副作用ナシのアルゴリズムに分けていくのが、自分の頭のネイティブなナイフではないんです。これは認識の問題かもしれなくて、牛尾さんがきっと、関数脳、の作り方を書いてくれるんだと思っていますが、どうも。。。(もしかしたら、これは、昔機能分解は分かるが、オブジェクト指向はどうもわからん、と言っていたオヤジのデジャブに自分がなっている?)
ただ、スケールアウトする必要がある、というクラウド空間では、どうしても並行に切れる切り方が必要とされている。。。これがどれだけ、上流の考え方にまで影響を及ぼすのでしょうね。プラットフォームの必要性から、どんどん上にまで上がってきますかね?つまり、マシンやプラットフォームの仕組み、という「実装の都合」と、業務やサービスの分析、という人間の思考の整理、という話はどう折り合いがつくのでしょうか?
この辺りは、マイクロソフトの萩原さんや匠ラボの浅海さんに切り開いて頂きたいです。