ITパスポート 2012年 秋期 問50
問題文
ソフトウェア保守に関する説明のうち、適切なものはどれか。
選択肢
ア:開発中の仕様変更によるプログラムの改修は、ソフトウェア保守である。
イ:外部環境の変化に対応するためにプログラムを改修することは、ソフトウェア保守ではない。
ウ:緊急の本番障害対応で改修したプログラムの内容に合わせて設計ドキュメントを修正することは、ソフトウェア保守である。(正解)
エ:本番稼働中に発見されたプログラムの不良の改修は、ソフトウェア保守ではない。
🔒 解説は解答すると表示されます
ソフトウェア保守に関する説明のうち、適切なものはどれか。【ITパスポート 解説】
正解の理由
ソフトウェア保守(ソフトウェア保守:運用開始後に行う不具合修正や環境対応、改善などの変更作業とその関連作業)は、単にプログラムを直すだけでなく、修正に伴って設計書や手順書などのドキュメントも整備する活動を含みます。
選択肢ウの「緊急の本番障害対応で改修したプログラムの内容に合わせて設計ドキュメントを修正すること」は、まさに本番稼働後の修正とその記録化を示しており、保守の典型的な作業です。したがってウが正解です。
選択肢ウの「緊急の本番障害対応で改修したプログラムの内容に合わせて設計ドキュメントを修正すること」は、まさに本番稼働後の修正とその記録化を示しており、保守の典型的な作業です。したがってウが正解です。
(補足)ソフトウェア保守は一般に次の目的の変更を含みます:
- エラー修正(コレクティブ=corrective)
- 環境変化への対応(アダプティブ=adaptive)
- 性能や機能の改善(パーフェクティブ=perfective)
- 将来の故障防止(プリベンティブ=preventive)
解法ステップ
- 「変更がいつ行われたか」を確認する
- 開発中(リリース前)か、本番稼働後(リリース後)かで判断。保守は基本的にリリース後の変更。
- 「変更の目的」を確認する
- 不具合修正、外部環境への対応、改善のいずれかなら保守に該当。
- 「関連作業(ドキュメント更新など)」も保守に含まれるかを考える
- プログラム改修に合わせた設計書や運用手順の更新は保守の一部。
- 各選択肢を上の基準で当てはめる
- リリース前の仕様変更 → 開発作業(保守ではない)
- 外部環境対応や本番での不具合修正 → 保守である
この流れで選択肢を評価すると、ウが正しいことが分かります。
選択肢別の誤答解説
-
ア: 開発中の仕様変更によるプログラムの改修は、ソフトウェア保守である。
→ 誤り。開発中(リリース前)の仕様変更や改修は保守ではなく「開発工程」で行われる作業です。保守は通常、製品やシステムがユーザーに提供された後の変更を指します。 -
イ: 外部環境の変化に対応するためにプログラムを改修することは、ソフトウェア保守ではない。
→ 誤り。外部環境の変化(例:OSやミドルウェアのバージョンアップ、法令改正、他システムのAPI変更)に対応するための改修は「適応(アダプティブ)保守」に当たり、保守に該当します。 -
ウ: 緊急の本番障害対応で改修したプログラムの内容に合わせて設計ドキュメントを修正することは、ソフトウェア保守である。
→ 正解。緊急対応(ホットフィックス)自体が保守作業であり、その後のドキュメント整備も保守活動に含まれます。 -
エ: 本番稼働中に発見されたプログラムの不良の改修は、ソフトウェア保守ではない。
→ 誤り。本番で見つかった不具合(バグ)を修正するのは典型的な「修正(コレクティブ)保守」です。
よくある誤解
-
「保守=バグ修正だけ」と考える誤解
- 保守はバグ修正だけでなく、環境対応や機能改善、将来の予防対策、関連文書の更新も含みます。
-
「緊急(ホットフィックス)は保守ではない」と思う誤解
- 緊急対応であっても、対象が本番稼働中のシステムなら保守です。緊急度で分類は変わりません。
-
「運用(オペレーション)と保守の混同」
- 運用(例:日々の監視やバックアップ)はシステムを動かし続ける作業。保守はソフトを変更する活動(コード改修やドキュメント更新)です。両者は役割が異なりますが連携します。
補足コラム
- 覚え方メモ:保守は「リリース後の変更」。英語では "maintenance"(維持管理)と言い、意味は「維持して良い状態を保つための作業」です。
- 具体例:
- OSのサポート終了で動かなくなったアプリを最新OSに対応させる → アダプティブ保守
- 本番で機能が誤動作したので修正する → コレクティブ保守
- ユーザからの要望で使いやすく機能を改善する → パーフェクティブ保守
- ドキュメントも大事:設計書や運用手順が古いままだと、次の修正でミスが生じます。保守では「修正+その記録・手順整備」まで含める意識を持ちましょう。
FAQ
Q1. リリース直前の仕様変更は保守ですか?
A1. いいえ。リリース前の変更は開発の一部です。保守は基本的にリリース(本番稼働)後の変更を指します。
A1. いいえ。リリース前の変更は開発の一部です。保守は基本的にリリース(本番稼働)後の変更を指します。
Q2. 本番での簡単な設定変更は保守ですか?
A2. 設定変更がシステムの修正や環境対応に当たる場合は保守に含まれます。ただし、単なる運用作業(ログの確認や定期バックアップなど)は運用に分類されます。
A2. 設定変更がシステムの修正や環境対応に当たる場合は保守に含まれます。ただし、単なる運用作業(ログの確認や定期バックアップなど)は運用に分類されます。
Q3. 新機能追加は保守ですか?
A3. リリース後に行う機能追加は「パーフェクティブ保守(改善)」や機能拡張として保守に含まれることがあります。開発か保守かは「いつ行われるか(リリース前か後か)」で判断します。
A3. リリース後に行う機能追加は「パーフェクティブ保守(改善)」や機能拡張として保守に含まれることがあります。開発か保守かは「いつ行われるか(リリース前か後か)」で判断します。
関連キーワード: ソフトウェア保守、保守種類(コレクティブ・アダプティブ・パーフェクティブ・プリベンティブ)、本番環境、設計ドキュメント、運用と保守、ホットフィックス、不具合修正、環境対応

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

