이 페이지는 기계 번역을 사용하여 번역되었습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
전체 설계 순환 복잡성
메트릭 ID
slcomp.OverallCyclomaticComplexity
설명
이 측정 기준을 사용하여 장치 또는 구성 요소의 전체 설계 순환 복잡성을 결정합니다.
"설계 순환 복잡성"은 설계를 통해 가능한 실행 경로의 수입니다. 일반적으로 디자인을 통과하는 경로가 많을수록 디자인이 더 복잡해집니다. 설계 순환 복잡성을 낮게 유지하면 일반적으로 설계를 읽고 유지 관리하고 테스트하기가 더 쉽습니다. 설계 순환 복잡성은 의사 결정 경로 수에 1을 더해 계산됩니다. 메트릭은 기본 경로로 표시되는 실행 경로를 설명하기 위해 1을 추가합니다. 메트릭은 기본 결과를 포함하여 실행 경로에서 가능한 각 결과를 식별하므로 설계 순환 복잡성에는 기본 경로가 포함됩니다.
예를 들어, if-else
문의 설계 순환 복잡도는 2입니다. if
문은 하나의 결정을 나타내고 else
문은 기본 경로를 나타내기 때문입니다. 기본 상태에 도달하기 위한 결정이 이루어지지 않기 때문에 기본 경로는 결정 횟수에 포함되지 않습니다.
function y = fcn(u) if u < 0 % one decision y = -1*u; else % default path % zero decisions y = u; end end
전체 설계 순환 복잡도 측정 기준은 단위 또는 구성 요소의 총 실행 경로 수를 계산합니다. 기본 경로는 장치 또는 구성 요소당 한 번만 계산됩니다.
전체 설계 순환 복잡성은 다음의 합과 같습니다.
더하기 1(기본 경로의 경우)
계산 세부사항
디자인 내에서 어떤 결정도 내려지지 않은 경우에도 모든 디자인에는 하나 이상의 기본 실행 경로가 있으므로 메트릭의 최소값은 1입니다.
수집
이 메트릭에 대한 데이터를 수집하려면 메트릭 식별자 slcomp.OverallCyclomaticComplexity
와 함께 getMetrics
을 사용하세요.
결과
이 메트릭의 경우 metric.Result
인스턴스는 장치 또는 구성 요소에 대한 전체 설계 순환 복잡성으로 Value
를 반환합니다.
예제
귀하의 단위에 4개의 Simulink® 결정, 5개의 Stateflow® 결정, 6개의 MATLAB® 결정이 포함되어 있다고 가정합니다. 4개의 Simulink 결정, 5개의 Stateflow 결정, 6개의 MATLAB 결정, 1개의 기본 결과의 합이 16이므로 장치의 전체 설계 순환 복잡도는 16입니다.