2
平成 24 年度 3 月期社会知能情報学専攻 修士論文発表会 ソフトウェア再利用に向けた共通ゴール判別手法の提案 システム設計基礎学講座 1151025 中村 祐貴 主任指導教員:田原 康之 准教授 1. はじめに 既存システムの再利用開発手法を用いたシステム開 発プロセスの効率化に対する期待が高まっている.顧客 の要求を正しく反映し再利用すべき機能を容易に選択 できるよう,過去に複数の既存システムに共通して存在 する共通ゴールを集約して作成された結合ゴールモデ ルを用いる手法が提案されている.しかし大規模システ ムのゴールモデル中から共通ゴールを正しく判別する ことは困難である. そこで本研究では,効率よく共通ゴールを判別するた めの手法を提案し,それをツールに実装した.その際手 法の精度を上げるために,ゴール名の類似度だけではな くゴールモデルの構造に基づいた判別ルールを提案し ている.複数の類似既存システムのゴールモデルを用い た実験の結果から,提案ルールが有効な場合とそうでな い場合を明確化した.また,提案手法を使うとより効率 よく共通ゴールを判別できることが確認された. 2. Software Product Line Engineering A B C D A B E F 2 A B G F 3 2 1 1 3 mandatory or 1: フィーチャモデルを用いた SPLE の例 Software Product Line Engineering (SPLE) とは,既 存システム再利用によるシステム開発プロセスの効率 化手法である [1]SPLE では一般的に,図 1 のように フィーチャモデルを用いて複数の類似既存システムの機 能を共通機能と可変機能に分類し再利用資産を構築す [2].共通機能をすべて再利用し,それに顧客の要求 に応じた可変機能を追加することで,派生システムを効 率よく開発できるようになる. しかし顧客の要求とシステムの機能の間にはギャップ があるため,要求を機能に正しく反映できる要求モデル が必要である. 3. 関連研究 A B C and A B D and + A B C or D and C D or A B C D E E NOP E or 1 2 2: 関連研究の例 階層化された要求モデルであるゴールモデルを用い ると,抽象的な要求を辿ることで具体的な機能に到達で きる [3].関連研究では図 2 のように複数のゴールモデ ルから結合ゴールモデルを作成し [4],そこからフィー チャモデルを導出している [5].そしてゴールを選択す ることで,対応するフィーチャを特定できるようにして いる [6]しかしこれらの研究では,結合ゴールモデル作成の起 点となる共通ゴールの判別手法が自明でない.大規模シ ステムのゴールモデル中から人手で共通ゴールを正し く判別することは困難である. 4. 提案手法 4.1 提案手法の概要 + 2 3: 提案手法の概要 共通ゴールを効率よく判別するための体系的な手法 を提案し,それを実装したツールを作成した. 本手法ではツールが自動で「明らかに共通なゴール」 と「明らかに可変なゴール」を判別し出力する.その 後,残った共通可変の判別が難しいゴールを「共通ゴー ルランキング」として開発者に提示し,手作業で判別を 行う. 3 のようにツールではまずゴールモデル間の「ゴー ル名の類似度」を計測し,「提案ルール」を適用する.そ の後,閾値を基準に「明らかに共通・可変なゴール」を 判別し「共通ゴールランキング」とともに出力する. 「ゴール名の類似度」は既存手法であるジャッカード 係数 [7] を用いて算出する.これにより,ゴールモデル 間でゴール名が似ているゴールを明確化できる. しかし,単純に「ゴール名の類似度」だけで共通ゴー ルの判別を行うと,「類似度の高い非共通ゴール」と「類 似度の低い共通ゴール」の存在により手法の精度が低下 する.そこで,これらのゴールをツールが正しく見分け られるようゴールモデルの構造を用いた「提案ルール」 を適用する [8]4.2 提案ルール 0 AND AND AND AND G1 G2 4: 1 ゴール 1 共通」・「下位ゴール優先」の例 「類似度の高い非共通ゴール」は共通ゴールと判別さ れやすい.それを見分けるために,「1 ゴール 1 共通」・ 「下位ゴール優先」というルールを提案している.図 4 に「1 ゴール 1 共通」・「下位ゴール優先」の例を示す. 1 ゴール 1 共通」とは,1 つのゴールに対して複数 のゴールを共通ゴールにしないというルールである.こ のルールにより共通と判別されたゴールのセットはその 他のゴールと共通ではないとして比較対象から除外す ることができる. 「下位ゴール優先」とは,最下位ゴールからゴールを 比較していき,明らかに共通だと判別されたゴールが複 5

平成24年度社会知能情報学専攻修士論文発表会(予稿)

  • Upload
    n-yuki

  • View
    271

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 平成24年度社会知能情報学専攻修士論文発表会(予稿)

平成 24年度 3月期社会知能情報学専攻 修士論文発表会

ソフトウェア再利用に向けた共通ゴール判別手法の提案システム設計基礎学講座  1151025 中村 祐貴

主任指導教員:田原 康之 准教授                  

