基本情報技術者 2019年 秋期 午前(科目A) 問65
問題文
非機能要件の定義で行う作業はどれか。
選択肢
ア:業務を構成する機能間の情報(データ)の流れを明確にする。
イ:システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する。(正解)
ウ:システム機能として実現する範囲を定義する。
エ:他システムとの情報授受などのインタフェースを明確にする。
非機能要件の定義で行う作業はどれか。【午前2 解説】
要点まとめ
- 結論: 非機能要件はシステムの品質や制約(性能、可用性、安全性、運用基準など)を定義する作業であり、選択肢イが正解です。
- 根拠: 非機能要件は「何をするか」ではなく「どの程度・どのように実現するか」を示すため、開発言語に合わせた技術基準作成が該当します。
- 差がつくポイント: インタフェースや機能範囲、データフローは機能要件寄りである点を押さえ、技術的な基準や運用要件まで含める判断が差を生みます。
正解の理由
非機能要件とは、システムの機能そのものではなく「性能」「信頼性」「可用性」「保守性」「セキュリティ」「運用性」などの品質属性や、開発・運用に関する制約を定義するものです。
選択肢イ「システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する。」は、まさに技術的制約や品質基準を明記する行為であり、非機能要件の典型的な作業に当たります。したがって正解です。
選択肢イ「システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する。」は、まさに技術的制約や品質基準を明記する行為であり、非機能要件の典型的な作業に当たります。したがって正解です。
よくある誤解
- 機能の定義(何をするか)と非機能(どのように行うか)を混同し、インタフェースや機能範囲を非機能要件と誤認する点。
- 「運用ルール」や「開発標準」は設計段階の作業だと思い込み、要件定義に含めない誤り。非機能は要件段階で決めておくべき事項です。
- 非機能要件は抽象的で検証不能だと考え、測定可能な基準(例:応答時間、可用率、バックアップ間隔)を示さないミス。
解法ステップ
- 問題文で求めるのが「非機能要件の定義」であることを確認する。
- 各選択肢を「機能要件(何をするか)」と「非機能要件(どの程度・どのように)」で分類する。
- 非機能に該当するのは品質や技術基準に関するものかを検討する。
- 技術基準や開発標準に該当する選択肢を正解とする。
選択肢別の誤答解説
- ア: 業務を構成する機能間の情報(データ)の流れを明確にする。
→ これはデータフローや機能間の関係を定義するため、機能要件/業務要件や外部設計の範疇であり非機能要件ではありません。 - イ: システム開発で用いるプログラム言語に合わせた開発基準、標準の技術要件を作成する。
→ 正解。開発言語に依存するコーディング規約、ランタイム制約、ライブラリ選定など技術的制約は非機能要件に該当します。 - ウ: システム機能として実現する範囲を定義する。
→ これはスコープや機能範囲の定義であり、機能要件/要求定義に該当します。非機能ではありません。 - エ: 他システムとの情報授受などのインタフェースを明確にする。
→ インタフェース仕様は機能的な入出力やプロトコル定義で、機能要件や外部設計に近く、非機能要件とは区別されます。
補足コラム
非機能要件はSRS(要求仕様書)で明確化し、検証可能な形で記載することが重要です。例えば「応答時間は99パーセンタイルで2秒以下」「可用性99.95%」「ログは過去90日分を保存」など、数値と測定方法を示すことでテストや受入れが可能になります。開発基準としては、言語固有のメモリ管理や例外処理方針、使用禁止ライブラリ、コンパイラ/ランタイムのバージョンなどを要件化します。これにより設計段階での技術的齟齬や運用トラブルを未然に防げます。
FAQ
Q1: インタフェースが「非機能」になることはありますか?
A1: 原則として外部との入出力仕様は機能要件寄りですが、インタフェースの可用性や帯域、セキュリティ要件(暗号化方式など)は非機能要件に含められます。区別は「仕様そのもの」か「品質・制約」かで判断します。
A1: 原則として外部との入出力仕様は機能要件寄りですが、インタフェースの可用性や帯域、セキュリティ要件(暗号化方式など)は非機能要件に含められます。区別は「仕様そのもの」か「品質・制約」かで判断します。
Q2: コーディング規約は設計や開発段階の話では?要件に含める理由は?
A2: 開発基準を要件段階で合意しておくと、設計・実装のブレが減り品質確保や保守性向上につながるため、非機能要件として明記することが望ましいです。
A2: 開発基準を要件段階で合意しておくと、設計・実装のブレが減り品質確保や保守性向上につながるため、非機能要件として明記することが望ましいです。
Q3: 非機能要件はすべて数値化すべきですか?
A3: 可能な限り測定可能にしておくのがベストです。定性的な記述は補足的に用いるに留め、受入基準に結び付ける数値や試験方法を示しましょう。
A3: 可能な限り測定可能にしておくのがベストです。定性的な記述は補足的に用いるに留め、受入基準に結び付ける数値や試験方法を示しましょう。
関連キーワード: 非機能要件、機能要件、要件定義、技術要件、開発基準、性能要件、可用性、インタフェース、保守性、セキュリティ

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

