Main Content

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

Simulink Halstead 복잡성

메트릭 ID

sldesignlayer.SimulinkHalsteadComplexity

설명

Halstead 복잡성 지표는 코드의 크기와 복잡성을 측정하여 코드 품질을 모니터링하고 설계의 복잡한 영역을 식별하며 소프트웨어 유지 관리 문제를 해결하는 데 도움이 될 수 있습니다.

이 메트릭을 사용하여 Simulink® 모델의 연산자와 피연산자를 계산하고 모델 레이어 볼륨과 난이도를 계산합니다.

계산 세부사항

연산자 및 피연산자

연산자는 변수의 내용에 영향을 미치는 동작을 지정합니다. 피연산자는 연산자가 작동하는 기본 논리 단위입니다.

메트릭:

  • 다음 정의를 사용합니다.

    •  Simulink 연산자

    •  Simulink 피연산자

  • 주석 처리한 블록을 무시합니다.

할스테드 볼륨

이 메트릭은 V=(N1+N2)×log2(n1+n2) 등식을 사용하여 Halstead 볼륨 V를 계산합니다. N1는 전체 연산자 수, N2은 전체 피연산자 수, n1은 고유 연산자 수, n2는 고유 피연산자 수입니다.

할스테드 난이도

이 메트릭은 D=n12×N2n2 등식을 사용하여 Halstead 난이도 D를 계산합니다. n1은 고유 연산자 수, N2은 전체 피연산자 수, n2는 고유 피연산자 수입니다.

수집

이 지표에 대한 데이터를 수집하려면 지표 엔진을 실행하고 지표 ID sldesignlayer.SimulinkHalsteadComplexity와 함께 getMetrics를 사용합니다.

metric_engine = metric.Engine;
execute(metric_engine,"sldesignlayer.SimulinkHalsteadComplexity");
results = getMetrics(metric_engine,"sldesignlayer.SimulinkHalsteadComplexity")

결과

이 지표는 프로젝트의 단위 및 구성 요소에 있는 각 Simulink 디자인 레이어에 대한 지표 결과를 반환합니다. Simulink 디자인 레이어는 Simulink에 자체 캔버스가 있는 블록 다이어그램이나 하위 시스템과 같은 아티팩트입니다.

각 Simulink 디자인 레이어에 대해 메트릭은 다음과 같은 속성을 포함하는 metric.Result 개체를 반환합니다.

  • Value — 다음에 대한 필드가 있는 구조:

    • TotalOperators — 설계 레이어에 사용된 Simulink 블록 수입니다.

    • UniqueOperators — 디자인 레이어에 사용된 고유한 Simulink 블록의 수입니다. 예를 들어 참조 모델을 사용하여 모델 구성 요소를 재사용하는 경우 모델 구성 요소를 여러 번 재사용하더라도 메트릭은 모델 구성 요소를 하나의 연산자로 간주합니다.

    • TotalOperands — 입력 및 출력 수.

    • UniqueOperands — 각 Simulink 블록의 출력 신호 수.

    • Volume — 디자인 레이어의 크기입니다.

    • Difficulty — 디자인 레이어를 읽고 쓰는 것이 얼마나 어려운지 추정합니다.

  • Scope — 디자인 레이어에 대한 정보가 포함된 구조입니다.

메트릭이 메트릭 결과를 계산하는 방법에 대한 자세한 내용은 계산 세부사항를 참조하세요.

참고 문헌

[1] Halstead, Maurice H. Elements of Software Science. New York: North Holland, 1979.

[2] Stürmer, Ingo, Hartmut Pohlheim, and Thorsten Rogier. 2010. "Berechnung und Visualisierung der Modellkomplexität bei der modellbasierten Entwicklung sicherheitsrelevanter Software." In Automotive - Safety & Security, edited by B. Keller et al., 69-82. Aachen: Shaker Verlag.

[3] Yu, Sheng, and Shijie Zhou. “A Survey on Metric of Software Complexity.” In 2010 2nd IEEE International Conference on Information Management and Engineering, 352–56, 2010. https://doi.org/10.1109/ICIME.2010.5477581.

참고 항목

| |

관련 항목