27
発表論文 タイトル Tool Support for Essential Use Cases to Better Capture Software Requirements著者 Massila KamalrudinJohn GrundyJohn Hosking 会議 Automated Software EngineeringASE2010 0 SS合同輪講 year accept rate 2008 18% 2009 17% 2010 12%

2010 ase-tool support for essential use cases to better capture software requirements

  • Upload
    n-yuki

  • View
    289

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 2010 ase-tool support for essential use cases to better capture software requirements

発表論文

• タイトル

– 「Tool Support for Essential Use Cases to Better

Capture Software Requirements」

• 著者

– Massila Kamalrudin、John Grundy、John Hosking

• 会議

– Automated Software Engineering(ASE) 2010

0SS合同輪講

year accept rate

2008 18%

2009 17%

2010 12%

Page 2: 2010 ase-tool support for essential use cases to better capture software requirements

概要

目的:要求文書から、 EUC(Essential Use Case)を正しく作成すること

手法:EUCサポートツールを作成し評価

結果:手作業でやるより、正しくEUCを作成できた

1SS合同輪講

Page 3: 2010 ase-tool support for essential use cases to better capture software requirements

選定理由

• システム開発プロセスの自動化に関する

研究がしたい

• 上流工程(特に、要求分析工程)に興味が

ある

2SS合同輪講

Page 4: 2010 ase-tool support for essential use cases to better capture software requirements

背景(要求分析の重要性)

• 要求分析工程のミスは、後工程に響く

3SS合同輪講

要求分析

設計

実装

試験

Page 5: 2010 ase-tool support for essential use cases to better capture software requirements

背景(要求分析の難しさ)

• システムエンジニア

–システム開発は得意

–でも、専門業務は不得意(例:医療業務)

• システムエンジニアが、

業務を正しく理解することは非常に困難

4SS合同輪講

Page 6: 2010 ase-tool support for essential use cases to better capture software requirements

• 要求文書中の必須項目を抽出し、EUCに変換

EUC(Essential Use Case)

要求文書 EUC

5SS合同輪講

Page 7: 2010 ase-tool support for essential use cases to better capture software requirements

• 「display time out」(タイムアウトを表示)

• 「show error」(エラーを表示)

• 「display error message」(エラーメッセージを表示)

• 「show problem list」(問題リストを表示)

6SS合同輪講

要求文書中の必須項目

「display error」(エラーを表示)

EUC

EUC(必須項目からEUCへの変換例)

Page 8: 2010 ase-tool support for essential use cases to better capture software requirements

EUCの適応実験(概要)

• 大学院生11人:要求文書からEUCを作成

• 正解率とタイムを計測

ただし、

• 大学院生はソフトウェア工学専攻、UMLの経験有

• 要求文書はATMシステムを想定

• 正解条件:研究関係者の解答と同じ(非常に近い)

とする

7SS合同輪講

Page 9: 2010 ase-tool support for essential use cases to better capture software requirements

8SS合同輪講

• 正解率:47%

(不正解率:53%)

• パーフェクト:1人/11人

(パーフェクト率:9.1%)

• タイム

-最速: 5[分]

-最遅:25[分]

(人によってかなり違う)

被験者

答え

時間(分)

(U

)身分を証明する

(S

)ID

を確認する

(S

)選択肢を提供する

(U)選択肢を選択する

(S

)現金を出す

(U

)現金を受け取る

1 × × × ○ ○ ○ 9

2 ○ × ○ ○ ○ × 5

3 × × ○ × ○ × 10

4 × × × ○ ○ × 7

5 × ○ × × ○ × 10

6 × × × ○ ○ × 7

7 ○ ○ ○ ○ ○ ○ 20

8 ○ × × ○ ○ × 10

9 ○ ○ ○ × × × 10

10 × × × × ○ ○ 25

11 ○ ○ × × × × 10

5 6 4 7 4 7 6 5 9 2 3 8

EUCの適応実験(結果)

11人の大学院生

正解のEUC

Page 10: 2010 ase-tool support for essential use cases to better capture software requirements

EUCの考察

• 長所

–要求分析工程のミス・抜け・漏れを減らすことができる

–従来のユースケースモデルよりも単純明快

• 短所

–要求文書から正しくEUCを作成できない

(SEは業務を正しく理解することが困難)

–サポートツールがない

9SS合同輪講

Page 11: 2010 ase-tool support for essential use cases to better capture software requirements

EUCサポートツール(概要)

10SS合同輪講

Ⅰ.要求文書を入力

Ⅱ.必須項目を判別

Ⅲ.EUCに変換・出力

要求文書

EUC

Page 12: 2010 ase-tool support for essential use cases to better capture software requirements

11

300種類の語句を収録

オンライン予約システム、オンラインバンキングシステム、携帯電話システム、オンライン選挙システム、

オンラインビジネスシステム、オンライン登録システム、電子取引システム

様々なシステムの要求文書から

ライブラリに

SS合同輪講

EUCサポートツール(必須項目の判別1)

Page 13: 2010 ase-tool support for essential use cases to better capture software requirements

12SS合同輪講

構文

動詞 目的語

なし/冠詞/形容詞 名詞

• 必須項目の文は、

Ⅰ. 動詞+名詞

Ⅱ. 動詞+冠詞+名詞

Ⅲ. 動詞+形容詞+名詞

