본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 3-4 Module View 정의

Module View 정의

이 과정에서 컴포넌트를 파악하고 정의하는 접근하는 방법에 대해서 설명하도록 하겠다.

-. 인터페이스 파악 : 시스템 분해는 몇 개의 컴포넌트와 이들간의 관계를 나타내는 인터페이스를 결정해야 한다.

-. 도메인 파악 : 컴포넌트는 시스템을 구성하는 컴포넌트들이다. 따라서 여기서 두 종류의 도메인으로 파악할 수 있는데, 어플리케이션 도메인과 컴퓨터 사이언스 도메인으로 분류된다. 어플리케이션 도메인은 주로 소프트웨어 시스템과 관련이 있으며, 컴퓨터 사이언스 도메인은 해당 문제를 해결하기 위한 솔루션과 관련 있다.

-. 추상 레이어 구조 파악

세 번째 과정이 분해된 시스템을 추상화 레이어로 재 분해하는 과정이다. 이는 수평적 레이어 분해라고 할 수 있다. 추상화 레이어 단계는 반복적으로 시스템의 컴포넌트를 선택하고 파악하는 과정에서 지속적으로 파악된다.

-. 도메인 엔터티 파악

컴포넌트를 파악하는 네 번째 방법은 문제 도메인 엔터티를 통하여 파악하는 것이다.

-. 아키텍처스타일 실체화

아키텍처스타일은 전 시스템에서 반복 패턴을 정의하는 것이다. 따라서 이러한 아키텍처스타일의 재사용은 컴포넌트의 동일한 아키텍처스타일 선언으로 이루어지며, 이들 컴포넌트들은 동일 규칙, 설계 의사결정, 시스템 구성요소를 간단히 정의할 수 있다.