Lattix 기술
(Figure 1: 간단한 DSM) 매트릭스의 X 축과 Y 축은 순차적으로 번호가 주어진 동일한 서브시스템들을 나타내고 있습니다 . 각 서브시스템의 의존성은 각 열을 통해 알 수 있습니다 . 매트릭스의 1 열을 통해 모듈 A 는 모듈 C 에 ‘7' 의 의존성 세기 (dependency strength of ‘7') 로 의존적이라는 것을 알 수 있습니다 . 또한 1 열의 모듈 B 와 모듈 D 에 대한 셀이 비어있기에 모듈 A 는 모듈 B 와 D 에 대해서는 의존적이지 않다는 것을 알 수 있습니다 . 대각선 (identity diagonal) 의 셀은 하나의 모듈 자신에 대한 의존성을 나타냅니다 . 대각선의 칸들은 ‘.' 기호를 포함하도록 합니다 . 위 그림의 DSM 에서 가리키는 의존성은 다음과 같습니다. • 모듈 A 는 모듈 C 에 의존적입니다 .
DSM 의 재배열 파티셔닝 알고리즘은 매트릭스를 형성하는 하나의 “ 블록 삼각 (block triangular)” 을 만듭니다 . 하나의 “ 블록 삼각 (block triangular)” 에서 대각선 (identity diagonal) 블록 밖 상단의 모든 셀들은 비어있습니다 . 나아가 대각선 (identity diagonal) 상단의 의존성을 포함하는 이러한 블록들은 순환적인 의존성을 갖도록 보장됩니다 .
(Figure 2: 파티션화된 DSM) 위 그림에서의 파티셔닝은 세 개의 블록을 제공합니다 . 모듈 A 와 C 가 서로 결합되었기에 이들은 하나의 블록으로 그룹화됩니다 . 파티셔닝은 대개의 매체에서 일반적인 레이어링 (layering) 을 통해 대규모의 소프트웨어 시스템이 확장되는 것을 돕습니다 . DSM 에서의 계층의 표현 모듈 A 와 C 를 모듈 A 와 모듈 C 를 포함하는 복합적인 모듈 A-C 로 결합할 수 있습니다 . (Figure 3: 계층적인 DSM) 계층의 표현에 대한 Lattix 의 혁신적인 DSM 의 사용은 대규모의 아키텍처를 나타내고 관리하는데 핵심적인 것입니다 . 우리가 “ 모듈 ” 이라 부르는 것은 간단히 하나의 추상입니다 ? 이것은 하나의 클래스를 표현하는 작은 추상이나 수천 개의 클래스를 포함하는 전체 서브시스템을 나타내는 대규모의 추상이 될 수 있습니다 . DSM 의 탑 레벨 뷰 아래의 그림에서 볼 수 있듯이 모듈 A-C 를 통합하여 모듈 A 와 모듈 C 는 사라지게 됩니다 . (Figure 4: DSM 의 탑 레벨 뷰) 모듈 D 가 모듈 A-C 에 대해 갖고 있는 의존성은 모듈 D 가 모듈 A 에 대해 갖고 있는 의존성과 모듈 C 에 대해 갖고 있는 의존성의 집합 (aggregation) 입니다 . 집합 (aggregation) 에 대한 다른 접근이 역시 Lattix LDM 에서 형상화될 수 있으며 , 기본적으로 이 집합은 간단한 합계입니다 . 요약 : 일련의 간단한 매트릭스 변환을 수행해 보았습니다 . 이러한 변환은 서브시스템간의 의존성에 의해 유도됩니다 . 여기서 모듈 A, 모듈 B, 모듈 C, 모듈 D 로 구성된 시스템으로 시작하였고 순차적인 변환을 통해 모듈 D, 모듈 A-C, 모듈 B 의 세 개의 모듈로 구성된 시스템으로 종료하였습니다 . 모듈 A-C 는 모듈 A 와 모듈 C 의 차례로 구성되었습니다 . 모듈 A-C 는 모듈 B 의 상단에 레이어화 되고 모듈 D 는 모듈 A-C 의 위에 차례로 레이어화 됩니다 . 여러분은 또한 DSM 의 역사와 DSM 이 어떻게 시스템 엔지니어링에서 사용되어 왔는지에 대해 여기서 ( http://www.dsmweb.org/ ) 읽을 수 있습니다 .
설계 규칙(Design Rules): 아키텍처를 매핑하는 핵심 기존의 서브시스템의 맵의 컨텍스트 (context of a map), 이들간의 분해 (decomposition), 서브시스템간의 의존성과 함께 이 프레임워크는 형식 설계 규칙 (formal design rules) 의 집합을 통해 아키텍트의 의도를 코드화 하도록 준비되었습니다 . 일반적으로 하나의 설계 규칙 (design rule) 은 서브시스템에 적용되고 서브시스템 자신의 내부에 포함된 모든 서브시스템에 의해 상속됩니다 . 이것은 DSM 의 하나의 셀에서 클릭하는 것으로 간단히 적용될 수 있는 규칙 (a widely pervasive rule) 을 허용합니다 . 개발자가 실수로 아키텍처적인 위배를 생성하였을 때 Lattix LDM 솔루션은 이를 알리거나 적용할 수 있습니다 . 매트릭스 표현 그 자체는 디자인 규칙 (design rules) 을 명세화하고 시각화할 수 있는 강력한 방법입니다 .
(Figure: 각 셀과 연관된 규칙들) 또한 규칙들은 외부 라이브러리가 중복이 최소화되고 아키텍처적인 무결성이 유지되며 라이센스 이슈가 관리되도록 이를 표준화하도록 명세화될 수 있습니다 . 설계 규칙 (Design Rules) 과 함께 해야 할 일들은 다음을 포함합니다 : • 레이어링 (Layering) 의 명세와 적용 설계 규칙에 대한 Lattix 백서는 설계 규칙이 어떻게 명세화되고 적용될 수 있는지를 세부적으로 설명하고 있습니다 . 의존 모델 (Dependency Model) 이란 무엇인가 ? 의존 모델 (Dependency Model) 은 하나의 시스템의 아키텍처의 표현입니다 . 이것은 다음 같이 구성됩니다 : • 질서 있게 계층적으로 시스템을 자체의 서브시스템들로 분해 간단히 여러분은 의존 모델을 DSM 에 설계 규칙을 추가한 것으로 생각하시면 됩니다 . 의존 모델 (Dependency Model) = DSM + 설계 규칙 (Design Rules) |
|
'기타 소프트웨어 > Lattix' 카테고리의 다른 글
Lattix DSM을 익힐 수 있는 동영상 (0) | 2010.06.07 |
---|---|
애플리케이션 구조 분석 도구 : Lattix (0) | 2010.06.07 |