Study/Computer Science

[소프트웨어 공학] 모듈 구현 - 결합도와 응집도

욘아리 2024. 7. 1. 21:41

모듈 구현이란?

소프트웨어를 기능 단위로 분해하여 개별적으로 구현하는 것을 말한다.

 

효과적인 모듈화를 하려면 어떻게 해야 할까?🤔

결합도를 낮추고, 응집도를 높여 모듈의 독립성을 강화한다.

 

결합도

모듈과 모듈 간의 관련성/의존성 정도를 나타낸다. 그렇기 때문에 결합도가 낮을수록 좋다.

  • 자료(이터) 결합도(Data Coupling) : 값 전달
  • 탬프 결합도(Stamp Coupling) : 배열 등 전달
  • 어 결합도(Control Coupling) : 제어 요소 전달
  • 부 결합도(External Coupling) : 다른 모듈 변수 사용
  • 통 결합도(Common Coupling) : 전역변수 사용
  • 용 결합도(Content Coupling) : 다른 모듈 기능 이용

 

✔️ 암기 방법(결합도는 점점 높아짐)

(테)(쟤) (왜)저래 나보고 유 닮았(녜)

 

응집도

모듈 내부에서 구성요소 간에 밀접한 관계를 맺고 있는 정도를 나타낸다. 그렇기 때문에 응집도가 높을수록 좋다.

  • 연적 응집도 : 연관관계 없음
  • 리적 응집도 : 유사한 성격
  • 간적 응집도 : 같은 시간 기능 수행
  • 차적 응집도 : 순차적 수행
  • 신적 응집도 : 동일한 입력, 출력
  • 차적 응집도 : 출력값을 입력값으로 사용
  • 능적 응집도 : 단일한 목적 수행

 

✔️ 암기 방법(응집도는 점점 높아짐)

리가 (놀)던 시절 통한 가 막혔지