정보시스템 감리 기출해설/소프트웨어공학 해설

(제 23회) 소프트웨어 공학 / (40)~(41) 해설

아이티신비 2024. 9. 19. 09:00

40. 다음 (가), (나)에 해당하는 Chidamber와 Kemerer의 객체 지향 척도로 가장 적절한 것은?

 

 
(가) 클래스에 있는 메서드들의 쌍을 고려하여 계산된다. 이 값은 공유된 속성이 없는 메서드 쌍의 수와 공유된 속성이 있는 메서드 쌍의 수의 차이이다.
(나) 클래스의 객체가 받은 메시지에 응답하여 실행될 가능성이 있는 메서드들의 수를 나타낸다. 이 값이 클수록 클래스가 복잡해지므로 클래스가 오류를 포함할 가능성은 더 높을 수 있다.

① (가) LCOM(Lack of cohesion in methods)

(나) WMC(Weighted methods per class)

② (가) WMC(Weighted methods per class)

(나) RFC(Response for a class)

③ (가) LCOM(Lack of cohesion in methods)

(나) RFC(Response for a class)

④ (가) RFC(Response for a class)

(나) LCOM(Lack of cohesion in methods)

 

▣ CK 매트릭 : 객체지향 분석의 복잡도 측정 매트릭스

 
객체지향 척도
설명
클래스 가중치
WMC(Weighted Methods per Class)
  • 각각의 메서드에 복잡성 가중치를 준, 클래스에 있는 메서드드의 수
  • 이 값이 클수록 클래스는 더 복잡하다.
상속 트리의 깊이
DIT(Depth of Inheritance Tree)
  • 서브클래스가 부모클래스로부터 속성과 메서드들을 상속받는 상속 트리에서 분리된 수준의 수를 나타낸다.
  • DIT 가 깊을수록 설계는 더욱 복잡해진다.
자식의 수
NOC(Number of Children)
  • 클래스의 즉각적인 서브클래스 개수에 대한 척도
  • 클래스 계층의 너비를 나타낸다.
클래스들 사이의 결합도
CBO(Coupling Between Object Classes)
  • 결합도가 얼마나 존재하는지에 대한 척도
  • 높은 CBD값은 클래스들의 상호의존도가 높다는 것을 의미한다.
클래스의 책임
RFC(Response for a Class)
  • 클래스의 객체가 받은 메시지에 응답하여 실행될 가능성이 있는 메서드들의 수
  • RFC 가 클수록 클래스가 복잡해지므로 오류를 포함할 가능성이 높다
메소드 응답 결핍
LCOM(Lack of Cohesion in Methods)
  • 해당 클래스의 속서을 공유하지 않는 메소드 쌍의 수
  • LCOM값이 크면 클래스 안에 있는 요소들 사이에 공유하는 속성이 없고 클래스가 모듈로서 응집도가 떨어진다는 의미이다.

정답 : ③

 

41. Robert Martin의 Clean Architecture에서는 외부 요소에서 내부 요소 방향만의 의존성을 강조하고 있다. 이 아키텍처를 구성하는 요소들을 내부에서 외부의 순서로 가장 적절하게 나열한 것은?

 

① Entities – Interface Adapters – Use Cases –Frameworks and Drivers

② Entities – Use Cases – Interface Adapters -Frameworks and Drivers

③ Frameworks and Drivers – Use Cases –Interface Adapters - Entities

④ Frameworks and Drivers – Interface Adapters– Entities – Use Cases

 

▣ 아키텍처 모형 (수 십년 동안 다양한 아키텍처에 대한해 연구한 결과 공통점)

  • 바깥쪽 원은 매커니즘이고, 안쪽 원은 정책이다. 이러한 아키텍처가 동작하도록 가장 중요한 규칙은 의존성 규칙(Dependency Rule)

 

정답 : ②

 



 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