SlideShare a Scribd company logo
GSNを利用したゴール指向要
求分析における要求間の依存
性の検証手法に関する提案
筑波大学大学院ビジネス科学研究科 岡野 道太郎
放送大学 中谷 多哉子
1
はじめに 背景
• 要求分析時に設計や実装に必要な要求を抽出することは重要
• 抽出しないと後工程で手戻りを生じ、無駄な工数が発生する
• 必要な要求が抽出されているか確認する方法の一つとして、要
求の依存性に着目する手法が挙げられる
• 要求の依存性:要求Aと要求Bがあり,要求Aが実現しなければ要求
Bを実現させることができない場合,「要求Bは要求Aに依存してい
る」とし、「要求Aと要求Bの間には、依存性がある」ものとする
• 仮に,要求Bが要求Aに依存し,要求Bのみが要求分析中に抽出され
て設計を行ったとすると
• 後の設計・実装工程で要求Aが必要なことが判明→予期しない開発工数が発生
2
はじめに
• 本発表の目的
• 要求分析において要求間の依存性の検証を行うことで,要求の抽出不足を発
見する手法について提案すること
• アプローチ
• 要求抽出にKAOSを用いる
• 課題:依存性が記述できない
• 本研究での課題解決:KAOSを活用しつつ要求の依存性を明示する
• 提案
• KAOSによる要求分析をGSNによって表現
• GSNの特定の箇所を検証することにより要求の依存性に問題がある箇所(要
求の抽出不足箇所)を指摘できる手法の提案
• 提案の妥当性の検証
• 事例(酒屋倉庫問題)により、要求の抽出不足箇所を指摘できることを確認
3
関連研究-文とゴール
• 文
• ゴール
• 文「システム開発者の意図」を
含むかどうかで分けられる[1]
• 意図を含む場合はゴールであり、
要求と期待に分類
• 含まない場合はドメイン知識とシ
ステム固有情報に分類
• ゴール:
• エージェントの協調によって満足
すべき意図を示した規範的な文[1]
• 本稿では「ある状態Pから、いつ
かはある状態Qになる(P→◇Q)」
という形(達成ゴール)を扱う
[1] Axel van Lamsweerde,“Requirements Engineering:From System Goals
to UML Models to Software Specications ”,Wiley,2009. 4
要求は文で表現で
きるものとする
関連研究-KAOS
• KAOS[1]
• システムが満たす大目標=トッ
プゴール
• 現状→目標の状態へ
• トップゴールを詳細化して、サ
ブゴールに分割
• 詳細化の手法は後述
• サブゴールをさらに詳細化
し・・・と詳細化を繰り返す
• 最終的には、1エージェントが
達成可能なほど小さなゴールと
なる=要求とする
• 例
[1] Axel van Lamsweerde,“Requirements Engineering:From System Goals
to UML Models to Software Specications ”,Wiley,2009. 5
• 手法1マイルストーン分解[1]
• P→◇Qに状態が変化(状態遷
移)する際に状態Mを経るので
あれば、P→◇M、M→◇Qに分
解する
• 例
• 自宅→会場についている
ゴール: 現在の状態P 目標の状態Q
(事前状態) (事後状態)
ここを分解
マイルストーン分解
[1] Axel van Lamsweerde,“Requirements Engineering:From
System Goals to UML Models to Software 6
関連研究3-詳細化の手法(1)
• 例:機械ABC3台のうち、
2台が稼動
• 手法2:要素分解[2]
• 事後状態Q がある観点から観たとき、
いくつかの要素{Q1,Q2,・・・Qn}か
ら成り立つとき
• P→◇Q1,P → ◇ Q2,…,P → ◇ Qnに分
解
• それだけでは{Q1,Q2,・・・Qn}という
各要素が存在する状態になるだけで,Qに
なるとは限らないので
• さらに{Q1,Q2,・・・Qn}→ ◇ Qも付
加する(こともある)分解法
ゴール: 現在の状態P 目標の状態Q
(事前状態) (事後状態)
ここを分解
要素分解
[2]岡野道太郎・中谷多哉子, 状態と状態遷移に着目したゴール指向要求分析
手法の考察, 知能ソフトウェア工学研究会(KBSE) , 電子情報通信学会技術研
究報告: 信学技報Vol.116 No.493,2017,pp25-30
観点は
様々*
7
関連研究3-詳細化の手法(2)
関連研究3ー依存性と達成ゴール
• P→◇Qをマイルストーン分解
• P→◇M(要求A)
• M→◇Q(要求B)
• 要求Bが成立するには
• 状態Mが成立しなければならな
い
• 状態Mが成立ずるには(これだ
けの条件で考えると)要求Aが
成立していなければならない
• 要求Bが成立する為には
• 要求Aが成立:依存性がある
• 例:自宅→会場についている
要求を達成ゴールで表現したときに,
ゴール前の状態Pが,ほかのゴールの
状態Q’になっているかを検証すること
により,要求間の依存性がわかる
「駅に着いている→会場についている」ためには
「駅に着いている」状態が成立していなければならず、
そのためには「電車に乗っている→駅に着いている」が
成立しなければならない=依存している
8
関連研究4- GSN
• GSN :保証のための構造化された
議論の記述法
• ゴール:保証したいことを
• ゴールをサブゴールに分解する
• サブゴールの分解を繰り返す
• 戦略:ゴール分解するときの観点
• エビデンス:末端のゴールが成立
することを保証するもの
• 前提:議論する際の環境等の条件
• 例
事前状態・事後状態
を明確化できる
9
提案手法ーアプローチ
• アプローチ:GSNを用いて
• ゴールに事後状態を記述する
• 前提に(ゴールに結びついた)事
前状態を記述する
• すると前提P は,他のゴールQ'
になっているか,当然成立する
ことでなければならない
• そうでないと、前提P が成り立た
ず
• ゴールP →◇Q は起こらないこと
になる
• このように、前提が他のゴール
に存在するかを確認することで、
依存性の検証ができる
• 例:自宅→会場についている
「P:駅に着いている→◇Q:会場についている」には
前提「P:駅に着いている」が、他のゴールである必要有
(「電車に乗っている→駅に着いている」のゴール)
10
提案手法と事例
11
• 提案手法を酒屋倉庫問題の事例を使って説明する
• 事例:酒屋倉庫問題
• 「ある酒類販売会社」(以下酒屋と記す)における「受付係の仕事
(在庫なし連絡,出荷指示書作成,在庫不足リスト作成)のための
計算機プログラムを作成する」
• 酒屋には倉庫係と受付係がおり
• 倉庫係は入出庫,受付係は顧客(依頼者)からの出庫依頼
• 受付,在庫不足時の顧客への連絡と在庫不足リスト作成,在庫があ
る場合の出庫指示を行っている
• 本稿では
• 在庫なし連絡票,出荷指示書,在庫不足リストの各帳票を出力する
ことが酒屋倉庫問題であり
• 本稿の最終的なゴールは「帳票の要求を抽出できている」状態であ
るとする
提案手法-手順(1)KAOSの作成
• 1. KAOS により,システムが達成すべき目標を詳細化し,要求を抽出す
る.以下の手順で行う.
• (a) システムが達成すべき目標をトップゴールとして挙げる.
• (b) トップゴールを要素分解ないしはマイルストーン分解を用いて分解する
• (c) 分解された各ゴールを再度分解することを繰り返す
• (d) 繰り返した結果,1エージェントが達成可能な程度のゴールになったら、分解
を終了し,そのゴールを要求とする
12
予稿集の図
本発表
の詳細
化範囲
• KAOSの図
提案手法-手順(2)GSNの作成
• 2. 上記で行ったゴール分解をGS
Nを用いて表現する.各ゴールP
→◇Qに対して以下の操作を行う.
• (a) 事後状態Qを,ゴールのラベルと
してゴール上に記述する
• (b) 事前状態Pを,ゴールの前提とし
て記述する
• (c) ゴール分割した方法と,分割した
観点Xを「Xをもとに要素(マイル
ストーン)分解する」等の形で戦略
に記述する
• (d) 要素分解の場合は構成要素を観点
X=要素1,…, 要素N の形で,マイルス
トーン分割の場合は状態遷移を,観
点X=状態1 →状態2 →…→状態N の
形で,戦略の前提として記述する
• (e) 分割されたゴールを記述し,戦略
から線を引く。
• 事例:酒屋倉庫問題
13
提案手法ー手順(3)依存関係の検証
• 3. ゴールの依存性等を検証する.以下の手順で行う.
• 依存関係の検証:Pは他ゴールの事後条件Q' や他システムが実現するゴールあ
るいは自然法則など当然成立する事柄であるか確認する
• 事例:
• 「P{出庫指示書の出力項目の求め方が決まっている、出庫指示書の出力するメディ
アが決まっている}→Q:出庫指示書のレイアウトが決まっている」について
• 前提P:出庫指示書の出力項目の求め方が決まっている
• このゴール自体は挙げられているが、このゴールが成立するか確認
14
ここをGSNに変換&詳細化
事例ー結果・評価 • 結果
• 前提が成り立つだけでは、
ゴールが成立しないもの
• G2,G4,G7
• このうちG4は前提は成立
• 要求の成立に複数手法
• G7はG4が成立しないと決
定しない
• G4が決定すれば成立
• G2は、前提が成立しない
• 依存性に問題有
• 出庫依頼時に挙げるべき
要求の漏れ
• 評価
• 要求の不足を指摘
(G2,G4,G7)
• 依存性の問題を指摘
(G2)
15
注文番号は他に
出てこない
今後の研究
• 前提とゴール間のあいまい性の問題:G4
• 「依存性の検証」の限界について
• 依存性がないと調べられない
• 本稿では達成ゴール「P→◇Q」について→とQを着目したが
• →:マイルストーン分割
• Q:要素分割
• Pや◇はどのような意味を持つのか?
• P:マイルストーン分割の場合、M→◇QのMは、他のゴールP→◇Mの
事後条件なので、Qの分割(要素分割)が可能では?の予測がつく
• ◇は分解ではなく,達成にかかわる論点を含んでいる
• ◇(いつかは達成)を□(常に達成)にすると、維持ゴール/回避ゴールに
• では「達成しないこともある」にすると・・・?不確かさ[1]
[1]岡野 道太郎:ゴール指向要求分析における不確かさの考察~ IoT・AIのケース ~,
ソフトウェアエンジニアリングシンポジウム2017 WS2 16
まとめ
• 本発表の目的
• 要求分析において要求間の依存性の検証を行うことで,要求の抽出不足を発
見する手法について提案すること
• アプローチ
• 要求抽出にKAOSを用いる
• 課題:依存性が記述できない
• 課題解決:KAOSを活用しつつ、GSNのゴール・前提で要求の依存性を明示
• 提案
• KAOSによる要求分析をGSNによって表現
• GSNの前提が、他のゴールになっているか検証することにより要求の依存
性に問題がある箇所(要求の抽出不足箇所)を指摘できる手法を提案した
• 提案の妥当性の検証
• 事例(酒屋倉庫問題)の要求抽出不足箇所(注文番号等)を指摘、確認
17

