適応保守に該当する修正
稼働中の業務システムに対する次の修正のうち,適応保守に該当するものはどれか。
- ア稼働後に利用者から報告された,帳票の合計金額が誤って表示される不具合を修正する。
- イ使用している OS のサポート終了に伴い,後継バージョンの OS 上で動作するようにプログラムを修正する。
- ウ利用者の要望を受けて,検索結果を CSV 形式のファイルに出力する機能を追加する。
- エまだ故障として現れていない潜在的な欠陥をコードレビューで発見し,故障に至る前に修正する。
正解と解説を見る
正解 イ
この問題の基礎知識
- ソフトウェア保守は,修正の目的によって是正保守,予防保守,適応保守,完全化保守などに分類される。
- 是正保守は引渡し後に発見された問題を訂正する修正であり,予防保守は潜在的な欠陥を故障として現れる前に検出して訂正する修正である。
- 適応保守は,OS やハードウェアなどの稼働環境が変化しても,ソフトウェアを使用できる状態に保つための修正である。
- 利用者の要望による機能の追加や性能の改善などの改良は,欠陥への対応や環境の変化への対応とは区別される。
ア稼働後に利用者から報告された,帳票の合計金額が誤って表示される不具合を修正する。
引渡し後に発見された問題を訂正するための修正であり,是正保守に当たる。適応保守は,ソフトウェアの欠陥ではなく,稼働環境の変化に対応するための修正である。
イ使用している OS のサポート終了に伴い,後継バージョンの OS 上で動作するようにプログラムを修正する。正解
適応保守は,変化した又は変化しつつある環境でソフトウェアを使用できる状態に保つための修正である。OS の更新という稼働環境の変化に合わせてプログラムを修正するのは,その典型例である。
ウ利用者の要望を受けて,検索結果を CSV 形式のファイルに出力する機能を追加する。
稼働環境の変化に対応するための修正ではなく,利用者の要望による機能の追加である。このような改良は一般に完全化保守と呼ばれ,適応保守には当たらない。
エまだ故障として現れていない潜在的な欠陥をコードレビューで発見し,故障に至る前に修正する。
潜在的な欠陥を,故障として現れる前に発見して訂正する修正であり,一般に予防保守と呼ばれる。欠陥への対応であって,稼働環境の変化に対応する適応保守には当たらない。
検証用の出典出典照合済み
JIS X 0161(ISO/IEC 14764)ソフトウェア保守 / NIST SP 500-106 Guidance on Software Maintenance / IPA 応用情報技術者試験(レベル 3)シラバス照合の根拠(6 件)
- イ(正解): 適応保守の節で,OS などのシステムソフトウェアの変更が既存の業務システムに影響し,修正が必要になる場合を挙げている
Changes to operating system software (compilers, utilities, etc.) can have varying effects on the existing application systems.
NIST SP 500-106 · Section 2.1.2 Adaptive maintenance(新しいタブで開きます) - イ(正解): 適応保守はソフトウェアが動作する環境の変化を契機とする修正である
Adaptive maintenance consists of any effort which is initiated as a result of changes in the environment in which a software system must operate.
NIST SP 500-106 · Section 2.1 Functional Definition(新しいタブで開きます) - ア(誤り): 稼働後に報告された不具合の修正は,実際の誤りに起因する是正保守である
Corrective maintenance refers to changes necessitated by actual errors (induced or residual "bugs") in a system.
NIST SP 500-106 · Section 2.1 Functional Definition(新しいタブで開きます) - ウ(誤り): 利用者の要求の変化による修正(機能追加)は完全化保守であり,適応保守ではない
Maintenance resulting from changes in the requirements specifications by the user, however, is considered to be perfective, not adaptive, maintenance.
NIST SP 500-106 · Section 2.1.2 Adaptive maintenance(新しいタブで開きます) - エ(誤り): 誤りや問題が起きる前にシステムを調べて手当てするのは予防保守と呼ばれる。いずれにせよ欠陥への対応であり,環境の変化への対応(適応保守)ではない
Preventive maintenance may also include the study and examination of a system prior to occurrence of errors or problems.
NIST SP 500-106 · Section 2.1.1 Perfective maintenance(新しいタブで開きます) - ア・ウ・エ(誤り)の解説: 是正保守,予防保守,適応保守,完全化保守が保守のタイプとして出題範囲の用語であること
是正保守,改良保守,予防保守,適応保守,完全化保守
IPA 応用情報技術者試験シラバス Ver.7.2 · 大分類 4 開発技術 中分類 12 システム開発技術 6. 保守・廃棄 (3)保守のタイプ及び形態 用語例(新しいタブで開きます)
問題文の 4 つの修正のうち,稼働環境(OS)の変化に対応するのはイだけで,アとエは欠陥の訂正,ウは利用者の要望による機能追加である。JIS X 0161 本文は読めないため,Swanson の分類(perfective=完全化,adaptive=適応,corrective=是正)を定義する NIST SP 500-106 で照合した。潜在的な欠陥の事前修正の分類は資料によって扱いが異なる(500-106 は残存する誤りの修正を corrective とし,故障前の調査などの preventive maintenance を perfective の節で扱う)ため,エの解説は「一般に予防保守と呼ばれる」「適応保守ではない」という確実に言える範囲にとどめた。