ビジネスコミュニケーション

エンタープライズICT総合誌 月刊ビジネスコミュニケーション

本誌の概要 ホーム
要求工学 第10回:要求工学の課題 NTTデータ 技術開発本部 副本部長 山本修一郎
NTTデータ 
技術開発本部
副本部長 
山本修一郎


概要

前回は要求追跡について紹介した[1]。 本稿では、まず要求工学の最近の話題について、最近3年間の要求工学国際会議のプログラム[2][3][4]に基づいて説明する。次いで要求工学の解説論文[6][7]に基づいて、新しい要求工学の課題を紹介する。最後に、要求工学の位置づけを俯瞰し、今後を展望する。

要求工学国際会議における最近のキーワード

表1 にRE02、RE03、RE04のセッション名を要求工学の技術分類で 整理した結果を示した。表1では、要求抽出、要求分析、要求確認、要 求管理、要求工学の産業への応用について分類している。

要求抽出

要求抽出の最近のキーワードは、 ゴール指向、アスペクト指向、非機能要求、ユースケース、そして組織的社会技術的システム(Organizational and Socio-Technical Systems)だ。

ゴール指 向要求工学では、機能要求に対するビジネス 上の目的を明確にすることで、顧客やシステム利用者などの利害関係者との相互理解を容易化することができる。

アスペクト指向プログラミングでは、「横断要素」と呼ばれるオブジェクトにまたがる処理を、これらのオブジェクトごとに記述するのではなく、「アスペクト」としてまとめて記述する。アスペクト指向要求工学はこのようなコードレベルの「アスペクト」に対応する要求レベルの「アスペクト」に基づいて要求を抽出・分析する手法だ。アスペクトは設計レベルの概念なので、ビジネスに関するゴー ルと相補的な関係にある。ゴール指向とアスペクト指向を統合する方法も提案されている。

非機能要求(Non Functional Requirements, NFR)は、機能に対する性能や信頼性、操作性などの品質特性を規定する要求である。このため非機能要求のことを「品質 特性」とすることもある。

ユースケースは、現在ではソフトウェア開発の現場でも定着してきたが、ユースケースポイントによる見積り手法などの研究が進められている。しかし、ユースケースをITに詳しくない利害関係者との相互理解の道具として使うところまでは至っていないのではないだろうか。

組織的社会技術的システムの研究では、システムが利用される組織・社会面に基づいて要求を抽出するために、現場観察や社会調査を行うことにより、利用環境に関する深い理解を獲得するための手法が提案されている。

要求分析

要求分析で注目されるキーワード は、コンポーネント再利用やCOTS (Component-Off-The-Shelf )システム要求工学などの、部品の利用を前提とした要求工学と、類似ソフトウェア開発を対象とするプロダクトライン要求工学だ。

COTS要求工学では、部品を組み合わせた再利用を容易化するために、要求や部品仕様の記述法やと部品を連携させるための相互接続を容易化するためのしくみが研究されている。

たとえば、部品を検索する場合、 部品仕様を詳細に指定してしまうと、完全に一致する部品を発見できる可能性は低下する。相互接続性を保証するために、設計の可能性を制 限しないように、一般的に記述した要求をオープンターゲット要求という。

また部品を使うことを第一条件にすると、利害関係者の要求を完全に満たす部品を使うことはできなくなる可能性がある。たとえば、部品が 提供する機能に制約があったり、性能が十分でないなどの場合が考えられる。したがって、要求の妥当性とコストとのトレードオフについて利害関係者との交渉なども考慮するか、あるいは要求を実現するために、可能性のありそうなコンポーネントを探してきて利用環境に適合させることが必要だ。たとえば、まず重要な核となる要求を満たすCOTSを検索し、次いで付加的な要求を実現するようにCOTSを拡張するというようなCOTS選択プロセスが必要になるだろう。