で構成されているので…

複数の必須項目のパターンが作れる

300語を組合せて

EUCサポートツール(必須項目の判別2)

Page 14: 2010 ase-tool support for essential use cases to better capture software requirements

要求文書 EUC

作成した

必須項目のパターン

• 要求文書中で、必須項目のパターンに合う文をEUCに変換

13SS合同輪講

EUCサポートツール(必須項目の判別3)

適合

変換

Page 15: 2010 ase-tool support for essential use cases to better capture software requirements

EUCサポートツールの実行画面

14SS合同輪講

要求文書を入力

EUCが出力

EUCを選択

関連部分がわかる

クリック

Page 16: 2010 ase-tool support for essential use cases to better capture software requirements

評価(評価項目と評価基準)

「サポートツールを使うと、

手作業で作成するよりどれほどいいか」 を評価

• 評価項目

–ツールを使って作成したEUCの正解率

–ツールを使った際のタイム

• 評価基準

–手作業で作成したときのEUCの正解率(47%)

–手作業で作成したときのタイム(平均:11.2[分])

15SS合同輪講

Page 17: 2010 ase-tool support for essential use cases to better capture software requirements

評価(結果)

16SS合同輪講

• 正解率:83%

(不正解率:17%)

• 手作業実験より、

- 36%向上

• タイム

- 1[秒]

(ほとんど無視できる)

答え

正解 不正解

手作業 ツール 手作業 ツール

(U)身分を証明する 5 1 6 0

(S)IDを確認する 4 1 7 0

(S)金額を入金させる 4 1 7 0

(U)選択肢を選択する 6 1 5 0

(S)現金を渡す 9 1 2 0

(U)現金を受け取る 3 0 8 1

正解率 47% 83% 53% 17%

Page 18: 2010 ase-tool support for essential use cases to better capture software requirements

評価2(業務ごとの結果比較)

17SS合同輪講

• 平均正解率:80%

Page 19: 2010 ase-tool support for essential use cases to better capture software requirements

結論

EUCが作成できると、自然言語で記述された

要求文書をモデル化できて、わかりやすい

しかし、EUCを正しく作成することは困難

作成したツールを使用することで、

手作業でやるより正しくEUCを作成できた

18SS合同輪講

Page 20: 2010 ase-tool support for essential use cases to better capture software requirements

研究の課題

EUC:抽出された必須項目から自動生成

EUCの正解率:必須項目の抽出率で決まる

ライブラリ中の収録語数を増やす

ライブラリが自律的に学習しながら、

自動で収録語数を増やすようにしたい

19SS合同輪講

つまり…

そこで…

できれば…

Page 21: 2010 ase-tool support for essential use cases to better capture software requirements

私見

• 長所

– EUC適応実験(手作業)を行うことで、

要求分析の難しさを立証している

• 短所

– EUC適応実験(手作業)において、

適合率について評価していない

20SS合同輪講

Page 22: 2010 ase-tool support for essential use cases to better capture software requirements

附録

ここからは、発表に関連する項目を記載

21SS合同輪講

Page 23: 2010 ase-tool support for essential use cases to better capture software requirements

EUCの定義

• 「完全で、重要で、システムと関連して、

ユーザの観点から明確であり、

一般化されて抽象的で、技術にとらわれず

独立している記述を包括する

アプリケーションドメインと、

ユーザの利用する言語で構造化されて

表現されたもの」

22SS合同輪講

Page 24: 2010 ase-tool support for essential use cases to better capture software requirements

23

従来のユースケースモデル(ユースケース図)

• 基幹業務システムはユースケース数~1000!

• SE:業務の流れがわからない

交通費申請システム

交通費申請書を受付る交通費申

請書を承認する

交通費申請書を作成する

社員

事務

上長SS合同輪講

Page 25: 2010 ase-tool support for essential use cases to better capture software requirements

24

• 基幹業務システムはユースケース数~1000!

• 業務担当者:システムの動作がわからないユースケース名 社員が交通費申請書を作成する

アクター 社員

目的 アクターが交通費を申請する

事前条件 アクターが交通費を申請できる状態

事後条件 交通費申請書が作成済みである状態

基本フロー アクターが、交通費申請書に申請日、合計金額を入力

アクターが、交通費申請書明細に明細金額、行先、移動日、移動手段を入力

ユースケース名 事務が交通費申請書を受付ける

アクター 事務

目的 事務が交通費申請書を受付ける

事前条件 交通費申請書が作成済みである状態

事後条件 交通費申請書が受付済みである状態

基本フロー アクターが、交通費申請書を受付ける

代替フロー アクターが、交通費申請書を受付けない

従来のユースケースモデル(ユースケース記述)

SS合同輪講

Page 26: 2010 ase-tool support for essential use cases to better capture software requirements

適合率と再現率(適合率)

25

• 適合率:検索結果中にどれだけ正解があったか

(不正解が多ければ多いほど適合率は下がる)

R:正解N:検索結果

適合率(precision)

=RーN

SS合同輪講

Page 27: 2010 ase-tool support for essential use cases to better capture software requirements

適合率と再現率(再現率)

26

再現率(recall)

=RーC

R:正解C:全正解

SS合同輪講

• 適合率:検索結果中にどれだけ正解があったか

(不正解が多ければ多いほど適合率は下がる)