既存システムの仕様を再利用する 要求定義支援ツールの実現と評価 信州大学院 情報工学専攻 修士二年 海尻海谷研究室 北沢直幸 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 2 序論 [1/2] 背景 ソフトウェアシステムは様々なドメインで使用されて いる。 要求分析者は馴染みの無いドメインの分析をする 必要がある ドメイン知識はそのような分析者にとって重要である。 3 序論 [2/2] 目的 同ドメインの類似既存システムの仕様を比較・整理 することで、ドメイン知識理解の手助けとすること。 1. ドメイン特有の問題の解決法を得られる。 2. 要求項目(機能)の候補とできる。 新システム開発において要求定義を行う際、この手 法とツールでドメイン知識を理解することを目的とし ている。 4 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 5 要求仕様書 [1/1] 要求仕様書 アウトライン はじめに 1. 目的 2. 範囲 …… 2. 全体概要説明 1. 製品の背景 2. 製品の機能 …… 3. 要求仕様 • 外部インタフェース • 機能 • 性能 • データベース要求 • 制約 • ソフトウェアの属性 ………… 1. ソフトウェア要求仕様の特性 Correct(正当性) Unambiguous(非あいまい性) Complete(完全性) Consistent(一貫性) Priority(優先順位) Verifiable(検証容易性) Modifiable(修正容易性) Traceable(追跡可能性) IEEE Std. 830-1998, IEEE Recommended Practice for Software Requirements Specification 6 要求定義法 [1/3] 1. 類似既存システムから仕様を収集する。 2. システムごとの仕様の違いを比較し、そのドメイン にとって一般的である仕様、また逆に珍しい仕様 などを明らかにする。 3. 顧客からの要望から、必要とされている仕様を選 択する。 7 要求定義法 [2/3] 何故、類似既存システムから仕様を収集するの か? 1. ドメイン特有の問題に対して、既に使用されて いる良い解決法を得られる。 2. 複数の類似既存システムの仕様を収集するこ とで、収集したドメイン仕様の完全性を高めるこ とが出来る。 8 要求定義法 [3/3] 何故システムの違いや共通点を明らかにする必要 があるのか? ドメインにとって不可欠な仕様、あるいはオプショ ン的な仕様なのかを明らかにするため。 多くのシステムに共通して実装されている仕様は ドメインにとって、必要不可欠な仕様であるといえ る。 9 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 10 ツール概要 [1/2] :ツールに要求される機能 ドメイン知識の特徴 既存システムの一覧 機能一覧 機能がどの既存システムで使用されているか。 機能同士の関連 分析者が選択した機能一覧 分析者が付けた機能のプライオリティ一覧 選択した要求の一覧を出力 Good SRS [IEEE830] 11 12 12 既存シス テム 13 13 要求の候補 機能を含むシ ステム 関連機能 既存シス テム 機能を含むシステ ムの数 14 14 要求の候補 機能を含むシ ステム 関連機能 既存シス テム チェックボックス 左:mandatory 右:optional 機能を含むシステ ムの数 15 15 要求の候補 機能を含むシ ステム 関連機能 既存シス テム チェックボックス 左:mandatory 右:optional 選択した機能の階層 木 機能を含むシステ ムの数 テンプレート出力 16 16 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 17 評価実験: 概要 [1/5] 目的 • ツールは効果的に運用できるか? • 5つの測度から、ツールの有用性を確認する。 仮定として、全ての測度においてツール有のグルー プが良い結果となるとする。 正解はドメインエキスパートが作成。 • • 18 評価実験 ~ 評価メトリックス 被験者が作成した要求リスト 正当性: 精度 完全性: 再現率 修正容易性: 冗長 Y X Y X 正解 Y Y Y Z 追跡可能性: ラベル付け 時間効率 Z Z 1.Aは… 2.Bは… 3.Cは… …… …… Aは… 19 評価実験: 概要 [2/5] 被験者は情報工学科の学生25名 基礎的なプログラミング技術や要求仕様書の書 き方も事前に学習済み チームXとYに分け,Xは13名ツール無し,Yは12 名ツール有りで実験を行う. 20 評価実験 ~ 全体スケジュール 1回目 2回目 チームX チームY 要求獲得練習 ツールに慣 れてから フィードバック ツール無し ツール練習 DK=会議 3回目 4回目 最終回 比較 DK=音楽 ツール練習 ツール有り DK=音楽 DK=会議 ツール有り ツール無し DK=ブラウザ DK=ブラウザ アンケート & 討論 DK = ドメイン知識 21 評価実験: 概要 [3/5] 使用した問題文 a. b. c. d. e. f. g. h. 査読結果を受け取り,管理する作業が煩雑である. 締切までに結果を返さない査読者に催促するのが面倒で ある. 論文に査読者をバランス良く割り当てる作業が大変である. 投稿論文に合った査読者を早めにみつけておくのが難し い. カメラレディを収集しチェックするのが困難である. 採択候補を絞るのが面倒である. 採択の議論記録をとり忘れないようにしたい. 論文の集まり具合,査読の進み具合が気になる. 22 評価実験: 概要 [4/5] Xグループ (NoTool) inputs 被験者X output 25個の単語辞書 8項目の問題文 機能項目リスト system S-1 75 項目. system S-2 62 項目. system S-3 26 項目. 23 評価実験: 概要 [5/5] Yグループ (Tool) inputs 被験者Y output 25個の単語辞書 8項目の問題文 system S-1 75 項目. system S-2 62 項目. system S-3 26 項目. 機能項目リスト ツール 24 ツール無しのグループの 方が結果が良い。 被験者はツールによって 安易に機能項目を選択で きる。 そのため、被験者は余計 な機能項目まで選択して しまった。 0.0 0.2 0.4 0.6 0.8 1.0 評価実験: 結果 [1/5] H1(Correctness) No Tool Tool Precision (有意差あり) 平均 0.90 0.66 25 1.0 評価実験: 結果 [2/5] H2(Completeness) 仮定どおりツール有りの 方が良い結果になった。 ツールを使えば、目論見 どおり、要求項目の欠落 を減らすことが出来る。 これはツール無しが極端 に低いだけではないか? 0.2 0.4 0.6 0.8 1 No Tool 2 Tool Recall (有意差あり) 平均 0.27 0.75 26 評価実験: 結果 [3/5] H3(Traceability) 100 80 60 被験者は既にラベル付け の重要性を学んでいる。 だが、ラベル付けをした被 験者は少ない。 40 20 0 1 No Tool 2 Tool 7.7% 100.0% この結果からツールによ るサポートが非常に有効 だと言える。 Labeling 27 評価実験: 結果 [4/5] H4(Priority) 100 ツール有りの方が良い結 果になっている。 ツールならば強制的に mandatory か optional のいずれかを選択するの でPriorityを必ず付けるこ とになる。 80 60 40 20 0 No Tool 1 Tool 2 30.8% 100.0% Priority (mandatory or optional) 28 評価実験: 結果 [5/5] H5(Efficiency) 15 10 5 No Tool 機能一つを選択するのに かかった時間。 ツール有りの方が短い時 間で選択できた。 ツールによって選択の時 間効率が良くなった。 Tool Performance (min) (有意差あり) 平均 4.23 1.13 29 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 30 実験後のツール改良 [1/4] 実験結果からツールを改良する。 問題点 精度がツール有りの方が低い。 再現率が75%というのは低い。 31 実験後のツール改良 [1/4] 実験結果からツールを改良する。 問題点 精度がツール有りの方が低い。 再現率が75%というのは低い。 32 実験後のツール改良 [2/4] 何故、こういった問題がおきるのか? ⇒「問題文」と「選択する機能」の間に溝がある。 例: 問題文1「査読結果を受け取り,管理する作業が煩 雑である.」という文章のみから、機能要求を選ぶに はドメイン知識が必要になる。 33 実験後のツール改良 [3/4] 実際に、この問題を解くときは… 問題文から手順(問題を解決するシナリオ)を考え、 必要な機能を選ぶ。 解決案として。 ⇒「問題文」と「選択する機能」の仲立ちになるもの (シナリオとか)があればいい。 34 実験後のツール改良 [4/4] 35 目次 1. 序論 2. 既存システムに基づく要求定義法 3. ツール概要 4. 評価実験 5. ツールの改良 6. 結論 36 結論 [1/1] まとめ 既存システムを利用したドメイン知識収集の手法お よびツールを開発した。 ツールの有用性を評価実験によって証明することが 出来た。 さらに実験によって明らかになった手法の問題点を 解決するため、ユースケースシナリオを利用する手 法を提案した。 37 結論 [1/1] 今後の課題 再現率を上げることを目的として追加した機能の評 価実験が必要。 ユースケースシナリオ以外の手法(例えば、問題フ レームなど)の提案。 38 ご清聴有難うございました。 39
© Copyright 2024 ExpyDoc