システム監査技術者 2012年 午前2 問23
問題文
開発ライフサイクルモデルとして、ウォータフォールモデル、進化的モデル、スパイラルモデルの三つを考える。ソフトウェア保守は、どのモデルを採用したときに必要か。
選択肢
ア:ウォータフォールモデルだけ
イ:ウォータフォールモデルと進化的モデルだけ
ウ:ウォータフォールモデルとスパイラルモデルだけ
エ:ウォータフォールモデル、進化的モデル、スパイラルモデルの全て(正解)
🔒 解説は解答すると表示されます
ソフトウェア保守の必要性【午前2解説】
正解の理由
ソフトウェア保守とは、ソフトウェアのリリース後に、障害の修正、環境の変化への対応、機能の改善などを行うことです。
保守が必要かどうかは、開発ライフサイクルモデルの種類ではなく、ソフトウェアを運用し続けるかどうかで決まります。ウォータフォールモデル、進化的モデル、スパイラルモデルのいずれを採用しても、リリース後に障害や利用環境の変化が生じれば保守が必要です。
したがって、三つすべてのモデルを挙げているエが正解です。
解法ステップ
- 問われているのは、開発中の変更への対応ではなく、ソフトウェア保守が必要となるモデルです。
- 保守は、リリース後の障害修正や環境変化への対応などを指します。
- どのモデルでもソフトウェアをリリースして運用すれば保守が必要になるため、三つすべてを選びます。
選択肢別の誤答解説
-
ア:ウォータフォールモデルだけ
ウォータフォールモデルでも保守は必要ですが、ほかのモデルでも保守は発生します。 -
イ:ウォータフォールモデルと進化的モデルだけ
進化的モデルでは開発中に機能を段階的に追加・改善しますが、それによってリリース後の保守が不要になるわけではありません。スパイラルモデルも保守の対象です。 -
ウ:ウォータフォールモデルとスパイラルモデルだけ
スパイラルモデルでも保守は必要ですが、進化的モデルでも同様に必要です。 -
エ:ウォータフォールモデル、進化的モデル、スパイラルモデルの全て
どのモデルでも、ソフトウェアのリリース後に運用するなら、障害修正や環境変化への対応などの保守が必要です。
よくある誤解
-
進化的モデルなら、開発しながら改善するので保守は不要
開発中の段階的な改善と、リリース後の保守は別です。リリース後にも保守は発生します。 -
スパイラルモデルなら、リスクを管理するので障害がなくなる
リスク管理は障害の発生可能性や影響を抑えるためのもので、保守そのものをなくすものではありません。 -
保守はウォータフォールモデル特有の工程
保守は特定の開発モデルに限られず、運用されるソフトウェア全般で必要になる活動です。
補足コラム
ソフトウェア保守には、たとえば次のような種類があります。
- 是正保守:発見された障害を修正する
- 適応保守:OSやハードウェアなど、利用環境の変化に対応する
- 完全化保守:性能や使いやすさを改善したり、機能を追加したりする
- 予防保守:将来の障害を防ぐため、内部構造などを改善する
これらは、どの開発ライフサイクルモデルを採用したかにかかわらず発生します。
FAQ
Q. 進化的モデルで開発中に機能を追加することは、保守ですか?
A. 開発中の機能追加は、通常は開発活動として扱います。ソフトウェアのリリース後に行う機能追加や改善は、保守に含まれる場合があります。
A. 開発中の機能追加は、通常は開発活動として扱います。ソフトウェアのリリース後に行う機能追加や改善は、保守に含まれる場合があります。
Q. 保守が必要になるのは、障害が発生したときだけですか?
A. いいえ。利用環境の変化への対応や、機能・性能の改善など、障害修正以外の理由でも保守が必要です。
A. いいえ。利用環境の変化への対応や、機能・性能の改善など、障害修正以外の理由でも保守が必要です。
関連キーワード: ソフトウェア保守、ウォータフォールモデル、進化的モデル、スパイラルモデル、是正保守、適応保守、完全化保守、予防保守

\ せっかくなら /
システム監査技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

