1.1 시스템 설계의 정의
이 책을 읽고 있는 독자 여러분은 한 번쯤은 애플리케이션을 만든 경험이 있을 거예요. 회사에서 작업했을 수도 있고, 개인적으로 사이드 프로젝트를 진행했을 수도 있겠죠. 과거 경험을 돌이켜 보면, 아무런 이유와 근거 없이 생각나는 대로 만들지는 않았을 것입니다. 마찬가지로 시스템 설계는 특정 요구 사항을 이루기 위해 시스템의 아키텍처나 구성 요소, 인터페이스 및 기타 여러 특성을 정의하는 과정을 의미합니다. 여러분이 그동안 해 왔던 것처럼 말이죠.
그렇다면 지금부터 소프트웨어 시스템과 분산 소프트웨어 시스템의 개념을 살펴보면서 시스템 설계를 이해해 볼까요?