소프트웨어 패키지 메트릭
Software package metrics모듈러 프로그래밍에는 다양한 소프트웨어 패키지 메트릭이 사용됩니다.Robert Cecil Martin은 2002년 저서 Agile 소프트웨어 개발: 원칙, 패턴 및 관행에서 이러한 문제를 언급했습니다.
여기서 소프트웨어 패키지라는 용어는 객체 지향 프로그래밍에서 관련된 클래스의 그룹을 의미합니다.
- 클래스 및 인터페이스 수:패키지의 구체적이고 추상적인 클래스(및 인터페이스)의 수는 패키지의 확장성을 나타내는 지표입니다.
- 구심 커플링(Ca):패키지 내의 클래스에 따라 달라지는 다른 패키지의 클래스 수는 패키지의 책임을 나타내는 지표입니다.구심성 커플링이 내부 신호를 보냅니다.
- 배출 커플링(Ce):패키지의 클래스가 의존하는 다른 패키지의 클래스 수는 패키지의 외부 기능 의존도를 나타내는 지표입니다.효율적인 커플링이 외부로 신호를 보냅니다.
- 추상성(A):분석 패키지의 추상 클래스(및 인터페이스) 수와 분석 패키지의 총 클래스 수의 비율입니다.이 메트릭의 범위는 0 ~ 1이며, A=0은 완전한 콘크리트 패키지를 나타내고 A=1은 완전한 추상 패키지를 나타냅니다.
- 불안정성(I):I = Ce / (Ce + Ca)가 되도록 총 커플링(Ce + Ca)에 대한 효율 커플링(Ce)의 비율.이 메트릭은 패키지의 변경 탄력성을 나타내는 지표입니다.이 메트릭의 범위는 0 ~ 1이며, I=0은 완전히 안정적인 패키지를 나타내며, I=1은 완전히 불안정한 패키지를 나타냅니다.
- 주계열과의 거리(D): 이상적인 선 A + I = 1. D 로부터의 패키지의 수직 거리. D = A + I - 1 로 계산되며, 이 메트릭은 패키지의 추상성과 안정성 사이의 균형을 나타내는 지표이다.메인 시퀀스상의 패키지는 그 추상성과 안정성에 관해 최적의 균형을 이루고 있다.이상적인 패키지는 완전히 추상적이고 안정적인(I=0, A=1) 또는 완전히 콘크리트적이고 불안정한(I=1, A=0) 패키지이다.이 메트릭의 범위는 0 ~ 1이며, D=0은 주 시퀀스와 일치하는 패키지를 나타내며, D=1은 주 시퀀스에서 가능한 멀리 떨어진 패키지를 나타냅니다.
- 패키지 종속성 주기:패키지 종속성 사이클은 패키지 종속성 사이클에 참여하는 패키지의 계층 경로와 함께 보고됩니다.
「 」를 참조해 주세요.
- 의존성 반전 원리 – 결합을 감소시키는 방법 (Mart 2002:127)
레퍼런스
- Robert Cecil Martin (2002). Agile Software Development: Principles, Patterns and Practices. Pearson Education. ISBN 0-13-597444-5.
외부 링크
- OO 메트릭스 튜토리얼은 패키지 메트릭스를 예로 설명하지만 불안정성 지수를 잘못 알고 있습니다. 마틴의 신속한 소프트웨어 개발: 원칙, 패턴 및 관행 262페이지를 참조하십시오.피어슨 교육ISBN 0-13-597444-5.