2016年6月27日月曜日

【コラム】4) ユーザービューとは? (GeneXusとDOA)

最近はあまりなくなりましたが、以前はよく「GeneXusってDOA(データ中心アプローチ)ですよね?」という質問を受けました。確かにGeneXusではデータモデルが大切で、設計・実装にあたってもそれが中心になります。(その理由は前回記事の通りです) でも、いわゆる一般的に言われるデータ中心「アプローチ」なのか? と言われると、「それはちょっと違うよ」と思っています。

そもそもDOAとは?

DOAでは、まず業務で扱うデータ全体をERモデル(Entity-Relationship model)によってモデル化し、それを正規化してRDB(リレーショナルデータベース)を設計する。
「IT用語辞典 e-wordより引用」http://e-words.jp/w/DOA.html


とあります。設計者がプロセス(処理)ではなく、データの構造に着目し設計(正規化)を行う方法なので、データ中心アプローチとなります。

一方、GeneXusではどうなるかと言いますと・・
これは2011年のGeneXus DayというイベントでGeneXus社の創業者で現会長であるGonda氏のスピーチで聞いた話です。(当時の模様はこちらをどうぞhttp://g-mind.blogspot.jp/2011/12/genexus-day-2011-winter.html)
今から遡ること30年以上も前、ソフトウェア業界だけが他の産業と違い家内制手工業がずっと続いている状況でした。(今も日本は同じ状況ですが・・) そんな中、Gonda氏は「このままではいけない。ソフトウェア開発にも産業革命が必要だ」と思い立ったのが、GeneXusを生み出すきっかけで、具体的にどうする事が(どういう方法論に基づいたツールを生み出すことが)その解決方法になるのか? と考えたところ、着目したのが絵画の世界です。

元々、絵画は芸術の世界で、描く人によってまちまちですし、それが芸術家の個性でした。ところがある時「遠近法」という技法が考え出されました。(近くにあるものを大きく描き、遠くにあるものを小さく描く) これにより、誰でも簡単に立体的な風景を描くことが可能になりました。

ソフトウェア開発にもこの様な「技法」を持ち込むことにより、誰でも簡単にソフトウェア開発ができないか? と考えて導き出されたのが「ユーザービュー(User View)」という考え方です。

「ユーザービュー」という人から見たシステムの外見(接点・インターフェイス)をそのままGeneXusに登録する事により、システムの内部(データの持ち方(DB設計)やデータに対する処理(ロジック))はGeneXusが自動的に生成する。というものです。

これにより、システム開発者は物理的な技術環境にとらわれることなく、現実の業務(彼らはリアリティ(Reality)と呼んでいる)にフォーカスしていけばよくなる。つまり、業務に精通する事がシステムを開発する上で重要な事である。という事が言えると思います。

GeneXusというと、とかくAIによる推論とかPrologとかが注目されることが多いですが、それらはあくまでもGonda氏の考える方法論を実現するための実装技術に過ぎません。

次回はGeneXusの上手な使い方についてです。



0 件のコメント:

コメントを投稿