특정 패키지에 있는 concrete 클래스의 개수(CC)와 abstract 클래스/인터페이스의 개수(AC)는 패키지의 확장성(extensibility)에 대한 척도가 된다.
특정 패키지의 클래스에 의존하는 다른 패키지의 수. 패키지가 갖는 책임의 정도(responsibility)에 대한 척도가 된다.
특정 패키지의 클래스가 의존하는 다른 패키지의 수. 패키지의 독립성(independence)에 대한 척도.
전체 클래스 개수에 대해 인터페이스를 포함한 abstract 클래스의 비율. 값의 범위는 0 부터 1 이며, A=0 인 경우 완전히 구체적인 패키지를 나타내고, A=1 이라는 것은 완벽하게 추상적인 패키지를 의미한다.
전체적인 결합도(Ce + Ca)에 대한 외부 의존도(Ce)의 비율. 변화에 대한 탄력성(resilience to change)의 척도가 된다. I=0 인 경우 완벽하게 안정적인 패키지이고, I=1 이라면 극단적으로 불안한 패키지가 된다.
A + I = 1 인 이상적인 선에서부터의 수직 거리. 추상화 정도와 불안정성 사이의 균형(balance between abstractness and stability)을 의미한다. 이상적인 패키지는 완전히 추상적이면서 안정적 (x=0, y=1) 이거나 완전히 구체적이면서 불안정(x=1, y=0)한 것들이다. D=0 의 경우 이상적인 것이고, D=1 인 경우 이상적인 상황과 거리가 먼 것이다.
답글 보기
* 이글은 엠파스 블로그 사용시, 2005/06/24 (금) 16:04에 작성한 내용입니다.

이올린에 북마크하기
이올린에 추천하기