• 큰 문제는 작은 문제로 분해할 수 있음

    • 작은 문제의 일부는 반복됨
  • 큰 시스템은 더 작은 하위 시스템으로 분해 가능

    • 교체 가능
  • 작은 시스템은 더 큰 상위 시스템으로 조립 가능

    • 모듈 재사용
    • 라이브러리
  • 단위 테스트

    • 모듈을 제공하는 입장에서는 신뢰성을 위해 테스트가 필요