要求獲得
平成24年度シラバス
2012年1月13日
国立情報学研究所
トップエスイープロジェクト
代表者 本位田 真一
要求獲得
中谷多哉子
ソフトウェアに意味と形式があるとするならば,その意味を司っているのが要求である.某調査会社の報告によれば,ソフトウェア開発プロジェクトが破綻に陥る原因のおよそ3割が要求に関わる問題であるという.意味を扱うことの難しさがここにある.要求を定義するためのプロセスは,通常,要求獲得,要求記述,要求検証,要求管理という作業から構成されるが,本講座では,このうちの要求獲得をカバーする.
要求獲得は,要求定義プロセスの中の中核的な活動作業でありながら,最も困難な作業の1つであるとされている.その困難さは,作業メンバーの多様性と作業空間の二重性に由来する.要求獲得は,経験も知識も使用する言語も異なる分析者と利用者の共同作業であり,対象領域に関する知識や情報さらには利用者のニーズを収集する上でのコミュニケーション上の問題が常に付き纏う.その上,要求分析者は,利用者が属している現実世界と設計者の作業空間である仮想世界を繋ぐ役割を担わなければならない.しかし,現実世界と設計作業空間とを繋ぐだけでは不十分である.確かに繋げたという確証を分析者が得るための技術が必要である.
こうした問題に対応するために,様々な技術や手法が提案されている.本講座では,要求工学の基本的な要求獲得技術を習得することを通して,受講者が要求を定義することの困難さを理解し,優れた分析者としての扉を開くことの手助けになることを目指している.
世にあまたの要求獲得手法が提案されている.しかし,現実の世界は,単一の手法によって取り扱えるほど単純ではない.要求分析者を目指す技術者は,今後,多様な手法だけでなく,ビジネス活動における力学を知り,人間関係の調整能力なども身につけてゆく必要がある.たしかに,要求工学は,現実世界との接点に立つ技術であるが,それを使えば問題が解決するという単純な道具ではない.問題を解決するには,適切な技術を適切に適用し,自らの力で解を見つける能力が必要となる.そうした能力を,身に付けるために,本講座では,現実世界に近い具体的な問題を用いて,演習を行う.
本講座が扱う難しさの第一番目は,現実世界をモデル化するための抽象化能力の教育である.モデリングという作業は設計段階でも行われるが,そこで使用する技術は,既に存在している要求モデルを設計モデルに変換するという技術である.一方,要求モデルを作成するには,曖昧で,豊穣で,変化に富んだ現実世界から,クライアントが要求するソフトウェアを実現するために必要かつ十分な要素だけを抽出し,問題領域を再構築する必要がある.これには抽象化の技術が不可欠である.しかし,思考形態の違いや,視点の違いによって,要求のステークホルダに見えている世界は異なるし,重要性の判断基準も異なる.それゆえ,抽象モデルに正解が無いといえる.抽象化の技術が,教育や訓練によって,どこまで習熟可能であるかという議論は,いまだに続いている.
本講座が扱う難しさの第二番目は,意図を伝達する技術である.要求者の意図を設計者に正確に伝達するためには,十分な要求獲得が必要となる.また,獲得した要求を記述し,評価する技術も必要である.これは要求仕様書を記述する前提として必要な技術である.利用者の意図を理解し,それを厳密に仕様化するためには,相手の思いを推し量る想像力と,それを図や文章を使って正確に記述する表現力,そして,表現されたものと現実世界とを照合し評価する技術が必要である.こうした技術は,いわゆるモノを作る技術であるソフトウェア工学技術とは異質の技術であり,要求工学は学際的な技術を必要とすると言われる所以である.
本講座では、クライアントから要求を獲得するための基本的な技術と,クライアントが住む現実世界を観察し,それをモデル化し,検証する技術,さらに,必然的に導出される要求と代替可能な要求を識別する技術を習得する.
要求工学に関わる基本的な概念と要求工学プロセスモデルを要求工学の基礎技術として位置づけ,本講座で取り扱う.さらに,ステークホルダの識別を始めとする要求獲得に纏わる基本的な技術や知識を学習する.現実世界の観察に基づく概念モデリング技術は,UMLを用いて,データ駆動型,およびシナリオ駆動型に基づく概念の抽出技術を学び,ここから現実世界の抽象化を試みる.さらに,動的モデルを用いて,概念モデルを検証する技術を学ぶ.モデルのレビューを繰り返すことによって,モデルを介して意思疎通を行うことを目指す.
また,要求獲得で使われる技術として,インタビュー技術,ステークホルダマップ,ステークホルダマトリクス,ユースケースモデルの役割を理解する.それぞれの技術は,演習によってその困難さを体験し,最後に,作成されたそれぞれの成果物の発表と議論によって,技術の理解を深める.
学習内容は,以下の通りである.
1.要求工学概論
· 要求と要求仕様
Ø 問題フレーム
· 要求獲得プロセス概観
· 要求獲得技法
2.現実世界をモデル化するための技術
·
データ駆動型概念抽出技術
·
シナリオ駆動型概念抽出技術
·
動的モデルによる概念モデルの検証
3.要求獲得技術
· インタビュー技術
Ø 構造化インタビュー,半構造化インタビュー,非構造化インタビュー
· ステークホルダ分析
Ø ステークホルダマップ,ステークホルダマトリクス
· ユースケースモデル
Ø この技術は,シナリオ分析でより深く,詳細に学ぶ
4.要求仕様各論
· 曖昧から,非曖昧へ
· 安定する要求,安定しない要求
· 要求の成熟
本講座の受講生は,以下の知識を習得済みであることが望ましい.
· UML
· オブジェクト指向分析手法
· astahの使用法
· KAOSの使用法
· i*のためのツールの使用法
第1週 要求工学基礎
·
要求と仕様
·
要求獲得プロセス
·
要求獲得技法概論
第2週 現実世界の理解(1)
·
問題フレーム
·
演習とレビュー
第3週 現実世界の理解(2)
·
データ駆動型概念抽出
·
酒屋倉庫問題演習
第4週 現実世界の理解(3)
·
発表とレビュー
第5週 現実世界の理解(4)
·
航空機チケット問題演習
第6週 現実世界の理解(5)
·
発表とレビュー
·
自動車保険に関わる演習
第7週 現実世界の理解(6)
·
発表とレビュー
·
シナリオ駆動型概念抽出法
·
航空機チケット問題演習
第8週 現実世界の理解(7)
·
発表とレビュー
·
動的モデルを用いた概念の検証
·
航空機チケット問題演習
第9週 現実世界の理解(8)
·
自動車保険の約款を用いた概念モデル演習
第10週 現実世界の理解(9)
·
発表とレビュー
第11週 要求獲得技法(1)
·
インタビュー技術
・ 構造化インタビュー
・ 半構造化インタビュー
・ 非構造化インタビュー
·
インタビュービデオを用いたインタビューの評価演習
·
「質問する」から,「学ぶ」へ
・ As-Is分析の問題
・ 「やっている」「やるべきだと考えている」「私はやっている」
第12週 要求獲得技法(2)
·
ステークホルダ分析
・ ステークホルダマップ
・ i*より,SDモデル,SRモデル
·
ネゴシエーション
・ ステークホルダマトリクス
・ 属性付ゴールモデル
・ Theory-W
·
演習
第13週 要求獲得技法(3)
·
ユースケースモデルとシナリオの役割
·
ゴール指向分析の役割
・ 安定した要求,安定しない要求
·
モデルの矛盾の発見
・ ゴール指向モデル
・ UMLを用いた各種モデル
第14週 曖昧さへの対処
·
曖昧さと非曖昧さ
·
要求仕様書の修正演習
第15週 要求の成熟
·
要求の安定性の評価
·
過去に学ぶ要求獲得計画:PRINCEモデル概説
本講座を受講することにより,要求工学の難しさと多様さを体験し,要求分析者としての基礎技術を理解することができる.本講座を受講することによって得た技術は,実際の適用現場での経験を通して繰り返し磨きをかける必要がある.また,本講座で得た知識は,シナリオ分析講座をはじめとする他の講座を受講するための前提知識となる.
本講座では,次のツールを使用する.
· astah
Ø UMLを用いたモデルの作成
· i*エディター,およびKAOSエディタ
Ø ゴール指向モデルの作成
・
概念モデル作成
・
インタビュー
・
ネゴシエーション
・
自己監査と相互レビュー
作業成果物,討論,レポートの評点を総合して評価する.
(1) IEEE Std. 830-1998, Recommended Practice for Software
Requirements Specifications, 1998.
(2) Jackson, M.: Problem Frames, Addison-Wesley, 2000.
(3)
Berry, D. M. and
Kamsties, E. “Ambiguity in Requirements Specification,” edited by
Leite, J. and Doorn, J., in
Perspectives on Software Requirements, Kluwer Academic Publishers, 2004,
pp.7-44.
(4) Robertson,
S. and Robertson, J.: Mastering the Requirements Process, Addison-Wesley, 1999.
(邦訳は1stエディション,原書は2ndエディション.原書の方は,1stエディションの誤り,説明不足などが修正されている.)
(5) Jacobson,
I. et al.: Object-Oriented Software Engineering, Addison-Wesley, 1992.
(邦訳:オブジェクト指向ソフトウェア工学OOSE,トッパン.
現在は,エスアイビー・アクセスより復刻出版)
(6) 大西淳監修: 要求工学概論,近代科学社,2009.
(7) 情報サービス産業協会:
要求工学知識体系REBOK,近代科学社,
2011.
(8) 中谷多哉子,青山幹雄編著:
オブジェクト指向に強くなる,
技術評論社,
2003.
(9) Davis,
A. : Just Enough Requirements Management, Dorset House Publishing, 2005.
(邦訳:成功する要求仕様 失敗する要求仕様)