SW 설계하고 전개하기 위한 지침과 원칙
4+1 View는 고객의 요구 사항을 정리해 놓은 시나리오를
4개의 관점에서 바라보는 소프트웨어 적인 접근 방법
구성 요소 | 설명 |
---|---|
Usecase View |
Usecase, 아키텍처를 도출, 설계하여 다른 뷰를 검증하는 데 사용되는 뷰 외부 행위자에 의해 인식되는 시스템 기능 요구 사항을 보여주는 데 초점을 두고 있다. 사용자, 설계자, 개발자, 테스트 관점 |
Logical View 논리 View |
시스템의 기능적인 요구 사항이 어떻게 제공되는 지 설명하는 뷰 설계자, 개발자 관점 |
Process View |
시스템의 비 기능적인 속성, 자원의 효율적인 사용 병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰 개발자, 시스템 통합자 관점 |
Implementation View 구현 View |
개발 환경 안에서 정적인 SW 모듈의 구성을 보여주는 뷰 컴포넌트 구조와 의존성 보여주고, 컴포넌트에 관한 부가적인 정보를 정의한다. |
Deployment View 배포 View |
컴포넌트가 물리적인 아키텍처에 어떻게 배치되는 가를 Mapping하고 이를 보여주는 뷰 물리적 시스템을 구성하고 있는 각 부분들의 분산 형태와 설치에 초점을 두고 있다. |
평가 모델 | 설명 |
---|---|
SAAM Software Architecture Analysis Method |
변경 용이성과 기능성에 집중 평가가 용이하며 경험이 없는 조직에서도 활용 가능한 비용 평가 모델 |
ATAM Architecture Trade-off Analysis Method |
아키텍처 품질 속성 만족하는지 판단하고품질 속성들의 이해, 상충관계까지 평가하는 모델 |
CBAM Cost Benefit Analysis Method |
ATAM 바탕의 시스템 아키텍처 분석 중심 경제적 의사 결정에 대한 요구를 충족하는 모델 |
ADR Active Design Review |
SW 아키텍처 구성 요소 간 응집도를 평가하는 모델 |
ARID Active Review for Intermediate Designs |
전체 아키텍처가 아닌, 특정 부분에 대한 품질 요소에 집중하는 비용 평가 모델 |
SW 개발 시 상황 별 SW 아키텍처 패턴을 수립 적용하면
고객과의 의사소통을 통해서 고객의 요구 사항을 만족시키고
SW 개발 생산성과 품질 확보가 가능하다.
데이터 중심 아키텍처는 공유 데이터 저장소를 통해 접근자 간 통신이 이뤄진다.
따라서 각 접근자의 수정과 확장이 용이하다.
이미 검증된 구조로 개발하기 때문에 SW 개발을 안정적으로 수행이 가능하고
시스템의 특성을 개발 전에 예측이 가능하다.
Business Logic만 알고 있다면 SW 아키텍처 패턴을 사용, SW를 쉽게 개발할 수 있다.
계층화
, 클라이언트-서버
, 파이프-필터
, 브로커 패턴
등이 존재한다.브로커 컴포넌트는 컴포넌트 간의 통신을 조정하는 역할을 수행한다.
구성 | 설명 |
---|---|
Model |
핵심 기능과 데이터 보관 |
View |
사용자에게 정보 표시 (하나 이상의 View가 정의될 수 있음) |
Controller |
사용자로부터 요청을 입력 받아 처리 |