정의
|
- 소프트웨어의 복잡도를 높이는 중요한 요소들을 체계적으로 다루고, 다양한 관점으로 모형화를 통해 소프트웨어 품질을 향상시키는 청사진
- 시스템에 대한 기본 조직 체계로 시스템을 이루는 구성요소와 구성요소들 사이의 관계, 구성요소와 주변 환경들과의 관계 및 시스템의 진화와 설계를 지배하는 원칙들로 실체화[IEEE1471-2000]
- 프로그램/시스템의 컴포넌트, 컴포넌트 간의 상호 관계의 구조이며, 이들을 설계하고 전개하기 위한 지침과 원리
|
등장배경
|
- 시스템 분석/설계에 대한 중요성 인식과 체계적인 분석/설계를 위한 접근필요
- 이해관계자(Stackholder)간의 관점 조율을 통한 시스템의 최적화
- 요구 사항들 간 개념 상의 충돌 조정
- 우선순위 결정과 요구사항 간의 Trade-off 분석을 위한 작업 필요
|
필요성
|
- 고객 품질목표를 식별하고 전술을 개발하여 품질을 향상
|
주요요소
|
- 컴포넌트 : 구체화된 시스템의 기본조직, SW개별 구성요소
- 원리 : SW디자인과 진화를 이끄는 기본적인 이론
|
특징
|
- 간략화 : 이해하고 추론할 정도의 간결성 유지
- 추상화 : 추상적인 표현을 사용하여 복잡도를 관리
- 가시성 : 시스템이 포함해야 할 것들을 가시화, 소프트웨어의 청사진
- 관점모형 : 이해당사자의 관심사에 따른 모형 제시
- 의사소통수단 : 이해당사자간 원활한 의사소통 수단으로 이용
|
구조
|
- System : 조직목표 달성을 위한 구축대상
- Architecture : 시스템 문제해결을 위한 가이드
- SAD(SA Description) : 품질모델, 스타일, 패턴, 평가방법을 포함하는 메뉴얼
- ViewPoint : 개념, 논리, 물리, 실행관점, 그에 따른 아키텍처 스타일
- Model : 아키텍처 세부 사항을 구현하는 Design Pattern
|
추진절차
|
- 요구사항 분석 : 기능 및 비기능(품질속성), 제약사항 정의하고 명세화
- 아키텍처 분석 : 품질모델(ISO9126) 및 품질속성 정의(유틸리티 트리)
- 아키텍처 설계 : ViewPoint 정의 및 View 별 설계 가이드, 재 사용성 고려
- 평가 및 측정 : 품질기준 ATAM, 수정 용이성 SAAM, 비용의 CBAM, ADIR
|
단점
|
- Architecture Description Lanaguage 를 적용하여 아키텍처 표준화 실행 SAD 는 개별자, 테스트, 설계자를 가이드 할 수 있도록 제시하고 교육
|