달력

032010  이전 다음

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  • Number of Classes and Interfaces
    특정 패키지에 있는 concrete 클래스의 개수(CC)와 abstract 클래스/인터페이스의 개수(AC)는 패키지의 확장성(extensibility)에 대한 척도가 된다.

  • Afferent Couplings (Ca)
    특정 패키지의 클래스에 의존하는 다른 패키지의 수. 패키지가 갖는 책임의 정도(responsibility)에 대한 척도가 된다.

  • Efferent Couplings (Ce)
    특정 패키지의 클래스가 의존하는 다른 패키지의 수. 패키지의 독립성(independence)에 대한 척도.

  • Abstractness (A)
    전체 클래스 개수에 대해 인터페이스를 포함한 abstract 클래스의 비율. 값의 범위는 0 부터 1 이며, A=0 인 경우 완전히 구체적인 패키지를 나타내고, A=1 이라는 것은 완벽하게 추상적인 패키지를 의미한다.

  • Instability (I) = Ce / (Ce + Ca)
    전체적인 결합도(Ce + Ca)에 대한 외부 의존도(Ce)의 비율. 변화에 대한 탄력성(resilience to change)의 척도가 된다. I=0 인 경우 완벽하게 안정적인 패키지이고, I=1 이라면 극단적으로 불안한 패키지가 된다.

  • Distance from the Main Sequence (D)
    A + I = 1 인 이상적인 선에서부터의 수직 거리. 추상화 정도와 불안정성 사이의 균형(balance between abstractness and stability)을 의미한다. 이상적인 패키지는 완전히 추상적이면서 안정적 (x=0, y=1) 이거나 완전히 구체적이면서 불안정(x=1, y=0)한 것들이다. D=0 의 경우 이상적인 것이고, D=1 인 경우 이상적인 상황과 거리가 먼 것이다.

  • Package Dependency Cycles  

    답글 보기



    * 이글은 엠파스 블로그 사용시, 2005/06/24 (금) 16:04에 작성한 내용입니다.
  • 이올린에 북마크하기(0) 이올린에 추천하기(0)
    Posted by 영회