아키텍처 특성을 식별하라
아키텍처에서 가장 흔한 안티패턴 중 하나 101
\=> 모든 아키텍처 특성을 지원하는 제네릭 아키텍처를 설계하려는것.
그래서 우선 도메인 관심사에서 아키텍처 특성을 도출해야한다.
도메인 이해관계자들과 아키텍트는 서로 다른 말을 한다. 그래서 도메인 관심사를 아키텍처 특성을 옮겨야한다. 아래는 일반적인 도메인 관심사와 이를 뒷받침 하는 아키텍처 특성을 정리하는 표이다.
| 도메인 관심사 | 아키텍처 특성 |
| 인수 합병 | 상호 운용성, 확장성, 적응성, 신장성 |
| 출시 시기 | 민첩성, 시험성, 배포성, |
| 유저 만족 | 성능, 가용성, 내고장성, 배포성, 민첩성, 보안 |
| 경쟁 우위 | 민첩성, 배포성, 확장성, 가용성, 내고장성 |
| 시간 및 예산 | 단순성, 실행성 |
- 암묵적 아키텍처 특성
가용성 => 유저는 언제든지 접속할 수 있어야한다.
신뢰성 => 시스템을 문제없이 사용하려면 반드시 필요하다.
- 구입하려고 사이트 접속했는데 자꾸 접속 끊기면 리텐션 없을거임.
보안 => 모든 시스템에 공통적인 암묵적 특성
- 안전하지않은 소프트웨어를 원하는 사람은 아무도 없다.
아키텍처 특서은 서로 연관되어 움직이므로 중요도(Criticality)에 따라 우선순위는 달라질 수 있다. 아키텍트는 보안이 설계의 구조적인 측면에 영향을 미치거나 애플리케이션에 매우 중대한 요소라고 판단할 경우 아키텍처 특성으로 간주한다.



