2017-01-04 1 views
0

대학 프로젝트의 일환으로 리플렉션을 사용하여 임의의 Java 응용 프로그램 아카이브 (JAR)를 분석하고 각 클래스의 위치 안정성을 계산하는 Java 응용 프로그램을 만들어야합니다. 객체 그래프의 구성 요소 클래스 유형의 위치 안정성 (I)은 해당 유형을 시작하고 종료하는 종속성 수를 계산하여 측정 할 수 있습니다. ".리플렉션 API를 사용하여 클래스의 위치 안정성 측정

우리는 각 클래스의 원심력과 원심력 커플 링을 측정해야하며, 그 다음에 안정성을 계산해야합니다.

나는 Afferent와 Efferent 커플 링을 계산하는 방법에 약간 혼란 스럽습니다. 많은 다른 클래스가 특정 클래스를 사용하는 방법의 측정 - :이

for (int i = 0; i < cls.size(); i++) { 

     Class cla = cls.getMyClass(i); 

     Class[] interfaces = cla.getInterfaces(); 

     for(Class inter : interfaces){ 

      efferentCoup++; 
     } 

     Constructor[] cons = cla.getConstructors(); 
     Class[] conParams; 

     for(Constructor c: cons){ 

      conParams = c.getParameterTypes(); 

      for(Class par: conParams){ 

       efferentCoup++; 
      } 

     } 

     Field[] fields = cla.getFields(); 

     for(Field fie: fields){ 
      efferentCoup++; 
     } 
} 

답변

2
  • 수입 성의 커플 링, 내가 지금까지 한 일이다.

는 특정 클래스가 참조지고 있는지, 모든 패키지를 성찰하고 당신의 카운터 매번를 증가하기 위해 필요한이를 계산합니다.

  • 원심성 커플 링가 : -

가 특정 클래스를 통해 성찰 할 필요가이를 계산하려면 특정 클래스에서 사용하는 방법을 여러 가지 종류의 측정 및 참조하고있는 다른 클래스가 몇 개인 지 확인하십시오.

이상적인 단계 1은 커플 링을 모두 계산할 수있을만큼 충분해야합니다.

+1

확인. 이것은 조금 더 의미가 있습니다, 나는 Afferent와 Efferent에 대해 약간 혼란스러워했습니다. –

관련 문제