CertHub
정보처리기사필기 과목

정보처리기사 소프트웨어 개발 예상문제

소프트웨어 개발은 정보처리기사 필기 4개 과목 가운데 하나입니다(출제 비율 약 25%). CertHub가 이 과목으로 제작한 25문항 중 8문항을 정답·해설과 함께 아래에 실었습니다.

소프트웨어 개발 공략 — 2026년까지 소프트웨어 설계에 있던 요구사항 확인·화면 설계·UML·디자인 패턴이 이 과목으로 옮겨 왔어요. 설계 용어와 테스트·형상관리 개념을 흐름 하나로 묶어 정리해요.

소프트웨어 개발 과목 개요

2027년 출제기준의 소프트웨어 개발은 2026년까지의 소프트웨어 설계 과목을 흡수해 범위가 가장 넓습니다. 요구사항 확인(요구분석·UML·애자일), 화면 설계(UI 원칙), 애플리케이션 설계(결합도·응집도, 객체지향, 디자인 패턴, 아키텍처), 인터페이스 설계·구현(미들웨어, JSON, EAI, 인터페이스 보안), 소프트웨어개발 방법론(생명주기 모델, 비용산정, CMMI), 통합 구현과 제품소프트웨어 패키징(형상관리, DRM, 품질 특성), 애플리케이션 테스트 관리(테스트 기법, 알고리즘, 코드 품질)를 다룹니다.

용어와 분류를 맞히는 문항이 대부분이라, 디자인 패턴은 생성·구조·행위 중 어디에 속하는지, 테스트 기법은 블랙박스인지 화이트박스인지처럼 소속을 기준으로 외우면 오답을 빨리 지울 수 있습니다. 정렬 몇 회전 후의 결과처럼 손으로 따라가야 하는 문항도 섞여 있습니다. 생명주기 모델과 비용산정은 2026년까지 정보시스템 구축 관리에서 나오던 내용이라, 예전 자료로 공부했다면 이 과목에서 함께 정리해 두세요.

출제 비중

정보처리기사 필기 80문항 중 20문항(25.0%)이 소프트웨어 개발 과목에서 출제됩니다.출처 Q-Net 정보처리기사 출제기준 (2027.1.1~2029.12.31)

소프트웨어 개발 핵심 개념 요약

요구사항 확인과 UML·애자일
요구사항 분석 단계에서는 도출, 분석, 명세, 확인을 하며 코드 최적화는 구현 단계의 일입니다. 클래스 다이어그램은 시스템의 정적 구조를 나타냅니다. 애자일은 짧은 주기로 반복하며 변화하는 요구사항에 유연하게 대응합니다.
UI 원칙과 모듈 설계
UI 설계 원칙 중 유효성은 사용자의 목적을 정확하고 완벽하게 달성하게 하는 것입니다. 좋은 설계는 모듈 사이의 결합도를 낮추고 모듈 안의 응집도를 높이며, 캡슐화는 데이터와 연산을 묶고 내부 구현을 숨겨 변경의 파급을 줄입니다.
디자인 패턴과 아키텍처
싱글톤은 인스턴스를 하나로 제한하는 생성 패턴이고, 옵저버는 한 객체의 상태 변화를 등록된 객체들에게 자동으로 알리는 행위 패턴입니다. MVC에서 컨트롤러는 사용자 입력을 받아 모델과 뷰 사이의 흐름을 제어합니다.
인터페이스 설계와 보안
MOM은 메시지 큐로 애플리케이션 간 데이터를 비동기 전달하는 미들웨어이고, JSON은 키-값 쌍의 텍스트 형식입니다. EAI 허브 앤 스포크는 중앙 허브가 데이터를 중계합니다. 인터페이스 보안에서 네트워크 영역은 IPSec·SSL 같은 전송 구간 암호화로 지킵니다.
개발 방법론과 비용 산정
나선형 모델은 계획 수립, 위험 분석, 개발과 검증, 고객 평가를 반복합니다. COCOMO의 조직형은 5만 라인 이하의 작고 단순한 소프트웨어에 적용합니다. CMMI 3단계인 정의 단계에서는 조직의 표준 프로세스가 확립되어 프로젝트가 이를 활용합니다.
테스트 기법과 통합 테스트
경계값 분석은 오류가 경계에서 잦다는 점에 착안한 블랙박스 기법이고, 분기 커버리지는 각 분기점의 전체 조건식이 참과 거짓을 한 번씩 갖게 하는 화이트박스 기준입니다. 하향식 통합에서 미완성 하위 모듈은 테스트 스텁이 대신합니다.
알고리즘과 코드 품질
버블 정렬은 인접 원소를 비교해 1회전마다 가장 큰 값을 맨 뒤로 보냅니다. pmd·cppcheck 같은 정적 분석 도구는 실행 없이 코드를 점검하고, valgrind는 실행하며 보는 동적 분석 도구입니다. 리팩토링은 외부 동작을 유지한 채 내부 구조를 개선합니다.
형상관리·패키징·품질 표준
Git은 소스 버전과 변경 이력을 관리하는 형상관리 도구입니다. DRM의 패키저는 콘텐츠를 메타데이터와 함께 묶어 암호화합니다. ISO/IEC 25010은 기능 적합성, 신뢰성, 보안성 등을 소프트웨어 제품 품질 특성으로 정의합니다.

