큰 문제는 작은 문제로 분해할 수 있음
작은 문제의 일부는 반복됨
큰 시스템은 더 작은 하위 시스템으로 분해 가능
교체 가능
작은 시스템은 더 큰 상위 시스템으로 조립 가능
모듈 재사용
라이브러리
단위 테스트
모듈을 제공하는 입장에서는 신뢰성을 위해 테스트가 필요