システム構築におけるユーザーの要求を、科学的に定義するための方法や考え方の総称。“ユーザーは何が目的なのか”、“どういった機能が必要なのか”といった要求をまとめ、それをシステムに正しく反映させる手法全般を対象にする。主な領域は、システム構築の最上流工程である要求定義の手法だが、それ以外にも、要求の変更を管理する手法や、要求が適切に反映されているかどうか検証する手法を含む。

 要求工学は、1970年代後半から米国で研究が進められてきた。日本では2004年に入ってから本格的な取り組みが始まった。例えば、国内における研究の場として、2004年10月に発足したIPA(情報処理推進機構)のソフトウェア・エンジニアリング・センター(SEC)が研究部会を立ち上げた。また、2004年9月に、米IEEE Computer Societyが主催する要求工学国際会議が日本で初めて開催された。このほか、企業レベルでも研究や実践が進んでいる。

 こうした動きの背景には、多くのプロジェクトで、要求定義の漏れや失敗によって納期遅れやコスト超過が起こっているという事実がある。開発が終盤に差しかかってから要求が正しく反映されていないことにユーザーが気づき、そのやり直しに多大な作業が発生する。こうした問題は以前からあったものの、近年のシステム構築では、ステークホルダー(利害関係者)が多いことや、ビジネスの環境変化が速く要求が変わりやすいことなど、失敗を引き起こす危険性がどんどん高まっている。これまで、要求定義は個人の技量に頼っていたが、工学的な手法で失敗を少なくしたいとの考えが広まってきた。

 要求工学では一般的に、要求に関する工学的な手法を、四つの領域で分類している。すなわち、(1)要求の獲得、(2)要求の定義、(3)要求の検証、(4)要求の管理、である。

 (1)要求の獲得は主に、インタビューなどによってユーザーから目的や必要な機能を引き出すことである。例えば手法の一つとして「ソフト・システムズ方法論(SSM)」がある。SSMを使えば、ステークホルダー間で問題状況を話し合って課題に対する合意を引き出すことができる。別な要求獲得手法である「ゴール指向分析」は、ユーザーの要求を詳細に分析する手法であり、要求のなかで本当に必要なものとそうでないものを見分けることに用いられる。

 (2)要求の定義は、モデリングによって要求を可視化したり、要求仕様書を作成したりすること。UML(統一モデリング言語)に関する研究などはこの分野にあたる。(3)要求の検証は、例えばレビューなどによってソフトが要求を正しく反映しているかどうかを確認することである。

 (4)要求の管理は、システム開発の過程で要求が変更される場合に上流工程からの一貫性を保ったり、要求定義の内容を別なシステムで再利用したりすること。この分野では既に米ボーランドなどから要求管理用ツールが提供されている。

(森側)

本記事は日経コンピュータ2005年1月10日号に掲載したものです。
同誌ホームページには,主要記事の概要や最新号およびバックナンバーの目次などを掲載しておりますので,どうぞご利用ください。

日経コンピュータ・ホームページ

定期購読お申し込みや当該号のご購入