소프트웨어 아키텍처 : 여러가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 구성요소간의 관계를 표현하는 시스템의 구조
소프트웨어 아키텍처 프레임워크 : 아키텍처가 표현해야하는 내용, 이들간의 관계를 제공하는 아키텍처 기술 표준
소프트웨어 아키텍처 프레임워크 구성요소
목표 (Misson) : 한명 이상의 이해관계자들이 의도하는 시스템의 목적
시스템 : 각 애플리케이션, 서브 시스템, 시스템의 집합, 제품군 등의 구현체
환경 : 시스템에 영향을 주는 외부 요인
아키텍처 명세서 : 아키텍처를 기록하기 위한 산출물들
이해관계자 : 시스템 개발에 관련된 모든 사람/조직
관심사 : 이해관계자들의 서로 다른 의견과 목표
관점 : 이해관계자들이 보고싶은 관점
뷰 : 서로 관련 있는 관심사들의 집합
근거 : 아키텍처 결정 근거
소프트웨어 아키텍처 4+1 뷰 : 고객의 요구사항을 정리해 놓은 시나리오를 4개의 관점으로 바라보는 소프트웨어적인 접근 방법 (유논프구배)
유스케이스 뷰 : 다른 뷰를 검증하는데 사용되는 뷰
논리 뷰 : 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰
프로세스 뷰 : 비기능적인 속성으로 자원의 효율적인 사용, 비동기, 이벤트 처리 등을 표현한 뷰
구현 뷰 : 소프트웨어 모듈의 구성을 보여주는 뷰
배포 뷰 : 컴포넌트가 물리적인 아키텍처에 어떻게 배치되는가를 매핑해서 보여주는 뷰
소프트웨어 아키텍처 패턴 : 소프트웨어를 설계할 때 참조할 수 있는 전형적인 해결방식
소프트웨어 아키텍처 필요성
- 고객과 의사소통을 통해 고객의 요구사항을 만족시킬 수 있음
- 소프트웨어 개발 생산성과 품질 확보 가능
- 개발 시간 단축 가능
- 시스템의 특성을 개발 전에 예측 가능
소프트웨어 아키텍처 패턴 유형 : 계층화 패턴, 서버-클라이언트 패턴, 파이프-필터 패턴, 브로커 패턴, MVC패턴
계층화 패턴 - 시스템을 계층으로 구분하여 구성하는 패턴, 각 하위 모듈은 특정한 수준의 추상화 서비스를 제공하고 각 계층은 다음 상위 계층에 서비스를 제공. 서로 마주보는 두개의 계층 사이에서만 상호작용이 이루어짐
서버-클라이언트 패턴 - 하나의 서버와 다수의 클라이언트로 구성, 사용자가 클라이언트를 통해서 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스를 제공
파이프-필터 패턴 - 데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴. 서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복
브로커 패턴 - 분산 시스템에서 사용, 컴포넌트들은 원격 서비스 실행을 통해 상호작용이 가능한 패턴. 브로커 컴포넌트는 컴포넌트간의 통신을 조정한다. 서버는 자신의 기능들을 브로커에 넘겨주며 클라이언트가 브로커에 서비스를 요청하면 브로커가 적합한 서비스로 리다이렉션함.
MVC패턴 - 모델은 핵심기능과 데이터 보관, 뷰는 사용자에게 정보표시, 컨트롤러는 사용자로부터 요청을 입력받아 처리
소프트웨어 아키텍처 비용 평가 모델 : 아키텍처 접근법이 품질 속성에 미치는 영향을 판단하고 아키텍처의 적합성을 평가하는 모델
SAAM - 변경용이성과 기능성에 집중, 경험이 없는 조직에서도 활용이 가능
ATAM - 아키텍처 품질 속성을 만족시키는지 판단
CBAM - ATAM에 경제적 평가를 보강
ADR - 아키텍처 구성요소간 응집도를 평가
ARID - 특정 부분에 대한 품질요소에 집중
'자격증 > 정보처리기사' 카테고리의 다른 글
2021 3회 정보처리기사 실기 시험 후기 / 난이도 / 합격 팁★ (0) | 2021.10.18 |
---|---|
현행 시스템 파악 - 디자인 패턴 (0) | 2021.09.15 |
현행 시스템 파악 - 현행 시스템 파악 개념 / 현행 시스템 파악 절차 (0) | 2021.09.15 |
비용산정, 일정관리 모형 (0) | 2021.09.13 |
소프트웨어 개발 방법론 (0) | 2021.09.13 |