brunch

모듈을 나눈다는 것은

모듈러 디자인 핵심 개념 풀어쓰기

by 심야서점

누가 그러더군요.

“나누고 합치는 데는 이유가 필요하다”


시스템을 모듈로 나누는 것도 동일합니다. 모듈로 나누는 데는 이유가 필요합니다.

비용 때문이든, 품질 때문이든 시스템을 모듈로 나누는 데는 명백한 이유가 필요합니다.


모듈마다 나누는 이유가 동일할 필요는 없습니다.

어떤 모듈은 비용 때문에 나눌 수도 있고, 어떤 모듈은 품질 때문에 나눌 수 있습니다.

이렇게 차이가 나는 이유가 모듈을 나누는 더욱 명백한 근거를 줍니다.


모듈을 나누는 이유를 찾았다고 가정합시다.

어떻게 나누는 게 이상적일까요?


사람들을 편을 가를 때, 같은 편끼리는 성격, 배경 등 특성이 유사하게 묶고,

다른 편끼리는 차이가 크도록 묶습니다.


보통 어려운 용어로 모듈 내 응집성은 높이고, 모듈 간 의존성을 낮추는 방향으로

모듈을 구성한다고 말합니다.


그렇다면 모듈을 이런 특성들로 나누려면 무엇부터 해야 할까요?

먼저 시스템을 구성하는 구성요소들의 특성을 나열을 해야 합니다.


만약 제품 대상으로 모듈을 나눈다면, 하나의 제품 내 구성요소들의 특성을 찾으면 되겠지만

제품군 대상으로 모듈을 나눈다면, 여러 제품들의 구성요소들의 특성을 모두 찾아봐야겠죠?


특성들을 쭉 나열해보고 유사한 것끼리 먼저 묶고

가장 먼저 살펴본 모듈을 나눈 이유를 맞춰봅니다.


만약 모듈을 나눈 이유와 유사한 특성으로 나눈 결과가 잘 맞는다면

그대로 모듈을 정하면 되겠지만, 다르다면 시스템을 개선해야겠죠.


이유에 맞게 시스템을 개선해야 합니다.

오늘은 모듈을 나누는 것에 대해서 살펴봤습니다.


가장 기본적인 내용이지만, 방향을 잡기 어려운 내용입니다.


관련된 용어를 정리해보면,

모듈을 나누는 활동은 모듈화 또는 모듈 구조 정의라고 합니다.

모듈을 나누는 이유는 모듈화 동인 또는 모듈화 드라이버라고 합니다.

keyword
매거진의 이전글제품 변화의 이해