この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は イ

解説

要件定義における機能要件と非機能要件の区別を問う問題です。機能要件は「システムが何をするか」、すなわち業務の処理内容・データの流れ・入出力・インタフェースなど、業務機能そのものに関する要件です。非機能要件は「システムがどのように動くべきか」、すなわち性能・可用性・運用性・保守性・セキュリティ・移行性、そして開発に関する技術的な制約や基準などの要件です。選択肢のうち、イの「システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する」は、業務機能ではなく開発の技術的な取り決めに関するものであり、非機能要件の定義で行う作業に該当します。イが正解です。残りの3つ(機能間の情報の流れの明確化、システム機能の実現範囲の定義、他システムとのインタフェースの明確化)はいずれも「システムが何をするか」に直結する機能要件の定義作業です。IPA の非機能要求グレードでは可用性・性能・拡張性・運用保守性・移行性・セキュリティ・環境エコロジーの6大項目(+環境)で整理されており、この分類も併せて覚えておくと判別が安定します。

なぜ他の選択肢は違うのか

選択肢 ア
業務を構成する機能間の情報(データ)の流れを明確にする作業は、業務プロセスとデータフローの定義そのものであり、機能要件の定義で行う作業です。DFD などの図法を用いて「どの機能からどの機能へどんなデータが渡るか」を明らかにすることは、システムが実現すべき業務機能の仕様を固める活動に当たります。性能や開発基準のような「どう動くか・どう作るか」の話ではありません。
選択肢 ウ
システム機能として実現する範囲を定義する作業は、システム化の対象スコープ、すなわち「システムが何をするか」を決める機能要件定義の中核的な作業です。どの業務をシステムで処理し、どこからを人手や他システムに委ねるかという線引きは、まさに機能そのものの定義です。性能・可用性・開発基準といった「どの程度・どのように」を定める非機能要件には該当しません。
選択肢 エ
他システムとの情報授受などのインタフェースを明確にする作業は、システム間でやり取りするデータの内容・形式・タイミングを定めるものであり、機能要件の定義に含まれます。何のデータを受け渡すかはシステムの機能仕様そのものです。非機能要件に該当するのは、接続の性能や可用性といった「どの程度うまく動くか」の側面です。

解くときのポイント

機能要件=「何をするか」(データの流れ・機能範囲・インタフェース)、非機能要件=「どう動くか・どう作るか」(性能・可用性・開発基準・技術標準)。開発基準・品質・性能の語が出たら非機能要件。