~ソフトウェア品質の向上とそこに関わるすべての方へ~ Software Quality Profession

ソフトウェア・プロダクトライン ~「製品開発」から「製品群開発」へ

株式会社エクスモーション
シニアコンサルタント 山内 和幸

2.ソフトウェア・プロダクトラインとは?

前述の問題を解決するための方法として、ソフトウェア・プロダクトライン(Software Product Line : SPL)があります。SPLでは、製品ファミリに属する各製品で再利用される資産を開発するドメイン・エンジニアリング(domain engineering)と、開発された資産を利用して個々の製品を開発するアプリケーション・エンジニアリング(application engineering)という、2層型の開発を行います。ドメイン・エンジニアリングで開発される資産は、コア資産(core asset)と呼ばれます。また、アプリケーション・エンジニアリング実施時に発生したコア資産の改善要求は、ドメイン・エンジニアリングへフィードバックされ、これを受けてコア資産の更新が行われます。


図 3:SPL開発の概観

SPLの基本的な枠組みは上記のとおりですが、この時点で従来型の再利用と同じではないか、単に専門用語を並べただけと感じる方も多いでしょう。実際、従来型の再利用と全く異なるわけではなく、多くの点で似通った部分があります。それに加えてSPLでは、従来型の再利用では解決できなかった問題を解決するために、様々な要素が加えられています。 本稿では、SPLの象徴とも言える2つの要素「スコーピング」と「可変性管理」を中心に、SPLが従来の派生開発/再利用開発とどう違うのか、そして前述の問題をどのように解決するのかについて説明します。

3.SPLのキー要素(1):スコーピング

製品ファミリの開発は、追加/変更/修正の連続です。その寿命を終えて開発終了となるまで、延々と続いていきます。このような状況の中で、開発した資産を長期に渡って再利用できるようにするには、「将来の変化を予測して、その変化に対応しやすいように設計する」必要があります。この変化にどこまで対応するかの範囲を決めることをスコーピング(scoping)と言い、その範囲をスコープ(scope)と言います。
SPLの適用において、スコープを適切に定めることは重要です。一般的に、スコープが狭いと、その資産を利用して開発できる製品数が少なくなり、再利用機会が減ってしまいます。一方、製品数が少ないということは製品間の違いも多くないため、より製品に適した使いやすい資産が揃えられます。逆にスコープが広いと、製品ファミリに含まれる製品が増えるため、同一資産の再利用機会は増えます。しかし、製品間の差異も多様になり、資産が抽象的なものになってくるため、再利用が難しくなる傾向があります。コア資産の再利用による効果、すなわち製品ファミリの開発がどれだけ最適化できるかは、このコア資産の再利用のしやすさと機会によって決まってきます。よって、このバランスが最適となるようにスコープを定義することが、SPL開発の成否を大きく左右します。


図 4:コア資産の再利用の効果

最新号目次へ2. 人材育成へ

ソフトウェア品質のホンネ
SQuBOKソフトウェア品質体系ガイド
セミナー
SQiPセミナー
SQiPセミナー開催レポート
研究会
ソフトウェア品質管理研究会
シンポジウム
ソフトウェア品質シンポジウム
資格試験
ソフトウェア品質技術者資格試験
JSTQB 認定テスト技術者資格
国際会議
世界ソフトウェア品質会議
ASQN
ニュース
SQiPニュース
webマガジン「QualityOne
コミュニティ
ソフトウェア品質確証部長の会(東京)
ソフトウェア品質保証責任者の会(大阪)
SQiPコミュニティ
SQiP SIG
SQiPアーカイブ(研究成果や実践事例集
SQiPライブラリ
ソフトウェア品質管理の宝箱
調査・研究
ソフトウェア品質実態調査
調査・研究
 SQuBOK®ガイド