平成21年度 秋期 ITパスポート試験 問37 解説 ソフトウェア要件
問37 ソフトウェア要件として明確に規定すべきものはどれか。
- ア 開発環境のディスク容量
- イ システム化目標
- ウ データ定義 ✓ 正答
- エ データベースの最上位レベルの設計
解説
ソフトウェア要件定義とは、これから開発するシステムが何をすべきかという「機能」や「制約」を具体的に定める作業です。正解を選ぶ決め手は、開発する対象物(システム)の中に含まれる要素か、それともシステムを作るための周囲の環境や指針かを見極めることです。
システム要件定義の役割
ソフトウェア要件定義は、ユーザーの要求をシステムとして実装可能な仕様に落とし込む工程です。ここでの主な目的は、システムが扱う情報(データ)の構造や、ユーザーが操作する機能の動きを「開発者と顧客の間で合意可能なレベルまで具体化すること」にあります。
データ定義とは、システムが扱う情報を具体的にどう保持するか、項目名やデータの型(数値、文字、日付など)、桁数などを指します。これらが決まっていなければ、データベース設計もプログラム開発も進めることができないため、要件定義という早い段階で明確にする必要があります。
他の選択肢が誤りである理由
選択肢を整理すると、本質的な違いが見えてきます。
アの開発環境のディスク容量は、システムそのものの要件ではなく、開発プロセスを遂行するための「環境条件」です。 イのシステム化目標は、システム開発の「目的」や「方針」であり、要件(何を作るか)そのものではありません。 エのデータベースの最上位レベルの設計は、要件定義の後に行う「外部設計」や「内部設計」といった工程で扱う内容です。要件定義はその一歩手前で「何を記録する必要があるか」を確定させる場所です。
現場で求められる要件定義の視点
実務の現場において、要件定義は「後戻りを防ぐための契約書」のような役割を果たします。データ定義を曖昧にして開発を進めてしまうと、後から「必要な情報が足りない」「桁数が足りない」といった重大な手戻りが発生し、プロジェクトの遅延やコスト増加を招きます。
この問題の教育的意図は、要件定義の範囲がどこまでかという「境界線の理解」を問うことにあります。システムがどのような情報を保持し、それらがどのような関係にあるかを明確にすることこそが、要件定義の核であることを押さえておきましょう。