掲載日 2009年11月27日

アルプス電気株式
会社 古川工場アルプス電気株式会社(以下、アルプス電気)AUTO事業本部は、開発者がモデル作成とテストシナリオ作成に集中できる独自の開発手法「Model Based Test Driven Development(以下、MBTDD)」(Model Driven Development(MDD)とTest Driven Development(TDD)を組み合わせた開発手法)によって、車載用組込ソフトウェアの品質、生産性、仕事への意欲を向上させました。MBTDDでは、IBM Rational RhapsodyとIBM Rational Statemateがモデル作成とコード自動生成で重要な役割を果たしています。
目次
お客様ニーズ

AUTO事業本部
早坂 哲 氏
モデル駆動型をベースに独自の手法を開発
電子制御や情報伝達のための車載用デバイスやシステムを提供しているアルプス電気 AUTO事業本部は、1990年代からさまざまなソフトウェア開発手法を試し、組込ソフトウェアの開発によりよく適したものを探し続けてきました。このような試行の中で、モデル駆動型開発の適応性も検討しました。アルプス電気 AUTO事業本部 第4技術部で主幹技師を務める早坂哲氏は、モデル駆動型開発のメリットとデメリットを次のように話します。
「モデル駆動型開発によって確かに品質はよくなります。ただし、一部のプロジェクトにはうまく適合できたのですが、社内への展開が進みませんでした」
アルプス電気におけるモデル駆動型開発では、まず機能仕様書を書き、それを元にモデルを作成します。そして、モデルによるシミュレーションを行って、機能仕様書とモデルが合致していることを確認します。この確認を終えたら、モデルを元に構造設計書を作成し、コーディング、単体テスト、ハードウェアとの結合テストを順に行っていきます。また、この開発プロセスは、モデリング担当、コーディング担当、単体テスト担当など複数のメンバーに分担されています。
このような複数人によるベルトコンベア方式では、品質は向上できましたが、生産効率や仕事に対する意欲向上の効果は見られませんでした。このため、アルプス電気は、モデル駆動型開発をベースにMBTDDという独自の手法を開発しました。
ソリューション