プロダクトラインとは一連のソフトウェア製品の系列のことである。 プロダクトライン要求工学では、ソフトウェア製品系列の中で再利用される要求と、個々のソフトウェア製品のために必要となる要求を作成す る[8]。プロダクトライン要求の抽出では、プロダクトラインを想定して可能な限り核となる要求とは何かを検討する必要がある。製品の性格を 決定する要求を発見することが最も重要である。プロダクトライン要求の分析では再利用される核要求と、 変化する要求を分離し、それらの関係を明確にする必要がある。プロダクトライン要求の確認では、核要求が製品で正しいこと、変化要求が限 定されており核要求に悪影響を与えないことなどを確認することが必要になるだろう。プロダクトライン要求の管理では、ソフトウェア製品の一連の系列にわたって要求を追跡管理する。このため個別のソフトウェア要求の管理に加えて製品横断的な要求管理機構が必要になるだろう。

要求確認

要求確認で注目されるキーワード は、利害関係者との交渉(ネゴシエ ーション)と要求の可視化だろう。 これまでの要求工学では、無矛盾 で一貫性のある要求モデルを作成することを目指してきたが、利害関係者が合意しなければ、完全な仕様ができても意味がないということが認 識されるようになってきた。したがって利害関係者にも分かりやすい形で要求を提示したり、利害関係者間で矛盾する要求を分かりやすく指摘したり、矛盾を解消するためのしくみを提供することが重要になっている。矛盾を解消するためには、要求に優先順位をつけておき必要な要求を絞り込んでいく。このとき要求に対する非機能要求やゴールが明確になっていると、要求を選択しやすい。

要求の可視化では、アイコンやアニメーションを用いることにより、要求をシナリオに従って分かりやすく利害関係者に提示することで、要求確認作業を容易化することができる。


表1 最近の要求工学国際会議の話題

要求管理

要求管理は、表1からも分かるように最近盛んに研究されるようになってきた。要求管理のキーワードで は、要求と設計の同時並行作業、要求追跡、要求進化などが注目される。

XP(eXtreme Programming)では、システム開発を概略要求の段階から着手し、要求抽出や要求確認をシステム開発と並行して実施する。 XPではシステムを段階的に開発・ 導入することができる。XPのような短期開発手法が浸透してきた背景には、新製品の投入サイクルの短期化、制度の変更、ビジネスの統廃合、競争相手の戦略の急激な変化に対応するために、システムの構想・実現・導入を効率化する必要が高まってきたことなどがある。つまり要求工学に時間をかけていられないの だ。IT化の構想ができるとすぐに開発が始まり、開発の過程で要求が明確化される新しい要求工学が必要になったということだ。

これまでの考え方では、要求を確定しないで、設計に入ると、後で要求変更が生じて、大きな手戻りが発生するではないかという不安がある。要求と設計の同時並行化は本当にうまくいくのだろうか?少し考えてみよう。まず、複数の要求があるとする。これらの要求がもし互いに完全に独立であれば、別々に設計してもいいはずだ。この場合には明確になった要求から順番に設計工程に入ることができるので並行作業できる。では、要求の中に、依存関係がある場合はどうなるだろうか。このとき、互いに依存関係にある要求が重要な一次要求と副次的な二次要求に分けることができるとしよう。もし一次要求と二次要求に分けることができなければ、これらの要求はもともと一まとまりの要求にすべきだ。さてここで一つの仮定をおく。つまり利害関係者は一次要求に対しては変更を許さないが、二次要求に対しては、一次要求に影響を与えない範囲で変更を許すということを仮定する。もしこの仮定が成立するなら、一次要求が明確になった段階で、設計を開始できる。二次要求については、設計作業の中で仕様を確定できるからだ。

つまり要求間の優先順位を明確にし、利害関係者と十分な交渉と一次要求に関する合意ができれば、要求と設計の同時並行化は可能だということが分かる。さて問題は、そうはいっても、後から設計に入った一次要求がすでに設計が終わった一次要求に影響を与えるのではないかということだ。しかし、前提として、一次要求間には依存関係がないのだから、影響を与えるはずがない。もし、影響があるならそもそもこれらの要求は一次要求ではなかったことになるからだ。こう考えると、要求と設計の同時並行化は実行可能性が高いことが分かる。またここで指摘したことは、要求と設計が同時並行化で きるための条件を与えていると見ることもできるだろう。Sommervilleは、このような要求工学を「コンカレント要求工学」と呼んでいる。コンカレント要求工学の利点は、プロセスオーバヘッドの削減、重要な顧客要求(一次要求)の早期実現、要求変更への反応性が高いことなどである。

