読者です 読者をやめる 読者になる 読者になる

ビープラウド社長のブログ

株式会社ビープラウドの社長が、日々の思いなどを綴っていきます。

モデル駆動開発勉強会 「MDA開発の実際」熊田訓さん

BPStudy

8/30(土)に開催されたモデル駆動開発勉強会のprudenceの熊田訓さんの発表のまとめです。

熊田さんは、MDAの考え方をベースとした実践的なモデル駆動開発をAndroMDAをメインツールとして推進されており、いくつもの開発プロジェクトを成功させております。本日は、その経験をお話いただきました。お忙しいところありがとうございました!

発表資料はこちら

MDA開発の実際
〜AndroMDAによるモデル駆動チーム開発の現場で起きたこと
 
■AndroMDAの紹介
オープンソースのMDSD/MDAフレームワーク
・カートリッジにより機能を実現
・様々なスタンダードオープンソース製品を利用

・AndroMDAを用いた開発は、Web,DBをドメインとターゲットとした開発
すべてをモデルで記述しない

■MDSD/MDA採用によるメリット
・生きたドキュメント
  ドキュメントと実装につながりがある
・定型コード/設定ファイルの自動生成
デバッグ工数の大幅削減

■AndroMDA採用によるメリット
・様々なベストプラクティスの踏襲→構成が決まっている
XML Hellからの開放
・3〜4人でのスムーズな分散開発の実現。チーム開発も成功
・運用しながらの各種変更にも柔軟に対応
 
MDAでは変換定義が必要 → ボーランドのツールでは、変換定義(OCL,QVT)が必要
AndroMDAでは、既に変換定義が容易されている(Ready-to-go)

■AndroMDAによる開発のデメリット
モデル記述、方法が複雑なところがある
Railsフレームワークと比べると
コンパイルが遅い
しかし、チーム開発、商用開発(設計主導)には強い

■Enterprise系のMDAってどうなのか
Rational ツール(Together)は定義が難しかった
変換定義の開発は、よほどの大手ではないとメリットが出ないのでは
AndroMDAでの開発は、Spring, Strutsにさわらなかった!
JSP書いて、struts-configをいじってなどをやらなくていい
・作法をおぼえれば後はサクサク
・ダイナミックな型づけ言語だと、実行時エラー
・プロジェクト管理
・モデルの変換
Agileだと開発規模がスケールしない
・大きなプロジェクトでAgileを採用すると、リーダーの実力が出やすくなり、リスクが高い

■まとめ

AndroMDAの開発で、Agile Allianceの考え方に近づくことができた
 個人と相互作用を、プロセスやツールより重視する
 動作するソフトウェアを、包括的なドキュメントより重視する
 顧客との協調を、契約上の交渉よりも重視する
 計画に従うことよりも変化に対応することを重視する

今年の目標:100エントリーまであと36。