목적
    시스템의 기능이 실제 노드에 걸처 분배되는 방법을 설명하기 위함입니다. 이 활동은 분배 시스템에만 적용됩니다.
역할:  소프트웨어 아키텍트 
빈도: 특히 구현 단계 중에 반복당 한 번. 
단계
입력물:    결과물:   
툴 강좌:   
자세한 정보: 

워크플로우 세부사항:   

이 활동은 실제 노드 및 해당 상호 연결 Perspective에서 시스템의 전개 구조를 정의합니다. 활동: 구조 분석 중에 초기 전개 모델이 정의됩니다. 이 활동에서 해당 전개 모델(특히, 전개 보기)이 정제되어 현재 설계를 반영합니다.

구현 단계의 초기에 전개 보기는 일반적으로 예비 사항이나 후반에는 제대로 정의되어야 합니다.

분배 요구사항 분석 페이지 맨 위

목적 분배가 시스템에 필수인 정도를 정의하기 위함입니다.  

분배 요구사항은 다음에 의해 구동됩니다.

  • 문제점 도메인의 분배 요구(기능적 요구사항) - 시스템이 기능의 일부를 수행하는 데 특정 분배 프로세서, 데이터베이스 또는 레거시 시스템에 액세스 또는 사용하는 명시적 요구사항이 있을 수 있습니다.
  • 선택한 전개 구성 - 특정 전개 구성이 상호 연결 및 노드의 수와 유형을 정의하여 시스템의 분배에 제한조건을 부과합니다. 예를 들어, 멀티 티어 전개 구성은 일반적으로 사용자에게 클라이언트 노드, 웹 서버 노드 및 어플리케이션 서버 노드가 있음을 의미합니다. 대개의 경우, 특정 전개 구성이 활동: 구조 분석 중에 선택된 다음 이 활동 중에 정제됩니다.
  • 필수 자원(비기능적 요구사항) - 시간 집약적이거나 계산 집약적인 기능이 기능성(예: 빠른 프로세서, 많은 RAM 또는 대량의 디스크 공간) 요구를 처리하기 위해 특히 구비되어야 할 특정 하드웨어 구성을 필수로 할 수도 있습니다.  한 예로는 특수화된 전용 프로세서가 필요할 수 있는 디지털 신호 프로세싱이 있습니다.
  • 결함 허용의 요구(비기능적 요구사항) - 요구사항은 백업 프로세서가 있는 것일 수 있습니다.
  • 범위성 및 융통성 관련 사항(비기능적 요구사항) - 대다수의 동시 사용자가 단순히 임의의 단일 프로세서를 지원하기에 너무 많습니다. 시스템 기능성을 로드 밸런싱하는 요구사항이 있어 최대 성능과 범위성을 제공할 수 있습니다.
  • 경제적 관련 사항 - 소형의 저렴한 프로세서의 가격 성능을 대형 모델에서 일치시킬 수 없습니다.

많은 구조적 문제점과 같이 이러한 요구사항은 다소 상호 독점적일 수도 있습니다. 적어도 처음에는 충돌 요구사항이 있는 것이 일반적입니다. 중요성 관점에서 요구사항의 등급을 매기는 것이 충돌을 해결하는 데 도움이 됩니다.

네트워크 구성 정의 페이지 맨 위

목적 네트워크의 구성 및 토폴로지를 정의하기 위함입니다.  

이 단계에서 초기전개 모델 (활동: 구조적 분석에 정의)은 이전 단계에서 식별된 분배 요구사항을 지원하도록 정제됩니다.

네트워크의 토폴로지 및 네트워크의 프로세서와 장치의 성능 및 특성이 시스템에서 가능한 분배 정도와 특성을 판별합니다.

다음 정보가 캡처되어야 합니다.

  • 위치를 포함하여 실제 네트워크 배치
  • 네트워크 상의 노드 및 해당 구성 및 성능(구성에는 노드에 설치된 하드웨어 및 소프트웨어 모두와 프로세서 수, 디스크 공간의 크기, 메모리 크기, 스왑 크기 등이 포함됨) - 노드에 설치된 하드웨어는 장치를 사용해 표시될 수 있음
  • 네트워크 상에 있는 각 세그먼트의 대역폭
  • 네트워크 상에 임의의 중복된 경로의 존재(결함 허용 성능을 제공하는 데 도움)
  • 다음을 포함하는 노드의 기본 용도가 있습니다.
    • 일반 사용자가 사용하는 워크스테이션 노드
    • 양식이 없는 프로세스가 발생하는 서버 노드(서버 구성을 단순화하기 위해 서버 컴포넌트가 양식이 없는 이미지에 압축될 수 있습니다. 해당 이미지에는 사용자 인터페이스 컴포넌트가 포함되지 않음).
    • 개발 및 테스트에 사용하는 특수 구성
    • 기타 특수 프로세서
  • IP 네트워크가 있는 경우, IP 설계 및 기능(예: DNS, VPN)
  • 솔루션에서 인터넷이 수행하는 파트

