pulpul 日本の試験

ITサービスマネージャ 概念書 · システム開発・アーキテクチャ

ソフトウェア品質と保守性

ソフトウェア品質は、機能性、信頼性、使用性、保守性などの特性に分けて捉えられる。保守性とは、ソフトウェアを修正、変更、改良する作業がどれだけ容易に行えるかを表す特性である。試験では、保守性に影響する要因、保守作業の分類、保守性や関連特性の評価指標、そして信頼性や使用性との区別が繰り返し問われる。

保守性の下位特性と影響要因

保守性は、修正箇所を特定しやすい解析性、変更による影響範囲を抑えられる変更性、修正後の動作を確かめやすい試験性などに分けて捉えられる。ソフトウェアの構造が整理され、モジュール同士の依存関係が少ないほど、一つの修正が他へ波及しにくくなり、保守作業は進めやすくなる。その中でも、欠陥を診断し、故障の原因を追究し、修正すべき箇所を識別しやすいかどうかは保守性に直接影響する要因である。この観点は解析性に当たり、保守性の代表的な説明として問われる。

保守の分類と判定の仕方

保守は、作業の契機と目的によって四つに分類される。発生した不具合を直す是正保守、外部の環境や制度の変化に合わせる適応保守、将来の障害を避けるための予防保守、そして機能や理解のしやすさを高める完全化保守である。 問題が発生していなくても、仕様書と現状のソースコードの不整合を解消する作業は、ソフトウェアを理解しやすく整える活動であるため完全化保守に当たる。リバースエンジニアリングでソースコードから仕様書を作り直す場合も、目的が現状に合った文書化であれば、同じ分類で判断する。 判定の決め手は、障害があるかどうかではなく、変更の目的が何かである。

保守性の定量的評価指標

保守性は、作業にかかった時間や件数といった計測値を用いて定量的に評価できる。代表的な指標は、修正に要した時間の合計を修正件数で割った値であり、修正1件当たりの平均的な修正時間を示す。この値が小さいほど、修正作業が効率よく進んでいると判断できる。 同じ指標は、別の回の試験でも保守性の評価として問われている。 指標の区別も重要である。成果物の量に対する誤りの件数で表す欠陥密度は、品質の高さを評価する指標であり、保守性の指標とはしない。移植対象のソースコードのうち変更が必要な行の割合は、移植性の評価に用いる。出荷後の月数当たりの改良要求件数は、利用者からの要求の発生頻度を示すにとどまり、修正のしやすさは表さない。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む