応用情報技術者 2022年 春期 午前2 問48
問題文
問題は発生していないが、プログラムの仕様書と現状のソースコードとの不整合を解消するために、リバースエンジニアリングの手法を使って仕様書を作成し直す。これはソフトウェア保守のどの分類に該当するか。
選択肢
ア:完全化保守(正解)
イ:是正保守
ウ:適応保守
エ:予防保守
ソフトウェア保守の分類問題【午前2 解説】
要点まとめ
- 結論:仕様書と現状のソースコードの不整合を解消するためにリバースエンジニアリングで仕様書を作り直す行為は「完全化保守」に該当します。
- 根拠:完全化保守は、問題が発生していなくても仕様やドキュメントの整合性を保ち、ソフトウェアの品質を向上させる保守活動です。
- 差がつくポイント:問題が発生していない点と、リバースエンジニアリングによる仕様書の再作成という手法を理解しているかが重要です。
正解の理由
ア: 完全化保守は、ソフトウェアに問題が発生していない状態で、仕様書や設計書の不整合を解消し、ドキュメントの品質を向上させる保守活動です。
今回の問題は「問題は発生していないが仕様書とソースコードの不整合を解消する」という状況であり、リバースエンジニアリングを用いて仕様書を作り直すことは、まさに完全化保守の典型的な例です。
今回の問題は「問題は発生していないが仕様書とソースコードの不整合を解消する」という状況であり、リバースエンジニアリングを用いて仕様書を作り直すことは、まさに完全化保守の典型的な例です。
よくある誤解
是正保守は不具合や問題を修正する保守であり、問題が発生していない場合には該当しません。
適応保守は環境変化に対応するための保守であり、仕様書の不整合解消とは異なります。
適応保守は環境変化に対応するための保守であり、仕様書の不整合解消とは異なります。
解法ステップ
- 問題文から「問題は発生していない」ことを確認する。
- 「仕様書とソースコードの不整合を解消する」という目的を把握する。
- リバースエンジニアリングを用いて仕様書を作り直す点に注目する。
- ソフトウェア保守の分類(完全化保守、是正保守、適応保守、予防保守)を整理する。
- 問題が発生していない状態でドキュメントの整合性を保つ活動は完全化保守と判断する。
選択肢別の誤答解説
- イ: 是正保守
不具合や問題を修正する保守であり、問題が発生していない本問の状況には当てはまりません。 - ウ: 適応保守
OSやハードウェアの変更など環境変化に対応する保守であり、仕様書の不整合解消とは異なります。 - エ: 予防保守
将来の問題発生を防ぐための保守ですが、今回は既存の仕様書とソースコードの不整合を解消するための活動です。
補足コラム
リバースエンジニアリングは、既存のソフトウェアから設計情報や仕様を抽出する技術で、ドキュメントが不足している場合や不整合がある場合に有効です。完全化保守はソフトウェアの品質維持に欠かせない活動であり、仕様書の整備は保守性向上に直結します。
FAQ
Q: 完全化保守と予防保守の違いは何ですか?
A: 完全化保守は現状の仕様やドキュメントの不整合を解消し品質を向上させる活動で、予防保守は将来の障害を未然に防ぐための対策を行う活動です。
A: 完全化保守は現状の仕様やドキュメントの不整合を解消し品質を向上させる活動で、予防保守は将来の障害を未然に防ぐための対策を行う活動です。
Q: リバースエンジニアリングはどの保守分類に使われますか?
A: 主に完全化保守で使われ、仕様書や設計書の不整合を解消しドキュメントを整備する際に活用されます。
A: 主に完全化保守で使われ、仕様書や設計書の不整合を解消しドキュメントを整備する際に活用されます。
関連キーワード: ソフトウェア保守、完全化保守、リバースエンジニアリング、仕様書、保守分類

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

