SW/클라우드 서비스 아키텍처

소프트웨어 아키텍처 설계 원리 : 아키텍처 설계 절차 원리

얇은생각 2020. 4. 24. 19:30
반응형

아키텍트 설계 절차 원리

아키텍처 설계의 출발점은 소프트웨어 시스템의 요구사항들입니다. 소프트웨어 개발의 폭포수 모델은 요구사항 분석이 끝나고 설계가 시작되는 것으로 소프트웨어 개발 프로세스를 설명하지만, 이는 논리적인 순서이고, 실제로는 요구사항 분석과 아키텍처 설계는 서로 얽혀서 상당 부분 동시적으로 진행되는 활동입니다.

초기 단계의 요구사항으로부터 초기 아키텍처가 만들어지면 이는 더 많은 구체적인 요구사항을 파악하는 데 이용됩니다. 이는 다시 아키텍처를 더 구체화하는 데 이용되고, 이 과정이 반복되면 요구사항 명세와 아키텍처가 만들어집니다. 요구사항 분석과 아키텍처 설계가 동시에 이루어지는 이유는 요구사항의 변경 및 추가가 수시로 일어납니다.

상용 소프트웨어 컴포넌트나 오픈소스 코드를 개발에 사용할 경우 사용자들은 이들을 사용해가면서 기능과 성능을 파악해나가게 됩니다. 이런 이유도 요구사항 분석과 아키텍처 설계가 동시에 이루어지게 합니다. 그러나, 주된 이유는 사람들이 정확하지 않은 시스템의 모습이라도 눈으로 볼 수 있을 때 자신이 원하는 요구사항에 대하여 더 많은 것을 알게 되고 말할 수 있게 되기 때문입니다.

좋은 아키텍처 설계 절차는 설계의 일반 원리를 잘 적용한 설계 절차, 아키텍처 스타일에 맞게 정의된 설계 절차, 아키텍처 관점 체계의 여러 뷰의 설계 순서를 명확히 정의한 아키텍처 설계 절차입니다.

 

 

설계의 일반 원리 GP1-GP3을 적용한 아키텍처 설계 절차

방금 논의한 설계의 일반 원리를 적용한 기본적인 아키텍처 설계 절차를 보여줍니다.

설계의 일반 원리 GP1-GP3을 적용한 아키텍처 설계 절차

 

이 절차에 따르면 레벨1 설계에서 도출된 컴포넌트 중 설계가 필요한 컴포넌트에 대하여 레벨1 설계와 같은 방법으로 레벨2의 설계를 수행합니다. 이와 같은 방법으로 아키텍처 설계를 재귀적으로 수행합니다. 이 절차에서 우선 설계의 일반 원리 첫 번째는 복잡도가 높거나 규모가 큰 컴포넌트에 대하여 한 레벨 더 깊이 들어가는 과정에 적용됩니다.

이 절차에서 최초의 입력으로 아키텍처 결정에 사용되는 아키텍처 드라이버의 집합과 아키텍처 설계 문제 분석표 외에도 요구사항의 집합이 들어오는 이유는 요구사항의 집합이 요구사항 설계가 진행됩니다. 시스템의 하위 시스템 혹은 컴포넌트에 할당되어야 하기 때문입니다.

 

 

다관점 체계를 위한 아키텍처 설계 절차

아키텍처 설계 원리인 소프트웨어 아키텍처를 보는 관점 체계 원리에 따르면, 아키텍처는 복수 개의 관점에서 기술할 때 충실히 포착할 수 있습니다. 그러나 기본적 설계 절차는 개념적 뷰를 대상으로 하고 있어 복수 개의 뷰를 어떻게 서로 연결 지어 설계할 것인가에 대하여 구체적인 방법을 보여주고 있지 않습니다. 

 

 

아키텍처 뷰의 설계 순서

여섯 번째 아키텍처 설계 원리에서 제시한 참조관점체계를 사용하여 복수 개의 뷰를 설계하는 절차를 보여줍니다.

아키텍처 뷰의 설계 순서

 

코드 측면에서 개념 뷰는 명세를 확보한 후 설계를 얻기 위한 첫 단계입니다. 배치 뷰는 완성된 코드들이 어떤 물리적인 위치에서 자원을 할당 받는가를 보여줍니다. 코드 뷰는 궁극적으로 배치되어야 하는 코드를 조직화한 결과이므로 배치 뷰 이전에 만들어져야 합니다.

한편 실행 측면에서는 서비스 관점의 뷰를 시나리오 뷰가 최초에 제공하고, 컴퓨팅 자원 할당 관점을 적용하는 실행 뷰
그리고 최종적으로는 실행코드를 시스템에 할당하는 배치 뷰가 마지막으로 만들어져야 합니다. 그러나 이 모든 뷰어를 도출하기 위하여 실행 측면과 코드 측면이 적절히 협력적으로 교차하는 형태로 진행되어 개념 뷰로부터 시작되어 배치 뷰에 도달해야 합니다.

 

 

순차적인 다관점 설계 절차

다관점 체계의 아키텍처 설계를 위해 순차적인 다관점 설계절차와 병행적인 다관점 설계절차의 두 가지 접근 방법을 생각할 수 있습니다. 순차적인 다관점 설계절차는 완전히 설계된 개념적 아키텍처로부터 다른 뷰들을 하나씩 얻어내는 방법입니다. 이 방법은 복잡도가 낮다는 장점이 있으나 관점들의 관심사항이 서로 다르고, 따라서 한 관점으로부터 얻는 뷰의 결정이 다른 뷰의 결정에 영향을 줄 수 있다는 점을 반영하기 어렵다는 단점이 있습니다.

 

 

병행적인 다관점 설계 절차

병행적인 다관점 설계 절차는 개념적 아키텍처의 설계 단계별로 동시에 다른 뷰들을 만들어가는 방법입니다. 이 방법은 이러한 뷰들 간의 영향을 체계적으로 반영할 수 있다는 장점이 있으나, 많은 작은 단계를 수행해야 합니다.

 

 

아키텍처 설계 절차 정리

아키텍처 설계 절차는 먼저 아키텍처 스타일의 결정에 의하여 영향을 받게 되고, 아키텍처 스타일의 결정은 아키텍처 관점들을 채택하는 데 영향을 주게 됩니다. 아키텍처 스타일과 아키텍처 관점체계의 선택이 이루어지면 비로소 이 선택을 반영한 설계절차를 정의할 수 있습니다.

반응형