問題本文
図のように,改良及び機能追加を繰り返すことによって利用者の要求の変動に柔軟に対処したシステム開発を行う開発モデルはどれか。 [図: 分析 → 設計 → プログラミング → テスト → 評価 (評価から分析へ改良及び機能追加で戻る)]
選択肢
- ア.ウォータフォールモデル
- イ.再利用モデル
- ウ.スパイラルモデル
- エ.リエンジニアリングモデル
解説
スパイラルモデルは,「分析→設計→プログラミング→テスト→評価」のサイクルを繰り返しながら,改良や機能追加によって利用者要求の変動に柔軟に対処していくソフトウェア開発モデル. リスクの早期発見・段階的詳細化が可能で,要求が固まりにくいシステムに向く. 一方,ウォータフォールモデルは要件→設計→実装→テストを順次進める線形モデルで,後戻りは原則想定しない. 再利用モデルは既存資産活用,リエンジニアリングモデルは既存システムの逆解析・再構築であり,いずれも螺旋的な反復構造を持つスパイラルモデルとは異なる.
選択肢ごとの解説
- ア.誤り. ウォータフォールモデルは,要件定義→設計→プログラミング→テストを上流から下流へ順次進める線形モデルで,各工程の成果物確定後に次工程へ進むのが原則. 改良や機能追加を反復しながら要求変動に柔軟に対処するスパイラルモデルとは設計思想が異なる. 反復性の有無が両者の決定的な違いとなる.
- イ.誤り. 再利用モデルは,既存のプログラム・コンポーネント・ライブラリ等の資産を再利用して新システムを構築する開発アプローチ. 反復的な改良・機能追加で要求変動に対処するスパイラルモデルとは焦点が異なる. 既存資産活用と反復開発は別の概念として整理する必要がある.
- ウ.正解. スパイラルモデルは,分析・設計・プログラミング・テスト・評価のサイクルを反復しながら改良や機能追加で利用者要求の変動に柔軟に対処する開発モデル. 要求が固まりにくい大規模システムや新規性の高いシステム開発で有効で,各反復でリスクを早期検出・低減できるのが大きな特徴となる.
- エ.誤り. リエンジニアリングモデルは,既存システムの内部構造や仕様を逆解析(リバースエンジニアリング)し,新たに再構築する開発アプローチ. 反復によって要求変動に対処するスパイラルモデルとはアプローチが異なる. 既存システム改修と反復開発の違いを区別して覚えることが大切である.
ITパスポート 2014年 (平成26年 秋期) の過去問一覧へ戻る・問42