다음 다이어그램이 ATM의 전개 보기를 설명합니다.

ATM의 전개 보기 다이어그램

ATM의 전개 보기

다이어그램이 두 노드(ATM 자체로 이 예제의 중심)와 은행 간 네트워크로의 모든 연결이 작성되는 ATM 네트워크 서버를 설명합니다. ATM 네트워크 서버가 ATM 빌더의 범위 밖에 있지만, 네트워크 대역폭이 문서화될 수 있는 방법을 설명하기 위해 여기에 표시합니다. 다이어그램이 ATM 노드에서 실행하는 프로세스와 스레드도 표시합니다. 이는 다음 단계 시스템 요소를 노드에 할당에서 설명합니다.

주석 사용을 참고하여 프로세서 및 용량을 문서화하십시오. 이러한 문서는 노드(또는 장치)의 문서 필드에서 표시될 수도 있으며, 이런 경우 해당 문서는 다이어그램에 표시되지 않습니다.

시스템 요소를 노드에 할당 페이지 맨 위

목적  시스템의 워크로드를 분배하기 위함입니다.  

이 단계에서 시스템 요소가 이전 단계에서 정의된 노드에 적용됩니다. 전개는 실제 및 논리 Perspective 모두에서 설명될 수 있습니다.

논리 전개는 논리적 요소(클래스, 서브클래스 또는 해당 인스턴스)가 노드에 맵핑되는 위치입니다. 여기에는 제어 스레드가 포함될 수 있습니다. 예를 들어, 논리 전개가 AuctionManager 서브시스템이 어플리케이션 서버로 전개됨을 설명할 수도 있습니다.

실제 전개는 파일이 노드로 맵핑되는 위치입니다. 예를 들어, 실제 전개가 CloseAuctionTimer.class 파일이 server76으로 전개됨을 설명할 수도 있습니다.

분배는 총계가 파트의 합계보다 적을 수 있으며 일반적으로 적은 영역입니다. 분배의 진정한 장점을 달성하는 데는 작업과 신중한 계획이 필수입니다. 각각 맵핑될 요소와 노드 판별시, 다음을 고려해야 합니다.

  • 노드 용량(메모리와 처리 능력면)
  • 의사소통 중간 대역폭(버스, LAN, WAN)
  • 라우팅하는 통신 링크 및 하드웨어의 사용 가능성
  • 중복성 및 결함 허용의 요구사항
  • 응답 시간 요구사항
  • 처리량 요구사항
  • 기타

요소는 네트워크 교차 전송량의 양을 최소화하는 의도로 노드에 할당됩니다. 대단한 정도로 상호 작용하는 요소는 동일한 노드에 같이 배치되어야 하며 반면 덜 자주 상호 작용하는 요소는 다른 노드에 상주할 수 있습니다. 때때로 반복을 필수로 하는 중요한 결정은 선을 그릴 위치입니다. 둘 이상의 노드에 걸쳐 프로세스를 분배하려면 시스템의 프로세스 간 의사소통의 패턴을 보다 정밀하게 조사해야 합니다. 종종, 프로세스의 분배는 한 시스템에서 두 번째 시스템으로의 로드 해제 작업이라고 단순하게 인식됩니다. 실제로, 추가 프로세스 간 통신 워크로드는 프로세스와 노드 경계를 신중하게 고려하지 않는 경우 워크로드 분배에서 생긴 모든 이익이 쉽게 무효화될 수 있습니다.

이전 예제 다이어그램, ATM의 전개 보기가 노드에 프로세스를 할당하는 ATM 노드를 설명합니다. 단일 프로세스(ATM 기본)이 차례로 별도의 세 개의 제어 스레드로 구성됩니다(고객 인터페이스, ATM 네트워크 인터페이스 및 장치 제어기).

일부 환경에서는 분배를 자동화 및/또는 단순화하는 메커니즘을 제공합니다. 예를 들어, 다음과 같습니다.

  • 클러스터: 클러스터는 일반적으로 기능성(예: 오류복구 및 로드 밸런싱)을 포함하여 장치의 역할을 하는 서버 그룹입니다. 이런 경우에, 전개 보기가 클러스터가 실제 노드에 맵핑되도록 구성된 방법뿐 아니라 시스템 요소가 클러스터에 할당된 방법도 설명해야 합니다.
  • 컨테이너: 컴포넌트 환경(예: J2EE, Microsoft .NET 및 기타)에서 컴포넌트가 컨테이너라는 논리적 컴퓨팅 환경에서 실행됩니다. 컨테이너는 "논리 노드"로 고려될 수 있습니다. 전개 보기가 시스템 요소가 컨테이너에 전개되는 방법 및 차례로 컨테이너가 실제 노드에 할당되는 방법을 설명해야 합니다.

이러한 지원 분배 메커니즘의 사용과 분배 요구사항을 충족하도록 실제 노드에 맵핑되고 구성되어야 하는 방법은 문서 보기의 일부로 문서화되어야 합니다.

Rational Unified Process   2003.06.15