Z社では,全国に店舗展開する家電量販店向けに,顧客管理システムを開発している。開発中の顧客管理システムは,運用開始後,家電量販店の業務内容の変化に合わせて,3か月おきを目安に継続的に改修していくことが想定されている。 Z社では,プログラムの品質を定量的に評価するために,メトリクスを計測し,活用している。プログラムを関数の単位で評価する際には,関数の長さとサイクロマティック複雑度をメトリクスとして計測し,評価する。開発プロセスにおいては,プログラムのテストを開始する前にメトリクスを計測し,評価された値が,あらかじめ設定されたしきい値を上回らないことを確認することにしている。 開発中の顧客管理システムについても,開発プロセスのルールに従い,この評価方法によって評価した。 [サイクロマティック複雑度] サイクロマティック複雑度とは,プログラムの複雑度を示す指標である。プログラムの制御構造を有向グラフで表したとき,グラフ中のノードの数Nとリンク(辺)の数Lを用いて次の式で算出する。 サイクロマティック複雑度C = L - N + 2 プログラムの制御構造を有向グラフで表した例を図1に示す。プログラムの開始位置と終了位置,反復や条件分岐が開始する位置と終了する位置をノードとし,ノード間をつなぐ順次処理の部分をリンクとしてグラフにする。ノードの間に含まれる順次処理のプログラムの行数は考慮せず,一つのリンクとして記述する。また,図1のリンク1やリンク4のように,処理がない場合も一つのリンクとして記述する。

図1の場合,ノードの数Nは4,リンクの数Lは4となり,Cは

と評価される。 ソフトウェアの内部構造及び内部仕様に基づいたテストを

という。Z社では,

を実施するに当たって,全ての条件分岐の箇所で,個々の判定条件の真及び偽の組合せを満たすことを基準としたテストを実施する方針としている。このような方針を

という。一般に,サイクロマティック複雑度は小さい方が,実行網羅率100%を目指すために必要なテストケース数が少なくなり,テスト工程の作業が容易になる。Z社では,サイクロマティック複雑度のしきい値を10に設定している。

aからcに入れる適切な字句を答えよ。

(1) 本文中の

(2) 図4中の

(1) 本文中の

(2) 本文中の下線①について,その理由を35字以内で述べよ。