아키텍처를 결정하는 2가지 요인

  1. 기능 요구사항
  2. 품질 속성(비기능 요구사항) - 가용성, 보안

품질 속성을 높으면 시스템의 복잡도가 증가하기 때문에 적기적소에 맞는 품질속성을 구축해야한다.

아키텍처가 중요한 4가지 이유

  1. 아키텍처는 시스템의 골격 역할을 한다.
  2. 아키텍처는 품질 속성에 영향을 미친다.
  3. 아키텍처는 기능과 직교한다.
  4. 아키텍처는 시스템을 제한한다.

우발적 복잡성 과 본질적 복잡성