平成22年度 秋期 ITパスポート試験 問49 解説 システム要件定義の作業
システム開発プロセスには,システム要件定義,ソフトウェア要件定義,ソフトウ ェア方式設計,ソフトウェア詳細設計などがある。システム要件定義で実施する作業 として,適切なものはどれか。
- ア 応答時間の目標値の決定 ✓ 正答
- イ データベースのレコード及び主キーの決定
- ウ データを処理するアルゴリズムの決定
- エ プログラム間でやり取りされるデータの形式の決定
解説
システム要件定義は、システムが実現すべき「何を(機能)」と「どの程度(性能)」を定めるフェーズです。応答時間はシステムの性能に関わるため、この定義段階で決定します。他の選択肢は、決定された要件をもとに具体的にどう作るかを決める「設計」フェーズの内容であると判断します。
システム要件定義と設計フェーズの境界線
システム開発は、抽象度の高いところから具体的な形へと落とし込んでいく作業です。
システム要件定義は、ユーザーが業務で何を実現したいか、そのシステムに何を求めるかを定義する上流工程です。ここでは、機能面だけでなく、処理速度や信頼性、セキュリティといった非機能要件も定めます。応答時間は、システムの使い勝手に直結する性能要件の一つであり、要件定義の段階で利害関係者と合意しておくべき項目です。
これに対し、設計工程は、システム要件で決めた内容を、ITの専門知識を用いて「どのように作るか」に変換するプロセスです。ソフトウェア方式設計や詳細設計といった工程では、データベースの構造(レコードやキー)や、プログラム内部の処理ロジック(アルゴリズム)、プログラム間でのデータ受け渡し方法(インターフェース)など、具体的な実装レベルの詳細を決定します。
工程を分類する思考プロセス
この問題を解く際は、問われている作業が「何を実現するか」を定めているのか、あるいは「どうやって実現するか」を定めているのかを分類します。
・システム要件定義:顧客ニーズや要求(機能、性能、運用など)の明確化 ・設計工程:要件を技術的に解決するための具体化(構造、手法、内部仕様)
選択肢を分類すると以下のようになります。
・ア:応答時間の目標値(性能要件)→ システム要件定義 ・イ:レコード・主キーの決定(DB設計)→ ソフトウェア詳細設計 ・ウ:処理アルゴリズムの決定(論理設計)→ ソフトウェア詳細設計 ・エ:データの形式の決定(インターフェース設計)→ ソフトウェア方式設計や詳細設計
このように、対象が「システム全体の外側から見える要件」か「内部の技術的仕様」かを判断することで正解にたどり着けます。
実務現場における要件定義の重要性
現場において、システム要件定義は極めて重要な工程です。ここで応答時間などの性能要件が曖昧なままプロジェクトを進めてしまうと、完成間近になって「システムが重くて業務が回らない」といった重大なトラブルが発生します。後戻り工程は開発コストを大きく増大させるため、ITパスポートで問われるような「どのフェーズで何を定義すべきか」という知識は、開発プロジェクトを円滑に進めるための最低限のセオリーといえます。
また、非機能要件(性能、可用性、保守性など)を要件定義で明確にする手法は、システム設計の標準であるISO/IEC/IEEE 12207などでも重視されています。技術的な詳細に入る前に「何がゴールか」を関係者間で共有することが、エンジニアとして最も求められるスキルの一つです。