ゴール指向分析

 

平成24年度シラバス

 

 

 

 

 

 

 

 

 

 

 

 

2012年1月5日

 

 

国立情報学研究所

トップエスイープロジェクト

代表者 本位田 真一

 

1.     講座名

 

ゴール指向分析

 

2.     担当者

 

妻木 俊彦,中村太一

 

3.     本講座の目的

 

ユーザから入手したニーズからだけではソフトウェアを開発するに足りる十分な要求を定義することは難しい.入手した要求は正当な要求なのか,それらの要求だけで十分なのか,多くの要求の中でどの要求が重要なのか,要求同士の矛盾にはどう対処すればよいのかなどといった課題が残されている.こうした課題に対応するためには,対象領域に関する様々な情報や知識をもとに,要求の背景を理解し,その妥当性を評価し,矛盾を調整したりすることが必要となる.このための作業が要求分析である.要求分析は要求獲得プロセスのなかの1ステップとして位置付けられている所以である.

ゴール指向要求分析は,ドメイン分析やシナリオ分析とともに,代表的な要求分析法の1つであり,個々の要求にはその要求の元となる上位目標があるという前提のもとに,ゴール分解を通して要求の導出を行おうとする手法である.そうした意味で,ゴール指向要求分析の特徴は,要求の正当性の確保に重点を置いた分析が行われるところにある.

ゴール指向分析そのものは,古くから多くの分野で利用されてきた技術であり,その技術を身につけることは,要求工学に限らず,われわれが日々遭遇する問題の解を見つける上でも有効である.勿論,ソフトウェアの意味を定義する要求獲得プロセスの中でその技術を利用する意味は大きい.本講座で取り上げる手法は,要求分析という目的を実現するために,形式仕様やタスク分解,ロール指向などといった関連する様々な技術との融合が図られている.

本講座では,ゴール指向要求分析手法の基本的な概念とともに,2つの異なったタイプのゴール指向要求分析手法の学習を通して,問題の定義から,解の発見,要求の抽出といった一連の技術を身に付けることを目的としている.

 

 

 

 

 

 

4.     本講座のオリジナリティ

 

ゴール分解手法を使用した要求分析については,従来より,同様の講座が多数開講されているが,それらの多くは手法の紹介に留まり,異なった目的を持った手法を取り上げ,実際の問題に適用して応用力を身に付けさせようとするものは少ない.本講座では,ゴール分解という基本的な思考能力を身につけるとともに,要求定義で欠かせない問題の定義から解の発見といった一連の技術についても合わせて学習する..

技術は,学ぶだけでは身に付かない.本講座では,それぞれの手法に適したツールを使用し,多くの演習を通して,個々の学習者が必要な技術を身に付けることを目指している.


5.     本講座で扱う難しさ

 

コンピュータはわれわれの生活にとって無くてはならないインフラとなり,社会の変化や情報技術の進展に合わせて,ソフトウェアに対するニーズも複雑化し,絶え間ない変化に晒されている.これまでのような単純な要求獲得手法の適用だけでは,本来のニーズやその根本原因である問題を理解することが困難になりつつある.ゴール指向要求分析は,要求のトレサビリティを辿ることによって,本来解決すべき問題を特定し,的確な解決策を見出すための技術である.しかし,ゴールが発見できたからといって問題が解決できる訳ではない.部品や製品といった具体的な実体に関する問題と作業工程で発生する問題とでは,ゴール指向分析を適用するためのアプローチも,適用する技術も異なってくる.現実世界にはさまざまな問題が存在しており,問題の特徴に応じて,さまざまな手法が提案されてきた.どのような問題に,どのような手法を,どのように適用すればよいかがソフトウェア開発現場での大きな課題となっている.これらは,実際の問題に異なった手法を適用してみて始めて理解できる知識であるため,これまでは,座学形式の教育だけでは習得することは困難であると考えられてきた.本講座では,2つの異なったタイプのゴール指向分析法を取り上げ,問題の特定から解の発見という一連の演習を通してこの課題に挑戦する.


6.本講座で習得する技術

 

ゴール指向分析の基本的な考え方は目新しいものではなく,生産管理などの現場ではゴール分解として古くから用いられてきた技術である.与えられた問題に対し,その原因から解決法を見出そうとする発想は,われわれ人間が持っている基本的な思考法でもあり,ゴール分解法を教えられなくても,多くの人は,似たような思考をする.しかし,問題の設定の仕方やゴールをどこまで分解すればよいかの判断,ゴール分解の中で発生するサブゴール同士の衝突への対応などは,解の品質に大きく影響を与えるうえ,適用領域によって判断が異ならなければならない.