1. はじめに既存システムの再利用開発手法を用いたシステム開発プロセスの効率化に対する期待が高まっている.顧客の要求を正しく反映し再利用すべき機能を容易に選択できるよう,過去に複数の既存システムに共通して存在する共通ゴールを集約して作成された結合ゴールモデルを用いる手法が提案されている.しかし大規模システムのゴールモデル中から共通ゴールを正しく判別することは困難である.そこで本研究では,効率よく共通ゴールを判別するための手法を提案し,それをツールに実装した.その際手法の精度を上げるために,ゴール名の類似度だけではなくゴールモデルの構造に基づいた判別ルールを提案している.複数の類似既存システムのゴールモデルを用いた実験の結果から,提案ルールが有効な場合とそうでない場合を明確化した.また,提案手法を使うとより効率よく共通ゴールを判別できることが確認された.

2. Software Product Line Engineering

A

B C D

A

B E F

2

A

B G F

32

1 1

3

mandatory or

図 1: フィーチャモデルを用いた SPLEの例Software Product Line Engineering (SPLE)とは,既存システム再利用によるシステム開発プロセスの効率化手法である [1].SPLEでは一般的に,図 1のようにフィーチャモデルを用いて複数の類似既存システムの機能を共通機能と可変機能に分類し再利用資産を構築する [2].共通機能をすべて再利用し,それに顧客の要求に応じた可変機能を追加することで,派生システムを効率よく開発できるようになる.しかし顧客の要求とシステムの機能の間にはギャップがあるため,要求を機能に正しく反映できる要求モデルが必要である.

3. 関連研究

A

B C

and

A

B D

and+

A

B C or D

and

C D

or

A

B

C D

E ENOP

E

or

1

2

図 2: 関連研究の例階層化された要求モデルであるゴールモデルを用いると,抽象的な要求を辿ることで具体的な機能に到達できる [3].関連研究では図 2のように複数のゴールモデルから結合ゴールモデルを作成し [4],そこからフィーチャモデルを導出している [5].そしてゴールを選択す

ることで,対応するフィーチャを特定できるようにしている [6].しかしこれらの研究では,結合ゴールモデル作成の起点となる共通ゴールの判別手法が自明でない.大規模システムのゴールモデル中から人手で共通ゴールを正しく判別することは困難である.

4. 提案手法

4.1 提案手法の概要

+

2

図 3: 提案手法の概要共通ゴールを効率よく判別するための体系的な手法を提案し,それを実装したツールを作成した.本手法ではツールが自動で「明らかに共通なゴール」と「明らかに可変なゴール」を判別し出力する.その後,残った共通可変の判別が難しいゴールを「共通ゴールランキング」として開発者に提示し,手作業で判別を行う.図 3のようにツールではまずゴールモデル間の「ゴール名の類似度」を計測し,「提案ルール」を適用する.その後,閾値を基準に「明らかに共通・可変なゴール」を判別し「共通ゴールランキング」とともに出力する.「ゴール名の類似度」は既存手法であるジャッカード係数 [7]を用いて算出する.これにより,ゴールモデル間でゴール名が似ているゴールを明確化できる.しかし,単純に「ゴール名の類似度」だけで共通ゴールの判別を行うと,「類似度の高い非共通ゴール」と「類似度の低い共通ゴール」の存在により手法の精度が低下する.そこで,これらのゴールをツールが正しく見分けられるようゴールモデルの構造を用いた「提案ルール」を適用する [8].

4.2 提案ルール

0AND AND AND AND

G1 G2

図 4: 「1ゴール 1共通」・「下位ゴール優先」の例「類似度の高い非共通ゴール」は共通ゴールと判別されやすい.それを見分けるために,「1ゴール 1共通」・「下位ゴール優先」というルールを提案している.図 4に「1ゴール 1共通」・「下位ゴール優先」の例を示す.「1 ゴール 1 共通」とは,1 つのゴールに対して複数のゴールを共通ゴールにしないというルールである.このルールにより共通と判別されたゴールのセットはその他のゴールと共通ではないとして比較対象から除外することができる.「下位ゴール優先」とは,最下位ゴールからゴールを比較していき,明らかに共通だと判別されたゴールが複

5

Page 2: 平成24年度社会知能情報学専攻修士論文発表会(予稿)

表 1: 実験に用いたゴールモデルの特徴

数ありそれらの類似度が等しいときは,下位ゴールを優先して判別するというルールである.これは,親ゴールをより具体的な子ゴールに分解するというゴールモデルの特性を利用している.類似度が等しい場合には,より具体的なゴールから共通ゴールのセットを作ることで,正しい共通ゴールのセットを抽出可能となる.

0

searching in the

search field

by user name

AND AND

by words

searching friends

by name

AND AND

by e-mail address

G1 G2

図 5: 「子ゴール共通性の反映」の例また,「類似度の低い共通ゴール」は非共通ゴールと判別されやすい.それを見分けるために,「子ゴール共通性の反映」というルールを提案している.図 5に「子ゴール共通性の反映」の例を示す.これは,子ゴールの中に「明らかに共通なゴール」が

