令和4年度 春期 午前Ⅰ 問題【共通】 問17

問題は発生していないが,プログラムの仕様書と現状のソースコードとの不整合を解消するために,リバースエンジニアリングの手法を使って仕様書を作成し直す。これはソフトウェア保守のどの分類に該当するか。

解答・解説

正解: ア. 完全化保守

ソフトウェアの保守は、その目的によっていくつかの種類に分類されます。問題文にある「プログラムの仕様書と現状のソースコードとの不整合を解消するために、仕様書を作成し直す」という作業は、ソフトウェアの性能や 保守性 を向上させるための活動です。このように、現状の不具合を直すわけではないものの、将来の保守作業を円滑に行えるようにするための保守を 完全化保守 と呼びます。

各選択肢の解説

  • ア:完全化保守(正解)
    問題は発生していませんが、将来の保守作業を容易にするなど、保守性や性能を向上させるために行われる保守です。リバースエンジニアリングを用いた仕様書の再作成はこれに該当します。
  • イ:是正保守
    運用中に発見されたバグや不具合(問題)を修正し、正常に動作するようにする保守です。
  • ウ:適応保守
    OSのバージョンアップやハードウェアの変更など、ソフトウェアを取り巻く環境の変化に合わせて、システムが継続して稼働できるようにするための保守です。
  • エ:予防保守
    まだ表面化していない潜在的なエラーや障害の原因を事前に発見し、実際の障害が発生する前に修正を行う保守です。

Spineチーム