テスト計画・レビュー・品質保証・セキュリティ 重要度:★★出題: AM2・PM2
サイクロマティック複雑度(循環的複雑度)と保守性指標
さいくろまてぃっくふくざつど / Cyclomatic Complexity (McCabe)
プログラムの制御フローグラフにおける線形独立な経路の数を数値化(E - N + 2P または分岐判定数 + 1)し、構造の複雑さと必要な最小テストケース数を評価するメトリクス。
3行速習ポイント
- プログラムの制御フローグラフにおける線形独立な経路の数を数値化(E - N + 2P または分岐判定数 + 1)し、構造の複雑さと必要な最小テストケース数を評価するメトリクス。
- 複雑度が10を超えるモジュールはバグ混入率が急増するため、メソッド分割やポリモーフィズム(Strategy/Stateパターン)によるリファクタリング対象とします。
- 試験対策:午前IIの計算問題(辺の数E - ノード数N + 2)で頻出であり、午後IIでもコード品質・保守性基準の定量指標として活...
図解
図サイクロマティック複雑度 の設計・評価構造
Step 1
制御フローグラフ(E - N + 2)
業務要件・システム制約の整理と構造化
↕
Step 2
分岐数 + 1
複雑度が10を超えるモジュールはバグ混入率が急増するため、メソッド分割やポリモーフィズム(
↕
Step 3
独立経路テストの最小ケース数
静的解析ツールでサイクロマティック複雑度15以上のモジュールを自動検知して分割を義務付け、
概要と本質
プログラムの制御フローグラフにおける線形独立な経路の数を数値化(E - N + 2P または分岐判定数 + 1)し、構造の複雑さと必要な最小テストケース数を評価するメトリクス。複雑度が10を超えるモジュールはバグ混入率が急増するため、メソッド分割やポリモーフィズム(Strategy/Stateパターン)によるリファクタリング対象とします。
重要ポイント・コア概念
- 制御フローグラフ(E - N + 2)と分岐数 + 1の正確な定義と適用場面の理解
- 独立経路テストの最小ケース数および複雑度閾値(10以下)によるリファクタリングを踏まえたシステム方式・機能仕様の設計
- 定量的効果:静的解析ツールでサイクロマティック複雑度15以上のモジュールを自動検知して分割を義務付け、保守改修時のバグ混入密度を半分以下に低減
午後I記述・午後II小論文試験での攻略ポイント
午前IIの計算問題(辺の数E - ノード数N + 2)で頻出であり、午後IIでもコード品質・保守性基準の定量指標として活用できます。
小論文で使える実践フレーズ・キーワード(クリックでコピー)
この用語が出題された過去問を解く(1分演習)
即時アウトプットで定着システムアーキテクト 過去問演習で実践力を鍛える