基本情報技術者 2010年 秋期 午前(科目A) 問64
問題文
非機能要件の定義に該当するものはどれか。
選択肢
ア:業務を構成する機能間の情報(データ)の流れを明確にする。
イ:システム開発で利用する言語に合わせた開発基準、標準を作成する。(正解)
ウ:システム機能として実現する範囲を定義する。
エ:他システムとの情報授受などのインタフェースを明確にする。
非機能要件の定義に該当するものはどれか。【午前2 解説】
要点まとめ
- 結論: イ は開発基準や標準の作成を指し、品質や運用に関する制約を定めるため非機能要件に該当します。
- 根拠: 非機能要件は性能、信頼性、保守性、運用性、セキュリティなどシステムの「品質特性」や開発・運用の制約を規定する点にあります。
- 差がつくポイント: 業務範囲やインタフェース、データフローは機能要件に近く、開発基準や標準の有無・細かさで非機能性を見分けられます。
正解の理由
イ: システム開発で利用する言語に合わせた開発基準、標準を作成することは、設計・実装・運用の品質や制約を定める行為です。非機能要件は「何を実現するか(機能)」ではなく「どのように実現するか/どのレベルで満たすか」を規定するため、開発基準やコーディング標準、テスト・運用ルールなどは明確に非機能要件に該当します。
よくある誤解
- 「インタフェースやデータの流れも非機能だ」と考える誤解:これらは具体的な機能(何をやるか)や機能間の接続仕様であり、基本的に機能要件に分類されます。
- 「非機能要件は仕様の後回しでよい」と考える誤解:非機能要件が曖昧だと性能問題や運用負荷、保守コスト増大を招き、後工程で大きな手戻りが発生します。
解法ステップ
- 問題文で示された項目が「何をするか(機能)」か「どのように/どのレベルで行うか(非機能)」かを分類する。
- 「開発基準・標準」「性能・信頼性・運用性・セキュリティ」などが含まれるかを確認する。
- 機能的な範囲(業務範囲、データフロー、インタフェース)は機能要件寄りと判断する。
- 選択肢の中で品質や手順・基準を示すものを非機能要件として選ぶ。
選択肢別の誤答解説
- ア: 業務を構成する機能間の情報(データ)の流れを明確にする。
→ これは「どの機能がどのデータをやり取りするか」という機能設計の範囲を示すため、機能要件に該当します。 - イ: システム開発で利用する言語に合わせた開発基準、標準を作成する。
→ 正解。開発手順や標準は品質・保守性・運用に関する非機能要件です。 - ウ: システム機能として実現する範囲を定義する。
→ これも機能要件そのものです。何を実現するか(機能の範囲)を決める記述は非機能ではありません。 - エ: 他システムとの情報授受などのインタフェースを明確にする。
→ インタフェース仕様は機能間/システム間のやり取りを定義するため、主に機能要件(インタフェース仕様)に含まれます。場合によってはセキュリティ要件等の非機能を伴いますが、単独では機能寄りです。
補足コラム
- 非機能要件の代表例:性能(応答時間、スループット)、可用性(稼働率)、信頼性(故障間隔)、保守性(モジュール化、コーディング標準)、運用性(バックアップ手順、ログ設計)、セキュリティ(認証・権限)など。
- 規格やモデル:ISO/IEC 25010 の品質特性(性能効率、信頼性、互換性、保守性等)は非機能要件を整理する際に便利です。
- 要件の書き方:非機能要件は定量化して記述することが重要です。例:「ピーク時の同時接続数1000件まで、平均応答時間は1秒以下」など、測定可能な基準を設定します。
FAQ
Q: コーディング規約は必ず非機能要件ですか?
A: はい。コーディング規約は保守性や品質管理のための基準であり、非機能要件に該当します。
A: はい。コーディング規約は保守性や品質管理のための基準であり、非機能要件に該当します。
Q: インタフェース仕様が非機能要件になる場合はありますか?
A: インタフェース自体は機能要件寄りですが、暗号化方式や通信プロトコル、スループット制約など品質や制約に関する記述が含まれる場合は非機能要件になります。
A: インタフェース自体は機能要件寄りですが、暗号化方式や通信プロトコル、スループット制約など品質や制約に関する記述が含まれる場合は非機能要件になります。
Q: 非機能要件はどの段階で決めるべきですか?
A: 要件定義の早期段階で決め、設計・テスト計画・運用設計に反映することが望ましいです。遅れると設計変更や追加コストが発生します。
A: 要件定義の早期段階で決め、設計・テスト計画・運用設計に反映することが望ましいです。遅れると設計変更や追加コストが発生します。
関連キーワード: 非機能要件、機能要件、品質特性、開発基準、コーディング規約、運用性、性能要件、インタフェース、要件定義、保守性、可用性、セキュリティ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

