370 likes | 540 Views
スペクトラム分析の実績に 基づく ソフトウェア 品質要求評価ツールの実現と評価. 2010.09.01 修士二年 鈴木駿一 海尻海谷研究室 信州大学工学部 情報工学専攻. 目次. 研究背景 定義と解説、目標 過去の分析手法 分析・評価支援ツール 実験と検証 結論と考察. 研究背景. 昨今のソフトウェアの開発現場では、品質要求と呼ばれるものが重要視されてきている 品質要求は明示的ではなく、その達成度や数値目標を定めることが難しい. 研究背景. 品質要求は取り扱いが難しく、この定義が不十分であるが為に開発の後半に大きな手戻りが発生する事もある
E N D
スペクトラム分析の実績に基づくソフトウェア品質要求評価ツールの実現と評価スペクトラム分析の実績に基づくソフトウェア品質要求評価ツールの実現と評価 2010.09.01 修士二年鈴木駿一 海尻海谷研究室 信州大学工学部情報工学専攻
目次 • 研究背景 • 定義と解説、目標 • 過去の分析手法 • 分析・評価支援ツール • 実験と検証 • 結論と考察
研究背景 • 昨今のソフトウェアの開発現場では、品質要求と呼ばれるものが重要視されてきている • 品質要求は明示的ではなく、その達成度や数値目標を定めることが難しい
研究背景 • 品質要求は取り扱いが難しく、この定義が不十分であるが為に開発の後半に大きな手戻りが発生する事もある • よって、ソフトウェア開発における品質要求について、何らかの手段で仕様に含める補助を行う事は必要であり有益である
研究背景 • 品質特性の達成度や数値目標を定量化することができれば、その数値から「セキュリティ関係が不十分である」と言ったように品質に関する漏れや誤りを容易に発見する事が可能となる • 文章からこれを判断するには文章全体に目を通さなければならず、数値の大小を確認する事に比べると困難である
研究背景 • また、プロダクトドメイン毎に特有の傾向があることが実証されている(2008.佐藤)
研究背景 • よって、一般的な仕様を最低限満たしているか、意図した品質を満たしているかなどの確認も可能となる
研究背景 • 本研究では、品質要求の取り扱いを明確かつ簡便に行えるようにするためソフトウェア仕様書を分析し、数値化するための手法の改良およびその支援ツールの開発を行った
定義と解説 • 本研究で使用する規格及び用語などの解説
ISO9126 • ソフトウェア品質特性に関する国際基準 • ソフトウェアの品質を6つの特性・21の副特性に分類 • 本研究における品質特性のカタログとして使用 • 各々に関する説明は割愛
スペクトル • 対象に含まれる成分を分解して表したもの 入力X:成分 RGB (256段階) 入力A: 色 出力結果: 色のスペクトル R:64 G:128 B:96 Analyzer
スペクトル • 対象に含まれる成分を分解して表したもの 入力X:成分 要求品質規格 (ISO9126) 入力A: 仕様書 出力結果: 品質のスペクトル 機能性:0.64 信頼性:0.52 保守性:0.96 1.------ 2.------ 3.------ Analyzer この品質スペクトル分析器の完成が目標
コサイン類似度 • 2つのベクトルがどれ程類似しているかを示す値 • 比較する値をベクトルに見立て、角度の違いを比較する • 0.9以上の値を示していれば近いと言える • 0.98(コサイン10度)を超えると非常に近い • 本研究ではスペクトルを21次元のベクトルと見做し、評価手法の比較のために使用した
本研究について • 「要求仕様の分析に関するスペクトルプロジェクト」ワーキンググループに属する研究 • 従来の分析手法の問題を解決した新しい分析手法を提案することが目標 • 評価システムを実用段階に引き上げる • 精度、作業時間、セオリーの確認
過去の分析手法その1:完全手動法 • 要求仕様を一つ一つ目視し、エキスパートが関連する品質特性のチェックを行う • 結果はエキスパートの経験に左右される ・フロッピーの絵が描かれた ボタンを押す事で、ファイルの 上書き保存が実行される事 ・ソフトウェアの起動する際に パスワードによる認証を行い、 3度の失敗で強制終了する事 ・正確性 ・相互運用性 ・標準適合性 ・セキュリティ ・理解性 ・習得性 ・運用性 ・時間効率性 etc… 要求仕様書 品質特性 仕様と品質特性を直接結びつけて評価する
過去の分析手法 • TCM法 • 単語と品質特性を関連付けておく(「パスワード」=セキュリティ性、「検索」=運用性など) • 要求仕様に含まれる単語をチェックし、単語の評価をもとに文章を評価する 属人性を排除し、初心者でもある程度の自動評価が可能 (ただし、精度に難あり)
過去の分析手法その2:TCM法 ・フロッピーの絵が描かれた ボタンを押す事で、ファイルの 上書き保存が実行される事 ・ソフトウェアの起動する際に パスワードによる認証を行い、 3度の失敗で強制終了する事 etc… ・正確性 ・相互運用性 ・標準適合性 ・セキュリティ ・理解性 ・習得性 ・運用性 ・時間効率性 etc… ・ボタン ・パスワード ・認証 ・3度(回数) etc… 単語 (Term) 品質特性 (Characteristics) 要求仕様書 TCM (Term Characteristics Map) 単語を介して仕様と品質特性を結びつける
本研究で提案する分析手法:実績TCMベース確率法本研究で提案する分析手法:実績TCMベース確率法 • 分析の結果からTCMを学習させ、各品質と単語ごとに、ヒット数/トータル数の評価実績を作成する • 実績に基づいて確率を定め、次回の評価に活かす 自動評価機構の精度を向上させる試み
過去の分析手法その2:TCM法 ・フロッピーの絵が描かれた ボタンを押す事で、ファイルの 上書き保存が実行される事 ・ソフトウェアの起動する際に パスワードによる認証を行い、 3度の失敗で強制終了する事 etc… ・正確性 ・相互運用性 ・標準適合性 ・セキュリティ ・理解性 ・習得性 ・運用性 ・時間効率性 etc… ・ (4/5)ボタン ・ (1/3)パスワード ・ (2/5)認証 ・ (1/3) 3度(回数) etc… 60% 80% 実績確率つき単語 (Term) 品質特性 (Characteristics) 要求仕様書 世代継承TCM (Term Characteristics Map) 実績ベースの確率を伴った単語を介して仕様と品質特性を結びつける
実績確率付き単語 分析済文書の中の,当該単語が正解だった数 基本的に、次の式で算出される: 分析済文書の中の,当該単語が出現した文の数
実績確率付き単語 分析済文書の中の,当該単語が正解だった数 基本的に、次の式で算出される: 分析済文書の中の,当該単語が出現した文の数
分析・評価支援ツール • 手作業で実績のあるTCMを作成することは、時間の都合から不可能 • 支援ツールを作成して実証実験を行った
旧TCM法における課題と対策:ツールによる改善旧TCM法における課題と対策:ツールによる改善 • 文章の評価精度 • →Termの実績による推測 • →有用なKnowledge baseとなるTCMの構築を容易に • Termが増えると精度が下がる問題 • →実績の少ないTermを積極的に削除してゆく • →ドメイン別・品質特性別の補正(未対応) • 精度が低いため、作業時間が長くなる問題 • (手動で調整しなおすと数時間単位でかかる場合も) • →精度を上げ、調整時間を短くできるように • →TCMの作成・利用を容易にできる、効率のよいGUIも必要
分析・評価支援ツール • 品質要求分析支援ソフトウェア「QRAST」 • TCMの作成と仕様書の分析を行えるツール • C#による実装、組み込みデータベースSQLiteによる高速な評価 • タスク志向のGUIで流れ作業のしやすい環境 • ファイルベースのデータ保存、柔軟なプロセス分離設計と拡張性 • 主な機能 • 仕様書の分析と評価 • 文書の整形 • 形態素解析によるTermの抽出 • TCMの編集と世代継承管理 • 分析時に過去の履歴を参照しやすい作り
分析・評価支援ツール モジュール化・プロセス分離された実装により、開発の高速化と 保守性・拡張性の確保を実現 GUI 文書評価部 プロファイル 管理モジュール 文書整形 モジュール Term抽出 モジュール (形態素解析) 仕様-Term 関連付 Term-品質 関連付 TCM 管理モジュール データベースドライバ TCM 品質特性表 (ISO1926等) Term 一覧表 仕様文 分析表 SQLite DBファイル SQLite DBファイル
分析・評価支援ツールデータフロー1:評価準備段階分析・評価支援ツールデータフロー1:評価準備段階 1.分析表作成フロー 文書 整形 仕様書 仕様書 分析表 2.TCM作成フロー (TCMが存在しない時のみ) Term 抽出 仕様書 初期 TCM エキスパート 評価 確率付 TCM
分析・評価支援ツールデータフロー2:評価段階分析・評価支援ツールデータフロー2:評価段階 2.自動評価フロー 仕様書 分析表 ツール 自動評価 評価済み 分析表 確率付 TCM 新世代 確率付TCM
分析・評価支援ツール作業手順 • 仕様書から有用なTermを抽出し、TCMを用意する • TCMに基づき、仕様書を評価する • 評価結果をレビューし、誤りをチェックする • 結果をTCMにフィードバックし、新世代のTCMとして保存する • 次の評価に移る
実験と検証 • ブラウザ三種類を対象に精度向上・作業時間の短縮が実現出来ているかどうかを検証 • Internet Explorer 6、Firefox 2.0、Opera 8.6のヘルプファイルから抽出した仕様文を使用 • 順番はInternet Explorer → Firefox → Operaの順 • 世代を経るごとにTCMの調整を行い、実績の低い単語を消去 • 属人性を考慮し、同一人物で作業して全ての分析手法を比較
結果の比較エキスパート判例対旧TCM法 旧TCM法はそれなりに効果があるが、十分な類似度ではない(0.934)
結果の比較エキスパート判例 対 確率TCM法 確率を導入し調整した場合、類似度は0.987以上=非常に近い
結果の比較確率TCM法の世代比較 エキスパート判例 1世代目 2世代目 2世代目の類似度は0.9870から0.9969に向上=精度が上がっている
結果の概要 • 手動の結果と非常に近い数値が算出された • 分析後に必要となる分析結果及びTCMの調整を考慮しても旧TCM法と比較して10倍以上の時間短縮 • 分析結果は一つ一つ再調整する必要がなく、確認程度で良いために200文程度でも十数分以内に完了 • TCMの調整は自動で行われるため、ほぼ瞬時に完了
まとめと考察 • 本研究では、新たに改良された評価手法を提案した • 改良された手法に基づいたツールを新たに開発し、実験を行った
まとめと考察 • 従来の手動評価法は精度が高い反面、時間がかかるのがネックとなっており、また、精度も低かった • 本研究で提案する実績確率ベースの手法を用いることで、精度を向上しながら作業時間の短縮を行うことができた
今後の課題と展望 • 今回は調整済みのTCMを利用したため、エキスパートの判断結果によく似た評価結果を得ることができた • しかし、TCMが完成されていない場合、従来と同様に時間がかかるものと推測される • よりTCMを作成しやすくする手法が待たれる • 英語など日本語以外の言語などにも対応する必要がある • 精度の向上は完全とは言えない • LSAや単純ベイズ分類、条件付き確率ネットワークによる評価アルゴリズムが候補となっている • 仕様文ごとの場所や分類などの補正を導入する(同プロジェクト内、谷川法)