정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 설계 모델링 — 하향식 설계와 설계 지침

설계 모델링은 요구사항을 바탕으로 시스템 구조를 잡는 단계다. 정보처리기사에서는 하향식·상향식 설계의 방향과 바람직한 설계 지침이 빈출된다.

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

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

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

시험에 이렇게 나온다

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

묻는 꼴문제 수무엇을 묻나
용어 정의 고르기(응집력)1모듈의 응집성(내부 응집력) 의미 선택
설계 지침 중 부적절한 항목 고르기1일반적 설계 지침에서 바르지 않은 문장 찾기
설계 고려사항 중 부적절한 항목 고르기1설계 시 고려사항 가운데 잘못된 진술 고르기

뜻

소프트웨어 설계 방식은 크게 하향식과 상향식으로 나뉜다. 하향식 설계(Top-Down Design)는 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식이다. 시스템의 가장 상위 기능부터 더 작고 관리하기 쉬운 하위 기능으로 단계적으로 분할하고 구체화해 나가며, 문제를 분할하여 해결하는 분할 정복의 사고와 맞닿아 있다. 상향식 설계는 이와 반대로 하위 모듈부터 조합해 올라가는 방식이다.

설계 지침의 중심에는 모듈화가 있다. 모듈은 프로그램의 기능을 독립적인 단위로 나눈 것으로, 모듈을 잘 설계해야 시스템이 안정적이고 수정하기 쉬워진다. 바람직한 설계 지침으로는 모듈의 크기를 적당하게 유지하는 것(너무 크면 이해하기 어렵고 너무 작으면 관리가 번거롭다), 모듈 간의 접속 관계를 분석하여 복잡도를 줄이는 것, 모듈 간의 결합도를 낮추는 것 등이 있다. 결합도가 강하면 모듈 간 의존도가 높아져 수정 시 파급 효과가 커지므로, 결합도는 낮을수록 유지보수가 용이하다.

공통 모듈을 명세할 때에도 원칙이 있다. 명세 기법의 명확성 원칙은 해당 기능에 대해 일관되게 이해하고 한 가지로 해석될 수 있도록 작성하는 것으로, 중복되지 않고 모호한 표현이 없이 오해의 여지 없이 정확히 전달되어야 함을 뜻한다. 명세가 명확하지 않으면 개발자는 잘못된 기능을 구현할 수 있다.

예제

시험에서는 "제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식은?"처럼 하향식 설계의 정의를 그대로 묻는 문제가 나온다. 설계 지침 문제에서는 "모듈 간 결합도는 강할수록 바람직하다" 같은 보기가 틀린 지침으로 정답이 되는 패턴이 반복된다. 명세 기법에서는 '한 가지로 해석될 수 있도록 작성하는 원칙'이 명확성임을 묻는다.

대표 기출 3문항

데이터 설계에 있어서, 응집력(cohesion)의 의미로 가장 적절한 것은?

  1. 데이터 구조들이 시스템 전반에 얼마나 연관관계를 가지고 있는가 하는 정도
  2. 모듈이 개발 단계별로 얼마나 잘 정의되어 있는가 하는 정도
  3. 모듈이 독립적인 기능으로 잘 정의되어 있는 정도
  4. 데이터들간의 상호 연관성의 정도
정답과 해설 보기

정답 ③ · 응집력(Cohesion)은 소프트웨어 공학에서 한 모듈 내부에 포함된 처리 요소들과 기능들이 서로 얼마나 밀접하게 관련되어 있는지를 나타내는 정도를 의미합니다. 모듈이 하나의 독립적인 기능만을 수행하도록 잘 정의되어 있을수록 응집력이 높다고 평가하며, 이는 모듈의 독립성과 재사용성을 높이는 바람직한 설계 지침입니다.

응집력은 모듈 내부 요소들이 단일 기능에 얼마나 밀접하게 관련되어 있는지를 나타내는 척도이다.

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

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

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

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

데이터 설계에 있어서 응집력의 의미로 가장 적절한 것은?

  1. 데이터 구조들이 시스템 전반에 얼마나 연관관계를 가지고 있는가 하는 정도
  2. 모듈이 개발 단계별로 얼마나 잘 정의되어 있는가 하는 정도
  3. 모듈이 독립적인 기능으로 잘 정의되어 있는 정도
  4. 모듈들 간의 상호 연관성의 정도
정답과 해설 보기

정답 ③ · 소프트웨어 설계에서 모듈의 독립성은 응집도(Cohesion)와 결합도(Coupling)로 측정됩니다. 응집도는 하나의 모듈이 독립적인 하나의 기능을 얼마나 잘 수행하도록 구성되어 있는가를 나타내는 정도를 의미하며, 모듈 내부의 요소들이 서로 관련되어 있는 정도를 뜻합니다.

응집도(Cohesion)는 모듈 내부 요소들이 하나의 독립된 기능을 위해 얼마나 밀접하게 묶여 있는지를 나타내는 척도입니다.

자주 묻는 물음

하향식 설계란 무엇인가요?
제일 상위에 있는 main user function에서 시작해 기능을 하위 기능들로 단계적으로 분할해 가며 설계하는 방식입니다. 상향식 설계는 반대로 하위 모듈부터 조합해 올라가는 방식입니다.
바람직한 소프트웨어 설계 지침은 무엇인가요?
모듈의 크기를 적당하게 유지할 것, 모듈 간의 접속 관계를 분석해 복잡도를 줄일 것, 모듈 간 결합도를 낮출 것 등입니다. 결합도는 낮을수록 유지보수가 용이합니다.
공통 모듈 명세에서 한 가지로 해석되도록 작성하는 원칙은 무엇인가요?
명확성 원칙입니다. 누구나 일관되게 이해하고 한 가지로만 해석될 수 있도록 모호함을 배제하고 중복 없이 기술하는 것이 명확성의 핵심입니다.
이 개념 문제 10개 풀기 회원용

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