개념: 분석 메커니즘
주제
분석 메커니즘은 공통 문제점에 대해 공통 솔루션을
구성하는 패턴을 표시합니다. 분석 메커니즘은 구조의 패턴, 작동의 패턴 또는
두 가지 모두를 표시할 수 있습니다. 분석 메커니즘은 분석 중에 설계자에게 복잡한 작동의 간단한 표시를 제공하여
분석의 복잡도를 줄이고 일관성을 증대시키기 위해 사용됩니다.
메커니즘을 사용하면 기능을 지원하기 위해 필요한 상대적으로 복잡하지만
주요하지는 않은 작동의 스펙에 빠지지 않고 기능적 요구사항을 소프트웨어 개념으로 변환하는 데
분석 노력이 집중되도록 할 수 있습니다.
종종 분석 메커니즘은 하나 이상의
구조적
또는 분석 패턴의
인스턴트화에서 비롯됩니다.
분석 메커니즘은 우선적으로 중간 및 하위 구조 계층에서 복잡한 기술의
'플레이스홀더'를 나타내는 데 사용됩니다.
구조에서 메커니즘을 '플레이스홀더'로 사용하면
구조화 노력이 메커니즘 작동의 세부사항으로 덜 분산됩니다.
예를 들어, 객체 수명 범위 유스 케이스, 프로세스 수명 또는
시스템 종료 및 시작이 있어야 할 요구는 객체 지속성의 요구를 정의합니다.
지속성은 특별히 복잡한 메커니즘이며
분석 중에 지속성을 달성하는 방법에 대한
세부사항에 주의가 흩뜨러지기를 원하지 않습니다.
이것은 정확하게 지속성 메커니즘이 수행하는 작업 또는
지속성 메커니즘이 작업하는 방법에 대해 걱정하지 않고
지속적 객체에 대해 나타내고
지속성 메커니즘에 대한 요구사항을 캡처할 수 있게 하는
'지속성' 분석 메커니즘의 근원이 됩니다.
분석 메커니즘은 반드시 그런 것은 아니지만
일반적으로 문제점 도메인에 관련되지 않습니다.
대신 "컴퓨터 공학" 개념입니다.
결과적으로 분석 매커니즘은 구조의 중간 및 하위 계층을 차지합니다.
분석 메커니즘은 도메인 관련 클래스 또는 서브시스템 작동을 제공하거나
클래스 및/또는 서브시스템 간 협업의 구현에 부합됩니다.
분석 메커니즘은 프레임워크로 구현될 수
있습니다(예: 지속성을 처리하는 메커니즘,
상호 프로세스 통신, 오류 또는 결함 처리, 공고 및 메시지 전달).
그러나 더 많은 분석
패턴이 다양한 도메인에 수립되므로
분석 메커니즘에서 분석 패턴을 부분적 또는 전체적으로 인스턴스화하면
이러한 메커니즘이 구조의 상위 계층에 나타나게 됩니다.
- 지속성
인스턴스가 지속될 수 있는 모든 클래스에 대해 다음을 식별해야 합니다.
- 세분성: 지속될 객체 크기의 범위
- 볼륨: 지속되고 있는 객체의 수
- 지속 기간: 일반적으로 객체가 보존되는 기간
- 검색 메커니즘: 제공되는 객체가 고유하게 식별되고 검색되는 방법
- 갱신 빈도: 객체가 다소 일정하고 영구히 갱신됩니까?
- 신뢰성: 프로세스, 프로세서 또는 전체 시스템의 손상으로부터
객체가 존재할 수 있습니까?
- 상호 프로세스 통신
다른 프로세스 또는 스레드에서 실행되는
컴포넌트 또는 서비스와 통신해야 하는 모든 모델 요소에 대해
다음을 식별해야 합니다.
- 지연: 프로세스가 다른 프로세스와 얼마나 빠르게 통신해야 합니까?
- 동시성: 비동기 통신
- 메시지 크기: 스펙트럼이 단일 숫자보다 더 적합할 수 있습니다.
- 프로토콜, 플로우 제어, 버퍼링 등.
기타 일반 메커니즘에는 다음이 포함됩니다.
- 메시지 라우팅
- 프로세스 제어 및 동기화
- 트랜잭션 관리
- 정보 교환
- 보안
- 중복성
- 오류 보고
- 형식 변환
분석 메커니즘을 설명하는 프로세스는 다음과 같습니다.
- 모든 분석 메커니즘을 목록에 수집
동일한 분석 메커니즘이 여러 다른 이름으로 다른 유스 케이스의 실현이나
다른 설계자를 통해 표시될 수 있습니다. 예를 들어, 저장영역, 지속성, 데이터베이스 및
저장소 모두는 지속성 메커니즘에 관련된 것입니다. 또는 상호 프로세스 통신,
메시지 전달 또는 원격 호출 모두는
상호 프로세스 통신에 관련된 것입니다.
- 클라이언트 클래스의 맵핑을 분석 메커니즘에 끌어오기

식별된 클래스 및 서브시스템은
식별된 분석 메커니즘에 맵핑되어야 합니다. 화살표는 클래스가
메커니즘을 사용하고 있음을 표시합니다. 클라이언트 클래스가 여러 메커니즘의 서비스를 요구하는 것은
드문 일이 아닙니다.
- 분석 메커니즘의 특성 식별
가능한 설계의 범위를 구별하기 위해
각 분석 메커니즘을 제한하는 데 사용되는 특성을 식별하십시오. 이러한 특성은
파트 기능, 파트 크기 및 성능입니다.
-
협업을 사용하는 모델
분석 메커니즘이 식별되고 이름 지정되려면
궁극적으로 '클래스 집합'의 협업([BOO98] 참조)을
통해 모델링되어야 합니다. 일부는 어플리케이션 기능에 직접 전달되지 않지만
단지 이를 지원하기 위해 존재합니다. 이러한 '지원 클래스'는 계층화된 구조의
중간 또는 하위 계층에 종종 위치하기 때문에
모든 어플리케이션 레벨 클래스에 대해 공통되는 지원 서비스를 제공합니다.
식별된 메커니즘이 풍부할 경우, 패턴에 필요한 대로 기존 클래스를 바인드하고
새 클래스를 구현하여 메커니즘이 인스턴스화될 수 있는
패턴이
존재할 것입니다. 이렇게 생성된 분석 메커니즘은 추상적이며
설계 및 구현을 통한 더 자세한 정제를 필요로 합니다.
분석 메커니즘은 결과물:
소프트웨어 구조 문서에 문서화되어 있습니다.
소프트웨어 구조가 완성됨에 따라
결과물: 소프트웨어 구조 문서에는
설계 메커니즘 및 구현 메커니즘과 분석 메커니즘 관계(또는 맵핑),
이러한 선택에 연관된 합리성이 포함됩니다.
| |
|