システム図
開発者の作業をモデリングとテストシナリオに集中
MBTDDでは、モデルを元にしたコード生成やテストプログラムの実行を自動化し、開発者がモデルとテストシナリオの作成に集中できるようにしています。また、MBTDDでは、テスト駆動型開発でのリファクタリングの考えも取り入れています。早坂氏は、その特徴を次のように説明します。
「テストファーストとも呼ばれるテスト駆動型開発の特徴はリファクタリングです。まずテスト内容を考え、その後に設計を行いテストをクリアできることを確認します。ただし、コード化してテスト結果がOKになってもすぐに出荷せず、OKになったコード内容を見直します。この見直しによってコード内容をより洗練したものにします」
MBTDDでは、このリファクタリングによる見直し対象をコードでなくモデルにしています。「MBTDDでは、モデル作成とテストのサイクルを繰り返し、真の意味での設計の洗練を目指しています。作成したモデルを元にコードが自動生成されるようにし、テストの実行結果からモデルを修正できるようにしています」(早坂氏)。
このようなMBTDDによる開発の実現には、モデルを元にしたコードの自動生成が必須でした。アルプス電気では、IBM Rational RhapsodyやIBM Rational Statemateを使ってモデルを作成するとともに、これらの製品のコード自動生成機能も利用しています。ツールによるコード自動生成のメリットとデメリットを早坂氏は次のように説明します。
「コード自動生成のメリットは、人によるコーディング作業がなくなること、人手によるミスがなく品質が上がること、作業者による内容の違いが出ないことなどです。ただし、世間ではコード自動生成はほとんど使われていないようです。これは、コードサイズが大きくなるというデメリットのせいだと思います」
早坂氏は、コード自動生成のデメリットとして挙げたサイズ肥大について次のように考えています。
「同じモデルで比較してみると、人手によるものより自動生成のほうがコードサイズが2割程度は大きくなります。ただし、この増分は、リファクタリングによってモデルを洗練することで小さくできます。また、コード生成の方法によるサイズの違いよりも、モデルの質による差のほうが影響が大きいとも思っています。例えば、モデルを作成する二人の開発者のスキルに差があれば、そのモデルから生成されるコードサイズの差は2~3倍になってしまいます。つまり、コードサイズは、開発の本質であるモデルの質によって決まります。このため、機械的な作業となるコード生成を自動化して、本質であるモデル作成に開発者が集中できるようにすれば、コードサイズはむしろ小さくできます」
また、アルプス電気は、自動生成されるコードのサイズをできる限り小さくするため、IBM Rational RhapsodyやIBM Rational Statemateでの設定項目の効果を個々に調べ、最適な設定内容を見つけ出す努力を続けました。「組込ソフトウェアでは、コードサイズがそのままコストに影響します。このためコードサイズを小さくするように努力しました」(早坂氏)。この結果、MBTDDによる開発では、それまでの開発と比較してコードサイズが60~80パーセントになるものまで出てきました。
さらに、アルプス電気は、MBTDDを社内普及するために160時間にも及ぶ教育コースを独自に開M発しました。早坂氏は、教育コースの概要を次のように説明します。「160時間のうち演習が7割を占めています。初めに理論を習得し、その後にMBTDDによる開発を実体験してもらいます。また、教育コースの修了後にはOJTを3~6か月間実施しています」
導入効果
品質、生産効率、やる気のすべてが向上
アルプス電気は、すでに30件以上のプロジェクトにMBTDDを適用しています。開発者からは、品質と効率がともに向上したとの感想が上がっているそうです。例えば、あるプロジェクトでは、開発に費やす工数が従来の40~50パーセントに減り、バグ発生件数や出荷までの必要日数もそれぞれそれまでの30パーセント近くまで小さくなりました。
目標の一つであった「仕事への意欲の向上」もMBTDDによって達成できました。「MBTDDでは一人の開発者がモデルを作り、テストを行い、レビューして、リファクタリングするというサイクルを繰り返します。一つのソフトウェアを責任を持って一人で作り上げることで、その開発者のモチベーションは大きく上がり、仕事が楽しくなります」(早坂氏)。
将来の展望
ソフトウェアに合わせて設計手法を選択
今後、アルプス電気は、開発する車載用組込ソフトウェアに合わせて、モデリングツールを選んで使い分けていこうと考えています。早坂氏は次のように話します。「オブジェクト指向で設計したほうがよいソフトウェアと、構造化手法で設計したほうがよいソフトウェアがあると思います。つまり、適材適所です」このような設計手法の中で、IBM Rational RhapsodyやIBM Rational Statemateは重要な位置を占め続けるはずです。
お客様情報
お客様名:
アルプス電気株式会社
所在地:
〒145-8501東京都大田区雪谷大塚1-7
URL:
アルプス電気株式会社は、洗練された外観だけでなく、価格とのバランスがとれた機能や品質、省エネルギーや省資源にも配慮した「美しい電子部品」を究めることで、社会の発展に貢献していこうと考えています。こうした考え方の下、同社のAUTO事業本部では、安全性や快適性に加え環境保全などにも気を配った自動車の電子制御や情報伝達に関するデバイスやシステムを提供しています。
製品・技術情報
ソフトウェア
参考資料
- お客様導入事例 アルプス電気株式会社(474KB)この事例のPDFがダウンロードできます。
事例は特定のお客様での事例であり、すべてのお客様について同様の効果を実現することが可能なわけではありません。
IBM、IBMロゴ、ibm.com、Rational、Rhapsody、およびStatemateは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、www.ibm.com/legal/copytrade.shtml(US)をご覧ください。
他の会社名、製品名およびサービス名等はそれぞれの各社の商標。