本講座では,こうしたゴール分解法を要求分析に適用した手法の中から,代表的な2つの手法である,KAOS,およびi*について習得する.KAOSは典型的なゴール分解と形式仕様を組み合わせた手法で,分解されたサブゴールの中に要求を発見する.サブゴールを要求に変換するために,問題の背景情報を使ったオペレイショナライゼーションという操作が用いられる.一方,i*は,初期フェーズ要求工学と位置付けられており,定義された問題から解としての要求を発見するのではなく,対象領域内のアクタ同士の依存関係のなかから問題を定義し,コンピュータによる解決方法を発見しようとする.ゴール指向分析は,そのための手法の1つにすぎなく,ゴール分解の仕方もKAOS法のサブゴール展開とは異なる方法を採用している.

本講座で習得すべき技術は,それぞれの手法の特徴とその適用法,支援ツールの操作方法,および,ゴール指向分析法の限界と便益である.

 

KAOS要求モデル                                                       

i*要求モデル

 

-1 要求モデル

学習内容は,以下の通りである.

 

1.ゴール指向要求分析

 ・ 要求獲得と要求分析

     ゴール指向分析の基礎

     ゴール指向要求分析の便益と限界

2.KAOS法

 ・ KAOS法の概要

 ・ KAOS法による要求モデリング

・ ゴール洗練化手法,分解の停止条件,衝突分析,操作化,ゴールとソフトゴール

3.i*法

 ・ i*法の概要

 ・ i*法による要求モデリング

・ ゴール依存関係,Means-Ends分解,タスク分解

 


7.前提知識

 

本講座の受講生は,以下の項目を受講済みあるいは習得済みであることが望ましい.

       要求獲得・記述

       UMLによるオブジェクトモデリング

       形式仕様の基礎


8.講義計画

 

第1週:ゴール指向概論

       ゴール指向分析法の特徴,位置づけ

第2週: KAOS法(1)

       KAOS法の基本概念

       支援ツール(K-TOOL)

第3週: KAOS法(2)

       KAOS法による要求モデリング:ゴールモデル,責任モデル,操作モデル

第4週: KAOS法(3)

       KAOS法によるゴール指向分析演習(1)

第5週: KAOS法(4)

       KAOS法によるゴール指向分析演習(2)

第6週: KAOS法(5)

       KAOS法によるゴール指向分析結果の討論

第7週: i*法(1)

       i*法の基本概念

       支援ツール(ST-TOOL)

第8週: i*法(2)

       i*法による要求モデリング:依存モデル,論理モデル

第9週: i*法(3)

       i*法によるゴール指向分析演習(1)

第10週: i*法(4)

       i*法によるゴール指向分析演習(2)

第11週: i*法(5)

       i*法によるゴール指向分析結果の討論

第12週: ゴール指向分析まとめ

       ゴール指向分析の特徴,討論

第13週: グループ演習(1)

       グループ演習(1)

第14週: グループ演習(2)

       グループ演習(2)

第15週: グループ演習(3)

       グループ演習-発表・討論


9.教育効果

 

本講座の受講を通して,問題解決におけるゴール指向技術の適用方法とその課題,および,ゴール指向を使った要求分析の基本的な技術を理解することができる.ただし,短期間での学習ではその応用力を身につけるところまでは期待できない.学習した技術を向上させるための弛まぬ努力が必要である.


10.使用ツール

 

 以下のツールを使用する.

 

       K-ToolKAOSモデル作成ツール

       ST-Tooli*モデル作成ツール

 


11.実験及び演習

 

KAOS法の演習では,具体的な問題解決から要求の抽出までのプロセスを,ゴール木を作成しながら学習する.また,i*法の演習では,問題の設定から対象領域の領域モデルの作成を通して,問題の解決方法を学習する.演習は個人演習とグループ演習から構成され,特にグループ演習では,演習結果の発表を通して,問題の把握の仕方およびゴール指向の可能性と限界についての理解を深める.

 


12.評価

 

各演習の作業成果物,討論,レポートの評点を総合して評価する.


13.教科書/参考書

 

·           A. V. Lamsweeide “Requirements Engineering”, Wiley, 2009.

·           E. Letier, “Reasoning about Agents in Goal-Oriented Requirements Engineering”, Université Catholique de Louvain, 2001.

·           E. Yu, “Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering”, Proc. of RE’97, 1997