要求追跡は前回も紹介したが、要求を追跡管理することの投資効果の分析や自然言語解析による検索による追跡方式などが研究されている。 実際のソフトウェア開発では要求仕様などだけではなく、議事録や進捗管理票、試験仕様書などの文書もある。日本語処理の研究も進んできているので、テキスト検索に基づく要求追跡技術が期待できるのではないかと考えられる。要求追跡の研究やツール開発も進展しているが、産業界への導入はまだこれからである。今後は、要求追跡の実践的な研究開発が進んでいくことだろう。

要求の進化には、プロダクトラインのように、プロダクト間で要求が発展していく場合と、プロダクトの中で継続的な機能追加や変更などの理由により、進化していく場合の2つがあるだろう。

要求工学の産業への応用

要求工学が産業界に実際に適用されるようになってきたことと、ITがあらゆる産業に広く浸透してきたことから、表1に示したように様々な分野における具体的な要求工学の適用技術の開発が進んでいる。今後は異業種間でのシステムを連携させる場合も増えることが予想されるので、そのような業界横断的なシステムのための要求工学も期待されることだろう。

要求工学の課題


表2 要求工学の課題[Nuseibech,Easterbrook]

Nuseibech とEasterbrook[6]は、要求工学の課題として、利用環境のモデル化、社会学的要求獲得手法と仕様化手法のギャップの解消、非機能要求を獲得・分析する手法、ソフトウェアアーキテクチャの選択が要求の優先順位付けや進化に与える影響の解明、要求の再利用、総合的な教育を挙げている(表2)。

表2 要求工学の課題[Nuseibech,Easterbrook]

Sommervilleは新しい時代の要求工学として、統合化要求工学を提案した[7]。統合化要求工学では、コンカレント要求工学、要求と設計のト レードオフ、商用コンポーネントの活用が重要になるとしている(表3)。W i n - Win アプロ ーチでは、 システムの開発側と利用側の双方から見て、仕事を単純化する要求と、複雑化する要求を明確にしてトレードオフを評価することにより、利害関係者との交渉を容易化できる。


要求工学の課題の位置づけ

図1 要求工学の課題の位置づけ

図1では要求工学をとりまく要素として、利害関係者、利用環境や既存システム、COTSや再利用パッケージと開発対象システムの関係を示した。また開発対象システムの内部の関係として要求と設計の関係がある。

これまでに述べた課題を整理すると、図1のAからEの矢印のいずれかに対応することが分かるだろう。

A:利害関係者との交渉
B:利用環境・既存システムのモデル化と活用
C:COTS/パッケージのモデル化と活用
D:相互接続性
E:要求と設計の同時並行化、トレードオフの可視化

まとめ

今回は要求工学の最近の話題について紹介した。今年の要求工学国際 会議はパリで開催される予定だ[5]。 また新たな要求工学の研究や産業界における実証研究が報告されることだろう。

参考文献

[1] 山本修一郎、要求工学、ビジネスコミュニケーション, http://www.bcm.co.jp/
[2] RE02, http://www.re02.org/
[3] RE03, http://conferences.computer.org/RE/
[4] RE04, http://www.re04.org/
[5] RE05, http://crinfo.univ-paris1.fr/RE05/
[6] Nuseibeh, B. and Easterbrook, S., Requirements Engineering: A Roadmap, http://www.softwaresystems.org/future.html
[7] Sommerville, I., Integrated Requirements Engineering: A Tutorial, IEEE Software, pp.16-23, 2005.
[8] 岸知二、野田夏子、深澤良彰、ソフトウェアアーキテクチャ、共立出版、2005


広告募集 ページ先頭へ
Copyright:(C) 2005 BUSINESS COMMUNICATION All Rights Reserved. ※本サイトの掲載記事、コンテンツ等の無断転載を禁じます。