Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

순환 복잡도 측정법

메트릭 ID

메트릭 ID: mathworks.metrics.CyclomaticComplexity

설명

메트릭 유형: 아키텍처

모델 어드바이저 ID 확인: mathworks.metricchecks.CyclomaticComplexity

이 메트릭을 사용하여 모델의 순환적 복잡성을 계산합니다. 순환 복잡도는 모델의 구조적 복잡도를 측정한 것입니다. 통합 논리 및 오류 검사와 같이 이 분석에서 고려하지 않는 코드 기능으로 인해 생성된 코드와 모델의 복잡성 측정이 다를 수 있습니다. 객체(예: 블록, 차트 또는 상태)의 순환적 복잡성을 계산하기 위해 Simulink® Check™는 다음 공식을 사용합니다.

c=1N(on1)

N은 개체가 나타내는 결정 지점의 수이고 on은 n번째 결정 지점에 대한 결과 수입니다. 계산에서는 벡터화된 작업 또는 Multiport switch 블록을 단일 결정 지점으로 간주합니다. 이 도구는 모델, 원자 하위 시스템 및 Stateflow® 차트의 복잡성 수치에 1을 추가합니다.

결과는 다음에 대한 로컬 및 집계된 순환 복잡성을 제공합니다.

  • 모델

  • 하위 시스템

  • 차트

  • MATLAB® 함수

로컬 복잡성은 계층 수준에서 개체의 순환적 복잡성입니다. 집계된 순환 복잡도는 객체와 그 자손의 순환 복잡도입니다.

이 메트릭은 Simulink Check에서 사용할 수 있습니다. 이 메트릭에 대한 데이터를 수집하려면 메트릭 식별자 mathworks.metrics.CyclomaticComplexity와 함께 getMetrics을 사용하세요.

slmetric.metric.AggregationMode 속성 설정은 Sum입니다.

계산 세부사항

메트릭:

  • 라이브러리 모델에서는 실행되지 않습니다.

  • 마스크된 하위 시스템의 콘텐츠를 분석합니다.

  • 비활성 변형을 분석하지 않습니다.

  • 지정된 경우 라이브러리 링크 블록 또는 참조 모델의 컨텐츠를 분석합니다.

  • 가속 모드에서는 참조 모델을 분석하지 않습니다.

수집

Model Advisor를 사용하여 이 지표에 대한 데이터를 수집하려면 By Task > Model Metrics > Complexity Metrics에서 순환 복잡도 메트릭 확인을 실행하세요. Model Advisor 검사는 루트 모델과 시스템의 Simulink 및 Stateflow 개체에 대한 로컬 순환 복잡성을 표시합니다. 검사에서는 참조 모델을 분석하거나 집계된 결과를 반환하지 않습니다.

결과

이 메트릭의 경우 slmetric.metric.Result 인스턴스는 다음 결과를 제공합니다.

  • Value: 지역적 순환적 복잡성.

  • AggregatedValue: 집계된 순환적 복잡성.

  • Measures: 해당되지 않습니다.

복잡성에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

관련 항목