SW 아키텍처
1. SW 아키텍처
- SW 구성요소와 그것이 가진 특성 중 외부의 특성, 구성요소 간의 관계를 표현하는 시스템의 구조 및 구조체
※ 아키텍처 : HW와 SW를 포함한 컴퓨터 시스템 전체의 설계방식
2. SW 아키텍처 프레임워크
- SW 시스템에서 아키텍처가 표현해야 하는 내용 및 이들 간의 관계를 제공하는 아키텍처 기술 표준
※ SW 아키텍처는 비기능 요구사항이 중요 (제약 사항 & 품질 속성 반영)
3. SW 아키텍처 4+1뷰
- 고객의 요구사항을 정리한 시나리오를 4개의 관점에 바라본 SW 접근 방법
- SW 아키텍처 4+1뷰 구성요소
구성요소 | 내용 |
유스케이스 뷰 | - 유스케이스 or 아키텍처를 도출하고 설계하며, 다른 뷰를 검증하는 데 사용되는 뷰 |
논리 뷰 | - 시스템의 기능적 요구사항이 어떻게 제공되는지 설명해주는 뷰 (설계자, 개발자 관점) |
프로세스 뷰 | - 시스템의 비기능적 속성이며 자원 사용, 병행 실행, 비동기 등을 표현한 뷰 (개발자, 시스템 통합자 관점) |
구현 뷰 | - 개발 환경 안에서 정적 SW 모듈의 구성을 보여주는 뷰 |
배포 뷰 | - 컴포넌트가 물리적 아키텍처에 어떻게 배치되는지 매핑해서 보여주는 뷰 |
4. SW 아키텍처 패턴
- SW를 설계할 때, 참조할 수 있는 전형적인 해결방식
5. SW 아키텍처 패턴 유형
유형 | 내용 |
계층화 패턴 | - 시스템을 계층으로 구분하여 구성하는 패턴 - 각 하위 모듈들은 특정 수준의 추상화를 제공, 각 계층은 다음 상위 계층에 서비스를 제공 - 서로 마주 보는 두 개의 계층 사이에서만 상호 작용 |
클라이언트-서버 패턴 | - 하나의 서버와 다수의 클라이언트로 구성된 패턴 - 사용자가 클라이언트를 통해 서버에 서비스를 요청하면, 서버는 클라이언트에 서비스를 제공 |
파이프-필터 패턴 | - 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴 - 서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복 |
브로커 패턴 |
- 서버는 자신의 기능들을 브로커에 넘겨주며, 클라이언트가 브로커에 서비스를 요청하면 브로커는 리다이렉션함 ※ 리다이렉션 : 방향 변경 |
모델-뷰-컨트롤러 패턴 (MVC) |
- 대화형 어플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 3개의 서브 시스템으로 구조화하는 패턴 |
6. SW 아키텍처 비용 평가 모델
- 아키텍처 접근법이 품질 속성에 미치는 영향을 판단하고 아키텍처의 적합성을 평가하는 모델
- SW 아키텍처 비용 평가 모델 종류
종류 | 내용 |
SAAM | 변경 용이성과 기능성에 집중, 평가가 용이하여 경험 없는 조직에서도 활용 가능한 비용 평가 모델 |
ATAM | 아키텍처 품질 속성을 만족시키는지 판단 및 품질 속성들의 이해 상층관계까지 평가하는 모델 |
CBAM | 경제적 의사결정에 대한 요구를 충족하는 비용 평가 모델 |
ADR | SW 아키텍처 구성요소 간 응집도를 평가하는 모델 |
ARID | 전체 아키텍처가 아닌 특정 부분에 대한 품질 요소에 집중하는 비용 평가 모델 |