More Related Content

More from Michitaro Okano

IoT活用システムへのゴール指向要求分析の適用に関する考察
IoT活用システムへのゴール指向要求分析の適用に関する考察IoT活用システムへのゴール指向要求分析の適用に関する考察
IoT活用システムへのゴール指向要求分析の適用に関する考察
Michitaro Okano
 
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
Michitaro Okano
 
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
Michitaro Okano
 
状態と状態遷移に着目したゴール指向要求分析手法の考察
状態と状態遷移に着目したゴール指向要求分析手法の考察状態と状態遷移に着目したゴール指向要求分析手法の考察
状態と状態遷移に着目したゴール指向要求分析手法の考察
Michitaro Okano
 
中小規模のIoT
中小規模のIoT中小規模のIoT
中小規模のIoT
Michitaro Okano
 
Rによるデータ分析手順入門
Rによるデータ分析手順入門Rによるデータ分析手順入門
Rによるデータ分析手順入門
Michitaro Okano
 
仮説とデータ解析の関係2
仮説とデータ解析の関係2仮説とデータ解析の関係2
仮説とデータ解析の関係2
Michitaro Okano
 
仮説とデータ解析の関係
仮説とデータ解析の関係仮説とデータ解析の関係
仮説とデータ解析の関係
Michitaro Okano
 
