ITパスポート 2010年 秋期 問49
問題文
システム開発プロセスには、システム要件定義、ソフトウェア要件定義、ソフトウェア方式設計、ソフトウェア詳細設計などがある。システム要件定義で実施する作業として、適切なものはどれか。
選択肢
ア:応答時間の目標値の決定(正解)
イ:データベースのレコード及び主キーの決定
ウ:データを処理するアルゴリズムの決定
エ:プログラム間でやり取りされるデータの形式の決定
🔒 解説は解答すると表示されます
システム要件定義で実施する作業はどれか【ITパスポート 解説】
正解の理由
システム要件定義は、システム全体として「何を」「どのような条件で」実現するかを決める工程です。ここでは業務要件や非機能要件(性能、可用性、セキュリティなど)を決めます。
「応答時間の目標値の決定」は、システム全体の性能目標を定める作業です。これはまさに非機能要件にあたるため、システム要件定義で行うのが適切です。
「応答時間の目標値の決定」は、システム全体の性能目標を定める作業です。これはまさに非機能要件にあたるため、システム要件定義で行うのが適切です。
補足説明:
- 非機能要件:機能以外の要求(例:速さ、信頼性、可用性)。英語では「non-functional requirements」と言います。
解法ステップ
- 問題文で「システム要件定義」という言葉に注目する。これは“システム全体”の要件を定める工程であると理解する。
- 選択肢の作業内容が「システム全体レベル」か「ソフトウェア内部の設計・実装レベル」かを判断する。
- 「応答時間の目標」はシステムの性能目標であり全体設計に関わるため、システム要件定義に該当する。
- 他の選択肢(データベースの主キーやアルゴリズム、データ形式)はより詳細な設計段階で決めるため除外する。
選択肢別の誤答解説
-
ア: 応答時間の目標値の決定 — 正解。システム全体の性能要求(非機能要件)を定める作業で、システム要件定義の代表例です。
-
イ: データベースのレコード及び主キーの決定 — 誤り。これはデータベース設計の範囲で、論理設計(どんなテーブルが必要か)や物理設計(主キー、インデックス等)といったより詳細な工程で決めます。通常はソフトウェア要件定義→方式設計→詳細設計の流れで扱います。
-
ウ: データを処理するアルゴリズムの決定 — 誤り。アルゴリズムは具体的な処理手順の設計です。ソフトウェア詳細設計(実装に近いレベル)で検討・決定されます。システム要件定義では「どんな処理が必要か」は示しますが、どういうアルゴリズムで実装するかまでは決めません。
-
エ: プログラム間でやり取りされるデータの形式の決定 — 誤り。これはインタフェース設計やデータ形式の定義(例:API仕様、メッセージフォーマット)に当たり、方式設計や詳細設計で決める内容です。システム要件定義では「データをやり取りする必要がある」などの高レベル要件を示しますが、具体的な形式は後工程で確定します。
よくある誤解
-
「性能(応答時間)は詳細設計で決める」と考える
→ 性能目標(例えばレスポンスが2秒以内)はシステムとして満たすべき目標値なので要件定義で定めます。具体的な実現手段(キャッシュを使う、並列処理する等)は後の設計で検討します。 -
「要件定義で全ての詳細(主キーやアルゴリズム)を決めるべきだ」と思う
→ 要件定義は“何を実現するか”の合意をつくる工程です。詳細な技術的手段は方式設計・詳細設計で決めます。役割分担を区別することが重要です。 -
「データ形式=システム要件」と混同する
→ データをやり取りする必要性は要件に含まれますが、具体的なフォーマット(例:JSON, XML、フィールド名)は後の設計工程で決めます。
補足コラム
開発プロセスの簡単な流れ(上流から下流へ):
- システム要件定義:業務要件、非機能要件(性能・可用性・セキュリティ等)、スコープや制約を決定。関係者(顧客、業務担当、インフラ担当等)と合意する段階。
- ソフトウェア要件定義:システム内でのソフトウェアが提供すべき機能や性能の詳細化。外部インタフェースや機能ごとの要件を明確にする。
- ソフトウェア方式設計(アーキテクチャ設計):システムの構成(モジュール分割、通信方式、データの流れなど)と技術方針を決める。
- ソフトウェア詳細設計:クラス、関数、データベーススキーマ、アルゴリズム等、実装に直結するレベルで設計。
役割の目安:
- システム要件定義:ビジネス側の要求と合意形成が中心。
- 方式/詳細設計:技術者(開発者、設計者)が中心に検討。
FAQ
Q. 応答時間の目標値は具体的にどのように決めるべきですか?
A. 利用者の期待や業務の重要度、類似システムの実績、インフラコストなどを考慮して設定します。例:「ピーク時でもページ表示は2秒以内」「バッチ処理は夜間に完了」など、達成基準が明確な数値にします。
A. 利用者の期待や業務の重要度、類似システムの実績、インフラコストなどを考慮して設定します。例:「ピーク時でもページ表示は2秒以内」「バッチ処理は夜間に完了」など、達成基準が明確な数値にします。
Q. 「非機能要件」とは何ですか?簡単に教えてください。
A. 非機能要件は「何をするか(機能)」以外の要求です。例:速さ(性能)、壊れにくさ(信頼性)、いつ使えるか(可用性)、守るべき情報の扱い(セキュリティ)など。英語では「non-functional requirements」と言います。
A. 非機能要件は「何をするか(機能)」以外の要求です。例:速さ(性能)、壊れにくさ(信頼性)、いつ使えるか(可用性)、守るべき情報の扱い(セキュリティ)など。英語では「non-functional requirements」と言います。
Q. 要件定義で決めた応答時間が後で達成できない場合はどうなる?
A. 技術的に達成困難なら、設計段階で代替案(ハードウェア増強、キャッシュ導入、機能の見直し等)を検討します。最終的には顧客と再交渉して目標を調整することもあります。
A. 技術的に達成困難なら、設計段階で代替案(ハードウェア増強、キャッシュ導入、機能の見直し等)を検討します。最終的には顧客と再交渉して目標を調整することもあります。
関連キーワード: システム要件定義、非機能要件、応答時間、性能要件、ソフトウェア要件定義、方式設計、詳細設計、データベース設計、アルゴリズム、インタフェース設計

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

