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

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

