문제
소프트웨어 아키텍처 설계에서 **모듈성(Modularity)**과 **재사용성(Reusability)**의 개념을 설명하고, 이들을 향상시키기 위한 기본적인 설계 원칙을 서술하시오.
정답
모듈성은 시스템을 기능적으로 독립된 단위로 분할하는 특성으로, 명확한 인터페이스 정의와 단일 책임 원칙을 통해 향상시킬 수 있다. 재사용성은 컴포넌트를 다른 시스템에서도 활용할 수 있는 특성으로, 표준화된 인터페이스와 범용적 설계를 통해 높일 수 있다.
모듈성재사용성독립된 단위인터페이스단일 책임표준화범용적 설계
해설
모듈성은 복잡한 시스템을 관리 가능한 크기의 독립적인 모듈로 나누는 것으로, 각 모듈이 명확한 역할과 책임을 가져야 한다. 재사용성은 한 번 개발된 컴포넌트를 여러 곳에서 활용할 수 있게 하는 특성으로, 일반화된 설계와 표준 인터페이스가 핵심이다.