1つでもあれば,その親ゴールは「明らかに可変なゴール」にはしないというルールである.これも同様に親ゴールをより具体的な子ゴールに分解するというゴールモデルの特性を利用している.親ゴールが抽象的な表現をしていて,それにより共通かどうかの判断が難しい場合でも,より具体的な子ゴールの共通性を反映することで共通かどうかの判断が可能となる.

5. 評価実験と考察提案ルールおよびそれを含めた提案手法全体を評価するために様々な既存システムのゴールモデルを用いて実験を行った.表 1に実験で用いたゴールモデルの特徴を示す.これらのゴールモデルは対象とするシステムの取扱説明書を参考にするとともに,実際にシステムを操作しながら作成されている.また,取扱説明書から要求モデルを作成する Berryらの手法 [9]を参考にしている.

5.1 実験 1:提案ルールの評価実験 1では,提案ルール(「1ゴール 1共通」,「下位ゴール優先」,「子ゴール共通性の反映」)の有効性を評価するために,テレビ,SNS,就職支援システムに対するゴールモデルを用いて実験を行った.実験では,情報工学を専攻している修士の学生 5~9人が手作業で判別した「正解共通・可変ゴール」とツールが出力した「明らかに共通・可変なゴール」を比較し評価した.評価項目は手戻りの発生可能性を完全に排除した「適合率 100%時の再現率」で,提案ルール適用前後で比較した.その結果,テレビでは提案ルールを適用することで

「明らかに共通なゴール」の判別精度が 40.00%向上した.一方 SNSでは,提案ルールを適用することで「明らかに可変なゴール」の判別精度が 74.62%向上した.就職支援システムでは,提案ルールを適用してもあまり判別精度が向上しなかった.結果を分析すると,テレビでは「類似度の高い非共通ゴール」が出現しており,SNSでは「類似度の低い共通ゴール」が出現していた.提案ルールを適用することでこれらのゴールを正しく見分けられるようになり手法の精度が向上した.しかし,就職支援システムでは「類似度の低い共通ゴール」が出現していたにも関わらず,提案ルールがそれらを正しく見分けられていなかった.これはリクナビとマイナビでゴールモデルの作者が別だったことにより,最下位ゴールの分解粒度が粗く統一されていなかっ

たのが原因で,「子ゴール共通性の反映」が正しく機能しなかったためであると考えられる.

5.2 実験 2:提案手法全体の評価表 2: 実験 2の実験結果

実験 2では,提案ルールが有効な場合に提案手法が効率化に与える影響を評価するために,カメラに対するゴールモデルを用いて実験を行った.実験では修士の学生 8人を提案手法を用いないチームAと,提案手法を用いるチーム Bの 2チームに分け,それぞれの結果を比較した.評価項目は判別した共通ゴールの適合率・再現率と作業時間である.表 2の結果を見ると,提案手法を用いたチーム Bの方が平均して 26.74%短い作業時間で実験を完了している.またチームBの方が適合率が平均して 10.74%,再現率が平均して 21.55%高くなっている.これらの結果から,提案手法を用いた方がより効率よく共通ゴールを判別できることがわかった.

6. まとめ本研究では,効率よく共通ゴールを判別するための手法を提案し,それをツールに実装した.手法の精度を上げるために,ゴール名の類似度だけではなくゴールモデルの構造に基づいた判別ルールを提案した.複数のゴールモデルを用いた実験の結果から,提案ルールが有効な場合とそうでない場合を明確化した.また,提案手法を使うとより効率よく共通ゴールを判別できることが確認された.

参考文献[1] Klaus Pohl, Gunter Bockle, Frank Van Der Lin-

den: Software Product Line Engineering: Foun-dations, Principles And Techniques, Springer-Verlag New York Inc 2005.

[2] Lianping Chen, Muhammad Ali Babar, Nour AliLero: Variability Management in Software Prod-uct Lines: A Systematic Review, SPLC2009,pp.81-90.

[3] Axel van Lamsweerde:Requirements Engineering,From System Goals to UML Models to SoftwareSpecifications, Wiley, 2009.

[4] Uno K, Hayashi S, Saeki M: Constructing FeatureModels using Goal Oriented Analysis, QSIC2009,pp.412-417.

[5] Yijun Yu, Alexei Lapouchnian, Sotirios Liaskos,John Mylopoulos, and Julio C.S.P.Leite: FromGoals to High-Variability Software Design,ICIST2008.

[6] Mohsen Asadi, Ebrahim Bagheri, Dragan Gaevi,Marek Hatala, Bardia Mohabbati: Goal-DrivenSoftware Product Line Engineering, SAC2011,pp.691-698.

[7] Muhammad Ilyas , Josef Kung: A Similarity Mea-surement Framework for Requirements Engineer-ing, ICCGI2009, pp.31-34.

[8] 中村祐貴, 本田耕三, 中川博之, 田原康之, 大須賀昭彦: ゴールモデルの構造に基づいた共通ゴール判別手法の提案, ソフトウェア工学の基礎 XIXFOSE2012, pp.63-68.

[9] M. Berry, K Daudjee, J Dong, I Fainchtein, ANelson, T Nelson, L Ou: User’s Manual as a Re-quirements Specification: Case Studies, Require-ments Engineering9.1 2004, pp.67-82

6