ET2009感想その2 - 楽しく開発するためのモデル駆動型開発、モデル駆動型テスト

ET2009感想の続きです。私の職種上ソフトウェアのことが中心です。歴3年目の若輩者が自分の言葉で書いているので間違いがあるかもしれません。
その2は「楽しく開発するためのモデル駆動型開発、モデル駆動型テスト」について。

  • 概要

IBM Rational Rhapsodyのデモ動画に解説を加えながらMDDについて述べてゆくものでした。MDDというのはその場で初めて聞いたのですが、一言で言えば「UMLが動くとこんなメリットがあるよ!」というものかと思います。

  • MDDの良さそうな点

良いと思ったのは、設計したモデルがそのままコードになるので狙った設計と実際の動作の差が無さそうということです。テストシナリオを設定してモデルを動作させると、例えばシーケンス図が描かれてゆくというのも良いインパクトでした。もちろん繰り返してテストできるので、振る舞いを少し変えた時に問題が無いかテストするのも楽そうです。また、モデルという中間成果物が確実に生成されるので、管理する方も進捗がわかりやすいのではないでしょうか。

  • MDDの懸念点

ただ、逆に言えばモデリングできないことはMDDでは扱えないということです。ターゲット環境とのインテグレーテッドテストでのみ発見される問題というモデリングできないことに起因する問題というのがあると思います。MDDで解決できることとできないことを正しく認識し、それを踏まえた開発プロセスの導入が不可欠なのでしょう。
また、MDDの導入のためには各開発者が当然のごとくモデリング言語を良く理解していることが前提となります。組み込み業界では依然としてCでの開発が多いので(60〜70%だったか)、モデリング言語そのものが十分普及していない可能性があります。オブジェクト指向言語を使った開発も増えてきた(20%〜30%だったか)と思いましたが、その中できちんとモデルを記述しているチームは果たして多いのでしょうか。「時間さえあればUMLを書きたい」というチームと「普段からUMLを書いている」というチームでは、いざMDDを始めるというときのスムーズさが格段に違うと思います。なので、組み込み業界にMDDが普及するのはまだ先でしょう。私もふと、「UMLの図は全部で13種類」と言われて「そんなにあったっけ?」と数えて出てきたのが7種類だったのでMDDの習得には精進が要りそうです。

  • 楽しいの?

ところで、講演タイトルにある "楽しく開発するための" というのは一体何が楽しいのか少し考えてみたところ、やはり動かないものより動くものを作る方が楽しいということでしょうね。「仕様書は動かないけどモデルなら動くから楽しいよ!」というメッセージなのだと思います。