PassLab정보처리기사과목별 문제소프트웨어 설계

정보처리기사 소프트웨어 설계 기출변형문제 50제

정보처리기사 소프트웨어 설계 과목 문항입니다. 각 문항의 정답과 해설이 바로 아래에 함께 있습니다.

소프트웨어 설계 · 이 페이지 50문항 · 과목 전체 60문항 · 합격 기준 60점

이 과목에서 나오는 것

요구사항 단계에서는 기능 요구와 비기능 요구의 구분, 요구사항 검증 활동, 정형 명세 기법이 나옵니다. UML이 큰 비중을 차지하며 클래스 다이어그램, 시퀀스 다이어그램, 유스케이스 다이어그램과 액터의 개념, 그리고 표기법으로 실선과 속이 빈 삼각형이 무엇을 뜻하는지까지 묻습니다. 설계 원칙 쪽은 모듈화, 결합도와 응집도가 핵심입니다. 결합도를 강한 것부터 약한 순으로 나열하는 문항과 가장 바람직한 응집도를 고르는 문항이 hard에서 반복되고, 관심사의 분리와 재사용성을 높이는 설계 특징도 다뤄집니다. 디자인 패턴은 GoF의 세 가지 분류, 인스턴스를 하나로 제한하는 패턴, 상태 변화를 관찰자에게 통지하는 패턴, 객체 생성을 위임하는 패턴이 easy로 나오고 hard에서는 특정 패턴이 생성·구조·행위 중 어디에 속하는지를 가릅니다. 아키텍처는 파이프-필터, 레이어 패턴, 4+1 뷰 모델, 메시지 지향 미들웨어가 등장하며, 개발 방법론으로 나선형 모델과 익스트림 프로그래밍의 핵심 가치, 럼바우의 객체지향 분석 세 모델이 포함됩니다.

결합도와 응집도의 순서는 이 과목에서 가장 확실한 득점원이므로 종류와 순서를 백지에 적을 수 있을 때까지 반복하세요. 디자인 패턴은 이름을 외우는 대신 '생성·구조·행위' 세 칸을 만들고 패턴 이름을 칸에 넣는 방식으로 정리하면 hard의 분류 문항이 즉답이 됩니다. UML은 다이어그램 이름과 '무엇을 표현하는가'를 한 줄로 짝지어 두세요.

