サイクロマティック複雑度
Cyclomatic Complexity
さいくろまてぃっくふくざつど
他の資格での定義
プログラムの制御フローグラフに基づいて算出される複雑度の指標。分岐の数が多いほど値が大きくなり、テストすべきパス数の目安となる。メトリクス計測に用いられ、コードレビューの判断材料にもなる。
プログラムの制御フローグラフから算出される複雑度の指標。分岐の数に基づいて計算され、値が大きいほど複雑でテストケースが多く必要になる。一般に10以下が望ましいとされ、リファクタリングの判断基準に用いる。
プログラムの制御フローグラフの独立パス数を表す複雑度指標。分岐(if、switch、for等)が増えるほど値が大きくなる。一般に10以下が推奨され、値が大きいモジュールはテストやメンテナンスが困難になる。
関連キーワードの用語
ソフトウェアの品質を定量的に測定するための指標の総称。バグ密度(KLOC当たりのバグ数)、テストカバレッジ、コード複雑度、欠陥除去率などがある。プロジェクトの品質状況の把握と改善判断に活用する。
プログラムの規模あたりのバグ検出数を示す品質指標。KLOC(千行)あたりのバグ数やFPあたりのバグ数で測定する。工程ごと・モジュールごとに計測し、品質の偏りや問題箇所の特定に活用する。過去の実績値と比較して評価する。
プログラムの記述スタイルや命名規則、コメントの書き方、インデンテーション、ネストの深さ制限、使用禁止命令などを統一するための規約。可読性・保守性の向上とバグ混入の防止を目的とし、チーム開発での一貫性を確保する。
製品やシステムが、特定の利用者にとって特定の利用状況において、有効性・効率性・満足度をもって使用できる度合い。ISO 9241-11で定義され、学習しやすさ、操作効率、記憶しやすさ、エラーの少なさ、主観的満足度の5つの指標で評価される。
性能、信頼性、可用性、セキュリティ、保守性、移植性など、機能以外のシステム品質に関する要件。パフォーマンス要件や運用・保守要件も含まれ、システムが「どのように動くか」を規定する。
要件から設計、テストケース、情報項目に至るまでの追跡可能性。双方向のトレーサビリティにより、要件の漏れや不整合を検出でき、要件変更時の影響範囲の把握にも活用される。トレーサビリティマトリクスで管理する。