発表論文
• タイトル
– 「Constructing Feature Models
using Goal-Oriented Analysis」
(ゴールグラフからフィーチャモデル導出)
• 著者
–宇野 耕平、 林 晋平、 佐伯 元司
(東京工業大学)
• 出典
– Quality Software 2009 QSIC 09 9th International
Conference on (2009) 0
概要
• 目的:プロダクトライン開発を支援するため
• 手法:複数のゴールモデルを統合し、
フィーチャモデルを導出
• 結果:提案手法を用いることで、体系的に
品質の高いフィーチャモデルを作成できた
1
選定理由
• ゴールモデルからフィーチャモデルへの
変換方法に関する知識を深めるため
2
今回扱うゴールモデル(by van Lamsweerde)
3
サブゴールの達成が親ゴールの達成に
どれだけ貢献しているか
サブゴールの達成が
親ゴールの達成を阻害
非機能要求もゴールに
今回扱うフィーチャモデル(by Czarnecki)
4
[1..1]:必須[0..1]:任意<1-1>:どちらか片方
のみ選択
exclude:矢印元を選択すると矢印先は選択できない
背景1(プロダクトライン開発の問題点)
近年ソフトウェア開発において、プロダクトラインによる
類似既存システムの再利用が重要視
プロダクトラインで機能を再利用するためには、
必須機能と任意機能の明確化が必要
類似既存システム同士の共通性・可変性
(類似点・非類似点)をフィーチャモデルで表現
フィーチャモデルの作成には幅広いドメイン知識が必要、かつ体系的な作成方法が存在しない 5
背景2(ゴールモデルの活用)
専門業務(ドメイン知識)に関しては、
システム開発者より顧客の方が得意
ゴールモデルの各ゴール(顧客の要求)には、
対象ドメインの知識が含まれる
複数の類似既存システムのゴールモデルを
結合することで、フィーチャモデルに必要な
ドメイン知識をカバーできる 6
提案手法
7
複数のゴールモデルを結合
8
同じゴールをまとめてひとつのゴールに
同じ親を持つサブゴールを
ORで結合
ゴールモデルからフィーチャモデルへ変換
9
ANDのときは、両方とも必須機能に
ORのときは、<最小-最大>で
!?
共通部分・可変部分から必須機能・任意機能への変換
10
Sub2にとって、Apple Losslessは必須
Sub1は、Apple Losslessを必要としない
ORなので、Sub1が達成できればSub2は不要→結果、 Apple Losslessは任意
非機能要求の表現
11
• ゴールモデルとフィーチャモデルを矢印で
つなぎ、非機能要求を表現
評価(概要)
「iPod classic」、「iPod nano」、「iPod shuffle」、「iPod touch」のゴールモデルを作成
提案手法を実装したツールで、
ゴールモデルからフィーチャモデルを作成
製品に詳しい分析者が作成した
正解フィーチャモデルと比較12
評価(結果)
• 全正解フィーチャ数:67
• 導出正解フィーチャ数:52
• 導出不正解フィーチャ数:7
• 適合率:88%(52/59)
• 再現率:78%(52/67)
品質の高いフィーチャモデルを導出できた
13
まとめ
フィーチャモデルの作成には、
幅広いドメイン知識が必要
複数のゴールモデルを結合し、
その構造からフィーチャモデルの
共通性・可変性を分析
ゴールモデルから体系的なフィーチャモデルを作成する方法を提案
14
私見
• 長所
– 複数のゴールモデルを結合することで、フィーチャモデルの再現率を上げるという提案手法がいい
– 機能をANDやORだけでなく、必須機能と任意機能に明確分けている
• 短所
– 非機能要求は、ハードゴールではなくソフトゴールとして
分離したほうがわかりやすい
15