(결합도 약함)
자료 결합도 (Data Coupling): 모듈 간의 인터페이스가 자료 요소로만 구성
↑
스탬프 결합도 (Stamp Coupling): 배열이나 레코드 등의 자료 구조가 전달
↑
제어 결합도 (Control Coupling): 제어 신호를 통신하거나 제어 요소(Flag)를 전달
↓
외부 결합도(External Coupling): 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조
↓
공유 결합도(Common Coupling): 모듈 밖에 선언된 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용 (전역변수를 공유)
↓
내용 결합도(Content Coupling): 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조 or 수정(public 속성)
(결합도 강함)
(응집도 강함)
기능적 응집도(Functional Cohesion): 하나의 기능에 모두 기여하고 밀접하게 연관되어 있는 것 (그룹화)
↑
순차적 응집도(Sequential Cohesion): 모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할
↑
교환적 응집도(Communication Cohesion): 동일한 입력과 출력 사용
↓
절차적 응집도(Procedural Cohesion): 입출력 간 연관성은 없으나, 순서에 따라 수행
↓
시간적 응집도(Temporal Cohesion): 특정 시간에 처리되는 몇 개의 기능을 모아 모듈로 작성
↓
논리적 응집도(Logical Cohesion): 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리
↓
우연적 응집도(Coincidental Cohesion): 모듈 내부의 각 구성요소들이 연관이 없음
(응집도 약함)