개념: 계층화
계층화는 상위 계층에 어플리케이션 특정 기능을,
중간 계층에 어플리케이션 도메인에 걸치는 기능을,
하위 계층에 전개 환경에 특정한 기능을 위치시킨
기능의 정렬된 그룹화를 나타냅니다.
계층의 수 및 구성은 문제점 도메인 및 솔루션 영역 모두의 복잡도에 따라 다릅니다.
- 일반적으로 단일 어플리케이션 특정 계층만이 존재합니다.
- 이전 시스템이 빌드되거나 대형 시스템이 차례로
내부에서 운영되는 더 작은 시스템으로 구성되는 도메인은
설계 팀 간에 정보를 공유하기 위해 꼭 필요합니다.
결과적으로, 비즈니스 특정 계층은 부분적으로 존재할 것이며
명확성을 위해 몇 개의 계층으로 구조화될 수 있습니다.
- 미들웨어 제품에서 잘 지원되고 복합 시스템 소프트웨어가
큰 역할을 하는 솔루션 영역은 몇 개의 미들웨어 및 시스템 소프트웨어 계층을 가진
하위 계층에서 잘 개발됩니다.
서브시스템은 상위 구조 계층에는 어플리케이션 특정 서브시스템이,
하위 구조 계층에는 하드웨어 및 운영 특정 서브시스템이,
미들웨어 계층에는 일반 목적의 서비스가 위치하는
계층으로 조직되어야 합니다.
다음은 4가지 계층을 가진 샘플 구조입니다.
- 최상위 계층인 어플리케이션 계층은 어플리케이션 특정 서비스를 포함합니다.
- 그 다음 계층인 비즈니스 특정 계층은 여러 어플리케이션에서 사용되는
비즈니스 특정 컴포넌트를 포함합니다.
- 미들웨어 계층은 GUI 빌더와 같은 컴포넌트, 데이터베이스 관리 시스템에 대한
인터페이스, 플랫폼 독립 운영 체제 서비스,
스프레드시트 및 다이어그램 편집기와 같은 OLE 컴포넌트를 포함합니다.
- 최하위 계층인 시스템 소프트웨어 계층은 운영 체제,
데이터베이스, 하드웨어에 특정한 인터페이스 등을 포함합니다.

가장 일반적인 기능 레벨에서 시작하여
보다 특정한 기능 레벨로 진행되는 계층화된 구조.
| |
|