CS/소프트웨어개발방법론

모듈 독립성의 평가 (응집도(cohesion), 결합도(coupling))

씩씩한 IT블로그 2022. 2. 10. 16:20
반응형

응집도(cohesion)

- 모듈 내부가 얼마나 강한 연관성으로 뭉쳐져 있는가를 나타내는 모듈 성숙도의 측정치

- 모듈 내의 각 구성요소들이 공통의 목적을 달성하기 위해 서로 얼마나 관련있는지 연관정도를 나타냄

- 모든 요소들이 단일 기능을 수행하고, 그 상위 모듈을 위해 수행되는 기능적 응집도가 가장 높은 응집도이며 아무 관련없는 처리요소들로 모듈이 형성되는 우연적 응집도가 가장 낮은 응집도

- 하나의 논리적 기능을 수행하거나 하나의 논리적 엔티티를 나타내는 것이 바람직하다.

 

결합도(coupling)

- 모듈 사이의 상호 연관성의 복잡도를 의미

- 모듈간의 상호 교루가 많고, 의존이 많을수록 결합도가 높아진다

- 인터페이스가 정확히 설정되어 있지 않거나, 기능이 정확히 나누어져 있지 않을 때 불필요한 인터페이스가 나타나 모듈 사이의 의존도가 높아지고 결합도가 증가한다.

- 두 모듈이 서로 옆에 있건없건 완벽하게 기능을 수행한다면 이는 완전한 독립적인 모듈

- 모듈의 결합도가 높을수록 파문효과(ripple effect)를 일으킨다

- 전역변수의 사용이 결합도를 높히는 대표적인 예시.

반응형