中山 宏之中山 宏之(なかやま ひろゆき)
株式会社IDY所属


 システム開発プロセスの1つである「ウォータフォール」とは、1つの工程が終わってから次の工程へ、1つの水の流れのように順番にシステムを構築していく手法です。ところが組み込み開発では、このように1つの流れを順番に実行する開発手法は使えません。

ハードウェアとソフトウェアを同時に開発する

 組み込み開発が情報システム開発と大きく異なる点は2つあります。1つは、必ずハードウェアとソフトウェアを一体として開発すること。そしてもう1つは、組み込み機器に特化したプラットフォーム(OSやデバイスドライバなど)をソフトウェア開発者が構築しなければならないことです。

 図1は組み込み開発プロセスの大まかな流れです。左のシステム設計から出る2本の矢印は、1つがプラットフォームの設計と開発からアプリケーション開発に進むソフトウェア開発の工程、もう1つがハードウェア開発の工程です。通常の情報システムの開発には、この図の「プラットフォームの設計、開発」と「ハードウェア開発」の作業はありません。

図1●組み込み開発プロセス。組み込み開発はソフトウェアとハードウェアを同時に開発する
図1●組み込み開発プロセス。組み込み開発はソフトウェアとハードウェアを同時に開発する

 組み込み開発は、図1のハードウェアとソフトウェアの2つ流れが密接に関連しながら進みます。特に最近の組み込み開発では、製品出荷までの開発期間の短縮が大きなテーマとなっているため、ハードウェア、OS、デバイスドライバ、アプリケーションなどをできるだけ並列して開発することが多くなっています。また「デザインイン」といって、ユーザーや開発者が設計の初期段階から協力して量産や信頼性を検討しながらソフトウェアとハードウェアの最適な設計を行う取り組みもなされています。