SkillStack
テクノロジ系48 / 80問

応用情報技術者試験 令和4年度 春期 午前 問48

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

完全化保守は、ソフトウェアの性能、使いやすさ、保守性などを改善するために行う保守です。この事例では、稼働中のプログラムに障害は発生しておらず、ソースコードを解析するリバースエンジニアリングによって、実態に合う仕様書を作り直しています。仕様書とコードの対応を明確にすれば、今後の内容理解や変更、テストが容易になり、保守性が向上します。したがって、完全化保守に該当します。

イの是正保守は誤りです。これは、運用開始後に発見された障害や仕様上の誤りなど、顕在化した不具合を修正する保守です。この事例では、問題が発生しているわけではないため、是正保守には該当しません。

ウの適応保守は誤りです。これは、OSやハードウェアの更新、法令改正、外部システムのインタフェース変更など、利用環境の変化にソフトウェアを適応させる保守です。ここでは、外部環境の変化に対応しているのではありません。

エの予防保守は誤りです。これは、将来障害を引き起こす可能性がある潜在的な不具合を、障害が実際に発生する前に検出して修正する保守です。今回の目的は潜在的な故障原因の除去ではなく、文書を整備して保守性を高めることです。

【ポイント】 リバースエンジニアリングは、既存のプログラムを解析し、設計情報や仕様を明らかにする手法です。 「障害の修正」「環境変化への対応」「品質・保守性の向上」「潜在障害の予防」のどれが目的かで分類します。

出典:令和4年度 春期 応用情報技術者試験 午前 問48
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の80問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める