I. SW 아키텍처 수준에 대한 품질평가, SW Architecture 평가의 개요
가. SW Architecture의 정의
- 제시된 소프트웨어 아키텍처가 대상 시스템에서 요구하는 품질속성을 만족시킬 수 있는지 적합성을 평가하는 표준절차
- 제시된 SW 아키텍처가 시스템 요구품질 속성을 만족시키는지 적합성을 “예측, 실무, 사례, 정량적”으로 평가하는 표준절차
나. SW 아키텍처 평가 방법론 유형
방 법 |
내 용 |
평가 유형 |
Scenario Based |
품질 요소를 위해 미리 정의된 Profile에 의존하여 평가 시나리오 기반평가 결과도 정밀, ATAM, CBAM, SAAM |
예측 평가 |
Simulation Based |
BMT(BenchMarking Test) 시뮬레이션 기반 평가 |
실무 평가 |
Experience Based |
정량적인 분석이 어려운 경우 적용하는 경험 기반의 평가 |
사례 평가 |
Mathematical Model Based |
기준 모델을 수치화하고 이를 기초로 평가하는 수학적 기반 모델 |
정량적 평가 |
다. 소프트웨어 아키텍처 평가의 필요성
필요성 |
설 명 |
위험요소 제거 |
시스템과 프로젝트의 위험요소 조기 발견 및 제거 |
비기능성 평가 (NFR 영향도) |
비기능적 요소가 SW에 반영에 따른 영향도 평가 |
핵심요소 (성패 좌우) |
평가가 프로젝트 성패를 좌우하는 핵심요소가 됨 |
II. SW 아키텍처의 평가모델 구성도 및 평가 기법
가. SW 아키텍처의 평가 모델 구성도
- ATAM은 SAAM을 승계하여 발전, CBAM은 ATAM에서 경제성을 추가
- 일반적으로 정방향 분석인 ATAM, CBAM 많이 사용
나. SW 아키텍처 평가 기법
평가유형 |
상 세 설 명 |
ATAM |
- Architecture Trade-off Analysis Method - 아키텍처가 품질속성을 만족시키는지 판단, 품질 속성간 상호작용 확인 단계 - 아키텍처가 목표로 하는 품질만족도, 각 품질간의 연관성, 즉, 품질 목표간의 Trade-off가 있는지 파악 가능한 아키텍처 평가방법 |
CBAM |
- Cost Benefit Analysis Method - SAAM, ATAM의 기술적 아키텍처 및 경제성 평가까지 하여 수익이 최대가 될 수 있도록 의사결정을 도와주는 SW아키텍처 평가모델 |
SAAM |
- Software Architecture Analysis Method - 최초로 정리된 평가방법. 다양한 수정 가능성들의 관점에서 아키텍처 분석 - 수정 가능성과 기능분석 중심의 최초의 아키텍처 평가방법 |
ARID |
- Active Reviews for Intermediate Designs - 부분 아키텍처를 아키텍처 초기에 평가하는 방법으로 시나리오 중심의 ATAM, SAAM과 설계검토 방법인 ADR(Active Design Review)를 혼합한 아키텍처 평가방법 - 특정부분 품질요소 집중 - 아키텍처 설계 초기에 검토하여 발생 가능한 위험 감소 |
ADR |
·Active Design Review ·아키텍처 구성요소간 응집도 평가 |
Ⅲ. 품질속성 간 상충관계 고려한, ATAM 모델
가. ATAM 플로우 개념도
* 시나리오 방식으로 품질 속성 만족 여부를 판단하여, 상충(Trade-off) 관계분석 및 평가
- 비즈니스 드라이버 : 비즈니스 동인(사업에 상당한 영향을 주는 물리적, 비물리적 행위)
나. ATAM의 활용 목적
목표 |
SW아키텍처가 요구사항, 특히 비기능적 요구사항을 만족하도록 설계되었는지 여부 판단 |
SW아키텍처가 내포하고 있는 위험 판단 |
적합한 대안이 될 수 잇는 SW아키텍처 검토 |
다. ATAM 품질 속성
구분 |
품질속성 |
설 명 |
시스템 |
상호운영성 |
·특정 SW와 상호작용하는 능력의 정도 |
보안성 |
·프로그램 또는 데이터에 부적법한 접근을 차단하는 능력의 정도 |
|
정밀성 |
·합의한 결과 또는 명문화한 권리조항 관련 속성 |
|
오류허용성 |
·오류 발생 시 사전 정의한 최소 수준으로 동작하는 능력의 정도 |
|
회복성 |
·일정 수준 이상으로 다시 동작하는 능력, 시간, 노력의 정도 |
|
비즈니스 |
적합성 |
·특정 작업을 처리하는 기능의 적합여부의 정도 |
준거성 |
·표준, 관습, 법률, 규격, 협정과 같은 정해진 규칙의 준수 정도 |
|
이해성 |
·SW의 개념과 활용방법을 이해하는데 필요한 사용자의 노력 정도 |
|
습득성 |
·SW의 활용방법을 학습하는데 필요한 사용자의 노력 정도 |
|
아키텍처 |
변경성 |
·수정, 장애제거, 동작변경 시 필요한 노력의 정도 |
시험성 |
·수정된 SW를 검증하는데 필요한 노력의 정도 |
|
적응성 |
·필요한 작업 또는 방법으로 S/W의 동작환경을 바꿀 수 있는 가능성 |
|
일치성 |
·이식성과 관련 표준 또는 관례의 준수 정도 |
|
대체성 |
·대상 SW를 다른 SW로 대체 사용할수 있는 정도 |
Ⅳ. 경제적 비용 기반의 아키텍처 평가모델, CBAM
가. CBAM 개념도
나. CBAM 주요 절차
주요절차 |
설 명 |
시나리오 결정 |
·시나리오 수집, 정제, 우선순위 결정 |
효용ᆞ반응 곡선 작성 |
·선별한 시나리오의 효용ᆞ반응곡선 작성 |
이익 계산 |
·예상 반응값 결정 및 예상 효용 파악으로 전체이익 계산 |
선정과 검증 |
·ROI 계산, 비용과 일정 제약하에 ROI순으로 전략 선택 |
Ⅴ. ATAM과 CBAM의 비교
항목 |
ATAM |
CBAM |
특징 |
품질속성 중심 (ISO 9126/ISO 25010) |
품질속성의 경제성 중심 |
시점 |
프로젝트 초기단계 |
ATAM 수행 이후 |
시나리오 |
개별적인 시나리오 |
다양한 시나리오 |
관심사항 |
아키텍처 품질 |
이해관계자의 이익, 수익 |
장점 |
기존 시스템 분석 가능 |
비용, 일정, 위험파악 |
단점 |
경제성 평가 곤란 |
품질속성 평가 미흡 |
'정보관리기술사&컴퓨터응용시스템기술사 > SW공학과 프로젝트관리' 카테고리의 다른 글
[아키텍처 모델] 아키텍처 설계에서의 BP 모음집 (0) | 2021.01.30 |
---|---|
[ISO42010] SW 아키텍처의 표준 (0) | 2021.01.29 |
[MSA(Micro Service Architecture) 독립된 서비스로 시스템을 분할하는 아키텍처 (0) | 2021.01.13 |
[WBS(Work Breakdown Structure), 프로젝트 일정 및 R&R 관리 계획을 위한 Framework (0) | 2021.01.13 |
[프로젝트 관리 지식영역] 프로세스 그룹별로 진행할 활동의 그룹핑 (0) | 2021.01.12 |
댓글