제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과목 |
'자격증 요약 > 정보처리기사' 카테고리의 다른 글
| [23년 1회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.14 |
|---|---|
| [23년 2회 1과목] 정보처리기사 필기 문제 풀이 (2) | 2026.01.14 |
| [23년 3회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.13 |
| [24년 1회 1과목] 정보처리기사 필기 문제 풀이 (1) | 2026.01.13 |
| [24년 2회 1과목] 정보처리기사 필기 문제 풀이 (0) | 2026.01.13 |

