2026 정보처리기사 필기 1과목 (소프트웨어 설계) 핵심 예상문제 20선
문항 1. 소프트웨어 생명주기 (폭포수 모형)
소프트웨어 개발 과정에서 각 단계를 확실히 매듭짓고 철저하게 검토하여 승인 과정을 거친 후 다음 단계로 진행하며, 이전 단계로 돌아갈 수 없다는 전제를 가진 고전적 생명주기 모형은?
정답 및 해설 보기
정답: ①
해설: 폭포수 모형은 선형 순차적 모델로, 요구사항 변경이 어렵다는 단점이 있으나 관리와 통제가 용이하여 전통적 대형 프로젝트에 주로 사용된다.
문항 2. 소프트웨어 생명주기 (나선형 모형)
보헴(Boehm)이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 대규모 프로젝트에서 발생할 수 있는 위험을 최소화하기 위해 ‘위험 분석’ 단계를 추가한 점진적 모형은?
정답 및 해설 보기
정답: ②
해설: 나선형 모형은 계획 수립, 위험 분석, 개발 및 검증, 고객 평가의 4단계를 나선을 그리듯 반복하며 점진적으로 완벽한 시스템을 구축해 나가는 방법론이다.
문항 3. 애자일 방법론 (스크럼)
애자일 프레임워크 중 하나로, 팀이 중심이 되어 일정한 주기의 스프린트(Sprint)를 반복하며 제품 책임자(PO)가 제품 백로그를 관리하는 방법론은?
정답 및 해설 보기
정답: ③
해설: 스크럼은 매일 15분 정도의 데일리 스크럼 미팅을 통해 진행 상황을 공유하며, 스크럼 마스터가 팀의 장애 요소를 제거하는 서번트 리더십을 발휘한다.
문항 4. 요구사항 분석 (자료 사전)
구조적 분석 기법에서 자료 흐름도(DFD)에 있는 자료를 더 자세히 정의하기 위해 사용되는 자료 사전(Data Dictionary)의 기호 중, 자료의 생략 가능성(Optional)을 의미하는 것은?
정답 및 해설 보기
정답: ④
해설: 자료 사전 기호에서 ‘=’는 자료의 정의(is composed of), ‘+’는 자료의 연결(and), ‘[ | ]’는 택일(or), ‘{ }’는 반복(iteration), ‘( )’는 생략(optional)을 의미한다.
문항 5. 객체지향 설계 원칙 (SOLID)
객체지향 설계의 5대 원칙(SOLID) 중, 서브 클래스는 언제나 자신의 기반 클래스(Base Class)로 교체할 수 있어야 한다는 다형성의 핵심 원칙은?
정답 및 해설 보기
정답: ③
해설: 리스코프 치환 원칙(LSP)은 상속 구조가 올바르게 설계되었는지를 검증하는 기준으로, 자식 객체가 부모 객체의 행위를 온전히 대체할 수 있어야 함을 명시한다.
문항 6. 객체지향 설계 (캡슐화)
객체의 데이터와 그 데이터를 조작하는 메서드를 하나의 단위로 묶고, 실제 구현 내용을 외부에 감추어 정보 은닉(Information Hiding)을 달성하는 객체지향의 특징은?
정답 및 해설 보기
정답: ③
해설: 캡슐화는 외부의 잘못된 접근으로부터 객체의 무결성을 보호하고, 모듈 간의 결합도를 낮추어 시스템의 확장성과 재사용성을 비약적으로 높이는 기법이다.
문항 7. UML (통합 모델링 언어) 다이어그램
사용자 관점에서 시스템이 제공하는 서비스나 기능을 액터(Actor)와 유스케이스(Use Case)의 관계로 표현하여 요구사항 분석에 주로 사용되는 다이어그램은?
정답 및 해설 보기
정답: ②
해설: 유스케이스 다이어그램은 기능적 요구사항을 시각화하는 도구로, 포함(Include) 관계와 확장(Extend) 관계를 통해 유스케이스 간의 상호작용을 세밀하게 명세한다.
문항 8. UML 동적 모델링
객체 간의 동적인 상호작용을 시간의 흐름에 따른 메시지 전달 과정으로 묘사하며, 생명선(Lifeline)과 실행 상자(Activation Box)로 구성되는 다이어그램은?
정답 및 해설 보기
정답: ③
해설: 시퀀스 다이어그램은 상호작용 다이어그램의 일종으로, 객체들이 특정 시나리오를 수행하기 위해 어떻게 메시지를 교환하는지를 시간 순서대로 명확히 보여준다.
문항 9. 모듈 설계 (결합도)
모듈의 독립성을 측정하는 지표인 결합도(Coupling) 중, 한 모듈이 다른 모듈의 내부 논리 구조나 제어 흐름에 직접적으로 접근하거나 의존하여 가장 좋지 않은(가장 강한) 결합도는?
정답 및 해설 보기
정답: ④
해설: 결합도는 약할수록 바람직하며, 자료-스탬프-제어-외부-공통-내용 순으로 강해진다. 내용 결합도는 모듈 간 독립성을 완전히 파괴하는 안티 패턴이다.
문항 10. 모듈 설계 (응집도)
모듈 내부의 요소들이 단일한 목적을 수행하기 위해 얼마나 밀접하게 연관되어 있는가를 나타내는 응집도(Cohesion) 중, 가장 이상적이고 강한 형태의 응집도는?
정답 및 해설 보기
정답: ④
해설: 응집도는 강할수록 바람직하며, 우연-논리-시간-절차-통신-순차-기능 순으로 강해진다. 기능적 응집도는 모든 명령어가 하나의 단일 기능만을 위해 뭉쳐 있는 상태이다.
문항 11. 디자인 패턴 (생성 패턴)
시스템 내에서 전역 변수를 사용하지 않고, 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하며 어디서든 이 인스턴스에 접근할 수 있도록 하는 디자인 패턴은?
정답 및 해설 보기
정답: ①
해설: 싱글톤 패턴은 데이터베이스 연결 풀(Connection Pool)이나 로거(Logger) 등 시스템 자원의 낭비를 막고 일관된 상태를 유지해야 할 때 필수적으로 사용되는 생성 패턴이다.
문항 12. 디자인 패턴 (행위 패턴)
객체의 상태 변화가 발생하면 이를 관찰하고 있는 다수의 다른 객체(구독자)들에게 자동으로 상태 변화가 통보되는 발행-구독(Publish-Subscribe) 모델 기반의 디자인 패턴은?
정답 및 해설 보기
정답: ②
해설: 옵저버 패턴은 분산 이벤트 처리 시스템이나 MVC(Model-View-Controller) 아키텍처에서 모델과 뷰 간의 느슨한 결합을 유지하며 데이터를 동기화하는 데 사용된다.
문항 13. 아키텍처 패턴 (MVC)
소프트웨어 아키텍처를 데이터 처리 로직(Model), 화면 프레젠테이션(View), 사용자의 입력을 제어하는 부분(Controller)으로 분리하여 의존성을 줄이는 구조적 패턴은?
정답 및 해설 보기
정답: ③
해설: MVC 패턴은 비즈니스 로직과 UI를 완벽히 분리함으로써 병행 개발을 촉진하고 유지보수성을 극대화하며, 웹 애플리케이션 프레임워크의 표준 구조로 자리매김하였다.
문항 14. UI 설계 원칙
사용자 인터페이스(UI) 설계의 4대 원칙 중, 누구나 쉽게 시스템의 기능을 이해하고 직관적으로 사용할 수 있도록 설계해야 한다는 원칙은?
정답 및 해설 보기
정답: ①
해설: 직관성은 사용자의 인지적 부하를 최소화하는 것이 목적이며, 유효성은 목표 달성의 정확도, 학습성은 쉬운 조작법 습득, 유연성은 사용자의 다양한 요구 수용을 의미한다.
문항 15. 아키텍처 평가 (ATAM)
카네기멜론 대학의 소프트웨어 공학 연구소(SEI)에서 개발된 것으로, 아키텍처가 품질 속성을 얼마나 만족시키는지, 품질 속성 간의 상충 관계(Trade-off)를 평가하는 기법은?
정답 및 해설 보기
정답: ②
해설: ATAM(Architecture Trade-off Analysis Method)은 성능, 보안, 가용성 등의 품질 속성이 서로 어떻게 영향을 미치는지 분석하여 최적의 아키텍처 결정을 내리도록 돕는다.
문항 16. 코드 오류 (오류 유형)
데이터를 입력할 때, 인접한 두 자리의 숫자가 서로 뒤바뀌어 입력되는 오류 (예: 1234가 1243으로 입력됨)를 무엇이라 하는가?
정답 및 해설 보기
정답: ②
해설: 전위 오류는 타이핑 시 인간의 인지적 습관에서 자주 발생하는 오류 유형이며, 이를 방지하기 위해 시스템은 체크 디지트(Check Digit)를 통한 검증을 수행한다.
문항 17. 미들웨어 (Middleware)
클라이언트와 서버 사이, 혹은 운영체제와 애플리케이션 사이에서 분산된 이기종 환경의 요소들이 원활하게 통신할 수 있도록 매개체 역할을 하는 소프트웨어는?
정답 및 해설 보기
정답: ②
해설: RPC, MOM, ORB, WAS 등이 미들웨어의 대표적인 형태이며, 시스템 간의 상호 운용성을 보장하고 복잡한 네트워크 통신을 추상화하여 개발자의 부담을 줄여준다.
문항 18. 요구사항 검증 (Walkthrough)
요구사항 분석 단계에서 개발자가 작성한 명세서나 코드를 프로젝트 팀원들에게 순차적으로 설명하며 논리적 오류를 식별해 나가는 비공식적 검토 회의는?
정답 및 해설 보기
정답: ②
해설: 인스펙션이 훈련된 중재자를 중심으로 체크리스트를 활용하는 공식적인 검토라면, 워크스루는 작성자의 주도하에 결함을 조기에 발견하기 위해 진행되는 동료 검토 기법이다.
문항 19. 디자인 패턴 (구조 패턴)
기존에 구현되어 있는 클래스의 인터페이스를 클라이언트가 요구하는 다른 인터페이스로 변환하여, 호환되지 않는 클래스들이 함께 작동할 수 있도록 해주는 패턴은?
정답 및 해설 보기
정답: ①
해설: 어댑터 패턴은 레거시 시스템의 코드를 수정하지 않고 새로운 시스템의 인터페이스에 맞추어 재사용할 수 있게 해주는 래퍼(Wrapper) 역할을 수행한다.
문항 20. 객체지향 기법 (추상화)
복잡한 시스템을 단순화하기 위해 문제의 본질적인 특성만을 추출하여 모델링하고, 불필요한 세부 사항은 숨기는 객체지향의 근본적인 기법은?
정답 및 해설 보기
정답: ③
해설: 추상화는 기능 추상화, 자료 추상화, 제어 추상화로 나뉘며, 시스템의 전체적인 숲을 보며 논리적 설계를 진행할 수 있게 하는 인지적 메커니즘이다.