平成21年度 秋期 ITパスポート試験 問32 解説 システム要件定義
あるシステムの開発において, システムを24時間連続稼働させることになった。稼 働時間について利用部門と取決めを行う工程はどれか。
- ア システム結合テスト
- イ システムテスト
- ウ システム要件定義 ✓ 正答
- エ ソフトウェア方式設計
解説
この問題は、システムの開発工程において「どの段階で何を決めるのか」という役割分担を理解しているかを問うています。正解を導く鍵は、稼働時間のようなシステム全体に関わる条件は、開発に着手する前の初期段階である「システム要件定義」で合意しておく必要があるという原則です。
要件定義はシステムの「約束事」を決める場所
システム開発の現場では、開発を進める前に「どのようなシステムを作るのか」を明確にします。これが要件定義です。要件には大きく分けて二種類あります。
- 機能要件:システムがどのような機能を持つか(例:検索機能がある、データを保存できる)
- 非機能要件:機能以外のシステム品質(例:24時間365日稼働する、高いセキュリティを保つ、処理速度が速い)
「24時間連続稼働」は、システムの信頼性や運用に関わる「非機能要件」の代表例です。もしこの取り決めを開発の後半で行ってしまうと、稼働時間を支えるための設計や機材の選定をやり直す必要が出てきてしまい、大幅なコスト増とスケジュールの遅延を招きます。そのため、利用部門との間で最も重要かつ初期に行うべき合意事項となります。
なぜ他の選択肢ではいけないのか
試験問題では、各工程がどのような作業をする場所かを知っていると、誤答を排除しやすくなります。
システム結合テストやシステムテストは、開発したものが仕様通りに動くかを確認する「検証」の工程です。すでにシステムは形作られている段階であるため、今さら「24時間稼働にするかどうか」を相談する段階ではありません。
また、ソフトウェア方式設計は、システム要件を満たすために、どのようなソフトウェア構造で実現するかを具体的に決める「開発者側の詳細な設計」の工程です。利用部門との契約的な条件を合意する場所ではなく、決まった要件をどう技術的に落とし込むかを考える場所です。
開発工程全体の流れと意思決定のタイミング
システム開発は、川の流れのように上流から下流へ進むウォーターモデルをイメージしてください。
上流工程である要件定義で決めたことは、その後のすべての設計・開発・テストの土台になります。稼働時間のようなシステム全体の根幹に関わることは、後の工程になればなるほど変更の代償(手戻りコスト)が指数関数的に大きくなります。
この問題の教育的な意図は、単に用語の定義を暗記することではなく、「なぜ開発の最初の方でこうした取り決めをしなければならないのか」という、プロジェクト管理上の論理的背景を理解させることにあります。実務において、要件定義の漏れはプロジェクト最大の失敗要因の一つと言われています。まずは「利用部門との約束は一番最初に行う」という感覚を身につけておきましょう。