software-design

하향식 설계와 상향식 설계

소프트웨어 개발을 시작할 때 흔히 접하는 두 가지 설계 방식이 있습니다. 바로 하향식 설계와 상향식 설계에 대해 알아봅시다.

1. 하향식 설계(Top-Down 설계)

하향식 설계는 가장 위의 큰 개념(상위 컴포넌트)을 먼저 설계하고, 이를 순차적으로 세부 기능으로 나누어 설계하는 방식입니다.

  • 절차 지향적이고 순차적인 설계 방식입니다.
  • 상위 개념이 명확하기 때문에 아래로 내려갈수록 기능 추가나 변경이 상대적으로 쉽습니다.

2. 상향식 설계(Bottom-Up 설계)

상향식 설계는 가장 아래의 세부 모듈부터 먼저 설계한 뒤, 이를 점차 결합하면서 최상위 모듈을 완성하는 방식입니다.

  • 객체 지향적이며, 작은 단위에서 출발하여 큰 기능으로 결합합니다.
  • 이미 설계된 하위 모듈 위로 기능을 추가하거나 변경하는 것이 어렵습니다.

회사에서 상사에게 무언가를 요구하기 어려운 것처럼, 하위 모듈에서 위로 올라가는 상향식 설계는 기능 추가나 변경이 어렵고, 반대로 위에서 아래로 내려오는 하향식 설계는 기능 추가나 변경이 쉬운 편이라고 기억하면 좋습니다.

정리

  • 하향식 설계는 큰 개념부터 시작하여 세부 기능을 순차적으로 추가하는 방식으로, 변경이 상대적으로 쉽습니다.
  • 상향식 설계는 작은 모듈부터 시작하여 결합해 나가는 방식으로, 위로 올라갈수록 기능 추가나 변경이 어렵습니다.