품질 요소를 만족시키기 위해 사용한 아키텍쳐 접근 방법
절차 기록자는 아키텍트가 설명할 때 중요 부분을 기록한다.
평가팀은 소개된 아키텍쳐 접근 방법, 잠재 위험요소, 추가적인 이해 관계자의 역할 등을 이해한다.
Identity the Architectural Approaches
[Present the Architecture]에서 소개된 아키텍쳐 고유의 접근 방법과 아키텍쳐 스타일을 파악하는 단계이다.
아키텍쳐 접근방법을 확인하는 방법으로는 S/W 아키텍트에게 질의할 수도 있으며 각각의 평가팀 멤버에게서 투표로써 접근방법을 조사할 수도 있다.
시나리오 기록자는 파악된 아키텍쳐 접근 방법을 기록한다 .
Generate the Quality Attribute Utility Tree
평가팀, 아키텍쳐 팀, 프로젝트 매니저 등이 협력하여 유틸리티 트리를 작성하는 단계이다.
이 단계에서 만들어진 유틸리티 트리는 이후의 평가 스텝에서 가이드 역할을 하며 분석의 목표를 구체화하는 효과를 기대할 수 있다.
유틸리티 트리를 통해 평가팀이 아키텍쳐의 어느 부분에 집중해야 할 지 등을 파악하고 평가의 범위를 결정하는 데 도움이 된다.
유틸리티 트리를 생성하는 절차
- 루트에 “유틸리티”를 할당한다.
- 루트의 하위 노드인 레벨2에 시스템의 품질요소를 할당.(예: Performance, Maintainability 등)
- 레벨2 노드를 정제하여 레벨3 노드를 생성한다.
- 레벨4 노드로서 품질 시나리오를 생성한다.
- H/M/L 단위를 사용하여 시나리오의 중요도를 선정한다.
- H에 할당된 시나리오에 대해 그 시나리오를 수행하기가 얼마나 어려운지 아키텍트에게 질의한다.
- 품질요구 사항과 트리에서 나타난 중요 품질 요소 차이를 확인한다.
- 유틸리티 트리를 기록한다 .
Analyze the Architectural Approaches
유틸리티 트리를 통해 평가 범위를 결정한 후, 아키텍쳐 접근 방법과 결정사항을 평가하는 단계로 아키텍쳐의 중요한 부분을 알아낸다.
이 단계의 가장 중요한 결과물은 Risk, Sensitivity point, Trade-off 등이며, 이들을 유틸리티 트리의 시나리오와 연계하여 품질요소에 대해 평가한다.
Brainstorm and Prioritize Scenarios
전체 이해 관계자로부터 시나리오를 생성하는 단계이다. 이 시나리오는 전체 이해관계자가 참여하는 투표 프로세스를 통해 우선순위가 정해진다.
유틸리티 트리는 시나리오를 생성하기 위한 하향식 메커니즘을 제공하는 반면에, 시나리오 Brainstorming은 상향식 접근법으로 시나리오를 생성하는 것이다.
평가 리더는 이해 관계자가 차례로 시나리오에 대해 말할 수 있도록 라운드로빈 방식으로 진행시킨다.
시나리오 기록자는 Brainstorming 결과를 기록하여 전 참여자가 볼 수 있도록 게시한다.
참여자는 게시된 시나리오 결과에 대해 토론하여 합치거나 삭제하여 시나리오를 정제한다.
시나리오가 결정된 후 투표를 실시한다.
결정된 시나리오의 수의 30%의 투표권을 할당한다.
예를 들면 시나리오의 개수가 20 개라면 각각의 참여자가 투표수는 여섯 표씩 투표할 수 있다. 투표 결과로 높은 우선순위의 시나리오는 다음 스텝에서 분석 대상이 된다
상위에 랭크된 시나리오 사례