정보처리기사 실기소프트웨어 설계결합도와 응집도난이도 3DESCRIPTIVE

정보처리기사 실기 결합도와 응집도 기출문제 #665

문제

소프트웨어 아키텍처 설계에서 **계층화(Layering)**와 **모듈화(Modularization)**가 시스템의 복잡도 관리변경 영향 최소화에 미치는 효과를 분석하고, 이러한 설계 원칙들이 어떻게 시스템의 유지보수성확장성을 향상시키는지 구체적인 메커니즘을 서술하시오.

정답

계층화는 시스템을 추상화 수준에 따라 수직적으로 분리하여 각 계층이 명확한 역할과 책임을 갖도록 하며, 상위 계층이 하위 계층에만 의존하는 단방향 의존성을 통해 복잡도를 분산시킨다. 모듈화는 관련 기능을 응집도 높은 단위로 묶고 모듈 간 인터페이스를 통해 상호작용하도록 하여 변경 시 영향 범위를 해당 모듈 내부로 제한한다. 이를 통해 개별 모듈의 독립적 개발과 테스트가 가능해지고, 특정 기능 변경 시 다른 모듈에 미치는 파급효과가 최소화되어 유지보수성이 향상된다. 또한 새로운 기능은 기존 모듈 수정 없이 새 모듈 추가나 기존 모듈의 확장을 통해 구현할 수 있어 확장성이 보장된다.

계층화모듈화복잡도 관리변경 영향 최소화유지보수성확장성단방향 의존성인터페이스파급효과독립적 개발

해설

계층화와 모듈화는 복잡한 시스템을 관리 가능한 단위로 분해하는 핵심 설계 원칙입니다. 계층화는 관심사의 분리를 통해 각 계층의 복잡도를 독립적으로 관리하며, 모듈화는 높은 응집도와 낮은 결합도를 통해 변경의 국지화를 달성합니다. 이는 Conway's Law와도 연관되어 조직 구조와 시스템 구조의 일치를 통한 개발 효율성 향상으로 이어집니다.

정보처리기사 실기 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] 결합도와 응집도 소프트웨어 설계 기출 #665 | 문어CBT