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

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

문제

소프트웨어 설계에서 **팬인(Fan-in)**과 **팬아웃(Fan-out)**의 개념을 설명하고, 이들이 결합도와 응집도에 미치는 영향을 분석하시오. 또한 좋은 모듈 구조를 위한 팬인과 팬아웃의 바람직한 특성을 제시하시오.

정답

팬인은 특정 모듈을 호출하는 모듈의 개수이고, 팬아웃은 특정 모듈이 호출하는 모듈의 개수이다. 높은 팬인은 해당 모듈의 재사용성을 높이지만 변경 시 영향 범위가 크고, 높은 팬아웃은 모듈 간 결합도를 높여 복잡성을 증가시킨다. 좋은 설계를 위해서는 적당한 팬인(재사용성 확보)과 낮은 팬아웃(결합도 감소)을 유지해야 하며, 각 모듈의 응집도를 높여 명확한 책임을 가지도록 설계해야 한다.

팬인팬아웃호출하는모듈호출되는모듈재사용성영향범위결합도증가복잡성적당한팬인낮은팬아웃명확한책임

해설

팬인(Fan-in)은 어떤 모듈을 참조하거나 호출하는 모듈들의 수를 의미하며, 팬아웃(Fan-out)은 한 모듈이 참조하거나 호출하는 다른 모듈들의 수를 의미한다. 팬인이 너무 높으면 해당 모듈 변경 시 많은 모듈에 영향을 주고, 팬아웃이 너무 높으면 모듈 간 결합도가 높아져 유지보수가 어려워진다. 일반적으로 팬인은 적당히, 팬아웃은 낮게 유지하는 것이 바람직하다.

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

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