모듈러 아키텍처 입문
모듈화는 기존 시스템을 모듈로 분할하여 시스템을 모듈로 구성하는 활동을 의미합니다.
우리가 생각하는 일반적인 모듈형 제품은 레고처럼 여러 구성요소들이 결합한 형태를 갖습니다. 그런데, 이러한 형태의 모듈화는 다양한 모듈화 종류 중에서도 조립식 모듈화 (Sectional Modularity)에 속합니다.
모듈화라고 하면 흔히 생각할 수 있는 레고형 모듈화는 여기에 속합니다.
동일한 규모의 모듈들이 여러 가지 인터페이스를 통해서 결합한 형태로 시스템이 구성이 됩니다. 그 외에도 이종 인터페이스로 여러 가지 모듈이 하나의 메인 모듈에 결합하는 형태로 모듈화가 이루어지는 슬롯형 모듈화 (Slot Modularity), 동종 인터페이스로 여러 가지 모듈이 하나의 메인 모듈에 결합하는 형태로 모듈화가 이루어지는 버스형 모듈화 (Bus Modularity)가 있습니다.
여기에 속하는 대표적인 예가 메인보드에 개별 기능을 담당하는 컴포넌트가 결합하는 퍼스널 컴퓨터입니다.
흔히 기존 제품을 모듈화 또는 재구조화하는 방식으로 사용하는 DSM (Design Structure Matrix)을 통한 수치 기반의 클러스터링이 있습니다. 그런데, DSM을 이용하는 방식이 시스템 구성에 영향을 받습니다.
DSM을 활용하여 모듈을 구성하는 방법을 간략하게 설명하면 다음과 같습니다. 먼저 시스템을 구성하는 요소 간의 인터페이스를 정의합니다. 두 번째는 모듈 내 인터페이스 강도는 최대화하고 모듈 간 인터페이스 강도는 최소화하는 방향으로 최적의 모듈 구성을 찾습니다.
그런데, 기존에 슬롯형, 버스형 모듈 구성과 유사하게 시스템이 구성된 경우에는 위와 같이 DSM을 활용하여 인터페이스 연결 강도가 큰 구성요소끼리 묶은 후 최적 모듈 구성을 찾으면, 클러스터링 한 결과가 메인 모듈을 중심으로 다양하게 생깁니다.
다시 이야기하면, 메인 모듈을 중심으로 어떻게 모듈이 묶여도 이상하지 않은 형태가 됩니다. 그래서, 시스템 구성이 슬롯형, 버스형 일 경우에는 DSM을 활용하는 것보다 다른 방식으로 모듈화를 하는 것이 필요합니다.