1.1.3 시스템 설계의 이해
시스템 설계는 소프트웨어 시스템의 아키텍처, 컴포넌트, 모듈, 인터페이스 및 상호 작용을 정의하여 기능적·비기능적 요구 사항을 채우는 과정입니다. 이는 요구 사항을 소프트웨어 시스템의 구조, 구현, 유지 보수 방식을 설명하는 청사진(blueprint)이나 계획으로 변환하는 작업을 의미합니다.
Note ≣ 소프트웨어 시스템 설계의 목표는 이해하기 쉽고 유지 보수와 확장이 용이하며 시스템의 성능, 확장성, 신뢰성, 보안 요구 사항을 지킬 수 있는 설계를 만드는 것입니다. 시간이 지나면서 요구 사항이나 실행 환경은 바뀔 수도 있습니다. 이런 상황에서도 유연하게 대응이 가능하도록 만들어야 합니다.