자격증 요약/정보처리기사

[24년 3회 1과목] 정보처리기사 필기 문제 풀이

문성 2026. 1. 12. 18:34

제1과목: 소프트웨어 설계 (1~20번)

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목

1. 사용자 인터페이스(UI) 중 명령과 출력이 텍스트 형태로만 이루어지는 인터페이스를 무엇이라 하는가?

① NUI

② GUI

③ CLI

④ OUI

CLI (Command Line Interface) : 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스 (직접 명령어를 텍스트 형태로 입력)
GUI (Graphicla User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스
NUI (Natural User Interface) : 사용자의 말이나 행동으로 기기를 조작하는 인터페이스 (사람의 신체 부위 이용)
VUI (Voice User Interface) : 사람의 음성으로 기기를 조작하는 인터페이스
OUI (Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스로, 소프트웨어가 아닌 하드웨어 분야에서 사물 인터넷, 가상현실, 증강현실, 혼합현실 등과 함께 대두되고 있음.

답: 3번

 

2. XP(eXtreme Programming)에 대한 설명으로 옳지 않은 것은?

① 릴리즈 기간을 짧게 반복하여 고객의 요구 변화에 빠르게 대응한다.

② 코드들은 하나의 작업이 마무리될 때마다 지속적으로 통합한다.

③ 테스트가 지속적으로 진행될 수 있도록 테스트 자동화 도구를 사용한다.

④ 개발 책임자가 모든 책임을 가지므로 팀원들은 책임 없이 자유로운 개발이 가능하다.

XP(eXtreme Programming) 는 수시로 발생하는 고객의 요구사항에 유연하게 대응하기 위해 고객의 참여와 개발과정을 반복 극대화하여 개발 생산성을 향사시키는 방법
 - XP는 짧고 반복적인 개발 주기, 단순한 설계, 고객의 적극적인 참여를 통해 소프트웨어를 빠르게 개발하는 것을 목적으로 한다.
 - 릴리즈의 기간을 짧게 반복하면서 고객의 요구사항 반영에 대한 가시성을 높인다.
 - 애자일 개발 방법론을 기반으로 한다.
 - XP의 핵심가치 5가지 : 의사소통, 단순성, 용기, 존중, 피드백 (Communication, Simplivity, Coutage, Respect, Feedback)

XP의 주요 실천 사항
Pair Programming (짝 프로그래밍): 두 명이서 한 컴퓨터로 함께 코딩.
Collective Ownership (공동 코드 소유): 누구든지 코드를 수정할 수 있음.
Continuous Integration (지속적 통합): 수시로 코드를 합치고 빌드함.

답: 4번
XP는 공동 생산과 존중을 강조 → 특정 책임자 한 명에게 권한이 쏠리는 것이 아니라 팀원 전체가 코드에 대한 권한과 책임을 공유

 

3. 자료 흐름도(Data Flow Diagram)의 구성 요소로 옳은 것은?

① process, data flow, data store, comment

② process, data flow, data store, terminator

③ data flow, data store, terminator, data dictionary

④ process, data store, terminator, mini-spec

자료 흐름도 (DFD) : 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로 자료 흐름 그래프, 버블 차트라고도 한다.
 - 프로세스 ( Process ) : 원
 - 자료 흐름 ( Data Flow ) : 화살표
 - 자료 저장소( Data Store ) : 평행선
 - 단말 (Terminator ) : 사각형

※DFD는 시간의 흐름을 표현하지 못 한다. (20년 4회 기출)

답: 2번

 

4. 분산 시스템에서의 미들웨어(Middleware)와 관련한 설명으로 틀린 것은?

① 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.

② 위치 투명성(Location Transparency)을 제공한다.

③ 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.

④ 애플리케이션과 사용자 사이에서만 분산 서비스를 제공한다.

미들웨어 : '운영체체-응용프로그램', '서버-클라이언트' 사이에서 다양한 서비스를 제공
DB: 클라이언트와 원격 DB 연결 (예: ODBC, JDBC).
RPC (원격 프로시저 호출, Remote Procedure call): 다른 컴퓨터의 프로시저를 내 것처럼 호출. 
MOM (메시지 지향 미들웨어, Message Oriented Middleware): 메시지 기반의 비동기 서비스 제공.
TP Monitor (Transaction Processing Monitor): 항공권 예약 등 트랜잭션 처리 감시/제어.
ORB (객체 요청 브로커, Object Request Broker): 객체지향 시스템에서 객체 간 통신 지원 (예: CORBA).
WAS (웹 애플리케이션 서버, Web Application Server): 동적 콘텐츠 처리를 위한 미들웨어 (예: WebLogic, WebSphere)

답 : 4번
미들웨어는 서로 다른 소프트웨어들이 서로 잘 알아들을 수 있게 중간에서 통역해주고 연결해주는 통로 → 사용자와의 사이가 아니다.

 

5. 디자인 패턴 사용의 장·단점에 대한 설명으로 거리가 먼 것은?

① 소프트웨어 구조 파악이 용이하다.

② 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.

③ 재사용을 위한 개발 시간이 단축된다.

④ 절차형 언어와 함께 이용될 때 효율이 극대화된다.

디자인 패턴 사용의 장·단점
 - 범용적인 코딩 스타일로 인해 구조 파악이 용이
 - 객체지향 설계 및 구현의 생산성을 높이는데 적합
 - 검증된 구조의 재사용을 통해 개발 시간과 비용이 절약
 - 개발자 간의 원활한 의사소통이 가능
 - 설계 변경 요청에 대한 유연한 대처가 가능
 - (단점) 초기 투자 비용이 부담 
 - (단점) 객체지향을 기반으로 한 설계와 구현을 다루므로 다른 기반의 애플리케이션 개발에는 적합하지 않다. → 절차형 언어와 함께 이용은 오답

답: 4번

 

6. UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?

① << >>

② (())

③ {{}}

④ [[]]

스테레오 타입 : UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용
 - 겹화살괄호 ' << >> '사이에 표현할 형태를 기술
 - ex. <<include>>, <<extend>>, <<interface>>, <<exception>>, <<constructor>>

답: 1번
확장모델, 새로운 요소 정의 → << >>

 

7. 소프트웨어 설계 시 구축된 플랫폼의 성능 특성 분석에 사용되는 측정 항목이 아닌 것은?

① 응답 시간(Response Time)

② 서버 튜닝(Server Tuning)

③ 가용성(Availability)

④ 사용률(Utilization)

플랫폼 성능 특성 분석의 4대 측정 항목 (응가사경)
 - 처리량(Throughput)(=가용성): 단위 시간당 처리하는 일의 양 (많을수록 좋음)
 - 응답 시간(Response Time)(=응답 시간): 요청 후 응답이 올 때까지 걸리는 시간 (짧을수록 좋음) 
 - 반환 시간(Turnaround Time)(=경과 시간): 업무 처리를 시작해서 결과를 얻을 때까지의 시간 (짧을수록 좋음)
 - 자원 사용률(Resource Utilization)(=사용률): CPU, 메모리 등 자원을 얼마나 효율적으로 썼는가 (적절해야 함)

※ DBMS 분석 시 고려사항
 - 가용성 (Availability)
 - 성능 (Performance)
 - 상호 호환성 (Interoperability)
 - 기술 지원 (Technical Support)
 - 구축 비용 (Cost)
 - (오답) 네트워크 구성도 → 네트워크 분석 시 필요

답: 2번
서버 튜닝은 성능 분석 결과에 따라 시스템을 최적화하는 '행위' → 성능을 측정하는 '항목'이 아님 (※ 성능이 안 좋네? 튜닝하자!)

 

8. 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형은?

① 나선형 모형

② 애자일 모형

③ 프로토타입 모형

④ 폭포수 모형

 - 나선형 모형(Spiral Model): 폭포수 + 프로토타입에 '위험 분석' 단계를 추가하여 반복적으로 개발하는 방식입니다.
  (핵심 키워드: 위험 분석)

 - 애자일 모형(Agile Model):
일정한 주기를 반복하며 고객의 요구에 유연하게 대응하는 방법론들의 총칭입니다.
 - 폭포수 모형(Waterfall Model):
이전 단계가 완전히 끝나야 다음 단계로 넘어가는 가장 보수적이고 선형적인 방식입니다.
  (핵심 키워드: 순차적, 고전적)

 - 프로토타입 모형 (Prototype Model) : 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본품을 만들어 최종 결과물을 예측하는 모형
  (핵심 키워드 : 견본품, 시제품, 요구사항 파악 어려움)

답: 3번

 

9. 객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?

① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는 데 초점을 둔 방법이다.

② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.

③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.

④ Use-Case를 강조하여 사용하는 방법이다.

객체지향 분석의 방법론
 Rumbaugh (럼바우) 방법 : 가장 일반적으로 사용되는 방법으로 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행
 Booch (부치) 방법 : 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의
 Jacobson 방법 : Use case를 강조하여 사용하는 분석 방법
 Coad와 Yourdon 방법 : E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법
 Wirfs-Brock 방법 : 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법

답: 1번
럼바우는 객동기
코드 에러(coad-ER)
미시적/거시적 →부치

 

10. 객체지향 기법에서 동일한 형의 특성을 갖는 객체들을 모아 구성한 것으로, 클래스들 사이의 'is instance of' 관계로 설명되는 연관성을 나타내는 용어는?

① 일반화

② 분류화

③ 연관화

④ 집단화

연관성 : 두 개 이상의 객체(클래스)들이 상호 참조하는 관계를 말함.
is member of (연관화) : 2개 이상의 객체가 상호 관련되어 있음을 의미
is instance of (분류화) : 동일한 형의 특성을 갖는 객체들을 모아 구성하는 것
is part of (집단화) : 관련 있는 객체들을 묶어 하나의 상위 객체를 구성하는 것
 - 부분-전체(Part-Whole)관계 또는 부분(is-a-part-of)의 관계
is a (일반화, 특수화/상세화) : 공통적인 성질들로 추상화한 상위 객체를 구성하는 것, 상위 객체를 구체화하여 하위 객체를 구성하는 것

답: 2번
객체와 클래스의 관계 → 분류화 (is instance of : ~의 사례/실체이다)
클래스와 클래스(부모-자식)관계 → 일반화 (is-a)

 

11. UML 모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계는?

① Association

② Dependency

③ Realization

④ Generalization

관계 : 사물과 사물 사이의 연관성을 표현
연관 관계( Association ): 2개 이상의 사물이 서로 관련되어 있음을 표현
 - 두 클래스가 서로 장기적으로 관련되어 있을 때

집합 관계( Aggregation ) : 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현

포함 관계( Composition ) : 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현

일반화 관계( Generalization ) : 일반화 관계는 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
 - 상속 관계(부모-자식)


의존 관계( Dependency ): 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계.
 - 한 클래스가 다른 클래스를 일시적으로 참조할 때 (키워드 : 매개변수)

실체화 관계( Realization ): 사물이 할 수 있거나 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현
 - 인터페이스를 실제로 구현할 때 (오퍼레이션(행위, 기능)을 수행하도록 지정하는 관계)

답: 2번

 

12. Rayleigh Norden 곡선의 노력 분포도를 이용한 프로젝트 비용 산정 기법은?

① Putnam 모형

② 델파이 모형

③ COCOMO 모형

④ 기능점수 모형

Putnam 모형: Rayleigh-Norden 곡선 기반. 시간에 따른 인력 투입량을 계산 (키워드 : Rayleigh-Norden, SLIM(생산성 측정 도구)
COCOMO 모형: 보헴(Boehm)이 제안. LOC(코드 라인 수)에 따라 비용을 산정 (Organic, Semi-detached, Embedded 모드로 구분)
델파이 모형 (Delphi): 한 명의 전문가가 아닌 여러 전문가의 의견을 종합하여 산정하는 하향식 기법
기능점수 모형 (Function Point): 소프트웨어의 기능(가중치)을 기준으로 산정. 사용자가 체감하는 기능을 수치화


답: 1번
※ 푸딩(Putnam)은 레일리(Rayleigh) 곡선처럼 생겼다.

 

13. 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은?

① 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.

② 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.

③ 협상과 계약보다는 고객과의 협력을 중시한다.

④ 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.

애자일 개발 4가지 핵심 가치
 - 프로세스와 도구보다는 개인과 상호작용에 더 가치를 둔다.
 - 방대한 문서보다는 실행되는 SW에 더 가치를 둔다.
 - 계약 협상보다는 고객과 협업에 더 가치를 둔다.
 - 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둔다.

답: 1번

 

14. 객체지향 소프트웨어 설계 시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?

① 실제 적용된 사례

② 문제 및 배경

③ 개발자의 성명

④ 재사용 가능한 샘플코드

디자인 패턴의 주요 구성 요소
 - 패턴 이름 : 설계 문제를 식별할 때 사용할 이름
 - 문제 : 언제 이 패턴을 사용하는지에 대한 시나리오와 배경 =  
 - 해결책 : 설계를 구성하는 요소들과 그들 사이의 관계, 책임, 협력 관계 =  
 - 결과 : 패턴을 적용했을 때의 장단점 및 보상
 - 사례 : 실제로 이 패턴이 어떻게 적용되었는지에 대한 예시 =  

답: 3번
※ 디자인 패턴은 특정한 설계 문제를 해결하기 위한 '일반화된 솔루션' → 패턴을 사용하는 '개별' 개발자 이름은 상관 없음

 

15. 아키텍처 설계 과정이 올바른 순서로 나열된 것은?

(가) 설계 목표 설정
(나) 시스템 타입 결정
(다) 스타일 적용 및 커스터마이즈
(라) 서브시스템의 기능, 인터페이스 동작 작성
(마) 아키텍처 설계 검토

 

① 가→나→다→라→마

② 나→가→다→라→마

③ 가→다→나→라→마

④ 가→나→라→다→마

소프트웨어 아키텍쳐의 설계 과정
1. 설계 표 설정
2. 시스템 입 결정
3. 아키텍쳐 패턴 적용(타일 적용 및 커스터마이즈)
4. 서브시스템 구체화(버시스템의 기능, 인터페이스 동작 작성)
5.

답: 1번
※ 아키텍쳐 설계 : 큰 그림에서 작은 그림으로 내려가는 하향식 흐름
※ 목타스서검 으로 암기

 

16. 클래스(Class)에 대한 다음 설명에서 괄호(㉠, ㉡)에 들어갈 알맞은 용어는?

클래스는 각각의 객체들이 갖는 ( ㉠ )과 ( ㉡ )을 표현함

( ㉠ ): 클래스의 상태나 정보를 표현함
( ㉡ ): 클래스가 수행할 수 있는 동작으로, 함수(메소드)라고도 함

 

① ㉠제약조건,㉡속성

② ㉠속성, ㉡오퍼레이션

③ ㉠오퍼레이션, ㉡제약조건

④ ㉠속성, ㉡관계

클래스 구성요소
 - 속성 : 객체가 가지고 있는 상태, 데이터, 성질을 의미 (ex. 자동차의 색상, 모델명, 속도)
 - 오퍼레이션 : 객체가 수행할 수 있는 동작이나 함수를 의미하며, 외부에서 객체를 사용하는 인터페이스 (ex. 주행하기, 멈추기)

답: 2번
※ 클래스는 각각의 객체들이 갖는 속성오퍼레이션을 표현함

 

 

17. 폭포수 모형의 특징으로 거리가 먼 것은?

① 순차적인 접근방법을 이용한다.

② 나선형 모형의 단점을 보완하기 위한 모형이다.

③ 단계적 정의와 산출물이 명확하다.

④ 모형의 적용 경험과 성공사례가 많다.

폭포수 모형의 특징
 - 순차적 접근 : 폭포물이 위에서 아래로 떨어지듯, 이전 단계가 완전히 끝나야만 다음 단계로 넘어갈 수 있다 =  
 - 선형적 모델 : 계획 → 분석 → 설계 → 구현 → 테스트 → 유지보수의 흐름이 명확
 - 매뉴얼 중심 : 각 단계가 끝날 때마다 명확한 산출물(문서)이 나와야 함 =  
 - 신뢰성 : 가장 오래된 모델이라 적용 경험과 성공사례가 많음 =  

폭포수 모형의 단점보완하기 위해 나온 것 = 나선형 모형, 프로토타입 모형
 - 피드백의 어려움 : 개발 도중에 요구사하잉 바뀌면 반영하기 매우 어려움
 - 결과 확인 지연 : 프로그램이 거의 끝부분(구현 단계)에 가서야 만들어지기 때문에 사용자가 결과를 늦게 확인하게 됨.


답: 2번

 

18. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?

① 구조적 기법

② 프로토타이핑 기술

③ 정보 저장소 기술

④ 일괄처리 기술

CASE : 소프트웨어 생명 주기(SDLC) 전 단계에 걸쳐 필요한 분석, 설계, 구현, 검사 및 디버깅 과정을 컴퓨터와 소프트웨어 도구를 사용하여 자동화하는 것을 의미

CASE의 원천 기술
 - 구조적 기법 (Structured Methods) : 소프트웨어를 논리적인 구조로 나누어 설계하는 방식
 - 프로토타이핑 기술 (Prototyping) : 시제품을 빠르게 만들어보는 기술
 - 정보 저장소 기술 (Repository) : 개발 과정에서 발생하는 모든 정보(설계도, 소스코드 등)를 중앙에서 관리하는 DB기술

CASE 도구의 주요 이점
 - 표준화 : 개발자마다 제각각인 설계를 표준화할 수 있음
 - 생산성 향상 : 자동화 도구를 사용하므로 개발 속도가 빨라짐
 - 품질 향상 : 설계의 모순을 도구가 체크해주므로 결함이 줄어듦
 - 유지보수 용이 : 문서화가 자동으로 이루어져 나중에 고치기 쉬움

답: 4번
일괄처리는 데이터를 모아두었다가 한꺼번에 처리하는 운영체제의 방식 중 하나일 뿐.
소프트웨어 설계를 '자동화'하는 CASE의 핵심 원천 기술과는 거리가 멈
※ CASE 의 핵심 키워드 : 자동화, 표준화, 공유(저장소)

 

 

19. 다음 프로그램 구조에서 모듈 F에서의 fan-in과 fan-out의 수는?

① fan-in: 2, fan-out: 3

② fan-in: 3, fan-out: 2

③ fan-in: 1, fan-out: 2

④ fan-in: 2, fan-out: 1

Fan-In (들어오는 선) : 특정 모듈을 제어(호출)하는 상위 모듈의 수
Fan-Out (나가는 선) 특정 모듈이 제어(호출)하는 하위 모듈의 수


답: 2번

 

20. HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?

① 상향식 소프트웨어 개발을 위한 문서화 도구이다.

② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.

③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.

④ 보기 쉽고 이해하기 쉽다.

HIPO : 시스템의 분석 및 설계나 문서화할 때 사용되는 기법, 시스템 실행 과정인 입력, 처리, 출력의 기능을 나타냄
 - 기본 시스템 모델은 입력, 처리, 출력으로 구성되며 하향식 소프트웨어 개발을 위한 문서화 도구
 - 체계적인 문서 관리가 가능
 - 기호, 도표 등을 사용하므로 보기 쉽고 이해하기도 쉽다.
 - 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
 - 변경, 유지보수가 용이하다.

HIPO Chart 의 종류
 - 가시적 도표 ( Visual Diagram )
 - 총체적 도표 ( Overview Diagram )
 - 세부적 도표 ( Detail Diagram )

답: 1번
※ HIPO 는 하향식 으로 기억 (주로 상향식으로 오답 만들어서 출제함)

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목