더북(TheBook)

아키텍처 vs 설계

IEEE 정의 중에서 설계를 통제하는 원칙이라는 부분은 아키텍처와 설계의 차이를 가장 잘 보여 줍니다.

복잡한 시스템에는 설계가 수백 또는 수천 개 있으며 대부분 계층적으로 구성됩니다. 고수준 시스템 설계부터 상세한 서브시스템 설계까지 다양하며 서비스, 라이브러리, 인터페이스, 클래스, 스키마 등 각각에 설계가 필요합니다.

모든 시스템 요소는 함께 동작해야 하므로 각 요소의 설계도 서로 관련되어 있습니다. 우리는 보통 시스템 계층을 고려하여 하향식으로 설계에 접근합니다. 먼저 전체 시스템을 서브시스템으로 나누고 경계와 기본 동작을 정의한 뒤 각각의 서브시스템을 세부적으로 설계합니다.

시스템의 구성 요소(서비스 등)는 개별적으로 설계하지만 독립적이지 않습니다. 모든 구성 요소는 상위 설계에 부합해야 하며 다른 요소와 조화를 이루어야 합니다. 즉, 이러한 부분을 먼저 감안하여 설계를 진행하며, 그다음 최종적으로 해당 요소의 내부 설계를 진행합니다.

설계는 동시에 전부 완성될 수 없습니다. 대부분 팀으로 작업하기 때문에 병렬로 진행됩니다. 또 시간이 지나면서 새로운 설계를 만들고 기존 설계를 확장, 업데이트, 수정하게 됩니다. 시스템을 폐기하지 않는 한 설계는 계속되는 과정인 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.