メインコンテンツへ
開発技術システム開発技術

機能要件と非機能要件の説明として、最も適切なものはどれか。

ア.機能要件はシステムの性能・可用性・セキュリティなどの品質特性を定め、非機能要件はシステムが実現すべき業務機能を定める
イ.機能要件と非機能要件は同義であり、どちらもシステムの振る舞いを記述するためのものである
ウ.非機能要件は開発者向けの実装仕様であり、ユーザには開示しない技術的な制約条件を指す
エ.機能要件はシステムが「何をするか」という業務機能・振る舞いを定め、非機能要件はシステムが「どれくらいうまくやるか」という品質特性(性能・可用性・セキュリティ等)を定める正解

解説

機能要件は「何の料理を出すか(メニュー)」、非機能要件は「何分で出すか・アレルギー対応するか・店の清潔さ(品質レベル)」。どちらも重要だが、性質がまったく違います。

なぜ エ が正解か

機能要件(Functional Requirements):システムが実現すべき業務機能・入出力・処理ロジックを定義します(例:「ユーザがIDとパスワードを入力するとログインできる」)。非機能要件(Non-Functional Requirements):機能の品質を定義します(例:「ログイン処理は1秒以内に完了する」「99.9%の可用性を確保する」「不正アクセスを防止する」)。FURPS+やISO/IEC 25010が非機能要件の分類フレームワークとして使われます。

なぜ ア は間違いか

説明が逆になっています。性能・可用性・セキュリティは非機能要件、業務機能の実現は機能要件です。

なぜ イ は間違いか

機能要件と非機能要件は異なる概念です。機能要件は「何をするか」、非機能要件は「どれくらいうまくやるか」という異なる観点を扱います。

なぜ ウ は間違いか

非機能要件はユーザやステークホルダと合意すべき重要な要求事項です。「開発者だけの内部制約」という認識は誤りです。SLAや品質目標としてユーザと明示的に契約することも多いです。

出典: AI生成問題(学習用)