ゴール指向要求分析における構成要素に着目した分解に関する一考察
ゴール指向要求分析における構成要素に着目した分解に関する一考察ゴール指向要求分析における構成要素に着目した分解に関する一考察
ゴール指向要求分析における構成要素に着目した分解に関する一考察
Michitaro Okano
 
A study on the or decomposition of goal-oriented analysis using GSN
A study on the or decomposition of goal-oriented analysis using GSNA study on the or decomposition of goal-oriented analysis using GSN
A study on the or decomposition of goal-oriented analysis using GSN
Michitaro Okano
 
要求分析におけるゴール抽出パターンについての考察
要求分析におけるゴール抽出パターンについての考察要求分析におけるゴール抽出パターンについての考察
要求分析におけるゴール抽出パターンについての考察
Michitaro Okano
 
要求獲得過程の観測と評価に関するツールの開発
要求獲得過程の観測と評価に関するツールの開発要求獲得過程の観測と評価に関するツールの開発
要求獲得過程の観測と評価に関するツールの開発
Michitaro Okano
 
Ms wordでの効率的な文書作成
Ms wordでの効率的な文書作成Ms wordでの効率的な文書作成
Ms wordでの効率的な文書作成
Michitaro Okano
 

More from Michitaro Okano (13)

IoT活用システムへのゴール指向要求分析の適用に関する考察
IoT活用システムへのゴール指向要求分析の適用に関する考察IoT活用システムへのゴール指向要求分析の適用に関する考察
IoT活用システムへのゴール指向要求分析の適用に関する考察
 
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
AI・機械学習の活用におけるソフトウェア工学の今後の課題~ノンプログラミングで作成する予測APIの事例から~
 
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
ゴール指向分析KAOSにおける依存性を考慮した要求抽出法の考察
 
