소개
아키텍처 분석 레벨에서 디자인 레벨로 이동할 때 하드웨어 및 소프트웨어 컴포넌트 디자인을 판별해야 합니다. 이 디자인 레벨 스펙은 배치할 컴포넌트인 하드웨어, 소프트웨어 및 작업자로 구성됩니다.
하드웨어 컴포넌트는 지역성(locality), 파생된 특성 및 호스트된 서브시스템 오퍼레이션을 분석하여 판별됩니다. 이 정보를 통해 지역성에 대한 설명자 레벨의 실현(realization)을 선택할 수 있습니다.
설명자 노드 다이어그램은 컴포넌트를 구현하는 기술을 특별히 선택하지 않고 컴포넌트, 서버, 워크스테이션, 작업자 등을 지정합니다. 그림은 개념: 지역성에 표시된 지역성
다이어그램을 실현하는 설명자 노드 다이어그램 예제입니다. 이행 지역성은 네 개의 컴포넌트인 웨어하우스 게이트웨이 및 메일링/우편 시스템과 두 작업자로 실현됩니다.
설명자 노드는 할당 또는 예산 계획 프로세스를 통해 지역성의 특성을 상속합니다.
하드웨어
실제로 배치되는 하드웨어 세트인 구현 하드웨어 컴포넌트는 설명자 보기의 비용/성능/기능을 이용하여 판별됩니다. 사실, 시스템에는 각각 다른 가격/성능 상태를 충족하는 여러 개의 하드웨어 구성이 있을 수
있습니다.
소프트웨어
컴포넌트는 클래스 세트를 지정한 후 클래스와 연관된 코드를 컴파일하여 실행 가능 파일로 어셈블하여 판별됩니다. 전체적으로 고려되는 소프트웨어 컴포넌트 디자인은 다양한 관심사항을 반영해야 합니다.
-
지역성(Locality)—컴포넌트를 실행해야 하는 장소
-
호스팅—실행 코드의 프로세서 명령어 세트 및 메모리 제한사항
-
동시성—신뢰성 및 관련된 관심사항 처리를 위해 다른 호스트 또는 메모리로 처리 분리
컴포넌트를 지정하는 데 필요한 정보로는 지역성 및 지역성 실현 하드웨어 컴포넌트에 대한 호스트 서브시스템 조사, 서브시스템 오퍼레이션을 실현하는 협업과 함께 클래스 세트가 컴포넌트 구조를 형성하도록 하는 프로세스에
대해 실행된 오퍼레이션의 조사가 있습니다.
첫 번째 근사치로, 모든 클래스가 단일 컴포넌트에 상주하여 컴포넌트와 서브시스템의 일 대 일 맵핑이 제공된다고 가정해 보십시오(이는 중간 산출물 가이드라인:
디자인 서브시스템에 제공된 기본 조언임). 다음으로는 컴포넌트를 추가로 파티션할 이유를 찾습니다. 클래스 세트에 프로세스를 표시하는 두 개 이상의 활성 클래스가 있을 경우, 컴포넌트당 하나의 활성
클래스(프로세스) 파티션을 점검하여 가장 강한 관계를 가지고 있는 클래스를 클러스터링하십시오. 그러면 일부 클래스는 여러 컴포넌트에서 사용될 수 있습니다. 이 클래스 중에 몇 개의 컴포넌트가 액세스할 공통 상태를
표시하는 클래스 또는 클래스 세트가 있을 경우, 클래스 자체의 다른 컴포넌트로 분할할 경우가 발생합니다. 공유 클래스가 Stateless이면 이 클래스를 서비스 컴포넌트(Stateless 기능 컴포넌트)로
분리하도록 선택할 수 있습니다(해당 컴포넌트가 결합력이 있는 상태로 기능할 경우). 수동 서브시스템에서도(활성 클래스가 아님), 추가로 파티션하도록 선택할 수 있습니다(예: 세분화된 재사용가능 컴포넌트 검색).
컴포넌트를 추가로 다시 파티션하거나 구분하여 프로세스를 완료하고 특정 기술 선택사항(예: J2EE™ 플랫폼 또는 Microsoft® .NET), 메모리 제한사항(예: .exe 및 .dll 절충), 운송 매체
제한사항 등을 고려하십시오.
이와 같은 타스크를 수행하면 시스템을 구성하는 특정 하드웨어 및 소프트웨어 세트가 판별됩니다.
|