소프트웨어 아키텍처

From IT Wiki
Revision as of 20:25, 9 October 2019 by PE가즈아 (talk | contribs)
Software Architecture
SW 컴포넌트들 간의 상호 관계를 정의 및 설계하고 전개하기 위한 구조

특징

특징 내용
간략성 이해하고 추론할 수 있을 정도의 간결성 유지
추상화 시스템의 추상적인 표현을 사용(복잡도 관리)
가시성 시스템이 포함해야 하는 것들을 가시화, 청사진

참조 모델

ISO/IEC/IEEE 42010

소프트웨어 아키텍처에 대한 국제 표준

4+1뷰 아키텍처

IEEE Paper
Logical View Development View

(Implement View)

Scenarios

(Use-Case View)

Process View Physical View

소프트웨어 아키텍처 평가

평가 모델 설명
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– 특정 부분에 대한 품질 요소 집중

ATAM

Architecture Trade-off Analysis Method

아키텍처가 품질속성을 만족시키는지 판단할 뿐만 아니라 품질속성들이 서로 어떻게 상충하는지 분석하는 평가 모델

CBAM

아키텍처 개발 절차

단계 주요활동 내용
요구사항 분석 요구사항 취득, 식별, 명세, 분류, 검증 등
아키텍처 분석 품질요소 식별 ISO9216 품질 요구사항 활용
품질요소

우선순위 결정

Utility Tree(시나리오 명세) 작성
전술개발 품질속성별 전술개발 및 명세
아키텍처 설계 관점 및 뷰 정의 이해당사자별 관점 정의

4+1 아키텍처 활용

아키텍처 스타일 선택 MVC, Pipe-Filter 등 스타일 선택 및 조합
후보 아키텍처 도출 SAD(Software Architecture Description) 작성
검증 및 승인 아키텍처 평가 ATAM, CBAM 이용
아키텍처 상세화 디자인 패턴 고려, 설계 매커니즘 도출
아키텍처 승인 고객 및 이해당사자 최종 승인