状態と状態遷移に着目したゴール指向要求分析手法の考察
状態と状態遷移に着目したゴール指向要求分析手法の考察状態と状態遷移に着目したゴール指向要求分析手法の考察
状態と状態遷移に着目したゴール指向要求分析手法の考察
 
中小規模のIoT
中小規模のIoT中小規模のIoT
中小規模のIoT
 
Rによるデータ分析手順入門
Rによるデータ分析手順入門Rによるデータ分析手順入門
Rによるデータ分析手順入門
 
仮説とデータ解析の関係2
仮説とデータ解析の関係2仮説とデータ解析の関係2
仮説とデータ解析の関係2
 
仮説とデータ解析の関係
仮説とデータ解析の関係仮説とデータ解析の関係
仮説とデータ解析の関係
 
ゴール指向要求分析における構成要素に着目した分解に関する一考察
ゴール指向要求分析における構成要素に着目した分解に関する一考察ゴール指向要求分析における構成要素に着目した分解に関する一考察
ゴール指向要求分析における構成要素に着目した分解に関する一考察
 
A study on the or decomposition of goal-oriented analysis using GSN
A study on the or decomposition of goal-oriented analysis using GSNA study on the or decomposition of goal-oriented analysis using GSN
A study on the or decomposition of goal-oriented analysis using GSN
 
要求分析におけるゴール抽出パターンについての考察
要求分析におけるゴール抽出パターンについての考察要求分析におけるゴール抽出パターンについての考察
要求分析におけるゴール抽出パターンについての考察
 
要求獲得過程の観測と評価に関するツールの開発
要求獲得過程の観測と評価に関するツールの開発要求獲得過程の観測と評価に関するツールの開発
要求獲得過程の観測と評価に関するツールの開発
 
