@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
MDAの実用レベルってどの程度のもの?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-25 23:39
今日 Borland Conference 2003-2004 Tokyo を聴講してきました。
同社の Enterprise Studio 7 for Java で「LiveSource 技術により UML ダイアグラムと Java ソースをリアルタイムで同期」と謳っているのが気になりますが、メッセージシーケンス図等の動的ダイアグラムとプログラムの制御構文が同期できるかは非常に 怪しいです。(スマイリーの裏の意味を汲み取っていただければ幸いです) UML 2.0 は勉強中なので何とも言えませんが、少なくとも UML 1.4 の動的ダイアグラムではロジックレベルの詳細記述はできないし、UML もそこまで意図していないでしょう。 そこを埋めるのが、iUMLite がスクリプトとして挙げている部分だと思います。 この意味で、現状言われている意味の MDA に最も近いのが iUMLite ではないかと感じます。 でも、これはまた私の感覚ですが、動的ダイアグラムのチェック程度の意味しか持たないプロトタイプ検証の段階であり、「開発」と言ってしまうのはおこがましい気がします。
前半はまさにその通りです。実装情報の追加でプログラムに落とす詳細化が可能なら、実装情報を引いて抽象化も当然可能であろうという信念を持っています。 でも実現可能性は疑問です プログラミングイディオムの適用によるプログラム自動生成の研究に携わったことがありますが、イディオムでカバーできるのは一般プログラムのごく一部に限られるという結論でした。 ただ、これは非常に古い話で、現在はデザイン・実装パターンやドメイン語彙も充実しています。ドメインを限った勘定系等のビジネスアプリケーションでは、パターンの組み合わせでプログラムが自動生成できる可能性は否定しません。 後半は、XP ではメソッド単位でのテストコードを書かせますが、結合テストのレベルでは網羅されたユースケースからテストパターンが導かれると考えています。 ユースケースを基に、動く部分はプログラムという形に落ちるし、検証部分はテストケースに落ちるという考えですね。 | ||||||||
|
投稿日時: 2004-02-27 09:36
こんにちは。
細かいところのロジックまでモデルから制御できるのかは微妙ですよね。 それよりも、
といったことの方が現実的で受け入れやすいと思います。 来月号のJavaWorldにMDAの特集が載るみたいです。 #他にJSFの特集もあったりするみたいで楽しみです。 ##あっけっしてIDGのまわしものではないですよ。。。(^^;;; | ||||||||
|
投稿日時: 2004-02-28 14:24
こくぼさんの書き込みを見て、自分でもモヤモヤしていたものが少し明確になった気がしました。
Rose ではクラス、アトリビュート、メソッドシグネチャまではクラス図とソースを同期し、メソッドボディはまったく触らないというポリシーのようです。 そこをもう一歩踏み込んで、メッセージシーケンス図に基づいたオブジェクト間のインタラクション、状態遷移図に基づいたオブジェクト状態のアノテーション(コメント程度かもしれませんが)まで同期し、細かい制御構文はソースプログラムがあればそれをそのまま使い、新規に描き起されたモデルであれば、モックアップをスクリプトで書かせる。 プログラミングの際にはモックアップスクリプトを対象言語で明確化させる。 このような機能だと、ラウンドトリップ開発の素直な延長上にあるし、モデルからプログラムまでスムーズに落とせそうな感じがします。 (既存ツールで実現されていたら恥ずかしい限りですが) | ||||||||
|
投稿日時: 2004-03-19 17:12
MDA勉強中です。某本に載っていた、今の技術者が、MDAを受け入れがたく感じるのは
アセンブラ技術者が高級言語を受け入れられなかったのに近い、という話(メタファ) が一番しっくりきます。 モデル書くのはいいけど、内部のロジックはどうすんのよ? っていうのは、 int a = 0; って簡単に書くけど、0 のメモリアドレスはどう管理すんのよ? というツッコミを入れていたアセンブラ技術者に近いのかな、と。 アセンブラ技術者がほとんどいなくなってしまったように、プログラマが いなくなってしまうのかもしれません。 | ||||||||
|
投稿日時: 2004-03-31 09:44
ちょこちょこと某雑誌を読んでいたら
なるほどっと思えるようなことが書いてありました。 MDAという考え方は今のところはベンダーによって異なる。 ->従ってツールによってMDAの定義はマチマチ。 ->UML2.0がOMGによって策定されることで統一されていくだろう。 ただ考え方の中心には「モデル中心の開発スタイル」 というのがあるらしくて、
というのは(少なくとも今の段階では)考慮されていないみたいです。 プログラマが設計モデルに従ってコーディングするための スケルトンコードを生成することがMDAだというみたいです。 プログラマをなくすというよりも、 『プログラマにモデルに従ったコーディングをさせるためのもの。』 というのがぼくが現在理解しているMDAです。 | ||||||||
|
投稿日時: 2004-03-31 09:53
るぱんです。 MDAと言うよりも、MDAツールの感想ですよね? MDAとMDAツールで現実と理想で乖離していると言った所ではないでしょうか? | ||||||||
|
投稿日時: 2004-03-31 10:18
るぱんさん、こんにちは。
>MDAと言うよりも、MDAツールの感想ですよね? たったしかに感想ですね^^; >MDAとMDAツールで現実と理想で乖離していると言った所ではないでしょうか? MDAの理想が何かはわかりませんが、それほど気にする必要もないと思います。 #仕様策定でもまだ手探りなところがあるだろうし。 ## #自分の主観としては、 #完璧に動くコードを生成することがMDAの目的ではない、と考えています。 #あくまでもモデルを中心に開発を進めようにするのがMDAなのかなっと。 ## | ||||||||
|
投稿日時: 2004-04-10 11:22
ポインタだけ
http://www.kc.com/products/iuml/lite.html のiUMLLiteというのがありまして、executeveUMLが作成できます。 無料なので、好きなだけ試してみるのが良いのでは? _________________ http://aglabo.com/ @Homepage http://furukawa-select.com/mt/ @Blog |