ソフトウェアプロダクトライン【software product line】プロダクトライン開発

概要

ソフトウェアプロダクトラインとは、共通の機能や構造を持つ複数のソフトウェア製品を、共有資産を活用して体系的に開発・管理する開発手法。類似した製品群を個別に開発するのではなく、共通部分を再利用しながら効率的に派生製品を生み出す。
ソフトウェアプロダクトラインのイメージ画像

従来のソフトウェア開発では、似た機能を持つ複数の製品であっても、それぞれを個別のプロジェクトとして開発することが多かった。この方法では同様の機能やプログラムを何度も作り直すことになり、開発コストの増大や品質のばらつきが生じやすいという課題があった。

ソフトウェアプロダクトラインでは、まず製品群に共通する要素を分析し、再利用可能なソフトウェア資産である「コアアセット」として整理する。この資産には共通アーキテクチャ再利用可能コンポーネント、設計文書、テストケースなどが含まれる。製品間の違いは「バリエーション」として管理する。

製品間の「共通性」と「可変性」を明確に分析・定義することがこの手法の要となる。どの機能が共通で、どの機能が製品ごとに異なるのかを明確に定義し、機能モデルやフィーチャーモデルなどを用いて整理することで、必要な機能を選択して派生製品を構成できるようにする。

自動車や家電製品の製造ではプラットフォームを共有しながら複数の機種を展開することが一般的で、ソフトウェアプロダクトラインはこれに相当する考え方をソフトウェア開発に適用したものだと考えることもできる。この手法が特に効果を発揮するのは、類似した製品を多数展開する組み込みシステムや産業用ソフトウェアの領域とされ、航空、自動車、通信機器などの分野で採用例が多い。

ソフトウェアプロダクトラインがうまく機能すれば、新しい製品の開発時には既存の共通資産を組み合わせて構築することが可能となり、開発コストの削減、開発期間の短縮、製品間の品質の均一化といった効果が期待できる。ただし、コアアセットの設計・整備には初期投資が必要であり、製品バリエーションが少ない場合にはコストに見合わないこともある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。