아키텍쳐평가 방법론
아키텍쳐는 다양한 방법으로 평가될 수 있다. 크게 4가지의 범주로 구분할 수 있는데, 구분은 다음과 같다
- Scenario-based assessment
시나리오 기반의 평가는 직접적으로 품질 요소(Quality Attribute)를 위해 정의된 Profile에 의존하여 평가하는 방식이다. 기술적으로 시나리오에 기반하고 있기 때문에 시나리오의 정밀함에 따라 평가 결과도 정밀해질 수 있다. ATAM이나 SAAM 등이 시나리오 기반의 평가 방법이다.
- Simulation-based assessment
시뮬레이션 기반의 평가 방식은 간단하게 BMT를 연상할 수도 있다. 물론 시뮬레이션 기반의 방식은 일부 또는 추상화된 형태의 구현과 이를 기반으로 한 평가가 이루어진다.
- Mathematical model-based assessment
수학적 모델을 기반으로 한 static 평가가 이루어진다. 기준의 모델을 기초로 다른 점들을 수치화하고 이를 기초로 평가하게 된다. 품질을 추정하는 데 사용될 가능성이 높다.
- Experience-based assessment
제목 그대로 경험 기반의 평가 작업이다. 아키텍쳐 수립은 수학적인 활동과 예술적인 활동이 복합적으로 발생한다. 그래서 아키텍쳐 수립작업은 수학적 작업도 있지만 창조적/감각적으로 작업해야 하는 경우도 많다. 이런 감각적 작업에서 만들어진 결정들은 정량적인 분석이 어려운 경우가 많고, 품질을 평가하기 위해 정형화된 모델을 갖지 못하는 경우가 더 많다. 이러한 경우에 경험은 또 하나의 중요한 평가 수단으로 활용된다.
이러한 평가 방법들은 한가지만 사용되는 것이 아니라 복합적으로 적용되는 경향이 있다.
대표적인 평가 방법론
- Architecture Tradeoff Analysis Method(ATAM)
- 시나리오 기반임
- 모든 quality attributes를 평가함
- 특히 다음 사항을 찾아내는데 중심을 둠
sensitivity to various attributes exists
quality attribute tradeoffs occur - 정량적/정성적 분석/평가를 수행함
- 시스템의 quality attribute에 관심이 있는 모든 관련 당사자들을 평가에 참여 시킴
- Software Architecture Analysis Method(SAAM)
- 단순하며, 시나리오 기반임
- 주로 maintainability, modifiability, robustness,flexibility 등의 Quality에 관심을 둠
- 주로 수정/변경에 필요한 리소스를 가정하고 이를 기반으로 평가함