정보처리기사 소프트웨어 개발 예상문제 미리보기

소프트웨어 개발 과목 25문항 중 8문항입니다. 정답과 해설은 눌러서 확인할 수 있습니다.

  1. 소프트웨어 개발1번 문항
    요구사항 분석 단계에서 수행하는 활동으로 가장 거리가 먼 것은?
    1. 1.요구사항 도출
    2. 2.요구사항 명세
    3. 3.요구사항 검증
    4. 4.소스 코드 최적화
    정답·해설 보기

    정답 4번. 소스 코드 최적화

    소스 코드 최적화는 구현 단계의 활동입니다. 요구사항 분석 단계에서는 도출, 분석, 명세, 확인(검증) 활동을 수행합니다.

  2. 소프트웨어 개발2번 문항
    UML 다이어그램 중 시스템의 정적 구조를 표현하는 것은?
    1. 1.시퀀스 다이어그램
    2. 2.클래스 다이어그램
    3. 3.액티비티 다이어그램
    4. 4.상태 다이어그램
    정답·해설 보기

    정답 2번. 클래스 다이어그램

    클래스 다이어그램은 클래스와 클래스 간의 관계를 표현하는 대표적인 구조(정적) 다이어그램입니다. 나머지는 모두 행위(동적) 다이어그램에 속합니다.

  3. 소프트웨어 개발3번 문항
    객체 생성을 단 하나의 인스턴스로 제한하고, 어디서든 그 인스턴스에 접근할 수 있게 하는 디자인 패턴은?
    1. 1.팩토리 메서드 패턴
    2. 2.옵저버 패턴
    3. 3.싱글톤 패턴
    4. 4.어댑터 패턴
    정답·해설 보기

    정답 3번. 싱글톤 패턴

    싱글톤(Singleton) 패턴은 클래스의 인스턴스를 하나만 생성하도록 보장하고 전역적인 접근점을 제공하는 생성 패턴입니다.

  4. 소프트웨어 개발4번 문항
    애자일(Agile) 개발 방법론의 특징으로 가장 적절한 것은?
    1. 1.모든 요구사항을 확정한 뒤 개발을 시작한다
    2. 2.짧은 주기로 반복하며 변화하는 요구사항에 유연하게 대응한다
    3. 3.각 단계가 끝나야만 다음 단계로 진행할 수 있다
    4. 4.문서 산출물 작성을 가장 우선시한다
    정답·해설 보기

    정답 2번. 짧은 주기로 반복하며 변화하는 요구사항에 유연하게 대응한다

    애자일은 짧은 반복 주기(이터레이션)로 개발하며 고객 피드백과 변화에 유연하게 대응하는 방법론입니다. 단계를 순차적으로 진행하는 것은 폭포수 모델의 특징입니다.

  5. 소프트웨어 개발5번 문항
    경계값 분석(Boundary Value Analysis)에 대한 설명으로 옳은 것은?
    1. 1.소스 코드의 내부 구조를 기반으로 테스트하는 화이트박스 기법이다
    2. 2.입력 조건의 경계 부근 값을 테스트 케이스로 선정하는 블랙박스 기법이다
    3. 3.모든 문장이 한 번 이상 수행되도록 하는 커버리지 기법이다
    4. 4.무작위 값을 대량 입력하여 오류를 찾는 기법이다
    정답·해설 보기

    정답 2번. 입력 조건의 경계 부근 값을 테스트 케이스로 선정하는 블랙박스 기법이다

    경계값 분석은 오류가 경계에서 자주 발생한다는 점에 착안해 경계 부근의 값을 테스트하는 블랙박스 테스트 기법입니다.

  6. 소프트웨어 개발6번 문항
    형상 관리(Configuration Management) 도구에 해당하는 것은?
    1. 1.Git
    2. 2.JUnit
    3. 3.Jenkins
    4. 4.Postman
    정답·해설 보기

    정답 1번. Git

    Git은 소스 코드의 버전과 변경 이력을 관리하는 대표적인 형상 관리 도구입니다. JUnit은 테스트, Jenkins는 CI/CD, Postman은 API 테스트 도구입니다.

  7. 소프트웨어 개발7번 문항
    모듈의 독립성을 높이기 위한 바람직한 설계 방향은?
    1. 1.결합도는 높이고 응집도는 낮춘다
    2. 2.결합도는 낮추고 응집도는 높인다
    3. 3.결합도와 응집도를 모두 높인다
    4. 4.결합도와 응집도를 모두 낮춘다
    정답·해설 보기

    정답 2번. 결합도는 낮추고 응집도는 높인다

    좋은 설계는 모듈 간 의존성(결합도)은 낮고, 모듈 내 요소들의 관련성(응집도)은 높아야 합니다.

  8. 소프트웨어 개발8번 문항
    디자인 패턴 중 옵저버(Observer) 패턴에 대한 설명으로 옳은 것은?
    1. 1.객체 생성을 서브클래스에 위임하여 결정하게 한다.
    2. 2.호환되지 않는 인터페이스를 변환하여 함께 동작하게 한다.
    3. 3.한 객체의 상태가 변하면 이를 의존하는 객체들에게 자동으로 통지되어 갱신된다.
    4. 4.요청 자체를 객체로 캡슐화하여 요청을 큐에 저장하거나 취소할 수 있게 한다.
    정답·해설 보기

    정답 3번. 한 객체의 상태가 변하면 이를 의존하는 객체들에게 자동으로 통지되어 갱신된다.

    옵저버 패턴은 일대다 의존 관계를 정의하여 한 객체의 상태 변화가 발생하면 등록된 관찰자 객체들에게 자동으로 통지하는 행위 패턴이다. 첫 번째는 팩토리 메서드, 두 번째는 어댑터, 네 번째는 커맨드 패턴의 설명이다.