Ms wordでの効率的な文書作成
Ms wordでの効率的な文書作成Ms wordでの効率的な文書作成
Ms wordでの効率的な文書作成
 

Recently uploaded

受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
ooishi1
 
BitVisor Summit 10「3. Thin Hypervisor on AArch64」
BitVisor Summit 10「3. Thin Hypervisor on AArch64」BitVisor Summit 10「3. Thin Hypervisor on AArch64」
BitVisor Summit 10「3. Thin Hypervisor on AArch64」
BitVisor
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 

Recently uploaded (7)

受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
 
BitVisor Summit 10「3. Thin Hypervisor on AArch64」
BitVisor Summit 10「3. Thin Hypervisor on AArch64」BitVisor Summit 10「3. Thin Hypervisor on AArch64」
BitVisor Summit 10「3. Thin Hypervisor on AArch64」
 
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 

GSNを利用したゴール指向要求分析における要求間の依存性の検証手法に関する提案

  • 2. はじめに 背景 • 要求分析時に設計や実装に必要な要求を抽出することは重要 • 抽出しないと後工程で手戻りを生じ、無駄な工数が発生する • 必要な要求が抽出されているか確認する方法の一つとして、要 求の依存性に着目する手法が挙げられる • 要求の依存性:要求Aと要求Bがあり,要求Aが実現しなければ要求 Bを実現させることができない場合,「要求Bは要求Aに依存してい る」とし、「要求Aと要求Bの間には、依存性がある」ものとする • 仮に,要求Bが要求Aに依存し,要求Bのみが要求分析中に抽出され て設計を行ったとすると • 後の設計・実装工程で要求Aが必要なことが判明→予期しない開発工数が発生 2
  • 3. はじめに • 本発表の目的 • 要求分析において要求間の依存性の検証を行うことで,要求の抽出不足を発 見する手法について提案すること • アプローチ • 要求抽出にKAOSを用いる • 課題:依存性が記述できない • 本研究での課題解決:KAOSを活用しつつ要求の依存性を明示する • 提案 • KAOSによる要求分析をGSNによって表現 • GSNの特定の箇所を検証することにより要求の依存性に問題がある箇所(要 求の抽出不足箇所)を指摘できる手法の提案 • 提案の妥当性の検証 • 事例(酒屋倉庫問題)により、要求の抽出不足箇所を指摘できることを確認 3
  • 4. 関連研究-文とゴール • 文 • ゴール • 文「システム開発者の意図」を 含むかどうかで分けられる[1] • 意図を含む場合はゴールであり、 要求と期待に分類 • 含まない場合はドメイン知識とシ ステム固有情報に分類 • ゴール: • エージェントの協調によって満足 すべき意図を示した規範的な文[1] • 本稿では「ある状態Pから、いつ かはある状態Qになる(P→◇Q)」 という形(達成ゴール)を扱う [1] Axel van Lamsweerde,“Requirements Engineering:From System Goals to UML Models to Software Specications ”,Wiley,2009. 4 要求は文で表現で きるものとする
  • 5. 関連研究-KAOS • KAOS[1] • システムが満たす大目標=トッ プゴール • 現状→目標の状態へ • トップゴールを詳細化して、サ ブゴールに分割 • 詳細化の手法は後述 • サブゴールをさらに詳細化 し・・・と詳細化を繰り返す • 最終的には、1エージェントが 達成可能なほど小さなゴールと なる=要求とする • 例 [1] Axel van Lamsweerde,“Requirements Engineering:From System Goals to UML Models to Software Specications ”,Wiley,2009. 5
  • 6. • 手法1マイルストーン分解[1] • P→◇Qに状態が変化(状態遷 移)する際に状態Mを経るので あれば、P→◇M、M→◇Qに分 解する • 例 • 自宅→会場についている ゴール: 現在の状態P 目標の状態Q (事前状態) (事後状態) ここを分解 マイルストーン分解 [1] Axel van Lamsweerde,“Requirements Engineering:From System Goals to UML Models to Software 6 関連研究3-詳細化の手法(1)
  • 7. • 例:機械ABC3台のうち、 2台が稼動 • 手法2:要素分解[2] • 事後状態Q がある観点から観たとき、 いくつかの要素{Q1,Q2,・・・Qn}か ら成り立つとき • P→◇Q1,P → ◇ Q2,…,P → ◇ Qnに分 解 • それだけでは{Q1,Q2,・・・Qn}という 各要素が存在する状態になるだけで,Qに なるとは限らないので • さらに{Q1,Q2,・・・Qn}→ ◇ Qも付 加する(こともある)分解法 ゴール: 現在の状態P 目標の状態Q (事前状態) (事後状態) ここを分解 要素分解 [2]岡野道太郎・中谷多哉子, 状態と状態遷移に着目したゴール指向要求分析 手法の考察, 知能ソフトウェア工学研究会(KBSE) , 電子情報通信学会技術研 究報告: 信学技報Vol.116 No.493,2017,pp25-30 観点は 様々* 7 関連研究3-詳細化の手法(2)
  • 8. 関連研究3ー依存性と達成ゴール • P→◇Qをマイルストーン分解 • P→◇M(要求A) • M→◇Q(要求B) • 要求Bが成立するには • 状態Mが成立しなければならな い • 状態Mが成立ずるには(これだ けの条件で考えると)要求Aが 成立していなければならない • 要求Bが成立する為には • 要求Aが成立:依存性がある • 例:自宅→会場についている 要求を達成ゴールで表現したときに, ゴール前の状態Pが,ほかのゴールの 状態Q’になっているかを検証すること により,要求間の依存性がわかる 「駅に着いている→会場についている」ためには 「駅に着いている」状態が成立していなければならず、 そのためには「電車に乗っている→駅に着いている」が 成立しなければならない=依存している 8
  • 9. 関連研究4- GSN • GSN :保証のための構造化された 議論の記述法 • ゴール:保証したいことを • ゴールをサブゴールに分解する • サブゴールの分解を繰り返す • 戦略:ゴール分解するときの観点 • エビデンス:末端のゴールが成立 することを保証するもの • 前提:議論する際の環境等の条件 • 例 事前状態・事後状態 を明確化できる 9
  • 10. 提案手法ーアプローチ • アプローチ:GSNを用いて • ゴールに事後状態を記述する • 前提に(ゴールに結びついた)事 前状態を記述する • すると前提P は,他のゴールQ' になっているか,当然成立する ことでなければならない • そうでないと、前提P が成り立た ず • ゴールP →◇Q は起こらないこと になる • このように、前提が他のゴール に存在するかを確認することで、 依存性の検証ができる • 例:自宅→会場についている 「P:駅に着いている→◇Q:会場についている」には 前提「P:駅に着いている」が、他のゴールである必要有 (「電車に乗っている→駅に着いている」のゴール) 10
  • 11. 提案手法と事例 11 • 提案手法を酒屋倉庫問題の事例を使って説明する • 事例:酒屋倉庫問題 • 「ある酒類販売会社」(以下酒屋と記す)における「受付係の仕事 (在庫なし連絡,出荷指示書作成,在庫不足リスト作成)のための 計算機プログラムを作成する」 • 酒屋には倉庫係と受付係がおり • 倉庫係は入出庫,受付係は顧客(依頼者)からの出庫依頼 • 受付,在庫不足時の顧客への連絡と在庫不足リスト作成,在庫があ る場合の出庫指示を行っている • 本稿では • 在庫なし連絡票,出荷指示書,在庫不足リストの各帳票を出力する ことが酒屋倉庫問題であり • 本稿の最終的なゴールは「帳票の要求を抽出できている」状態であ るとする
  • 12. 提案手法-手順(1)KAOSの作成 • 1. KAOS により,システムが達成すべき目標を詳細化し,要求を抽出す る.以下の手順で行う. • (a) システムが達成すべき目標をトップゴールとして挙げる. • (b) トップゴールを要素分解ないしはマイルストーン分解を用いて分解する • (c) 分解された各ゴールを再度分解することを繰り返す • (d) 繰り返した結果,1エージェントが達成可能な程度のゴールになったら、分解 を終了し,そのゴールを要求とする 12 予稿集の図 本発表 の詳細 化範囲 • KAOSの図
  • 13. 提案手法-手順(2)GSNの作成 • 2. 上記で行ったゴール分解をGS Nを用いて表現する.各ゴールP →◇Qに対して以下の操作を行う. • (a) 事後状態Qを,ゴールのラベルと してゴール上に記述する • (b) 事前状態Pを,ゴールの前提とし て記述する • (c) ゴール分割した方法と,分割した 観点Xを「Xをもとに要素(マイル ストーン)分解する」等の形で戦略 に記述する • (d) 要素分解の場合は構成要素を観点 X=要素1,…, 要素N の形で,マイルス トーン分割の場合は状態遷移を,観 点X=状態1 →状態2 →…→状態N の 形で,戦略の前提として記述する • (e) 分割されたゴールを記述し,戦略 から線を引く。 • 事例:酒屋倉庫問題 13
  • 14. 提案手法ー手順(3)依存関係の検証 • 3. ゴールの依存性等を検証する.以下の手順で行う. • 依存関係の検証:Pは他ゴールの事後条件Q' や他システムが実現するゴールあ るいは自然法則など当然成立する事柄であるか確認する • 事例: • 「P{出庫指示書の出力項目の求め方が決まっている、出庫指示書の出力するメディ アが決まっている}→Q:出庫指示書のレイアウトが決まっている」について • 前提P:出庫指示書の出力項目の求め方が決まっている • このゴール自体は挙げられているが、このゴールが成立するか確認 14 ここをGSNに変換&詳細化
  • 15. 事例ー結果・評価 • 結果 • 前提が成り立つだけでは、 ゴールが成立しないもの • G2,G4,G7 • このうちG4は前提は成立 • 要求の成立に複数手法 • G7はG4が成立しないと決 定しない • G4が決定すれば成立 • G2は、前提が成立しない • 依存性に問題有 • 出庫依頼時に挙げるべき 要求の漏れ • 評価 • 要求の不足を指摘 (G2,G4,G7) • 依存性の問題を指摘 (G2) 15 注文番号は他に 出てこない
  • 16. 今後の研究 • 前提とゴール間のあいまい性の問題:G4 • 「依存性の検証」の限界について • 依存性がないと調べられない • 本稿では達成ゴール「P→◇Q」について→とQを着目したが • →:マイルストーン分割 • Q:要素分割 • Pや◇はどのような意味を持つのか? • P:マイルストーン分割の場合、M→◇QのMは、他のゴールP→◇Mの 事後条件なので、Qの分割(要素分割)が可能では?の予測がつく • ◇は分解ではなく,達成にかかわる論点を含んでいる • ◇(いつかは達成)を□(常に達成)にすると、維持ゴール/回避ゴールに • では「達成しないこともある」にすると・・・?不確かさ[1] [1]岡野 道太郎:ゴール指向要求分析における不確かさの考察~ IoT・AIのケース ~, ソフトウェアエンジニアリングシンポジウム2017 WS2 16
  • 17. まとめ • 本発表の目的 • 要求分析において要求間の依存性の検証を行うことで,要求の抽出不足を発 見する手法について提案すること • アプローチ • 要求抽出にKAOSを用いる • 課題:依存性が記述できない • 課題解決:KAOSを活用しつつ、GSNのゴール・前提で要求の依存性を明示 • 提案 • KAOSによる要求分析をGSNによって表現 • GSNの前提が、他のゴールになっているか検証することにより要求の依存 性に問題がある箇所(要求の抽出不足箇所)を指摘できる手法を提案した • 提案の妥当性の検証 • 事例(酒屋倉庫問題)の要求抽出不足箇所(注文番号等)を指摘、確認 17