IEIP_Note

소프트웨어 아키텍처 Software Architecture ☆☆☆


4+1 View

구성 요소 설명
Usecase View Usecase, 아키텍처를 도출, 설계하여 다른 뷰를 검증하는 데 사용되는 뷰
외부 행위자에 의해 인식되는 시스템 기능 요구 사항을 보여주는 데 초점을 두고 있다.
사용자, 설계자, 개발자, 테스트 관점
Logical View
논리 View
시스템의 기능적인 요구 사항이 어떻게 제공되는 지 설명하는 뷰
설계자, 개발자 관점
Process View 시스템의 비 기능적인 속성, 자원의 효율적인 사용
병행 실행, 비동기, 이벤트 처리 등을 표현한 뷰

개발자, 시스템 통합자 관점
Implementation View
구현 View
개발 환경 안에서 정적인 SW 모듈의 구성을 보여주는 뷰
컴포넌트 구조와 의존성 보여주고, 컴포넌트에 관한 부가적인 정보를 정의한다.
Deployment View
배포 View
컴포넌트가 물리적인 아키텍처에 어떻게 배치되는 가를
Mapping하고 이를 보여주는 뷰

물리적 시스템을 구성하고 있는 각 부분들의
분산 형태와 설치에 초점을 두고 있다.


SW Architecture 비용 평가 모델


평가 모델 설명
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 Architecture Pattern ☆☆


필요성


SW 아키텍처 패턴 종류

계층화 패턴 Layered Pattern


클라이언트 - 서버 패턴 Client - Server Pattern


파이프 - 필터 패턴 Pipe - Filter Pattern


브로커 패턴 Broker Pattern


MVC 패턴 Moder-View-Controller Pattern

구성 설명
Model 핵심 기능과 데이터 보관
View 사용자에게 정보 표시
(하나 이상의 View가 정의될 수 있음)
Controller 사용자로부터 요청을 입력 받아 처리

Master-Slave Pattern


Service Oriented Architecture, SOA