소프트웨어 개발만 골라서 모의고사 풀기

CBT 모의고사에서 과목을 소프트웨어 개발로 지정하면 이 과목 문항만 출제됩니다. 전체 100문항을 무료로 풀 수 있어요.

정보처리기사 CBT 모의고사 시작하기

CertHub 예상문제집 · PDF

정보처리기사 예상문제 100제

소프트웨어 개발을 포함해 전 과목을 정답·해설과 함께 인쇄해서 풀어 보세요.

  • 출제기준 과목 구성에 맞춘 자체 제작 예상문제
  • 전 문항 정답 · 해설 수록 (오답 보기까지)
  • 빠른 정답표로 먼저 채점 → 틀린 문항만 정독
  • A4 인쇄 최적화 PDF, 가정용 프린터 출력 가능

기출문제 원본이 아닌 CertHub 자체 제작 예상문제입니다. 디지털 콘텐츠 특성상 다운로드가 시작된 이후에는 환불이 어렵습니다. 결제와 다운로드는 외부 판매 페이지(래피드)에서 진행됩니다.

다른 종목 예상문제 PDF 보기

정보처리기사 시험일정·응시자격·합격률 보기

기준일 2026년 10월 26일 · CertHub가 자체 제작한 예상문제입니다. 시행기관이 공개한 기출문제가 아닙니다.