문제와 해설

  1. 1사용자가 시스템에 원하는 기능이나 성능을 정의하는 문서화 활동을 무엇이라 하는가? 기본
    1. 형상 관리
    2. 회귀 테스트
    3. 요구사항 분석
    4. 코드 인스펙션

    정답 3번 · 요구사항 분석

    해설 요구사항 분석은 고객이 원하는 기능·제약·성능을 파악하여 명세화하는 소프트웨어 설계 초기 활동이다.

  2. 2다음 중 비기능적 요구사항에 해당하는 것은? 기본
    1. 게시글을 작성할 수 있어야 한다
    2. 회원가입 기능을 제공해야 한다
    3. 결제 내역을 조회할 수 있어야 한다
    4. 시스템 응답 속도가 3초 이내여야 한다

    정답 4번 · 시스템 응답 속도가 3초 이내여야 한다

    해설 비기능적 요구사항은 성능·보안·신뢰성 등 시스템이 '어떻게' 동작해야 하는지에 대한 제약이다. 나머지는 시스템이 제공해야 할 기능(기능적 요구사항)이다.

  3. 3객체지향 분석·설계에서 시스템의 구조와 동작을 표준화된 표기법으로 시각화하는 통합 모델링 언어는? 기본
    1. UML
    2. BNF
    3. HTML
    4. SQL

    정답 1번 · UML

    해설 UML(Unified Modeling Language)은 객체지향 소프트웨어의 구조와 동작을 표준 표기법으로 시각화하는 모델링 언어이다.

  4. 4클래스, 속성, 메소드와 클래스 간의 관계(연관·집합·상속 등)를 표현하는 UML 다이어그램은? 기본
    1. 클래스 다이어그램
    2. 액티비티 다이어그램
    3. 시퀀스 다이어그램
    4. 유스케이스 다이어그램

    정답 1번 · 클래스 다이어그램

    해설 클래스 다이어그램은 시스템의 정적 구조(클래스, 속성, 메소드, 관계)를 표현하는 대표적인 UML 구조 다이어그램이다.

  5. 5객체 간에 주고받는 메시지를 시간 흐름에 따라 표현하는 UML 다이어그램은? 기본
    1. 시퀀스 다이어그램
    2. 클래스 다이어그램
    3. 컴포넌트 다이어그램
    4. 배치 다이어그램

    정답 1번 · 시퀀스 다이어그램

    해설 시퀀스 다이어그램은 객체 간 메시지 교환을 시간의 흐름(수직축)에 따라 표현하는 UML 동적 다이어그램이다.

  6. 6시스템과 외부 사용자(액터) 사이의 기능적 상호작용을 표현하는 UML 다이어그램은? 기본
    1. 패키지 다이어그램
    2. 클래스 다이어그램
    3. 배치 다이어그램
    4. 유스케이스 다이어그램

    정답 4번 · 유스케이스 다이어그램

    해설 유스케이스 다이어그램은 시스템이 제공하는 기능(유스케이스)과 이를 사용하는 액터 간의 관계를 나타낸다.

  7. 7UML 유스케이스 다이어그램에서 시스템과 상호작용하는 사용자나 외부 시스템을 가리키는 용어는? 기본
    1. 패키지
    2. 인터페이스
    3. 액터(Actor)
    4. 인스턴스

    정답 3번 · 액터(Actor)

    해설 액터는 시스템 외부에서 시스템과 상호작용하는 사람이나 다른 시스템을 의미한다.

  8. 8소프트웨어를 구성하는 컴포넌트들의 전체적인 구조와 컴포넌트 간의 관계, 설계 원칙을 정의하는 것은? 기본
    1. 소프트웨어 아키텍처
    2. 테스트 케이스
    3. 소스 코드
    4. 형상 목록

    정답 1번 · 소프트웨어 아키텍처

    해설 소프트웨어 아키텍처는 시스템을 구성하는 요소와 요소 간 관계, 설계 원칙을 정의하는 상위 구조를 말한다.

  9. 9하나의 큰 프로그램을 독립적인 기능 단위로 나누어 개발·관리하는 기법을 무엇이라 하는가? 기본
    1. 이중화
    2. 모듈화
    3. 정규화
    4. 가상화

    정답 2번 · 모듈화

    해설 모듈화는 시스템을 독립적인 기능 단위(모듈)로 나누어 개발·유지보수를 쉽게 하는 설계 기법이다.

  10. 10모듈 간의 상호 의존도를 나타내는 척도로, 소프트웨어 설계에서는 이 값이 낮을수록 좋은 것은? 기본
    1. 응집도(Cohesion)
    2. 추상도
    3. 결합도(Coupling)
    4. 복잡도

    정답 3번 · 결합도(Coupling)

    해설 결합도는 모듈 간 의존 정도를 나타내며 낮을수록(약결합) 모듈의 독립성이 높아 유지보수가 쉽다.

  11. 11하나의 모듈 내부의 구성 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내는 척도로, 높을수록 좋은 것은? 기본
    1. 응집도(Cohesion)
    2. 종속도
    3. 결합도(Coupling)
    4. 확장도

    정답 1번 · 응집도(Cohesion)

    해설 응집도는 모듈 내부 요소들이 하나의 목적을 위해 얼마나 밀접히 관련되어 있는지를 나타내며 높을수록 좋다.

  12. 12좋은 소프트웨어 설계의 일반적인 원칙으로 옳은 것은? 기본
    1. 결합도는 낮게, 응집도는 높게 설계한다
    2. 결합도는 높게, 응집도는 낮게 설계한다
    3. 결합도와 응집도를 모두 높게 설계한다
    4. 결합도와 응집도는 설계와 무관하다

    정답 1번 · 결합도는 낮게, 응집도는 높게 설계한다

    해설 좋은 모듈 설계는 모듈 간 결합도는 낮추고(약결합), 모듈 내부 응집도는 높이는 것을 원칙으로 한다.

  13. 13특정 상황에서 반복적으로 나타나는 설계 문제에 대한 검증된 해결책을 정형화한 것을 무엇이라 하는가? 기본
    1. 테스트 시나리오
    2. 코딩 컨벤션
    3. 형상 관리
    4. 디자인 패턴

    정답 4번 · 디자인 패턴

    해설 디자인 패턴은 소프트웨어 설계 시 반복적으로 등장하는 문제에 대한 재사용 가능한 해결책을 일반화한 것이다.

  14. 14GoF(Gang of Four) 디자인 패턴은 목적에 따라 크게 몇 가지로 분류되는가? 기본
    1. 생성, 구조, 행위 패턴
    2. 설계, 구현, 테스트 패턴
    3. 정적, 동적, 하이브리드 패턴
    4. 입력, 처리, 출력 패턴

    정답 1번 · 생성, 구조, 행위 패턴

    해설 GoF 디자인 패턴은 목적에 따라 생성(Creational), 구조(Structural), 행위(Behavioral) 패턴으로 분류된다.

  15. 15특정 클래스의 인스턴스가 프로그램 전체에서 오직 하나만 존재하도록 보장하는 디자인 패턴은? 기본
    1. 팩토리(Factory) 패턴
    2. 옵저버(Observer) 패턴
    3. 빌더(Builder) 패턴
    4. 싱글톤(Singleton) 패턴

    정답 4번 · 싱글톤(Singleton) 패턴

    해설 싱글톤 패턴은 클래스의 인스턴스를 하나만 생성하고 어디서든 동일한 인스턴스에 접근하도록 하는 생성 패턴이다.

  16. 16한 객체의 상태 변화를 관찰하는 다른 객체들에게 자동으로 통지되는 구조를 정의한 디자인 패턴은? 기본
    1. 옵저버(Observer) 패턴
    2. 어댑터(Adapter) 패턴
    3. 싱글톤(Singleton) 패턴
    4. 전략(Strategy) 패턴

    정답 1번 · 옵저버(Observer) 패턴

    해설 옵저버 패턴은 한 객체(주체)의 상태가 변하면 이를 구독한 다른 객체들에게 자동으로 알림을 보내는 행위 패턴이다.

  17. 17객체 생성 로직을 별도의 클래스(메소드)에 위임하여 객체 생성과 사용을 분리하는 디자인 패턴은? 기본
    1. 커맨드(Command) 패턴
    2. 데코레이터(Decorator) 패턴
    3. 옵저버(Observer) 패턴
    4. 팩토리(Factory) 패턴

    정답 4번 · 팩토리(Factory) 패턴

    해설 팩토리 패턴은 객체 생성을 담당하는 별도의 메소드나 클래스를 두어 클라이언트가 구체적인 클래스를 알지 않아도 되게 하는 생성 패턴이다.

  18. 18화면(View), 데이터·비즈니스 로직(Model), 흐름 제어(Controller)를 분리하여 설계하는 대표적인 아키텍처 패턴은? 기본
    1. 레이어 패턴
    2. 클라이언트-서버 패턴
    3. MVC 패턴
    4. 파이프-필터 패턴

    정답 3번 · MVC 패턴

    해설 MVC 패턴은 애플리케이션을 Model(데이터), View(화면), Controller(흐름 제어)로 분리하여 유지보수성과 재사용성을 높이는 아키텍처 패턴이다.

  19. 19서로 다른 시스템이나 애플리케이션 간의 통신을 중개하여 상호운용성을 제공하는 소프트웨어를 무엇이라 하는가? 기본
    1. 미들웨어
    2. 컴파일러
    3. 펌웨어
    4. 하이퍼바이저

    정답 1번 · 미들웨어

    해설 미들웨어는 서로 다른 시스템이나 애플리케이션 사이에서 통신·데이터 교환을 중개하는 소프트웨어이다.

  20. 20UI(사용자 인터페이스) 설계 원칙으로 가장 적절한 것은? 기본
    1. 사용자 계층 구분 없이 하나의 화면만 제공한다
    2. 오류 메시지는 사용자가 알 수 없도록 표시하지 않는다
    3. 사용자가 쉽게 이해하고 배울 수 있도록 직관적으로 설계한다
    4. 가능한 많은 기능을 한 화면에 숨겨 노출을 최소화한다

    정답 3번 · 사용자가 쉽게 이해하고 배울 수 있도록 직관적으로 설계한다

    해설 UI 설계는 사용자가 직관적으로 이해하고 쉽게 사용할 수 있도록 설계해야 하며, 오류 상황은 명확히 알려주고 다양한 사용자 계층을 고려해야 한다.

  21. 21요구사항을 조기에 파악하기 위해 실제 시스템과 유사한 형태로 미리 만들어 시연·검증하는 모형을 무엇이라 하는가? 기본
    1. 체크리스트
    2. 형상 목록
    3. 베이스라인
    4. 프로토타입

    정답 4번 · 프로토타입

    해설 프로토타입은 요구사항을 조기에 검증하기 위해 실제 시스템의 일부 또는 핵심 기능을 시험적으로 구현한 모형이다.

  22. 22짧은 반복 주기(스프린트)로 개발과 피드백을 반복하며 변화하는 요구사항에 유연하게 대응하는 개발 방법론을 무엇이라 하는가? 기본
    1. 애자일(Agile) 방법론
    2. V-모델
    3. 폭포수(Waterfall) 모델
    4. 나선형(Spiral) 모델

    정답 1번 · 애자일(Agile) 방법론

    해설 애자일 방법론은 짧은 반복(iteration) 주기로 개발·검증·피드백을 반복하며 변화하는 요구사항에 유연하게 대응하는 개발 방식이다.

  23. 23애자일 방법론 중 짧은 주기의 스프린트와 일일 회의(Daily Scrum)를 중심으로 진행하는 프레임워크는? 기본
    1. 폭포수 모델
    2. 스크럼(Scrum)
    3. 익스트림 프로그래밍
    4. 구조적 방법론

    정답 2번 · 스크럼(Scrum)

    해설 스크럼은 스프린트라는 짧은 반복 주기와 일일 스크럼 회의를 통해 진행 상황을 공유하는 애자일 프레임워크이다.

  24. 24짝 프로그래밍, 지속적인 통합, 테스트 주도 개발 등을 실천 방법으로 강조하는 애자일 방법론은? 기본
    1. 스크럼
    2. 폭포수 모델
    3. 나선형 모델
    4. 익스트림 프로그래밍(XP)

    정답 4번 · 익스트림 프로그래밍(XP)

    해설 익스트림 프로그래밍(XP)은 짝 프로그래밍, 지속적 통합, 테스트 주도 개발 등 구체적인 실천 방법을 강조하는 애자일 방법론이다.

  25. 25요구사항 분석부터 설계, 구현, 테스트, 유지보수까지 각 단계를 순차적으로 진행하는 전통적인 소프트웨어 개발 모델은? 기본
    1. 프로토타이핑 모델
    2. 익스트림 프로그래밍
    3. 폭포수(Waterfall) 모델
    4. 스크럼

    정답 3번 · 폭포수(Waterfall) 모델

    해설 폭포수 모델은 요구분석-설계-구현-테스트-유지보수 단계를 순차적으로 진행하며 이전 단계로 돌아가기 어려운 전통적 개발 모델이다.

  26. 26UML 다이어그램에 대한 설명으로 틀린 것은? 심화
    1. 유스케이스 다이어그램은 액터와 시스템 기능의 관계를 표현한다
    2. 클래스 다이어그램은 시스템의 동적 행위만을 표현한다
    3. 시퀀스 다이어그램은 객체 간 메시지를 시간 순서로 표현한다
    4. 액티비티 다이어그램은 업무 처리 흐름을 표현한다

    정답 2번 · 클래스 다이어그램은 시스템의 동적 행위만을 표현한다

    해설 클래스 다이어그램은 클래스·속성·관계 등 시스템의 '정적' 구조를 표현하는 다이어그램이다. 동적 행위 표현은 시퀀스·액티비티 다이어그램 등의 역할이다.

  27. 27결합도(Coupling)를 강한 것부터 약한 순으로 옳게 나열한 것은? 심화
    1. 내용 결합도 > 공통 결합도 > 스탬프 결합도 > 자료 결합도
    2. 자료 결합도 > 스탬프 결합도 > 공통 결합도 > 내용 결합도
    3. 공통 결합도 > 자료 결합도 > 내용 결합도 > 스탬프 결합도
    4. 스탬프 결합도 > 내용 결합도 > 자료 결합도 > 공통 결합도

    정답 1번 · 내용 결합도 > 공통 결합도 > 스탬프 결합도 > 자료 결합도

    해설 결합도는 일반적으로 내용>공통>외부>제어>스탬프>자료 결합도 순으로 강도가 낮아진다고 알려져 있다. 보기 중 강한 순 배열은 내용>공통>스탬프>자료가 옳다.

  28. 28응집도(Cohesion)의 종류 중 가장 바람직한(강한) 응집도는? 심화
    1. 기능적 응집도
    2. 우연적 응집도
    3. 시간적 응집도
    4. 논리적 응집도

    정답 1번 · 기능적 응집도

    해설 응집도는 기능적>순차적>교환적>절차적>시간적>논리적>우연적 순으로 강하다. 기능적 응집도가 가장 바람직하며, 우연적 응집도가 가장 낮다.

  29. 29다음 중 GoF 디자인 패턴의 '생성(Creational)' 패턴에 속하지 않는 것은? 심화
    1. 빌더(Builder) 패턴
    2. 옵저버(Observer) 패턴
    3. 싱글톤(Singleton) 패턴
    4. 팩토리 메소드(Factory Method) 패턴

    정답 2번 · 옵저버(Observer) 패턴

    해설 옵저버 패턴은 GoF 분류상 '행위(Behavioral)' 패턴이다. 싱글톤, 팩토리 메소드, 빌더, 추상 팩토리, 프로토타입은 생성 패턴에 속한다.

  30. 30다음 중 GoF 디자인 패턴의 '구조(Structural)' 패턴에 해당하는 것을 모두 고른 것은? ㄱ. 어댑터(Adapter) ㄴ. 데코레이터(Decorator) ㄷ. 전략(Strategy) ㄹ. 브리지(Bridge) 심화
    1. ㄱ, ㄷ, ㄹ
    2. ㄱ, ㄴ, ㄹ
    3. ㄴ, ㄷ, ㄹ
    4. ㄱ, ㄴ, ㄷ

    정답 2번 · ㄱ, ㄴ, ㄹ

    해설 어댑터, 데코레이터, 브리지, 컴포지트, 퍼사드는 구조 패턴이다. 전략(Strategy) 패턴은 행위 패턴에 해당하므로 제외된다.

  31. 31소프트웨어 아키텍처 패턴 중 '파이프-필터(Pipe-Filter)' 패턴에 대한 설명으로 옳은 것은? 심화
    1. 하나의 클래스 인스턴스를 프로그램 전체에서 공유한다
    2. 데이터가 여러 처리 단계를 순차적으로 거치며 각 단계가 필터 역할을 한다
    3. 화면과 데이터, 제어 로직을 세 부분으로 명확히 분리한다
    4. 클라이언트의 요청을 여러 서버가 분산 처리한다

    정답 2번 · 데이터가 여러 처리 단계를 순차적으로 거치며 각 단계가 필터 역할을 한다

    해설 파이프-필터 패턴은 데이터 스트림이 여러 필터(처리 단계)를 순차적으로 통과하며 가공되는 아키텍처 패턴이다. ②는 MVC, ③은 싱글톤에 대한 설명이다.

  32. 32요구사항 검증(Requirements Validation) 활동으로 보기 어려운 것은? 심화
    1. 요구사항 간의 모순 여부 검토
    2. 요구사항이 고객이 실제로 원하는 내용과 일치하는지 검토
    3. 소스 코드의 컴파일 오류 여부 확인
    4. 요구사항의 우선순위와 실현 가능성 검토

    정답 3번 · 소스 코드의 컴파일 오류 여부 확인

    해설 요구사항 검증은 명세된 요구사항이 완전하고 일관되며 고객의 실제 요구를 반영하는지 확인하는 활동으로, 소스 코드 컴파일과는 무관하다.

  33. 33소프트웨어 개발 방법론 중 '나선형(Spiral) 모델'의 특징으로 옳은 것은? 심화
    1. 위험 분석을 반복적으로 수행하며 점진적으로 시스템을 완성해 나간다
    2. 고객과의 협업 없이 문서 중심으로만 진행한다
    3. 요구사항이 확정된 소규모 프로젝트에 적합하며 반복이 없다
    4. 테스트 단계를 요구분석 단계보다 먼저 수행한다

    정답 1번 · 위험 분석을 반복적으로 수행하며 점진적으로 시스템을 완성해 나간다

    해설 나선형 모델은 계획-위험분석-개발-고객평가를 나선형으로 반복하며 점진적으로 완성도를 높이는 모델로, 대규모·고위험 프로젝트에 적합하다.

  34. 34다음 중 소프트웨어 아키텍처 4+1 뷰(View) 모델에 해당하지 않는 것은? 심화
    1. 보안 뷰(Security View)
    2. 배포 뷰(Deployment View)
    3. 논리 뷰(Logical View)
    4. 프로세스 뷰(Process View)

    정답 1번 · 보안 뷰(Security View)

    해설 4+1 뷰 모델은 논리, 프로세스, 구현(개발), 배포 뷰와 이를 통합하는 유스케이스 뷰로 구성된다. 보안 뷰는 4+1 뷰 모델의 구성 요소가 아니다.

  35. 35메시지 지향 미들웨어(MOM)에 대한 설명으로 틀린 것은? 심화
    1. 즉각적인 응답이 반드시 필요한 실시간 트랜잭션 처리에 가장 적합하다
    2. 메시지 큐를 이용해 비동기 통신을 지원한다
    3. 송신측과 수신측이 시간적으로 분리되어 동작할 수 있다
    4. 이종 시스템 간의 데이터 교환을 중개한다

    정답 1번 · 즉각적인 응답이 반드시 필요한 실시간 트랜잭션 처리에 가장 적합하다

    해설 MOM은 메시지 큐를 통한 비동기 처리에 적합하여, 즉각적인 응답보다는 처리 지연을 허용할 수 있는 업무에 더 적합하다. 실시간 응답이 반드시 필요한 경우와는 거리가 있다.

  36. 36다음 UML 관계 표기 중 '실선 + 속이 빈 화살표(삼각형)'로 표현되는 관계는? 심화
    1. 집합(Aggregation) 관계
    2. 복합(Composition) 관계
    3. 의존 관계
    4. 일반화(상속) 관계

    정답 4번 · 일반화(상속) 관계

    해설 일반화(상속) 관계는 실선과 속이 빈 삼각형 화살표로 표기하며 하위 클래스가 상위 클래스를 상속함을 나타낸다. 의존 관계는 점선 화살표, 집합/복합은 마름모(다이아몬드) 표기를 사용한다.

  37. 37럼바우(Rumbaugh)의 객체지향 분석 기법에서 사용하는 세 가지 모델이 아닌 것은? 심화
    1. 객체 모델(Object Model)
    2. 배치 모델(Deployment Model)
    3. 동적 모델(Dynamic Model)
    4. 기능 모델(Functional Model)

    정답 2번 · 배치 모델(Deployment Model)

    해설 럼바우 분석 기법은 객체 모델, 동적 모델, 기능 모델의 세 가지로 시스템을 분석한다. 배치 모델은 이에 해당하지 않는다.

  38. 38요구사항 명세 기법 중 '정형 명세'에 대한 설명으로 옳은 것은? 심화
    1. 구현 코드와 동일한 형식으로 요구사항을 작성한다
    2. 그림과 다이어그램만으로 요구사항을 표현하며 검증이 불가능하다
    3. 수학적 기호와 표기법을 사용하여 명확하고 검증 가능하게 요구사항을 표현한다
    4. 자연어만을 사용하여 이해관계자가 쉽게 읽을 수 있도록 작성한다

    정답 3번 · 수학적 기호와 표기법을 사용하여 명확하고 검증 가능하게 요구사항을 표현한다

    해설 정형 명세는 수학적 기호·논리를 이용해 모호함 없이 요구사항을 정의하는 기법으로, 정확성 검증이 가능하지만 작성·이해에 전문성이 필요하다.

  39. 39소프트웨어 재사용성을 높이는 설계 특징으로 가장 거리가 먼 것은? 심화
    1. 모듈 간 강한 결합도 유지
    2. 명확한 인터페이스 정의
    3. 표준화된 컴포넌트 활용
    4. 높은 응집도의 모듈 설계

    정답 1번 · 모듈 간 강한 결합도 유지

    해설 재사용성을 높이려면 모듈 간 결합도를 낮춰 독립성을 확보해야 한다. 강한 결합도는 오히려 재사용을 어렵게 만든다.

  40. 40다음 중 소프트웨어 설계에서 '관심사의 분리(Separation of Concerns)' 원칙을 가장 잘 반영한 설계는? 심화
    1. 모든 기능을 하나의 함수에 순서대로 작성한 설계
    2. 화면 출력, 데이터 처리, 데이터베이스 접근을 각각 별도 모듈로 분리한 설계
    3. 전역 변수를 통해 모든 모듈이 데이터를 공유하는 설계
    4. 화면 코드 안에 SQL문을 직접 삽입한 설계

    정답 2번 · 화면 출력, 데이터 처리, 데이터베이스 접근을 각각 별도 모듈로 분리한 설계

    해설 관심사의 분리는 서로 다른 책임(표현, 처리, 저장 등)을 독립된 모듈로 나누는 설계 원칙이다. 전역 변수 공유나 로직 혼재는 이 원칙에 위배된다.

  41. 41익스트림 프로그래밍(XP)의 핵심 가치로 명시되지 않는 것은? 심화
    1. 단순성(Simplicity)
    2. 피드백(Feedback)
    3. 의사소통(Communication)
    4. 문서화 우선(Documentation First)

    정답 4번 · 문서화 우선(Documentation First)

    해설 XP의 핵심 가치는 의사소통, 단순성, 피드백, 용기(Courage), 존중(Respect)이다. 문서화 우선은 XP가 강조하는 가치가 아니며, XP는 오히려 소스코드 중심의 실용적 접근을 강조한다.

  42. 42다음 중 소프트웨어 아키텍처의 '레이어(Layered) 패턴'에 대한 설명으로 옳은 것은? 심화
    1. 하나의 거대한 계층에 모든 기능을 배치하여 계층 구분을 없앤다
    2. 모든 계층이 서로 자유롭게 직접 통신할 수 있도록 구성한다
    3. 데이터의 흐름을 필터 단위로 순차 처리하는 패턴이다
    4. 시스템을 계층으로 나누고 각 계층은 인접한 계층과만 상호작용하도록 구성한다

    정답 4번 · 시스템을 계층으로 나누고 각 계층은 인접한 계층과만 상호작용하도록 구성한다

    해설 레이어 패턴은 프레젠테이션-비즈니스-데이터 계층처럼 시스템을 계층으로 나누고, 원칙적으로 인접한 계층 간에만 상호작용하도록 하는 아키텍처 패턴이다.

  43. 43다음 중 클래스 간의 '집합(Aggregation)' 관계와 '복합(Composition)' 관계의 차이에 대한 설명으로 옳은 것은? 심화
    1. 복합 관계와 집합 관계는 UML에서 동일한 표기법을 사용한다
    2. 집합 관계는 전체가 소멸하면 부분도 반드시 함께 소멸한다
    3. 집합 관계는 상속 관계의 다른 표현일 뿐이다
    4. 복합 관계는 전체가 소멸하면 부분도 함께 소멸하지만, 집합 관계는 부분이 독립적으로 존재할 수 있다

    정답 4번 · 복합 관계는 전체가 소멸하면 부분도 함께 소멸하지만, 집합 관계는 부분이 독립적으로 존재할 수 있다

    해설 복합(Composition)은 전체와 부분의 생명주기가 강하게 결합되어 전체 소멸 시 부분도 소멸하는 강한 소유 관계이며, 집합(Aggregation)은 부분이 전체와 독립적으로 존재할 수 있는 약한 소유 관계이다.

  44. 44UI 설계 시 사용성(Usability)을 높이기 위한 원칙으로 틀린 것은? 심화
    1. 오류 발생 시 원인을 알리지 않고 화면을 즉시 종료한다
    2. 사용자의 실수를 예방하고 되돌릴 수 있는 기능을 제공한다
    3. 일관된 화면 배치와 조작 방식을 유지한다
    4. 적절한 피드백을 통해 시스템 상태를 사용자에게 알린다

    정답 1번 · 오류 발생 시 원인을 알리지 않고 화면을 즉시 종료한다

    해설 오류 발생 시 원인과 대응 방법을 사용자에게 명확히 안내해야 하며, 화면을 무조건 즉시 종료하는 것은 사용성을 해치는 설계이다.

  45. 45다음 중 소프트웨어 형상관리(SCM)의 대상으로 보기 어려운 것은? 심화
    1. 소스 코드
    2. 테스트 케이스 문서
    3. 개발팀의 점심 메뉴 목록
    4. 요구사항 명세서

    정답 3번 · 개발팀의 점심 메뉴 목록

    해설 형상관리 대상은 소스 코드, 설계 문서, 요구사항 명세, 테스트 케이스 등 개발 산출물이다. 점심 메뉴 목록은 형상관리 대상이 아니다.

  46. 46럼바우 분석 기법의 '동적 모델(Dynamic Model)'을 표현하는 데 주로 사용되는 다이어그램은? 심화
    1. 클래스 다이어그램
    2. 자료 흐름도(DFD)
    3. 상태 전이 다이어그램(State Transition Diagram)
    4. ER 다이어그램

    정답 3번 · 상태 전이 다이어그램(State Transition Diagram)

    해설 동적 모델은 시간에 따른 객체의 상태 변화를 표현하며, 대표적으로 상태 전이 다이어그램(상태도)을 사용한다. 자료 흐름도는 기능 모델을 표현하는 데 사용된다.

  47. 47소프트웨어 설계에서 '개방-폐쇄 원칙(OCP, Open-Closed Principle)'에 대한 설명으로 옳은 것은? 심화
    1. 인터페이스 없이 구체 클래스에만 의존하도록 설계한다
    2. 기존 코드를 수정하지 않고 확장을 통해 기능을 추가할 수 있도록 설계한다
    3. 한 번 작성된 코드는 절대 수정도 확장도 하지 않는다
    4. 모든 클래스는 상속을 사용하지 않고 독립적으로 설계해야 한다

    정답 2번 · 기존 코드를 수정하지 않고 확장을 통해 기능을 추가할 수 있도록 설계한다

    해설 개방-폐쇄 원칙은 기존 코드의 수정 없이(폐쇄) 새로운 기능을 확장(개방)할 수 있도록 설계해야 한다는 객체지향 설계 원칙(SOLID)이다.

  48. 48다음 중 애자일 방법론과 폭포수 모델을 비교한 설명으로 틀린 것은? 심화
    1. 애자일은 반복적 개발과 지속적인 고객 피드백을 강조한다
    2. 폭포수 모델은 각 단계를 순차적으로 진행하며 문서 중심이다
    3. 애자일은 변화하는 요구사항을 수용하기에 적합한 방식이다
    4. 폭포수 모델은 요구사항 변경에 애자일보다 더 유연하게 대응한다

    정답 4번 · 폭포수 모델은 요구사항 변경에 애자일보다 더 유연하게 대응한다

    해설 폭포수 모델은 단계가 순차적으로 고정되어 있어 요구사항 변경 대응이 어렵다. 요구사항 변경에 유연한 것은 애자일 방법론의 특징이다.

  49. 49다음 중 소프트웨어 인터페이스 설계 시 명세해야 할 항목으로 거리가 먼 것은? 심화
    1. 송수신 방식(동기/비동기)
    2. 입출력 데이터의 형식
    3. 개발팀 내부 회의 일정
    4. 인터페이스 식별자 및 명칭

    정답 3번 · 개발팀 내부 회의 일정

    해설 인터페이스 명세서에는 인터페이스 식별자, 명칭, 입출력 데이터, 송수신 방식 등을 포함한다. 개발팀 내부 회의 일정은 인터페이스 명세와 무관하다.

  50. 50다음 중 좋은 모듈 설계 기준으로 옳은 것을 모두 고른 것은? ㄱ. 낮은 결합도 ㄴ. 높은 응집도 ㄷ. 높은 복잡도 ㄹ. 명확한 인터페이스 심화
    1. ㄱ, ㄴ, ㄷ
    2. ㄴ, ㄷ, ㄹ
    3. ㄱ, ㄴ, ㄹ
    4. ㄱ, ㄷ, ㄹ

    정답 3번 · ㄱ, ㄴ, ㄹ

    해설 좋은 모듈은 결합도는 낮고 응집도는 높으며 인터페이스가 명확해야 한다. 복잡도가 높은 것은 좋은 설계 기준이 아니다.

일정·응시자격 등 제도 정보는 한국산업인력공단 큐넷에서 확인하세요. 이 페이지에는 50문항을 실었습니다. 소프트웨어 설계 과목 전체 60문항과 정보처리기사 전체 300문항은 무료 학습 페이지에서 난이도별 문제풀이·실전 모의고사·암기카드로 풀 수 있습니다. 모든 문항은 PassLab이 출제 기준을 분석해 직접 만든 자작 문항이며, 실제 기출문제를 복제하지 않습니다.