1. 모듈 응집도
1개 모듈, 1개 기능 수행
1) 응집도 유형
↑ 응집도 높음 = 높은 품질의 소프트웨어
- 기능적 응집도: 모듈 내에서 모든 기능이 단 하나의 목적으로 수행
- 순차적 응집도: 모듈 내에서 한 활동의 출력값이 다른 활동의 입력값으로 수행
- 통신적 응집도: 모듈 내에서 입력과 출력을 사용하여 다른기능 수행
- 절차적 응집도: 모듈 내부 구성요소들이 순차적으로 기능을 수행
- 시간적 응집도: 모듈 내에서 특정시간에 처리되어야하는 활동
- 논리적 응집도: 모듈 내에서 매개변수에 따라 처리
- 우연적 응집도: 모듈 내부 구성 요소들이 서로 연관 없음
↓ 응집도 낮음
2. 모듈 결합도
모듈과 모듈 간의 관련성
1) 결합도 유형
↓ 결합도 낮음 = 높은 품질의 소프트웨어
- 자료 결합도: 파리미터를 통해서만 모듈 간 상호 작용
- 스탬프 결합도: 배열, 객체, 구조체 등으로 모듈 간 상호작용
- 제어 결합도: 처리 대상(value)에 추가되어 제어요소(control element)로 모듈 간 상호작용
- 외부 결합도: 서로 데이터, 프로토콜, 인터페이스 공유하면서 모듈 간 상호작용
- 공통 결합도: 서로 전역 변수 공유하면서 모듈 간 상호작용
- 내용 결합도: 다른 모듈 내부에 있는 변수 또는 기능을 다른 모듈에서 사용
↑ 결합도 높음