Anzeige
Anzeige

Más contenido relacionado

Más de Michitaro Okano(20)

Anzeige

要求分析におけるゴール抽出パターンについての考察

  1. 要求分析におけるゴール抽出 パターンについての考察 筑波大学大学院 岡野 道太郎(発表者) 放送大学 中谷 多哉子 1 ウィンターワークショップ2016・イン・逗子
  2. 1.はじめに • 要求分析において、ゴール指向要求分析が 適用できるはずだが、行ってみると難しい – ゴールの抽出が難しい:操作を挙げてしまう • 例: 国立情報学研究所TOPSEの受講生 2
  3. 1.はじめに 問題点 • なぜ、操作を挙げると問題なのか – Lamsweerde:操作的な定義は問題[1](p313) • ○利用可能なとき、本を借りている • X 本を借りる – いつでも本は借りられる? • しかし、「HOW」を尋ねて詳細化する方法を[1] で挙げている(p311) – HOW(手段)→操作? – 状態遷移で表現→完了形(過去分詞)表現(p318) [1]Axel van Lamsweerde ‘Requirements Engineering: From System Goals to UML Models to Software Specifications’, Wiley,2009. 3 何時可能になるのか等 の制約が必要になる
  4. 1.はじめに 操作と状態遷移の違い 操作を挙げる • 例: – Aを行う – Bを行う – Cを行う – Dを行う • 順番はA→B→C→D? • A,B,C,D以外の操作は あるのか? • A,B,C,Dすべて必要? 状態遷移で表現する • 例: – Aが実行されている – A完了後にBが実行されている – A完了後にCが実行されている – B,C完了後にDが実行されて いる • A完了後、BとCは並行して行 える 4 状態遷移で記述することにより、順序や漏れ・冗長が確認できる 具体例: A:材料を用意する B:パスタを茹でる C:ソースを作る D:パスタにソースを混ぜる
  5. 1.はじめに 研究の目的とアプローチ • 研究の目的 – プロセスを中心に考慮する技術者にゴール指向 分析を可能とするパターンを提案すること • 研究のアプローチ – 操作を状態遷移で記述する • 操作を「~する」という形で表現していたものを • 操作に対する事前状態と事後状態(=ゴール)を意識 • 事後状態をゴールとし、「事前状態が起きたのち、操 作が完了している」の状態遷移でサブゴールを表現 5
  6. 2.関連研究 • Lamsweerde[1] – ゴールモデル作成のためのヒューリスティックな ルール • ゴールと操作を混同しないこと – 「振る舞いゴール」は一連のシステムの状態遷移 – 動詞→完了(過去分詞)形にする – 再利用可能なパターン • マイルストーン駆動洗練パターンなど 6 マイルストーン駆動洗練パターン
  7. 3.提案する方法 • ゴールに対して、操作「~する」を挙げる場合 – 「操作」が実行・完了すると、ゴール(最終状態) が達成されると考え、 – 操作を行うのに必要な事前状態を考える • 例: – 事前状態:「お皿とパスタがある」 – 操作:「お皿にパスタを盛り付ける」 – ゴール(最終状態):「盛り付けられたパスタがある」 – 操作を「~されている」(完了形)に書き換える – 操作完了:「お皿にパスタが盛り付けられている」 – =ゴール達成:「盛り付けられたパスタがある」 7
  8. 3.提案する方法 マイルストーン駆動洗練パターンと比較 マイルストーン洗練パターン • C:初期状態 • M:お皿とパスタがある • T:盛り付けられたパスタが ある 今回提案する方法 • 事前状態 – お皿とパスタがある • 処理 – お皿にパスタを盛り付ける – →(完了形)お皿にパスタが盛りつけられている • 事後状態 – 盛りつけられたパスタがある 8
  9. 4.実験 • TOPSE受講生と同じ問題で 分解を行う – ゴール:美味しいぺペロンチー ノがお皿に盛りつけてある • AND分解する – 美味しいぺペロンチーノがお皿 に盛りつけてある • 事前状態:美味しいぺペロン チーノとお皿がある – 美味しいぺペロンチーノがある – 盛りつけ皿がある • 処理完了:美味しいぺペロン チーノがお皿に盛りつけられて いる • 事後状態:美味しいぺペロン チーノがお皿に盛りつけてある • ここまでの分解結果 • 「美味しいぺペロンチーノと お皿がある」を「美味しいぺ ペロンチーノ」と「盛りつけ 皿」に分けている – 「~と~」を2つに分ける – 「美味しい」盛りつけ皿ではな い 9
  10. 4.実験つづき • 「美味しいぺペロンチー ノがある」を分解する – ドメインプロパティ • 美味しいぺペロンチーノ は美味しいパスタと美味し いソースを混ぜるとできる – 事前状態 • 美味しいパスタと美味しい ソースがある – 美味しいパスタがある – 美味しいソースがある – 処理 • 美味しいパスタに美味し いソースが混ぜられてい る – 事後状態 • 美味しいぺペロンチーノ がある • ここまでの分解結果 • ぺペロンチーノの分解 – ドメインプロパティがないと 分解できない 10
  11. 4.実験(比較) • 今回作成したもの • TOPSEで作成したもの 11 美味しいパスタがある→パスタを茹でればいい?? 美味しいソースがある→ソースを料理すればいい??
  12. 5.考察 • ドメイン知識があれば提案手法で分解可能 – 概念モデルは必要だった • ぺペロンチーノ=パスタ+ぺペロンチーノのソース • ただし、操作によるドメイン知識だけでは、制約 が抜け落ちる可能性がある – 美味しいパスタがある→ゆでる • 美味しいパスタのゆで加減は? – 美味しいソースがある→ソースを料理する • 味付けはどうしたらよいのだろう? – いつの間にか「操作をすればよい」という形になって しまう 12
  13. 6.課題 • ゴール分解の他のパターン – マイルストーン駆動以外に有効なもの • 「~と~」の分解は必要だった • 他の事例で、今回の分解方法が有効か • このゴール分解パターンを教示することによ り,操作に基づいて思考する技術者が,どの 程度容易にゴール分解が行えるようになるか 13
  14. 7.まとめ • 研究の目的 – プロセスを中心に考慮する技術者にゴール指向分析を可 能とするパターンを提案すること • 提案内容 – 状態遷移で表現する – 操作の事前状態、事後状態を考慮し、マイルストーンパ ターンを利用して分解 • ゴール:事後状態が達成された • サブゴール:初期状態→◇事前状態、事前状態→◇操作完了 • 提案をTOPSEの受講生への課題に適用した – 分解にドメインの知識は必要である – 操作で定義すると、必要な制約が抜けることを確認した • いつの間にか「操作をすればよい」という形になってしまう 14
Anzeige