IPA 要件定義・製品品質 — 頻出論点と過去問

頻出論点

1. この分野は何か

作る前に何を作るかを利用者と取り決める段階と、出来上がった製品の良さを測る物差しを扱います。要求を聞き出す技法の向き不向き、要件の種類、JIS X 25010 の品質特性どうしの境目、事故や障害の原因を調べる手法の出発点の違いが、見分けどころになります。

2. 実際の出題のされ方

要件定義が開発工程のどこに位置づけられ、利用者がそこへどう関わるかという基本の役割分担から問われます。ITパスポートでは、システム化計画を受けて必要な機能を明らかにし合意する工程を選ぶ問題や、開発者がシステム要件を定義するときの利用者の関わり方を選ぶ問題が出ています。応用情報技術者の午前では、利用者像を仮想の人物として描いたものの呼び名、成果物の文書が要求事項を守っているかを調べる検証手法、トレーサビリティが確保された状態の説明を選ぶ問題があります。

要求の獲得技法や要件の評価・品質保証の論点は、システムアーキテクトやプロジェクトマネージャの午前IIで掘り下げられます。システムアーキテクトの午前IIでは、インタビュー技法における長所と短所の組合せを問う問題や、品質に関する主張の正当性を裏付ける文書の導入目的を問う問題が出ています。プロジェクトマネージャの午前IIでは、利用者要件の中から非機能要件に当たる項目を選ばせる問題や、定義された要件が検証可能である状態の例を選ばせる問題が出題されています。

JIS X 25010 の製品品質モデルに関しては、8つの品質特性やその副特性の定義文・評価指標・利用時の品質への影響を識別させる問題が、システム監査技術者の午前IIをはじめ複数の区分で繰り返し出題されています。さらに、エンベデッドシステムスペシャリストの午前IIでは、事故の原因の種類に合う安全性解析の手法を選ぶ問題が出ています。

3. 学習のポイント

要求を獲得・定義し検証するまでの流れは、技法ごとの特徴と要件の性質を対比して押さえます。

  • 要求獲得の技法: インタビューは、質問をどこまで前もって固めるかで性格が変わります。質問と順番をすべて決めておく構造化インタビューは、聞き手が変わっても同じ形で答えを集められる反面、相手の話に合わせて深く聞き込むことはできません。質問を決めずに話を広げるほど、思わぬ本音を拾える一方、聞き手の腕で結果が左右されます。また、利用者の典型像を具体化する際は仮想の人物像であるペルソナを設定し、試作品で検証するプロトタイピングでは、画面遷移などを広く浅く作る水平型と、特定機能に絞って画面から内部処理まで深く実装し実現性や性能を確かめる垂直型を使い分けます。
  • 要件の分類と評価・検証: 業務のやり方や体制・決まりごとを定めるのが業務要件、システムが受け持つ処理の範囲を定めるのが機能要件、性能や可用性、移行のしやすさのように、機能を支える基盤の性質を定めるのが非機能要件です。定義した要件には、満たしたかどうかを確かめる手段が、現実的な手間で用意できること(検証可能性)と、ステークホルダーの要求から設計・実装・テストまでの成果物の対応関係を双方向に追跡できること(トレーサビリティ)が必要です。また、JIS X 0166 の検証手法は、書かれた文書を読んで確かめるのか、実際に動かして確かめるのかといった、確かめる材料の違いで使い分けます。

JIS X 25010:2013(SQuaRE)の製品品質モデルは、8つの品質特性がそれぞれ何を測る物差しかで整理します。

  • 機能適合性: 求められる機能がそろい、正しく働くかを表します。
  • 性能効率性: 使う資源の量に見合う速さや処理量が出るかを表します。
  • 互換性: ほかの製品と同じ環境で共存し、情報をやり取りして使えるかを表します。
  • 使用性: 決められた利用者が、目的を有効に、効率よく、満足して果たせるかを表します。習得のしやすさや操作のしやすさは、この特性の副特性です。
  • 信頼性: 決められた条件と期間で、機能を果たし続けられるかを表します。副特性には成熟性、可用性、障害許容性(フォールトトレランス)、回復性があります。
  • セキュリティ: 権限に応じた範囲でだけ情報やデータを使えるよう守られているかを表します。
  • 保守性: 直したい人が手間をかけずに正しく直せるかを表します。どこを直せばよいかの見当の付けやすさ(解析性)や、直しやすさ(修正性)などが副特性です。
  • 移植性: 別のハードウェアや OS などの環境へ移して使えるかを表します。

安全性・信頼性の解析手法と安全設計は、分析の起点と障害時の振る舞いで区別します。

  • 解析を始める向き: FTA(故障の木解析)とFMEA(故障モード影響解析)は、解析を始める側が逆です。FTA は起きてほしくない一つの出来事から出発し、それを引き起こしうる原因へ枝分かれさせながら下へたどります。FMEA は部品の側から出発し、部品ごとに考えられる壊れ方がシステム全体に何をもたらすかを上へたどります。
  • 誤操作対策と障害時設計: 人為的な誤入力や誤操作による異常を未然に防ぐ設計がフールプルーフです。これに対し、障害発生時に安全な側へ制御を移行させるフェールセーフ、機能や性能を縮退させて稼働を継続するフェールソフト、機器の多重化などによって障害発生時も正常稼働を維持するフォールトトレランスは、いずれも故障・障害が起きた後の振る舞いを対象としています。

4. 間違えやすいところ

JIS X 25010 の品質特性では、ある特性の定義文や評価指標を別の特性のものと入れ替えた誤答肢がよく並びます。

  • 使用性と保守性の目標の混同: 使用性の目標設定を選ぶ問題で、「利用者から要望のある機能の改善を,1週間以内に完了できること」という選択肢がありますが、これは改修のしやすさを表すため保守性の指標です。
  • 保守性と信頼性の指標の混同: 保守性を定量的に評価する指標を選ぶ問題では、運用中に出た不具合の件数をプログラムの規模で割った値が誤答肢にありました。これは運用中の不具合の密度で、保守のしやすさではなく信頼性の側の指標です。
  • 非機能要件内の内訳の取り違え: システム要件定義で性能に関する要件を選ぶ問題では、システムの稼働率が誤答肢にありました。稼働率は、性能ではなく可用性の要件です。

安全性・信頼性の解析手法やアシュアランスケースを問う問題では、FTA・FMEA・HAZOP・STAMP/STPA の説明文を互いに入れ替えた選択肢が繰り返し使われています。どの手法も、何を出発点に置くかで見分けます。

要求獲得のプロトタイピングでは、垂直型プロトタイプの作成例を選ぶ問題で、機器の外形を厚紙で作る模型が誤答肢にありました。垂直型の「垂直」は物理的な形のことではありません。

要件定義・製品品質の理解度チェック

要件定義・製品品質の過去問一覧

システム開発技術のほかの論点

モデリング記法(UML・DFD・状態遷移)45問 ソフトウェア設計・保守・再利用55問 テスト・レビュー51問