ソフトウェア保守の説明として, 適切なものはどれか。
平成24年度 春期 ITパスポート試験 問34
この問題の解説と、これまでの解答の記録です。
問 34
不正解ア
「システム開発時に, 詳細設計に基づいて作成した個々のプログラムに誤りがないかを確認し, 必要に応じて修正する」のは、開発工程のプログラミングと単体テスト (デバッグ) の説明である。冒頭に「システム開発時に」と明示されているとおり、これはまだ本番稼働前の作業であり、リリース前に作り込んだ誤りをその場で取り除いている。保守は稼働後にシステムを変更する活動なので、時期が決定的に異なる。同じ「誤りを修正する」という語感でも、開発中のデバッグは保守ではない点に注意する。
- イ
正解 正解はイ。ソフトウェア保守とは、開発が終わってシステムが本番稼働に入った後、そのシステムを使い続けられる状態に保つために、プログラムやデータ、関連文書を修正・変更していく活動をいう。ソフトウェアライフサイクル (企画→要件定義→開発→運用→保守) の最終段階に位置し、一般にシステムの寿命の大半を占める最も期間の長い工程である。保守が必要になる理由は大きく四つに整理でき、これがそのまま保守の分類になる。第一に、稼働後に発見された欠陥を取り除く是正保守。第二に、まだ表面化していない潜在的な不具合を先回りして手当てする予防保守。この二つが選択肢イでいう「システムの安定稼働」への対応にあたる。第三に、OS やミドルウェア、ハードウェアのバージョンアップ、通信規格や法制度の改正といった外部環境の変化にシステムを合わせる適応保守。これが「情報技術の進展」への対応である。第四に、業務のやり方が変わったり新しい商品・サービスを扱うことになったりしたときに、性能や機能を改善して有用性を高める完全化保守。これが「経営戦略の変化」への対応である。選択肢イはこの三つの動機をすべて挙げたうえで「プログラムの修正や変更を行う」と結んでおり、稼働後にシステムを変更し続けるという保守の本質を正確に述べている。したがってイが適切である。
不正解ウ
「利用者からの問合せに対して, 問合せ内容の記録と管理, 適切な部署への引継ぎ, 対応結果の記録を行う」のは、サービスデスク (ヘルプデスク) の説明である。ITIL でいうサービスデスクは利用者との単一の窓口 (SPOC) として、問合せやインシデントを受け付けて記録し、自分で解決できないものは専門部署へエスカレーションし、対応結果を記録・報告する。これは運用段階の利用者対応であって、プログラムそのものを修正する活動ではない。保守の担当者へ作業を引き継ぐことはあっても、引き継ぐ側は保守ではない。
不正解エ
「システムを幅広い観点から調査し, それが経営に貢献しているかを判断する」のは、システム監査あるいはシステム評価 (IT 投資の事後評価) の説明である。システム監査は独立した立場の監査人が信頼性・安全性・効率性などの観点からシステムを点検・評価し、経営者に助言・勧告を行うもので、評価と報告が成果物である。保守のようにプログラムを実際に修正・変更する作業は含まれない。評価するのか、手を入れて直すのかで区別する。
- ソフトウェア保守は稼働後の工程 — ソフトウェアライフサイクル (企画→要件定義→開発→運用→保守) のうち、本番稼働に入った後にプログラムを修正・変更する活動を指す。稼働前のデバッグは開発工程であり保守ではない、という時期による切り分けが最大の判別点。
- 保守の四類型と紛らわしい役割の切り分け — 稼働後に見つかった欠陥を除く是正保守、潜在不具合を先回りして防ぐ予防保守、OS やハードウェア、法制度など外部環境の変化に合わせる適応保守、業務や経営戦略の変化に応じて機能・性能を高める完全化保守があり、「安定稼働」「情報技術の進展」「経営戦略の変化」というキーワードはこれらに対応する。一方、問合せの受付・記録・引継ぎはサービスデスク (ヘルプデスク)、経営への貢献度の調査・判断はシステム監査やシステム評価であり、プログラムに手を入れて直すのが保守、という着眼で選択肢を切る。