상세 컨텐츠

본문 제목

알고보니 - 아키텍처 스타일 및 종류 (1/2)

IT 정보/IT 알쓸신잡

by 마이드림72 2022. 3. 29. 09:49

본문

아키텍처 스타일이란? 

 

아키텍처 스타일은 아키텍처 설계에서 반복해서 나타나는 문제를 해결하고 아키텍처가 만족시켜야 하는 시스템 품질속성을 달성할 수 있는 방법을 문서로 정리한 것 

(아키텍처 스타일은 시스템의 모든 설계 작업의 기초를 제공)

 

 

아키텍처 스타일은 다음을 정의한다.

 - 구성요소들

 - 구성요소들의 상호관계와 구성방식

 - 구성요소들의 정확한 의미와 한계

 - 구성방식에 맞춰 구성요소들이 상호작용하는 메커니즘

ABAS(Attribute-Based Architectural Style) 

아키텍처 스타일에 아키텍처 설계의 근거를 제공하는 프레임워크(근거 프레임워크, reasoning framework)를 결합한 것
근거 프레임워크는 속성 특화 모델(attribute-specific model)에 기반을 둔다.

 

ABAS는 한 번에 한 품질속성을 다룬다.

<예> 성능과 가용성을 달성하는 데 좋은 아키텍처 스타일이 있다면 성능 ABAS와 가용성 ABAS를 만든다.
기존 아키텍처 스타일이 단순히 품질속성에 기반을 둔 것이라면 ABAS는 특정 품질속성에 특화된 것으로 아키텍처 스타일이 특정 품질속성을 달성하는 방법까지 설명한다.

ABAS의 구조

 - 문제 기술 : ABAS가 적용되는 특정 품질속성 관련 요구사항 같은 ABAS를 적용하려는 상황을 설명한다.

 - 자극과 반응 측정 : 근거를 밝히고 통제하고 특정하고 싶은 자극과 반응을 정의한다.

 - 아키텍처 스타일 : 문제를 해결하기 위한 구성요소들과 이 구성요소들의 관계를 설명한다.

                          실제 프로젝트에서 아키텍처를 설계하기 위해 아키텍처 스타일을 기술해야 한다면,

                          아키텍처 스타일을 적용할 때 결정해야 하는 중요한 아키텍처 판단 사항을 기술한다.

 - 분석 : 자극/반응과 아키텍처 스타일의 관계를 설명한다. 

 

아키텍처 스타일 종류

 

데이터 흐름

목표 : 재사용과 변경가능성 달성

 

일괄 순차 처리

  - 구성요소 : 독립 프로그램들

  - 각 단계는 다음 단계를 시작하기 전에 모두 끝나야 한다.

  - 각 일괄 처리 단계의 데이터는 단계 사이에 통째로 움직인다.

 

파이프와 필터(Pipe and Filter)

구성요소 : 필터

연결요소 : 파이프

 

제약사항

  - 필터들은 서로 독립이다. 따라서, 서로 상태를 공유하지 않는다.
  - 필터는 자신에게 데이터를 전달하는 필터가 무엇인지 자신이 데이터를 전달하는 필터가 무엇인지 알지 못한다.

 

장점

  - 데이터 흐름 제어를 한 눈에 쉽게 알 수 있다.

  - 처리량 분석 같은 특화된 분석을 할 수 있다.

  - 필터를 재사용할 수 있다.

  - 동시성을 확보할 수 있다.

  - 시스템 유지보수와 확장이 쉽다.

 

단점

  - 상호작용이 많은 시스템에서는 적절하지 않다.

  - 서로 분리되어 있지만 연관성이 많은 데이터 흐름 사이의 일치성을 보장하기 어렵다.

  - 복잡도가 커지고 성능이 떨어지기 쉽다.

 

 

호출/리턴

목표 : 변경가능성과 확장성 달성

 

 

지면 관계상 다음에 아키텍처 스타일의 종류에 대하여 추가적으로 알아보겠다.

관련글 더보기

댓글 영역