マナビング基本情報技術者

非機能要件の定義で機能要件とどう見分けるか

基本情報技術者試験 令和元年度秋期 午前 問65 / システム企画 › 要件定義

過去問にチャレンジ

令和元年度秋期 午前 問65

非機能要件の定義で行う作業はどれか。

  1. ア

    業務を構成する機能間の情報(データ)の流れを明確にする。

  2. イ

    システム開発で用いるプログラム言語に合わせた開発基準,標準の技術要件を作成する。

  3. ウ

    システム機能として実現する範囲を定義する。

  4. エ

    他システムとの情報授受などのインタフェースを明確にする。

会話形式の解説

講師講師
この問題では、各作業が何を定めているかに注目します。システムの機能ですか、それとも開発上の条件ですか。
受験者受験者
データの流れも技術的な内容に見えるので、非機能要件との区別に迷います。
講師講師
そこで、どのデータが機能間を流れるかを明らかにすると、何が決まるでしょうか。
受験者受験者
機能同士の関係が決まります。開発時に守る条件とは違いますね。
講師講師
そのとおりです。システムが実現する機能の範囲を決める作業も、何を提供するかを定めるので機能要件に関する内容です。
受験者受験者
では、他システムとの情報の受け渡しを明確にする作業はどう考えますか。
講師講師
そこで定めるのはインタフェース、つまり情報の受け渡しに関する仕様です。この選択肢も非機能要件には当たりません。
受験者受験者
残る開発基準や標準の技術要件は、システムの機能ではなく開発の条件を定めていますね。
講師講師
はい。使用するプログラム言語に合わせて開発上の技術的な条件を定める作業なので、これが正解です。
受験者受験者
内容が技術的かどうかだけでなく、定める対象が機能か開発上の条件かを確かめればよいのですね。
講師講師
その見方が大切です。機能の範囲、機能間のデータの流れ、他システムとの情報の受け渡しを、開発上の技術的な条件と取り違えないようにします。

まとめ

非機能要件に当たるかは、選択肢が何を定めているかで判断します。機能の範囲、機能間のデータの流れ、他システムとの情報の受け渡しは、機能に関する事項です。使用するプログラム言語に合わせた開発基準や標準の技術要件は、開発上の条件を定めるため、非機能要件の定義に当たります。

解答・解説

正解はイです

この問題のテーマ

非機能要件に当たる作業を、システムの機能を定める作業と区別する問題です。

解き方の考え方

まず、各選択肢が「システムに何をさせるか」と「開発時にどのような条件を守るか」のどちらを定めているかを見ます。機能の範囲やデータの受け渡しを定める作業は機能に関する事項です。開発基準や標準の技術要件を定めるイが、非機能要件の定義に当たります。

選択肢ごとの解説

  1. ×ア  業務を構成する機能間の情報(データ)の流れを明確にする。
    機能間をどのデータが流れるかを明らかにする作業です。機能同士の関係を定める内容なので、非機能要件には当たりません。
  2. ○イ  システム開発で用いるプログラム言語に合わせた開発基準,標準の技術要件を作成する。
    使用するプログラム言語に合わせて、開発基準や標準の技術要件を作成します。これは開発上の技術的な条件を定める作業なので、非機能要件に該当します。
  3. ×ウ  システム機能として実現する範囲を定義する。
    システムが実現する機能の範囲を決める作業です。何を機能として提供するかを定めているため、機能要件に関する内容です。
  4. ×エ  他システムとの情報授受などのインタフェースを明確にする。
    他システムとどのように情報を授受するかを明らかにする作業です。ここで定めるのは情報の受け渡しに関するインタフェースの仕様であり、非機能要件には当たりません。

POINT

  • 機能要件は、システムが実現する機能を定めます。
  • 非機能要件には、開発上の技術的な制約が含まれます。
  • 選択肢が定めている対象を見て、機能に関する事項かどうかを判断します。

※出典:令和元年度秋期 基本情報技術者試験 午前 問65