정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 모듈화 — 모듈 크기·결합도 설계 지침

모듈화 세트는 기능을 독립적인 단위로 나누는 원리와 그 품질을 재는 척도를 함께 묻는다. 결합도는 약하게, 응집도는 강하게라는 원칙, 팬인과 팬아웃, 설계 품질의 기준, 재공학, HIPO가 한 묶음에 들어온다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「모듈화」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
모듈 구조 용어1상위 모듈 수 등 구조 관련 용어
설계 기준의 판단1좋은 설계 기준에서 벗어난 것
설계 지침의 이해1설계 지침 설명에서 거리가 먼 것

뜻

모듈화는 소프트웨어를 기능적 관련성에 따라 독립적인 단위로 나누는 설계 기법이다. 좋은 설계 지침은 모듈 간 독립성을 높이는 것이며, 이를 위해 결합도는 약하게 하고 응집도는 강하게 한다. 모듈화는 확장성, 융통성, 경제성을 주고 복잡성을 줄이는 방향으로 작동하므로, 복잡성을 장점으로 적거나 예측 불가능한 정의를 설계 원칙으로 삼는 설명은 틀리다.

모듈 구조의 관계를 나타내는 용어도 함께 본다. 팬인(Fan-in)은 주어진 한 모듈을 제어하는 상위 모듈의 수이고, 팬아웃(Fan-out)은 한 모듈이 제어하는 하위 모듈의 수다. 결합도는 모듈 사이의 의존 정도로, 공통 결합은 여러 모듈이 공통 자료 영역을 사용하는 경우이고 제어 결합은 모듈 간에 제어 정보를 전달하는 경우다. 응집도는 한 모듈 내부 요소들이 공통의 목적을 달성하기 위해 서로 관련된 기능적 연관의 정도다.

설계 품질을 평가하는 기준으로는 모듈성, 명확성, 계층성 같은 성질이 쓰이며, 통합적 서브루틴 유도는 좋은 설계의 기준이 아니다. 소프트웨어 재공학은 유지보수성 향상을 목표로 기존 소프트웨어를 재설계하거나 형식을 바꾸는 개념이다. HIPO는 시스템의 기능을 계층적으로 표현하는 도구로, 가시적 도표는 전체 구조를 보여 주는 목차이고 세부 다이어그램이 특정 기능의 상세 입력·처리·출력을 담당한다.

예제

출제 패턴은 네 가지다. ① 설계 원칙 — 결합도는 약하게, 응집도는 강하게가 옳고, 그 반대로 적거나 복잡성을 장점으로 적은 선지가 오답이다. ② 구조 용어 — 한 모듈을 제어하는 상위 모듈의 수는 팬인, 한 모듈이 호출하는 하위 모듈의 수는 팬아웃이다. ③ 결합도·응집도 — 공통 자료 영역은 공통 결합, 제어 정보 전달은 제어 결합이고, 모듈 내부의 기능적 연관 정도는 응집도다. ④ 설계 품질·재공학·HIPO — 통합적 서브루틴 유도를 품질 기준으로 적거나, 재공학을 재설계·형식 변경과 무관하게 적거나, 가시적 도표가 상세 입출력을 담당한다고 적은 선지가 틀리다.

대표 기출 3문항

소프트웨어 설계를 위한 지침에 대한 설명으로 거리가 먼 것은?

  1. 소프트웨어 요소간의 효과적 제어를 위해 설계에서 계층적 자료조직이 제시되어야 한다.
  2. 설계는 종속적인 기능적 특성을 가진 모듈화로 유도되어야 한다.
  3. 소프트웨어는 논리적으로 특별한 기능과 부기능을 수행하는 요소들로 나누어져야 한다.
  4. 설계는 자료와 프로시저에 대한 분명하고 분리된 표현을 포함해야 한다.
정답과 해설 보기

정답 ② · 이 문제는 소프트웨어 설계 지침에 대한 설명 중 거리가 먼 것을 고르는 문제다. 좋은 설계는 모듈의 독립성을 높여야 하며, 모듈화는 기능적 응집성을 기준으로 서로 독립적으로 나누는 것이지 종속적인 특성으로 유도하는 것이 아니다.

모듈화는 기능적 관련성(기능적 결합)으로 나누어야 하며, 종속성보다는 독립성과 결합도 개념이 설계 지침의 핵심이다.

소프트웨어 구조와 관련된 용어로, 주어진 한 모듈(module)을 제어하는 상위 모듈 수를 나타내는 것은?

  1. Modularity
  2. Subordinate
  3. Fan-in
  4. Superordinate
정답과 해설 보기

정답 ③ · 한 모듈을 제어하는 상위 모듈의 수를 나타내는 소프트웨어 구조 용어를 묻는 문제이다. Fan-in은 어떤 모듈을 호출하는 상위 모듈의 개수를 의미하고, Fan-out은 그 모듈이 호출하는 하위 모듈의 개수를 의미한다.

Fan-in은 한 모듈을 호출하는 상위 모듈의 수를 나타내며, Fan-out은 한 모듈이 호출하는 하위 모듈의 수이다.

설계품질을 평가하기 위해서는 반드시 좋은 설계에 대한 기준을 세워야 한다. 다음 중 좋은 기준이라고 할 수 없는 것은?

  1. 설계는 모듈적이어야 한다.
  2. 설계는 자료와 프로시저에 대한 분명하고 분리된 표현을 포함해야 한다.
  3. 소프트웨어 요소들 간의 효과적 제어를 위해 설계에서 계층적 조직이 제시되어야 한다.
  4. 설계는 서브루틴이나 프로시저가 전체적이고 통합적이 될 수 있도록 유도되어야 한다.
정답과 해설 보기

정답 ④ · 좋은 설계에 대한 기준에 해당하지 않는 것을 찾는 문제이다. 좋은 설계는 기능적 독립성을 위해 모듈적이어야 하고, 자료와 프로시저에 대한 분명하고 분리된 표현을 포함해야 하며, 소프트웨어 요소 간 효과적 제어를 위한 계층적 조직을 제시해야 한다.

좋은 설계는 모듈성, 명확성, 계층성을 갖추어야 하며 통합적 서브루틴 유도는 기준이 아니다.

자주 묻는 물음

모듈화에서 결합도와 응집도는 어떻게 잡아야 하나요?
결합도는 모듈 사이의 의존 정도이므로 약하게, 응집도는 모듈 내부 요소들의 기능적 연관 정도이므로 강하게 설계합니다. 공통 결합은 공통 자료 영역을 쓰는 경우, 제어 결합은 제어 정보를 전달하는 경우입니다.
팬인과 팬아웃은 무엇인가요?
팬인은 주어진 한 모듈을 제어하는 상위 모듈의 수이고, 팬아웃은 한 모듈이 제어하는 하위 모듈의 수입니다. 구조에서 어느 방향으로 몇 개가 연결되는지를 세는 용어로 구분합니다.
HIPO와 재공학은 어떻게 정리하나요?
HIPO는 기능을 계층적으로 표현하는 도구로, 가시적 도표는 전체 구조의 목차이고 세부 다이어그램이 특정 기능의 상세 입력·처리·출력을 담당합니다. 소프트웨어 재공학은 유지보수성 향상을 위해 기존 소프트웨어를 재설계하거나 형식을 바꾸는 개념입니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.