결합도 : 모듈과 모듈간의 상호 의존도

응집도 : 모듈 내부의 기능적인 집중 정도

결합도는 낮을 수록, 응집도는 높을 수록 이상적인 모듈화임

 

1. 결합도(Coupling) : 외부의 모듈과의 연관도, 모듈간의 상호의존성

자료 결합도 < 스탬프 결합도 < 제어 결합도 < 외부 결합도 < 공통 결합도 < 내용 결합도

 

1) 자료 결합도(Data Coupling): 모듈 간 인터페이스로 전달되는 파라미터를 통해서만 상호작용

2) 스탬프 결합도(Stamp Coupling): 모듈 간 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우

3) 제어 결합도(Control Coupling): 제어요소가 전달되는 경우

4) 외부 결합도(External Coupling): 두 개의 모듈이 외부에서 도입된 데이터 포맷, 디바이스 인터페이스를 공유하는 경우

5) 공통 결합도(Common Coupling): 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수 참조, 갱신하는 식으로 상호작용

6) 내용 결합도(Content Coupling): 다른 모듈 내부에 있는 변수나 기능을 사용하는 경우

 


 

2. 응집도(Cohesion) : 모듈의 독립성을 나타내는 정도, 내부 구성요소 간 연관정도

우연적 응집도 < 논리적 응집도 < 시간적 응집도 < 절차적 응집도 < 교환적 응집도 < 순차적 응집도 < 기능적 응집도

 

1) 기능적 응집도(Functional Cohesion):  모든 기능요소가 단일 문제와 연관되어 수행

2) 순차적 응집도(Sequential Cohesion): 활동을 통해  나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용하는 경우

3) 교환적 응집도(Communication Cohesion): 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우

4) 절차적 응집도(Procedural Cohesion): 모듈이 다수의 관련기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행

5) 시간적 응집도(Temporal Cohesion): 특정시간에 처리되는 몇 개의 기능을 모아 모듈로 구성

6) 논리적 응집도(Logical Cohesion): 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈을 구성

7) 우연적 응집도(Coincidental Cohesion ): 모듈 내부의 각 구성요소가 서로 관련없는 경우

+ Recent posts