주제

계층화 가이드라인페이지 맨 위

계층화에서는 계층 사이에서 형성할 수 있는 관계에 관한 특정 규칙에 따라 서브시스템을 여러 세트로 나누는 논리적 파티션 지정을 제공합니다. 계층화에서는 서브시스템 사이의 종속성을 제한하는 방법을 제공하여 시스템 사이의 연결이 느슨하므로 시스템을 보다 쉽게 유지관리할 수 있습니다.

서브시스템을 그룹화하는 기준은 다음의 몇 가지 패턴을 따릅니다.

  • 가시성. 서브시스템은 동일한 계층 및 다음 하위 계층의 서브시스템에만 종속될 수 있습니다.
  • 휘발성.
    • 최상위 계층에 사용자 요구사항이 변경될 때 변경되는 요소를 배치합니다.
    • 최하위 계층에 구현 플랫폼(하드웨어, 언어, 운영 체제, 데이터베이스 등)이 변경될 때 변경되는 요소를 배치합니다.
    • 보통 다양한 범위의 시스템 및 구현 환경에 적용 가능한 요소는 중간에 배치합니다.
    • 이러한 넓은 카테고리에 있는 추가 파티션이 모델을 조직하는 데 도움을 주는 경우 계층을 추가합니다.
  • 일반성. 추상 모델 요소는 모델 하위에 배치되는 경향이 있습니다. 구현에 특정되지 않은 경우 중간 계층에 배치되는 경향이 있습니다.
  • 계층 수. 소형 시스템의 경우 세 개 계층이면 충분합니다. 복잡한 시스템의 경우 보통 5 - 7개 계층이면 충분합니다. 어떤 복잡도라도 열 개 이상의 계층인 경우 계층 수의 증가를 의심해 보아야 합니다. 아래는 경험을 통해 얻은 수입니다.

# 클래스

# 계층

0 - 10

계층화 필요 없음

10 - 50

계층 두 개

25 - 150

계층 세 개

100 - 1000

계층 네 개

특정 계층의 서브시스템 및 패키지는 동일한 계층 및 다음 하위 계층의 서브시스템에만 종속되어야 합니다. 이 방법으로 종속성을 제한하는 데 실패하면 구조 성능이 저하되고 시스템이 불안정해지며 시스템 유지관리가 어려워집니다.

서브시스템이 하위 계층 서비스에 직접 액세스해야 하는 경우도 예외에 포함됩니다. 따라서 인쇄, 메시지 전송과 같이 시스템에 필요한 기본 서비스를 처리하는 방법을 신중히 결정해야 합니다. 중간 계층에서 호출 통과를 효과적으로 구현하는 방법이 솔루션인 경우 메시지를 하위 계층으로 제한하는 것은 거의 효과가 없습니다.

패턴의 파티션 지정페이지 맨 위

시스템의 상위 계층에서 추가로 파티션 지정하면 모델 구성에 도움을 줄 수 있습니다. 파티션 지정에 관한 다음 가이드라인에서는 다른 문제를 고려합니다.

  • 사용자 조직. 비즈니스 조직의 기능 조직을 미러링하는 유형에 따라 서브시스템을 조직할 수 있습니다. 예를 들어 부서별로 파티션 지정을 수행합니다. 기존 엔터프라이즈 모델의 구조는 조직적으로 강력히 파티션 지정되므로 이 파티션 지정은 설계 초기에 발생합니다. 이 조직 패턴은 보통 어플리케이션 특정 서비스의 소수 상위 계층에만 적용되며 설계가 진행되면 종종 사라집니다.
    • 사용자 조직별로 수행된 파티션 지정은 모델의 좋은 출발점이 될 수 있습니다.
    • 사용자 조직의 구조는 비즈니스 재조직 때문에 장기간 안정적이지 못하고 시스템 파티션 지정시 좋은 장기적 기초가 되지 못합니다. 시스템의 내부 조직을 통해 시스템에서 지원하는 비즈니스 조직과는 독립적으로 시스템을 전개 및 유지보수할 수 있어야 합니다.
  • 능력 및/또는 기술의 영역. 서브시스템은 개발 조직의 서로 다른 그룹 사이에서 모델 파트에 대한 책임을 파티션 지정하도록 조직될 수도 있습니다. 보통 이러한 일은 시스템의 중간 및 하위 계층에서 발생하며 복잡한 인프라 기술의 개발 및 지원 도중 특수화된 기술의 필요성을 반영합니다. 이러한 기술에 관한 예로는 네트워크 및 분배 관리, 데이터베이스 관리, 의사소통 관리 및 프로세스 제어 등이 있습니다. 능력별 파티션 지정은 문제점 도메인의 특수 능력을 파악하고 이 특수 능력에서 주요 비즈니스 기능을 지원해야 하는 상위 계층에서도 발생할 수 있습니다. 예로는 원격 통신 관리, 주식 거래, 보험 청구 처리, 항공 교통 관제 등이 있습니다.
  • 시스템 분배. 시스템의 모든 계층에서 기능의 물리적 분배를 반영하도록 계층을 "수평으로" 파티션 지정할 수도 있습니다.
    • 분배를 반영하도록 파티션 지정을 수행하면 시스템을 실행할 때 발생하는 네트워크 통신을 가시화하는 데 도움을 줄 수 있습니다.
    • 하지만 분배를 반영하도록 파티션 지정을 수행하면 전개 모델이 많이 변경되는 경우 시스템 변경이 더 어려워집니다.
  • 보안 영역. 일부 어플리케이션, 특히 개발 및/또는 지원에 필요한 해당 특수 보안 허가에서는 보안 액세스 특권별로 추가 파티션 지정을 수행해야 한다. 적절한 허가가 해당 직원이 보안 영역에 대한 액세스를 제어하는 소프트웨어를 개발 및 유지보수해야 합니다. 프로젝트에 이러한 배경을 가진 직원 수가 제한된 경우 특수 허가가 필요한 기능을 기타 서브시스템으로 파티션 지정해야 합니다. 이러한 서브시스템은 해당 서브시스템에서 유일한 가시적 측면인, 보안 영역에서 인터페이스를 통해 다른 서브시스템과 독립적으로 개발됩니다.
  • 가변성 영역. 선택적 기능일 수 있습니다. 따라서 일부 변형된 시스템에서 제공하는 기능은 시스템의 필수 기능과는 무관하게 개발 및 제공되는 독립적인 서브시스템으로 조직되어야 합니다.


Rational Unified Process   2003.06.15