2018년 12월 31일
소프트웨어 아키텍처 평가 모델 ATAM, CBAM
1. 소프트웨어 아키텍처 평가
- 아키텍처 접근법이 품질 속성에 미치는 영향을 판단하여, 아키텍처 적합성 평가 표준 절차
2. 소프트웨어 아키텍처 평가 모델 유형과 분류
(1) 소프트웨어 아키텍처 평가 모델 유형
| 구분 | 유형 | 설명 |
|---|---|---|
| 평가의 가시성 | 가시적 평가 | – Inspection, Review, Walk-Through |
| 비가시적 평가 | – SAAM, ATAM, CBAM, ARID, ADR | |
| 평가의 시점 | 이른 평가 | – 구축 과정 중 평시 평가 |
| 늦은 평가 | – 기존 시스템 요구사항 적합성 판단 |
(2) 소프트웨어 아키텍처 평가 모델 분류
![]() |
- 일반적으로 정방향 분석인 ATAM, CBAM 많이 사용
| 평가 모델 | 설명 |
|---|---|
| SAAM | – Software Architecture Analysis Method – 변경 용이성, 기능 집중, 평가 용이 |
| ATAM | – Architecture Trade-off Analysis Method – 품질 속성 만족 여부 판단, 이해 관계 평가 |
| CBAM | – Cost Benefit Analysis Method – 의사결정 요구 충족, ATAM바탕 분석 |
| ADR | – Active Design Review – 아키텍처 구성 요소 간 응집도 평가 |
| ARID | – Active Review for Intermediate Designs – 특정 부분에 대한 품질 요소 집중 |
3. ATAM과 CBAM 개념 및 평가 프로세스 비교
(1) ATAM과 CBAM 개념 비교
| ATAM | CBAM |
|---|---|
| – 아키텍처가 품질 속성 만족 여부 및 이해 상충 관계 고려 아키텍처 평가 모델 | – 경제적 의사결정 요구 충족 ATAM 바탕 아키텍처 분석 경제적 모델링 방법 |
- ATAM(Architecture Trade-off Analysis Method)
- CBAM(Cost Benefit Analysis Method)
- ATAM 평가 후 비용/이익 측면 평가 위해 CBAM 수행
(2) ATAM과 CBAM 평가 프로세스 비교
| 평가모델 | 유형 | 내용 |
|---|---|---|
| ATAM | 소개 | ① ATAM 소개 ② 비즈니스 드라이버 소개 ③ 아키텍처 소개 |
| 조사와 분석 | ④ 아키텍처 접근법 식별 ⑤ 품질속성 유틸리티 트리 생성 ⑥ 아키텍처 접근법 분석 | |
| 시험 | ⑦ 브레인스토밍, 우선순위 ⑧ 아키텍처 접근법 분석 | |
| 보고 | ⑨ 결과 보고 | |
| CBAM | 시나리오 결정 | ① 시나리오 수집 ② 시나리오 정제 ③ 시나리오 우선순위 결정 |
| 효용-반응 곡선 작성 | ④ 선별한 시나리오의 효용-반응 곡선 작성 | |
| 아키텍처 접근법 이익 | ⑤ 시나리오 담당 아키텍처 접근 예상 반응값 결정 ⑥ 아키텍처 접근법 예상 효용 ⑦ 아키텍처 접근법 이익 계산 | |
| 아키텍처 접근법 선정 | ⑧ 아키텍처 접근법 ROI 계산 ⑨ 비용과 일정 고려, 접근법선정 |
- ATAM과 CBAM 설계 과정이 끝난 후 산출물 평가 과정
4. ATAM과 CBAM 주요 특징 비교
| 항목 | ATAM | CBAM |
|---|---|---|
| 특징 | 품질 속성 상충관계 | 품질 속성 경제성 중심 |
| 시점 | 프로젝트 초기 단계 | ATAM 수행 이후 |
| 시나리오 | 개별 시나리오 | 다양한 시나리오 |
| 관심사항 | 아키텍처 품질 | 이해관계자 이익 |
| 장점 | 시존 시스템 분석 가능 | 비용, 일정, 위험 파악 |
| 단점 | 경제성 평가 곤란 | 품질 속성 평가 미흡 |
- 개별 활용이 아닌 ATAM 품질 속성의 상충 관계 평가 후 CBAM 통한 비용/이익 측면 평가 실시
