이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
순환 복잡도 측정법
메트릭 ID
메트릭 ID: mathworks.metrics.CyclomaticComplexity
설명
메트릭 유형: 아키텍처
모델 어드바이저 ID 확인: mathworks.metricchecks.CyclomaticComplexity
이 메트릭을 사용하여 모델의 순환적 복잡성을 계산합니다. 순환 복잡도는 모델의 구조적 복잡도를 측정한 것입니다. 통합 논리 및 오류 검사와 같이 이 분석에서 고려하지 않는 코드 기능으로 인해 생성된 코드와 모델의 복잡성 측정이 다를 수 있습니다. 객체(예: 블록, 차트 또는 상태)의 순환적 복잡성을 계산하기 위해 Simulink® Check™는 다음 공식을 사용합니다.
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
: 해당되지 않습니다.
복잡성에 대한 자세한 내용은 다음을 참조하세요.
Cyclomatic Complexity for Stateflow Charts (Simulink Coverage)
Specify Coverage Options (Simulink Coverage)