「ユーザー企業が必要としているのはどのようなシステムか」を定義した要求仕様書を,いかに適切に作成するか――IT業界における長年の懸案事項である。日本情報システム・ユーザー協会(JUAS)は7月5日,この課題の解決を狙った「要求仕様定義ガイドライン」を発表した。システム開発に必要な情報を盛り込んだ要求定義書をどのように書けばよいかを具体的に示すことを意図したもので,「要求仕様書をいかに作るかという“how”に踏み込んだガイドラインは初めてではないか」と,JUASの細川泰秀専務理事は話す。まだ未完成の部分もあるが,ユーザー企業やベンダーの参考資料として役立ちそうだ。

 要求仕様定義ガイドラインでは,要求仕様書の構成要素を,(1)(狭義の)要求仕様書,(2)概念データモデル,(3)入出力の定義,の三つとする。中核となるのは(1)。まず,システムに対する要求を「上位の要求」「下位の要求」という二つのレベルで定義する。なぜそうした要求が発生するのかの「理由」も明記する。その上で,これらの要求を満たすためのシステムの「仕様」を,それぞれの要求の下に記述していく。

 これらの要求・理由・仕様は,Excelを使って管理する。仕様を明確にしていく上で,その仕様を実現する具体的な方法がイメージできたら,その段階で仕様に「説明」を付記する。この(狭義の)要求仕様書は,システムクリエイツの清水吉男氏が提案している「USDM(Universal Specification Description Manner)」と呼ぶ表記法を基にしている。

 要求仕様書を記述する際には,Wordを使うことも多い。今回は,「Wordを使うと,説明が冗長になりがち」(同ガイドラインの策定を主導した,東京情報大学環境情報学科の玉置彰宏客員教授)になるため,Excelを選んだという。要求仕様書のExcelシートには,関連するシステム設計書やソース・ファイルなども追加できるので,「仕様変更管理も容易になる」(同)。

 同ガイドラインでは,こうした(狭義の)要求仕様書に加えて,概念データモデルと入出力の定義が要求仕様書に必要としている。前者の概念データモデルは,DOA(データ中心アプローチ)手法の一つであるT字形ER手法を使って,データ・モデルを軸にシステム全体を俯瞰できるようにするもの。「このモデルはSEが作る。これによって,ユーザーとSEが情報の共有を図ることができる」(玉置客員教授)。もう一つの入出力の定義は,(a)画面/帳票のイメージ,(b)入出力データ,(c)入出力データ項目,(d)ロジックといったものの定義を指す。例外処理やパフォーマンスに関する要件も含まれる。これらを(狭義の)要求仕様書と別に定義すれば,「(狭義の)要求仕様書をコンパクト化するのにも役立つ」(同)。

 JUASは今回の要求仕様定義ガイドラインを,2006年6月から2007年2月までプロジェクトを組んで検討した。まだ作業は継続しており,「今年度は策定した要求仕様書の内容が正しいかどうかをテストする手法について検討を進めるために準備中」(JUASの細川専務理事)という。すでにJUAS会員企業数社で,同ガイドラインの適用を試行しており,その結果もフィードバックしていく考えだ。同ガイドラインの詳細は,「要求仕様定義ガイドライン2007」と呼ぶ166ページの報告書にまとめている。