システム開発における保守プロセスの目的に関する説明として, 次の記述中の a, b に入れる字句の適切な組合せはどれか。 保守プロセスは, 障害への対応, 性能の改善などを行うために, [a] のシステムやソフトウェアを [b] すること, 又は変更された環境に適合させることを目的とする。
平成25年度 春期 ITパスポート試験 問41
この問題の解説と、これまでの解答の記録です。
問 41
不正解ア
a-納入前, b-運用 で、二つとも誤り。納入前のシステムやソフトウェアに対する作業は、設計・プログラミング・テストといった開発プロセスに属し、保守プロセスの対象ではない。保守はあくまで納入後の製品を対象とする。また b の運用を入れると「納入前のシステムを運用する」という、時系列としても意味としても成立しない文になる。運用はシステムを稼働させ利用者が使える状態を維持する活動であり、障害への対応や性能の改善を行うための手段として説明される語ではない。
不正解イ
b の 修正 は正しいが、a の 納入前 が誤り。納入前に不具合を見つけて直すのはテスト工程でのデバッグであり、開発プロセスの内部で完結する作業である。保守プロセスは、開発が終わって利用者に引き渡され、実際に業務で使われ始めたシステムを対象に、障害対応や性能改善、環境変化への適合を行うものと位置付けられている。つまり保守は納入という区切りより後ろの活動であり、納入前とする点で本問の説明に合わない。
不正解ウ
a の 納入後 は正しいが、b の 運用 が誤り。納入後のシステムを日々動かし、ジョブの実行やバックアップ、利用者からの問合せ対応などを行って稼働を維持するのは運用プロセスの役割であり、保守プロセスとは区別される。保守プロセスの特徴は、稼働しているシステムやソフトウェアそのものに変更を加える点にある。設問文が「障害への対応, 性能の改善などを行うために」「又は変更された環境に適合させる」と述べていることからも、b に入るのは動かすことではなく手を加えること、すなわち修正である。
- エ
正解 正解はエ (a-納入後, b-修正)。保守プロセスとは、システムやソフトウェアを利用者に納入 (引渡し) した後、それを対象として修正を加えていくプロセスである。JIS X 0160 (ソフトウェアライフサイクルプロセス) でも、保守は納入後のソフトウェア製品に対して、障害の除去、性能などの属性の改善、変更された環境への適合を目的に修正を行うものと定義されている。まず空欄 a は、設問文が「障害への対応, 性能の改善などを行うために」と述べている点から判断できる。障害が実際に表面化したり性能不足が問題になったりするのは、システムが利用者の手に渡って動き始めた後であり、対象は 納入後 のシステムである。納入前に不具合を直す作業はテスト工程でのデバッグ、つまり開発プロセスの中の話であって保守ではない。次に空欄 b は、記述の構造から決まる。「[b] すること, 又は変更された環境に適合させること」と二つが並列に置かれているので、b には環境への適合と同じ種類の行為、すなわちシステムそのものに手を入れる 修正 が入る。運用を当てはめると「納入後のシステムを運用すること」となり、これは日々システムを動かし続ける運用プロセスの説明になってしまい、障害への対応や性能の改善を行う目的の説明として成り立たない。よって a-納入後、b-修正 の組合せであるエが正しい。
- 保守プロセスの定義: 納入 (引渡し) 後のシステムやソフトウェアを対象に、障害の除去、性能などの改善、変更された環境への適合を目的として修正を加えるプロセス (JIS X 0160 ソフトウェアライフサイクルプロセス)。納入前の不具合修正はテスト・デバッグであり開発プロセスに属する点と区別して覚える。
- 運用プロセスと保守プロセスの違い: どちらも納入後の活動だが、運用はシステムを日常的に稼働させ利用者を支援する活動 (システムを動かす)、保守はシステムやソフトウェアそのものに変更を加える活動 (システムを直す・変える)。ソフトウェアライフサイクルは 企画 → 要件定義 → 開発 → 運用 → 保守 の流れで整理しておくとよい。