ソフトウェア保守(是正保守・予防保守・適応保守・完全化保守)(software maintenance)
運用に入ったソフトウェアに手を入れる作業。欠陥を直す是正・予防と、良くする適応・完全化の4つに分かれる。
もう少し詳しい説明
ソフトウェアは、作って引き渡したところで終わりません。使われているあいだ、ずっと手を入れ続けることになります。
この、運用に入ったあとの作業がソフトウェア保守です。開発にかかる費用より、保守にかかる費用のほうが大きくなることも珍しくありません。
保守は、4つの型に分けられます。
見分け方は2つの問いだけです。
- 相手は欠陥か、それとも良くすることか
- 障害が起きてからか、起きる前か
是正保守
すでに起きた障害に対して、原因を取り除く保守です。英語では corrective maintenance といいます。
- 利用者から「エラーが出る」と連絡が来た
- 月末の処理で、集計が合わない
いちばん想像しやすい保守がこれです。「保守」と聞いて浮かぶのは、ふつうこちらになります。
急いで業務を戻すだけの作業は、緊急保守と呼び分けられます。 その場をしのぐための手当てで、原因を取り除くのは後回しになります。応急処置をしたあとに、あらためて是正保守を行う形です。
予防保守
まだ障害になっていない欠陥を見つけて、直しておく保守です。
- テストの最中に見つかったが、運用では起きていない不具合
- 件数が増え続けると、いつか上限を超える作りになっている箇所
是正保守との違いは、時機だけです。 相手はどちらも欠陥で、片方は起きたあと、もう片方は起きる前です。
試験でいちばん入れ替えられるのが、この2つです。 選択肢には「障害が発生する前に」「潜在的な障害を顕在化する前に」といった言い方が出てくるので、そこを見ます。
適応保守
環境が変わったとき、そのまま使い続けられるようにする保守です。
- OSやデータベースの版が上がった
- 消費税率や法令が変わった
- 使っていた機器が売られなくなり、別の機器に移した
ソフトウェア自身に欠陥があるわけではありません。 周りが動いたので、合わせて直しています。
完全化保守
性能や、保守のしやすさを上げるための保守です。
- 時間のかかる処理を速くした
- 読みにくくなっていたプログラムを整理した
- 使いにくい画面を直した
利用者から見て、できることが増えるわけではない場合もあります。 中の作りを良くする作業も、こちらに入ります。
4つの見分け方
4つとも「◯◯保守」という同じ形の名前です。名前だけを覚えていると、説明文を入れ替えた選択肢を出されたときに見分けられません。 試験では「是正保守の説明はどれか」と聞いて、適応保守の説明を並べる形がよく出ます。どの問いで分かれるのかを押さえてください。
| 型 | 相手 | 時機・きっかけ |
|---|---|---|
| 是正保守 | 欠陥 | 障害が起きてから |
| 予防保守 | 欠陥 | 障害が起きる前 |
| 適応保守 | 環境 | 周りが変わったとき |
| 完全化保守 | 性能・保守性 | 良くしたいとき |
上の2つは「欠陥が相手」で、下の2つは「欠陥が相手ではない」。 ここを先に分けると、残りは1つの問いで決まります。
保守の型の呼び名は、JIS X 0161(ソフトウェア技術—ソフトウェアライフサイクルプロセス—保守)に定められています。
試験ではこう出る
科目A(旧・午前)では、説明文を読んでどの保守かを選ばせる形が出ます。
出やすい言い回しは、次のとおりです。
| 選択肢の言い回し | 答え |
|---|---|
| 発生した障害の原因を取り除く | 是正保守 |
| 潜在する障害を、顕在化する前に修正する | 予防保守 |
| 変更された環境で使用できるように修正する | 適応保守 |
| 性能や保守性を向上させる | 完全化保守 |
「顕在化する前に」が出てきたら予防保守と結び付けておくと速く解けます。
応用情報では、保守の型そのものより保守にかかる費用や、保守しやすい作りかどうかを問う形で出ます。「保守性を上げるために設計の段階でできること」という聞き方になります。
関連する用語
- 変更管理
- 本番環境への変更を、記録して承認してから入れるしくみ
- 問題管理
- 障害の原因を突き止めて、再発を防ぐ側の活動
- インシデント管理
- まず業務を戻すことを優先する側の活動
- ITIL
- 運用の進め方をまとめた知識体系
- リバースエンジニアリング
- できあがったものから設計を読み取る。古い資料が無いときの保守で使う
ミニクイズ
ソフトウェア保守において、運用中にはまだ障害として現れていない潜在的な欠陥を見つけ出し、障害になる前に修正する保守はどれか。
正解は 2番:予防保守
予防保守は、まだ障害になっていない欠陥を先に見つけて直す保守です。「起きる前」という点が決め手になります。是正保守は、すでに起きた障害に対して原因を取り除く保守で、向きが逆です。適応保守は、OSの入れ替えや法令の変更など、環境が変わったときにそのまま使い続けられるようにする保守です。完全化保守は、性能や保守のしやすさを上げるための保守で、欠陥が相手ではありません。4つとも運用に入ったあとの作業なので、「何が相手か」と「起きる前か後か」の2つで見分けます。
この分野をまとめて解く → システム開発とユーザーインタフェースのミニテスト(全40問)
最終更新:2026-10-20