[Chapter 05]아키텍처 특성 식별
2023. 8. 27. 13:27ㆍArchitecture/소프트웨어 아키텍처 101
도메인 관심사에서 아키텍처 특성 도출
- 아키텍트는 도메인의 핵심 목표와 현재 상황을 고려해서 도메인 관심사를 ‘~성'으로 해석한 후, 그에 따라 정확하고 합리적인 아키텍처 결정을 내려야 한다.
- 최종 목록을 가능한 한 짧게 하라는 것 인데, 아키텍처 특성의 개수에 연연하지 말고 가급적 설계를 단순화하는게 좋다.
- 대부분의 아키텍처 특성은 핵심 도메인 이해관계자들의 의견을 듣고 도메인 관점에서 무엇이 중요한지 의견을 교환하면서 정리된다.
- 여기서 문제는 아키텍트와 도메인 이해관계자들이 서로 다른 언어로 말을 한다는 것이다.
- 아키텍트는 확장성, 상호운용성, 내고장성, 학습성, 가용성을 운운하는데, 도메인 이해관계자는 인수 병합, 고객 만족, 출시 시점, 경쟁 우위를 논하는 식이다.
- 아키텍트는 성능 외에도 가용성, 확장성, 신뢰성, 복원성, 감사성 등의 아키텍처 특성에도 관심을 기울여야한다.
요구사항에서 아키텍처 특성 도출
- 예상 유저수와 그에 따른 확장성은 보통 도메인 관심사에 해당된다.
- 어느 아키텍트가 대학교 학사 관리 시스템에서 수강 등록을 처리하는 어플리케이션을 설계한다고 가정하자. 계산 편의상, 총 학생 수는 1,000명이고 학생 일인 당 10시간의 수강 신청을 한다고 보면, 등록 기간 중 학생들의 시스템 이용 시간이 고루 분산되리라는 전제 하에 시스템 규모를 일정하게 설계해야 하는가? 아니면, 보통 대학생들의 성향과 습관에 대한 지식을 바탕으로 마감 10분 전부터 1,000명의 학생 모두가 수강 신청을 하려고 달려들어도 문제없는 시스템을 설계해야 하는가?
- 요구사항 정의서에서는 적혀 있지는 않지만 아키텍트는 어떤 케이스든 설계 결정에 반영해야 한다.
참고자료
'Architecture > 소프트웨어 아키텍처 101' 카테고리의 다른 글
[Charpter 07] 아키텍처 특성 범 (0) | 2023.08.27 |
---|---|
[Chapter 06] 아키텍처 특성의 측정 및 거버넌스 (0) | 2023.08.27 |
[Chapter 04] 아키텍처 특성 정의 (0) | 2023.08.20 |
[Chapter 03] 모듈성 (0) | 2023.08.20 |
[Chapter 02] 아키텍처 사고 (0) | 2023.08.20 |