문제
다음 설명에 해당하는 설계 기법의 명칭을 각각 쓰시오.
(1) 시스템을 추상화 수준에 따라 수직적으로 분리하고, 상위 계층이 하위 계층에만 의존하도록 하는 기법. (2) 관련 기능을 응집도 높은 단위로 묶고 모듈 간 인터페이스로 상호작용하게 하는 기법.
정답
(1) 계층화(Layering) (2) 모듈화(Modularization)
해설
계층화는 시스템을 추상화 수준에 따라 수직 분리하고 단방향 의존성으로 복잡도를 분산시킨다. 모듈화는 관련 기능을 응집도 높은 단위로 묶어 변경 영향 범위를 모듈 내부로 제한한다. 둘 다 유지보수성과 확장성을 높인다.