ソフトウェア・プロダクト・ライン開発手法の実践的導入事例(3) ―― 導入方法と効果は開発タイプごとに異なる

内場 誠,佃 紀昭

tag: 組み込み

技術解説 2012年1月31日

前回は,ソフトウェア・プロダクト・ライン開発手法の適用で大きな成果を挙げた大規模なファームウェア開発の事例について紹介した.なお筆者らの会社では,ファームウェア開発のみならず,ハードウェア開発を含むさまざまな開発にもソフトウェア・プロダクト・ライン開発手法の導入を試みた.今回は,これらの開発に対するソフトウェア・プロダクト・ラインの導入事例を紹介する.また,いずれのプロジェクトにも共通の悩みとなった,フィーチャ・モデルと実装構造の対応付けについて,分析した結果を示す.(編集部)

技術解説・連載「ソフトウェア・プロダクト・ライン開発手法の実践的導入事例」 バック・ナンバ
第1回 管理者は「石の上にも3世代目」
第2回 狙いを定めて投資を回収,ガイドライン策定は必須


 開発専門会社である筆者らの会社では,ハードウェア開発,ソフトウェア開発,ファームウェア開発といったさまざまなタイプの開発に対して,ソフトウェア・プロダクト・ライン開発手法(以下,プロダクト・ライン開発手法)の導入を試みました.その結果,同手法の導入によって解決できそうな課題(Q:品質,C:開発コスト,D:納期)は,開発プロジェクトそれぞれによって異なることが分かりました.また,フィーチャ・モデルと実装構造の対応付けについては,いずれのプロジェクトにも共通の悩みであることが分かりました.

 そこで,筆者らは,初めてプロダクト・ライン開発手法を用いるプロジェクトのために,開発タイプに依存しないフィーチャ・モデルによる分析を含む導入ガイドラインを作成しました.さらに開発タイプごとのガイドラインも作成したことにより,多くの開発プロジェクトに同時並行的にプロダクト・ライン手法の適用を進めることができました.

 

1.開発のタイプによって解決できる課題は異なる

 以下,開発タイプ別にプロダクト・ライン開発手法の適用事例を紹介します.適用の成果は,開発タイプやそれぞれのプロジェクトの状況で異なる結果となりました.また,それぞれのプロジェクトで取り組むべき課題が明らかであれば,その課題に合わせてプロダクト・ライン開発手法やフィーチャ・モデルの技術を利用できることが分かってきました(図1).

 

図1 適用対象と成果


●ドライバ系ファームウェア開発ではドキュメント・レベルの再利用を実現

 最初に,パケット伝送装置のファームウェア開発への適用事例を紹介します.パケット伝送装置の製品シリーズは,ハードウェア・デバイスの高機能化に従って継続的に機能追加や性能改善が行われ,毎年新しいモデルが市場にリリースされています.パケット伝送装置のファームウェア開発プロジェクトでは,プロダクト・ライン開発手法を用いて既存資産からコア資産を発掘し,フィーチャ・モデリングを行った結果,製品モデル間の共通性と相違性を明確に認識できるようになりました.

 このプロジェクトでは,高い性能要求を満たすために,対象ハードウェアに特化した言語(アセンブリ言語に近い)を用いていました.そのため,機能間の結合が密になっており,単純なモジュール抜き差しや条件付きコンパイルといった手段が取れず,ソース・コード・レベルでプロダクト・ライン手法を適用することはできませんでした.しかし,これまで製品モデルごとに管理していた設計書や試験項目書などのドキュメントを製品シリーズ全体で一本化して,コア資産とすることができました.

 一本化したドキュメントには,各記載項目がフィーチャ・モデル上のどのフィーチャに関係しているのかを明示的に記述しているので,今後新たな製品モデルを開発する際にも,同じ形式のドキュメントで管理することが容易となりました.このように,成果として定量的な結果は得られなかったものの,定性的に有効な結果を得ることができました.


●プリント基板/装置(ハードウェア)開発では試験工程における再利用を促進

 パケット伝送装置のプリント基板/装置開発プロジェクトに対しても,プロダクト・ライン開発手法を導入しました.本プロジェクトの開発規模は,比較的小さいものです.また,ソース・コードを再利用対象とするソフトウェアの場合とは異なり,ASSPやASIC,FPGA,抵抗,コンデンサなどで構成されるディジタル/アナログ電子回路が再利用の対象となります.

 結論を言うと,このプロジェクトでは,プロダクト・ライン開発手法導入の直接的な必要性や有効性は認められませんでした.なぜなら,本プロジェクトでは,フィーチャの選択/非選択が,単にFPGAやASICのどれを選択するかの問題に過ぎなかったからです.しかし,取り組みが進むにつれて,製品シリーズとして似たプリント基板/装置開発を繰り返していることが明確になり,試験工程でのテスト・データ作成やテスト・プログラム開発について再利用の可能性が見えてきました.現在,このプロジェクトでは,試験工程でのプロダクト・ライン開発手法の適用検討を進めています.


●携帯端末ソフトウェア開発ではフィーチャを仕様の誤り検出に活用

 携帯端末ソフトウェア開発プロジェクトでは,本格的なプロダクト・ライン開発手法の導入に向けて,これまでの製品とこれからの製品をフィーチャ・モデルに書き起こし,製品シリーズを見通しながらフィーチャの整理を進めました.このプロジェクトでは,要求される仕様をフィーチャ・モデルの形で表現し,フィーチャ間のインタラクション(相互作用)をマトリクス状に整理することで,誤りと考えられる仕様を見つけ出すことができ,製品リリースまでの間に改善できました.

 フィーチャ・モデルは,再利用を向上させるために共通性と相違性を表すためのモデルです.しかし,このプロジェクトでは,プロダクト・ライン開発推進側の思惑とは異なり,フィーチャ・モデルを品質向上に直接利用していました.このような方法により,プロダクト・ライン開発手法の考え方は,製品群の品質向上にも役立つことが分かりました.

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日