保守・廃棄
是正保守や予防保守などの保守のタイプ、リファクタリングとリバースエンジニアリング、移行の手順、廃棄の考え方を理解できるようになります。
ねらい
システムの一生の後半を支える工程を学びます。このレッスンを終えると、保守のタイプと形態の分類、保守の手順、移行の留意事項、廃棄の進め方を説明できるようになります。
ストーリー
システムの人生は、リリースの日からが本番です。バグは見つかり、法律は変わり、OSは更新され、業務は成長します。動き続けるシステムに手を入れ続け、役目を終えたら安全に引退させる。作る時間より、支える時間のほうがずっと長いのです。
保守とは
保守は、問題の発生、改善、機能拡張要求などに対応して、既存システムの安全性を維持しつつ修正や変更を行う活動です。保守を受ける側の要求(目的やサービスレベル)と、提供する側の実現性や費用を考慮して保守要件を決定し、保守契約を結び、保守手順と保守体制を整えます。
修正の際は、これまで動いていた部分が壊れていないかを回帰テスト(リグレッションテスト)を含む保守テストで確かめます。外部の振る舞いを変えずに内部の作りを整理するリファクタリング、既存のプログラムから設計情報を復元するリバースエンジニアリングも保守を支える技術です。
保守のタイプ及び形態
保守は「なぜ行うか」で分類できます。
| タイプ | 内容 |
|---|---|
| 是正保守 | 発見された障害を修正する |
| 予防保守 | 障害が起きる前に、潜在的な問題を見つけて対処する |
| 適応保守 | OSの更新や法改正など、環境の変化に合わせて修正する |
| 完全化保守 | 性能や保守性の改善など、より良くするために修正する |
| 改良保守 | 機能の拡張や改善を行う(適応保守と完全化保守を含む広い区分) |
改良保守は、適応保守と完全化保守をまとめた広い区分として位置づけられます。
形態としては、技術者が現地に出向くオンサイト保守と、ネットワーク越しに行う遠隔保守があり、ハードウェア保守では日常点検も行います。保守を続けるか作り直すかは、ライフサイクルの評価で判断します。
保守の手順と移行
保守は次の手順で進めます。
- 保守プロセス開始の準備として、開発プロセスから成果物を引き継ぎ、問題管理手続を確立します。
- 問題把握及び修正の分析として、問題報告や修正依頼を分析し、問題を再現・検証して、修正の選択肢を用意します。
- 修正の実施として、修正対象と関連文書を決定し、機能追加、性能改良、問題の是正を行います。
- 保守レビュー及び受入れで、動作確認と完了の承認を行います。
- 再発防止策の実施として、特性要因分析などで根本原因を抽出し、類似事故の可能性を検討して、システムやマニュアルを改善します。
新旧システムの切り替えである移行では、移行計画の文書化と検証、関係者全員への通知、新旧環境の並行運用と旧環境の停止、移行結果の検証と移行評価を行います。旧環境関連データの保持と安全性確保も忘れてはならない留意事項です。
廃棄
役目を終えたシステムは、運用に支障のない状態にしたうえで、起動不能にする、解体する、取り除くといった廃棄を行います。廃棄計画の立案と利用者への通知、新旧環境の並行運用と利用者の教育訓練、廃棄後も必要なデータにアクセスできることの確保(廃棄関連データの保持)を計画に含め、組織の運用の完整性を損なわないように進めます。
例題
次の問いに答えてください。
問1 OSの更新や法改正など、環境の変化に合わせてシステムを修正する保守のタイプを何といいますか。
問2 外部から見た振る舞いを変えずに、プログラムの内部構造を整理して保守しやすくする活動を何といいますか。
解答と解説
問1の答えは適応保守です。障害の修正は是正保守、障害の予防は予防保守、より良くする改善は完全化保守と、目的で区別します。
問2の答えはリファクタリングです。機能を変えないことが定義の核心で、回帰テストと組み合わせて安全に進めます。
応用
本試験を意識した問題を解いてみましょう。
問 障害がまだ発生していない段階で、潜在的な問題を見つけて事前に対処する保守のタイプはどれでしょうか。次の中から選んでください。
- 予防保守
- 是正保守
- 適応保守
- 完全化保守
解答と解説
答えは1の予防保守です。障害の兆候や潜在的な欠陥を先回りして取り除き、将来の障害を防ぎます。2の是正保守は、すでに発見された障害を修正する保守であり、対処のタイミングが事後です。3の適応保守は、OSの更新や制度の変更といった環境の変化への追従が目的で、潜在的な障害の予防そのものではありません。4の完全化保守は、性能や保守性をより良くするための修正であり、障害の予防を主目的とはしません。
分からなかった点・気になった点
読み込み中です。