소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능을 모듈(Module) 단위로 분리한다. 모듈은 단독으로 컴파일과 재사용을 할 수 있다. 결합도(Coupling)와 응집도(Cohesion)로 모듈의 독립성을 측정할 수 있으며, 결합도는 약하고 응집도가 높으면 소프트웨어의 품질이 높다. 결합도 약함 ↕ 강함 자료 결합도 (Data Coupling) 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도 스탬프 결합도 (Stamp Coupling) 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도 제어 결합도 (Control Coupling) 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 이용하여 통신하..