20년-3회차-정보처리기사-필기 시험지 PDF 다운로드

20년-3회차-정보처리기사-필기
정보처리기사 필기 기출문제

20년-3회차-정보처리기사-필기

총 100문항 · 객관식 · A4 약 1장

1 / 1
A4정답 포함
정보처리기사 필기 기출문제모두CBT · moducbt.com

20년-3회차-정보처리기사-필기

100문항 · 객관식 · 정답·해설 포함
문제 1
요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?    
1청취와 인터뷰 질문 기술
2분석과 중재기술
3설계 및 코딩 기술
4관찰 및 모델 작성 기술
정답 및 해설

요구사항 분석 시에는 이해관계자와의 청취·인터뷰, 요구사항 간 충돌을 조정하는 분석과 중재, 현장을 살피는 관찰 및 모델 작성 기술이 핵심이다.
반면 설계 및 코딩 기술은 요구사항이 확정된 이후 소프트웨어 설계·구현 단계에서 필요한 기술이므로 요구사항 분석 기술과는 거리가 멀다.

문제 2
다음 내용이 설명하는 디자인 패턴은?        
1Visitor패턴
2Observer패턴
3Factory Method 패턴
4Bridge 패턴
정답 및 해설

제시된 그림은 "객체를 생성하기 위한 인터페이스를 정의하며, 어떤 클래스가 인스턴스화될 것인지는 서브클래스가 결정하도록 하는 것"으로, Virtual-Constructor 패턴이라고도 불린다고 설명한다.
이는 GoF 생성 패턴 중 Factory Method 패턴의 정의와 정확히 일치한다.
Observer는 상태 변화의 통지, Bridge는 추상화와 구현의 분리, Visitor는 자료구조와 연산의 분리를 다루는 패턴으로 이 설명과 무관하다.

문제 3
럼바우 객체 지향 분석과 거리가 먼 것은?    
1기능 모델링
2동적 모델링
3객체 모델링
4정적 모델링
정답 및 해설

럼바우(Rumbaugh)의 객체지향 분석(OMT)은 객체 모델링·동적 모델링·기능 모델링의 세 가지로 구성된다.
"정적 모델링"은 럼바우 분석의 별도 단계로 존재하지 않으며 이는 객체 모델링에 포함되는 개념이므로 거리가 멀다.

문제 4
애자일 기법에 대한 설명으로 맞지 않은 것은?    
1절차와 도구보다 개인과 소통을 중요하게 생각한다.
2계획에 중점을 두어 변경 대응이 난해하다.
3소프트웨어가 잘 실행되는데 가치를 둔다.
4고객과의 피드백을 중요하게 생각한다.
정답 및 해설

애자일은 절차와 도구보다 개인과 소통을, 계획을 따르기보다 변화에 대한 대응을 더 중요한 가치로 삼는 방법론이다.
"계획에 중점을 두어 변경 대응이 난해하다"는 특성은 오히려 계획 중심의 전통적 개발 방법론(폭포수 모델)에 해당하므로 애자일에 대한 설명으로 옳지 않다.

문제 5
미들웨어 솔루션의 유형에 포함되지 않는 것은?    
1WAS
2Web Server
3RPC
4ORB
정답 및 해설

미들웨어 솔루션 유형에는 데이터 통신을 중개하는 WAS, RPC, ORB, TP-Monitor, MOM, DB 미들웨어 등이 포함된다.
Web Server는 클라이언트 요청에 정적 콘텐츠를 제공하는 서버로, 이기종 시스템 간 연동을 중개하는 미들웨어 솔루션 유형에는 해당하지 않는다.

문제 6
UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?    
1생명선
2실행
3확장
4메시지
정답 및 해설

UML 시퀀스 다이어그램은 객체 사이의 상호작용을 시간 순으로 나타내며 생명선(Lifeline), 실행(Activation), 메시지(Message) 등으로 구성된다.
"확장(Extend)"은 유스케이스 다이어그램에서 유스케이스 간 관계를 나타내는 개념으로 시퀀스 다이어그램의 구성 항목이 아니다.

문제 7
객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?    
1Encapsulation
2Class
3Method
4Instance
정답 및 해설

캡슐화(Encapsulation)는 데이터와 이를 처리하는 메서드를 하나로 묶고 외부에는 필요한 인터페이스만 노출하여 내부 구현을 감추는 것으로, 객체지향의 정보 은닉과 가장 밀접하게 연관된 개념이다.

문제 8
디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?    
1커맨드 (Command) 패턴
2옵저버 (Observer) 패턴
3프로토타입 (Prototype) 패턴
4상태 (State) 패턴
정답 및 해설

GoF 디자인 패턴 중 행위 패턴에는 커맨드(Command), 옵저버(Observer), 상태(State), 전략, 템플릿 메서드 등이 속한다.
프로토타입(Prototype) 패턴은 원형 객체를 복제하여 새로운 객체를 만드는 생성 패턴에 해당하므로 행위적 패턴에 속하지 않는다.

문제 9
UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?    
1희소성
2유연성
3직관성
4멀티운용성
정답 및 해설

UI 설계 원칙 중 직관성은 사용자가 별도의 학습 없이도 누구나 쉽게 이해하고 사용할 수 있도록 인터페이스를 설계해야 한다는 원칙이다.

문제 10
코드의 기본 기능으로 거리가 먼 것은?     
1복잡성
2표준화
3분류
4식별
정답 및 해설

코드의 기본 기능에는 대상을 유일하게 구분하는 식별, 유사 항목끼리 묶는 분류, 일관된 기준을 정하는 표준화 등이 있다.
복잡성은 코드 설계에서 오히려 지양해야 할 요소이지 코드가 갖춰야 할 기본 기능이 아니다.

문제 11
다음 ( ) 안에 들어갈 내용으로 옳은 것은?          
1협약(Contract)
2프로토콜(Protocol)
3패턴(Pattern)
4관계(Relation)
정답 및 해설

컴포넌트 설계에서 "( )에 의한 설계"를 따를 경우 오퍼레이션 사용 전에 참이어야 할 선행조건(precondition), 사용 후 만족되어야 할 결과조건(postcondition), 실행되는 동안 항상 만족되어야 할 불변조건(invariant)을 명세에 포함시켜야 하는데, 이러한 기법을 협약(Contract)에 의한 설계(Design by Contract)라고 한다. 협약은 컴포넌트 제공자와 사용자 간에 지켜야 할 규약을 정의하는 것이므로 프로토콜·패턴·관계와는 구분된다.

문제 12
UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?     
1유스케이스 다이어그램(Use Case Diagram)
2시퀀스 다이어그램(Sequence Diagram)
3활동 다이어그램(Activity Diagram)
4배치 다이어그램(Deployment Diagram)
정답 및 해설

UML의 행위(Behavioral) 다이어그램에는 유스케이스·시퀀스·활동·상태·커뮤니케이션 다이어그램 등이 속하며, 시스템의 동적인 동작을 표현한다. 반면 배치 다이어그램(Deployment Diagram)은 하드웨어 노드와 소프트웨어 컴포넌트의 물리적 배치를 나타내는 구조(Structural) 다이어그램이므로 행위 다이어그램에 해당하지 않는다.

문제 13
객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?     
1트랜지션
2클래스
3시퀀스
4서브루틴
정답 및 해설

클래스는 공통된 속성과 오퍼레이션(행위)을 가지는 유사한 객체들을 하나의 틀로 묶어 추상화한 것으로, 객체를 생성하는 템플릿 역할을 한다. 트랜지션·시퀀스·서브루틴은 유사한 객체들을 묶어 공통 특성을 표현하는 개념이 아니므로 클래스와 다르다.

문제 14
아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?          
1추상화 관계
2의존 관계
3일반화 관계
4그룹 관계
정답 및 해설

제시된 UML 모델에서 버스·트럭·택시가 속이 빈 삼각형 화살표로 '차' 클래스를 향하는 것은, 하위 클래스가 상위 클래스의 속성과 오퍼레이션을 물려받는 일반화(Generalization) 관계, 즉 상속(is-a)을 나타내는 UML 표준 표기법이다. 따라서 이 구조는 추상화·의존·그룹 관계가 아니라 일반화 관계에 해당한다.

문제 15
객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?     
1개발자이름
2문제 및 배경
3사례
4샘플코드
정답 및 해설

GoF 디자인 패턴을 구성하는 요소는 패턴 이름, 문제 및 배경(의도), 해결책, 사례(결과·효과), 샘플코드 등이며, 이는 패턴을 재사용 가능하도록 문서화하기 위한 항목이다. 패턴을 처음 고안한 개발자 이름은 패턴 자체의 구성요소가 아니므로 가장 거리가 멀다.

문제 16
자료 사전에서 자료의 반복을 의미하는 것은?     
1=
2( )
3{ }
4[ ]
정답 및 해설

자료 사전(Data Dictionary) 표기법에서 { }는 자료의 반복(Iteration)을 의미하며, =는 정의(자료의 구성), ( )는 생략 가능한 선택 항목, [ ]는 여러 대안 중 하나를 택하는 선택을 나타낸다. 따라서 반복을 표현하는 기호는 { }이다.

문제 17
객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?     
1ISP(Interface Segregation Principle)
2DIP(Dependency Inversion Principle)
3LSP(Liskov Substitution Principle)
4SRP(Single Responsibility Principle)
정답 및 해설

리스코프 치환 원칙(LSP, Liskov Substitution Principle)은 상위 타입(기반 클래스)의 객체가 사용되는 자리에 하위 타입(서브타입)의 객체로 교체해도 프로그램의 동작이 정상적으로 유지되어야 한다는 객체지향 설계 원칙이다. ISP는 인터페이스 분리, DIP는 의존성 역전, SRP는 단일 책임 원칙을 의미하므로 서브타입 치환과는 직접 관련이 없다.

문제 18
자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은?     
1process, data flow, data store, comment
2process, data flow, data store, terminator
3data flow, data store, terminator, data dictionary
4process, data store, terminator, mini-spec
정답 및 해설

자료흐름도(DFD)의 기본 구성요소는 처리(process), 자료 흐름(data flow), 자료 저장소(data store), 시스템과 데이터를 주고받는 외부 개체인 단말(terminator)의 네 가지이다. comment·data dictionary·mini-spec은 DFD를 보완하는 별도 명세 도구일 뿐 DFD 자체의 구성요소는 아니다.

문제 19
CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은?     
1소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
2표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
3작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
42000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
정답 및 해설

CASE 도구는 소프트웨어 개발 과정의 일부 또는 전체를 자동화하고 표준화된 개발 환경과 문서 자동화를 지원하며, 작업 결과 공유를 통해 작업자 간 커뮤니케이션을 증대시키는 도구이다. 그러나 CASE 도구는 이미 그 이전부터 폭포수·구조적 방법론 등 다양한 개발 방식에 폭넓게 활용되어 왔으므로, 2000년대 이후 소개되어 객체지향 시스템에 한해서만 효과적이라는 설명은 옳지 않다.

문제 20
인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?     
1리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
2동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
3인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
4CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견
정답 및 해설

인터페이스 요구사항 검토 방법 중 동료검토(Peer Review)는 요구사항 명세서 작성자가 검토 회의에서 명세서 내용을 직접 설명하고 이해관계자들이 이를 들으면서 결함을 찾아내는 방식이다. 이와 달리 인스펙션은 작성자 외의 전문 검토 그룹이 명세서를 정밀히 조사해 결함·표준 위배를 찾는 공식 절차이며, 검토 자료를 사전 배포한 후 짧게 회의하는 방식은 워크스루에 해당하므로 나머지 보기는 검토 기법 명칭과 설명이 서로 맞지 않는다.

문제 21
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?     
1IPSec
2SSL
3SMTP
4S-HTTP
정답 및 해설

IPSec·SSL·S-HTTP는 네트워크 구간의 데이터를 암호화하거나 인증하는 보안 프로토콜이다. 반면 SMTP는 전자메일을 전송하기 위한 프로토콜일 뿐 자체적인 보안 기능을 제공하지 않으므로 인터페이스 보안 솔루션과 거리가 멀다.

문제 22
소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?     
1품질 높은 소프트웨어 상품 개발
2지속적인 검증 시행
3결과에 대한 명확한 기록 유지
4최대한 많은 인력 투입
정답 및 해설

소프트웨어 공학은 품질 높은 결과물 개발, 지속적인 검증, 산출물의 명확한 기록 관리를 기본 원칙으로 삼는다. 이미 지연된 프로젝트에 인력을 추가하면 의사소통 비용 증가로 오히려 일정이 더 지연된다는 브룩스의 법칙에 비추어, "최대한 많은 인력 투입"은 소프트웨어 공학의 기본 원칙으로 볼 수 없다.

문제 23
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?     
1ISO/IEC 2196
2IEEE 19554
3ISO/IEC 12119
4ISO/IEC 14959
정답 및 해설

패키지 소프트웨어의 일반적인 품질 요구사항 및 테스트 방법을 규정한 국제 표준은 ISO/IEC 12119이다. 나머지 보기는 실제 존재하는 표준 번호와 일치하지 않는다.

문제 24
다음 중 클린 코드 작성원칙으로 거리가 먼 것은?     
1누구든지 쉽게 이해하는 코드 작성
2중복이 최대화된 코드 작성
3다른 모듈에 미치는 영향 최소화
4단순, 명료한 코드 작성
정답 및 해설

클린 코드는 누구나 쉽게 이해할 수 있도록 단순·명료하게 작성하고, 다른 모듈에 미치는 영향을 최소화하며, 중복을 최소화하는 것을 원칙으로 한다. "중복이 최대화된 코드 작성"은 유지보수성을 해치므로 클린 코드 원칙과 정반대된다.

문제 25
블랙박스 테스트의 유형으로 틀린 것은?     
1경계값 분석
2오류 예측
3동등 분할 기법
4조건, 루프 검사
정답 및 해설

블랙박스 테스트는 내부 로직을 보지 않고 입출력만으로 검증하는 기법으로 동등 분할, 경계값 분석, 오류 예측 등이 해당한다. 반면 조건·루프 검사는 프로그램 내부의 제어 흐름을 분석하는 화이트박스 테스트 기법이므로 블랙박스 테스트 유형이 아니다.

문제 26
제어흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가?          
13
24
35
46
정답 및 해설

McCabe의 순환복잡도는 V(G)=EN+2V(G) = E - N + 2(E: 간선 수, N: 노드 수)로 구한다. 제시된 그래프는 노드 4개(a·b·c·d)와 간선 6개(a→b, a→c, a→d, b→c, d→c, c→d)로 구성되어 V(G)=64+2=4V(G) = 6 - 4 + 2 = 4가 된다.

문제 27
다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?          
114, 17, 37, 40, 35
214, 37, 17, 40, 35
317, 14, 37, 35, 40
414, 17, 35, 40, 37
정답 및 해설

선택 정렬은 매 회전마다 남은 구간에서 최솟값을 찾아 맨 앞 요소와 교환한다. 초기값 37, 14, 17, 40, 35에서 1회전 후 14, 37, 17, 40, 35, 2회전 후 14, 17, 37, 40, 35가 되고, 3회전에서는 남은 구간(37, 40, 35)의 최솟값 35를 37과 교환해 14, 17, 35, 40, 37이 된다.

문제 28
형상 관리 도구의 주요 기능으로 거리가 먼 것은?     
1정규화(Normalization)
2체크인(Check-in)
3체크아웃(Check-out)
4커밋(commit)
정답 및 해설

형상 관리 도구는 체크인·체크아웃·커밋·버전 추적 등 소스 버전을 저장·관리하는 기능을 제공한다. 정규화(Normalization)는 데이터베이스 설계에서 중복을 제거하는 개념으로 형상 관리 도구의 기능과는 무관하다.

문제 29
다음 트리를 Preorder 운행법으로 운행할 경우 가장 먼저 탐색되는 것은?          
1A
2B
3D
4G
정답 및 해설

Preorder(전위 순회)는 루트 → 왼쪽 서브트리 → 오른쪽 서브트리 순으로 방문한다. 제시된 트리에서 A가 루트이므로 서브트리를 순회하기 전에 가장 먼저 A가 탐색된다.

문제 30
소프트웨어 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도를 나타내는 것은?     
1직관성
2사용 용이성
3신뢰성
4이식성
정답 및 해설

소프트웨어 품질 목표 중 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도신뢰성(Reliability)의 정의 그대로이다. 사용 용이성은 사용자가 쉽게 다루는 정도, 이식성은 다른 환경으로 옮겨 쓸 수 있는 정도를 뜻해 이 정의와 다르다.

문제 31
알고리즘 설계 기법으로 거리가 먼 것은?     
1Divide and Conquer
2Greedy
3Static Block
4Backtracking
정답 및 해설

Static Block은 프로그래밍 언어의 초기화 구문 개념일 뿐 알고리즘 설계 기법이 아니다.
분할정복(Divide and Conquer)·탐욕법(Greedy)·백트래킹(Backtracking)은 대표적인 알고리즘 설계 기법이다.

문제 32
제품 소프트웨어의 형상 관리 역할로 틀린 것은?     
1형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
2불필요한 사용자의 소스 수정 제한
3프로젝트 개발비용을 효율적으로 관리
4동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
정답 및 해설

형상 관리(Configuration Management)는 소스코드의 버전·이력 관리와 접근 통제를 통해 배포본 관리와 동시 개발을 지원하는 활동이다.
이전 리비전 정보 접근, 불필요한 수정 제한, 여러 개발자의 동시 개발 지원은 형상 관리의 핵심 역할이지만, 프로젝트 개발비용의 효율적 관리는 원가·일정 관리 영역이지 형상 관리의 역할이 아니다.

문제 33
제품 소프트웨어 패키징 도구 활용 시 고려사항이 아닌 것은?     
1제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 고려한다.
2추가로 다양한 이기종 연동을 고려한다.
3사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
4내부 콘텐츠에 대한 보안은 고려하지 않는다.
정답 및 해설

제품 소프트웨어 패키징 도구는 내부 콘텐츠에 대한 보안을 반드시 고려해야 한다.
암호화 알고리즘 선정, 다양한 이기종 환경과의 연동, 사용자 편의를 위한 복잡성·비효율성 완화는 모두 실제 고려사항이지만, 보안을 고려하지 않는다는 것은 패키징 도구의 목적에 반하므로 옳지 않은 진술이다.

문제 34
디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?     
1콘텐츠 암호화 및 키 관리
2콘텐츠 식별체계 표현
3콘텐츠 오류 감지 및 복구
4라이센스 발급 및 관리
정답 및 해설

DRM(디지털 저작권 관리)의 핵심 기술 요소는 콘텐츠 암호화·키 관리, 식별체계(메타데이터) 표현, 라이선스 발급·관리 등이다.
콘텐츠 오류 감지 및 복구는 데이터 무결성·복구 기술 영역으로, 저작권 보호나 접근 통제와 무관하여 DRM의 구성 요소에 해당하지 않는다.

문제 35
물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?     
1범위분할(Range Partitioning)
2해시분할(Hash Partitioning)
3조합분할(Composite Partitioning)
4유닛분할(Unit Partitioning)
정답 및 해설

물리 데이터 저장소의 파티셔닝 유형은 범위분할(Range)·해시분할(Hash)·조합분할(Composite)·목록분할(List) 등으로 구분된다.
유닛분할(Unit Partitioning)은 실제 존재하지 않는 파티션 유형이다.

문제 36
다음이 설명하는 애플리케이션 통합 테스트 유형은?          
1하향식 통합 테스트
2상향식 통합 테스트
3회귀 테스트
4빅뱅 테스트
정답 및 해설

하향식 통합 테스트는 상위(제어) 모듈부터 시작하여 하위 모듈을 순차적으로 결합해 가며 검증하는 방식으로, 아직 개발되지 않은 하위 모듈은 스텁(Stub)으로 대체한다.
주요 제어 흐름과 상위 인터페이스 오류를 개발 초기에 발견할 수 있다는 점이 이 방식의 특징이다.

문제 37
인터페이스 구현시 사용하는 기술 중 다음 내용이 설명하는 것은?          
1Procedure
2Trigger
3Greedy
4AJAX
정답 및 해설

AJAX(Asynchronous JavaScript and XML)는 웹페이지 전체를 다시 불러오지 않고 자바스크립트와 XMLHttpRequest(또는 fetch)로 서버와 비동기적으로 데이터를 주고받는 인터페이스 구현 기술이다.
Procedure·Trigger는 데이터베이스 내부에서 실행되는 객체이고 Greedy는 알고리즘 설계 기법이므로 인터페이스 구현 기술과는 거리가 멀다.

문제 38
소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?     
1위험부담 감소
2비용 절감
3시스템 명세의 오류억제
4개발시간의 증가
정답 및 해설

소프트웨어 재공학은 기존 시스템을 재구성·재문서화하여 재사용함으로써 재개발 대비 위험부담 감소, 비용 절감, 시스템 명세의 오류 억제 및 개발 시간 단축 효과를 가져온다.
따라서 개발시간의 증가는 재공학의 장점이 아니라 오히려 재공학을 통해 줄이고자 하는 문제에 해당한다.

문제 39
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?     
1단위 테스트
2인수 테스트
3통합 테스트
4시스템 테스트
정답 및 해설

인수 테스트(Acceptance Test)는 실제 사용자·고객이 개발된 소프트웨어가 요구사항을 충족하는지 검증하는 단계로, 개발사 내부 인력이 통제된 환경에서 수행하는 알파 테스트와 사용자 환경에서 실제 사용자가 수행하는 베타 테스트가 대표적인 하위 유형이다.
단위·통합·시스템 테스트는 개발자 관점의 테스트 레벨로 알파·베타 테스트와 직접적인 연관이 없다.

문제 40
다음 트리의 차수(degree)는?          
12
23
34
45
정답 및 해설

트리의 차수(degree)는 트리를 구성하는 모든 노드 중 자식 노드 수가 가장 많은 노드의 자식 개수로 정의된다.
주어진 트리에서 자식을 가장 많이 가진 노드의 자식 수가 3이므로 이 트리의 차수는 3이다.

문제 41
릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?     
1제 1 정규형
2제 2 정규형
3보이스/코드 정규형
4제 4 정규형
정답 및 해설

보이스/코드 정규형(BCNF)은 릴레이션의 모든 결정자(determinant)후보키인 정규형으로 정의된다.
이는 제3정규형보다 강화된 조건으로, 후보키가 아닌 결정자로 인해 발생하는 이상현상까지 제거한다.

문제 42
다음 관계형 데이터 모델에 대한 설명으로 옳은 것은?          
1relation 3개, attribute 3개, tuple 5개
2relation 3개, attribute 5개, tuple 3개
3relation 1개, attribute 5개, tuple 3개
4relation 1개, attribute 3개, tuple 5개
정답 및 해설

주어진 표는 고객ID·고객이름·거주도시 3개의 속성(attribute)을 갖는 릴레이션 1개이며, S1~S5 5개의 행(tuple)으로 구성된다.
따라서 relation 1개, attribute 3개, tuple 5개가 옳다.

문제 43
Commit과 Rollback 명령어에 의해 보장 받는 트랜잭션의 특성은?     
1병행성
2보안성
3원자성
4로그
정답 및 해설

COMMITROLLBACK은 트랜잭션의 연산을 데이터베이스에 전부 반영하거나 전혀 반영하지 않도록 하는 원자성(Atomicity)을 보장하는 명령어다.
트랜잭션은 ACID(원자성·일관성·고립성·지속성) 특성을 만족해야 하며, COMMIT은 성공적 완료를 확정하고 ROLLBACK은 실패 시 이전 상태로 되돌린다.

문제 44
관계 데이터베이스인 테이블 R1에 대한 아래 SQL 문의 실행결과로 옳은 것은?          
1
2
3
4
정답 및 해설

SELECT DISTINCT 학년 FROM R1;은 R1의 학년 컬럼 값(1,1,2,2,3)에서 중복을 제거해 1·2·3 세 개의 값만 남긴다.
따라서 학년 컬럼 하나에 1, 2, 3 세 개의 행이 출력되는 결과가 옳다.

문제 45
DCL(Data Control Language) 명령어가 아닌 것은?     
1COMMIT
2ROLLBACK
3GRANT
4SELECT
정답 및 해설

DCL(Data Control Language)은 데이터베이스 접근 권한과 트랜잭션을 제어하는 언어로 GRANT·REVOKE·COMMIT·ROLLBACK이 이에 속한다.
반면 SELECT는 데이터를 조회하는 DML(Data Manipulation Language) 명령어이므로 DCL이 아니다.

문제 46
병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?     
1로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
2데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
3로킹의 단위가 작아지면 로킹 오버헤드가 증가한다.
4로킹의 단위가 커지면 데이터베이스 공유도가 증가한다.
정답 및 해설

로킹 단위가 커지면 관리할 잠금 수가 줄어 오버헤드는 감소하지만, 하나의 잠금이 더 넓은 범위를 독점하게 되어 여러 트랜잭션이 동시에 접근할 수 있는 병행성(공유도)은 오히려 감소한다.
따라서 로킹 단위가 커지면 데이터베이스 공유도가 증가한다는 설명은 옳지 않다.

문제 47
관계 데이터모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null)값이 아닌 원자 값을 갖는 성질은?     
1개체 무결성
2참조 무결성
3도메인 무결성
4튜플의 유일성
정답 및 해설

개체 무결성(Entity Integrity)은 기본키를 구성하는 속성 값이 널(Null)이 아닌 원자값을 가져야 한다는 제약이다.
이는 각 튜플을 유일하게 식별하기 위한 기본키의 필수 조건이다.

문제 48
뷰(View)의 장점이 아닌 것은?     
1뷰 자체로 인덱스를 가짐
2데이터 보안 용이
3논리적 독립성 제공
4사용자 데이터 관리 용이
정답 및 해설

뷰(View)는 실제 데이터를 저장하지 않는 가상 테이블이므로 자체적인 인덱스를 가질 수 없다.
데이터 보안·논리적 독립성·사용자 데이터 관리 용이성은 뷰의 실제 장점이지만, 인덱스 보유는 뷰의 특성상 불가능하다.

문제 49
분산 데이터베이스의 투명성(Transparency)에 해당 하지 않는 것은?     
1Location Transparency
2Replication Transparency
3Failure Transparency
4Media Access Transparency
정답 및 해설

분산 데이터베이스의 투명성에는 위치 투명성(Location)·중복 투명성(Replication)·장애 투명성(Failure)·병행 투명성·단편화 투명성 등이 있다.
Media Access Transparency는 이러한 분산 데이터베이스 투명성 유형에 해당하지 않는다.

문제 50
정규화의 목적으로 옳지 않은 것은?     
1어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
2데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다.
3중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다.
4효과적인 검색 알고리즘을 생성할 수 있다.
정답 및 해설

정규화는 함수적 종속성을 분석해 릴레이션을 분해함으로써 삽입·삭제·갱신 이상을 방지하는 것이 목적이다.
'중복을 배제하여 이상현상의 발생을 야기한다'는 설명은 정규화의 효과를 반대로 서술한 것이므로 옳지 않다.

문제 51
다음에 해당하는 함수 종속의 추론 규칙은?          
1분해 규칙
2이행 규칙
3반사 규칙
4결합 규칙
정답 및 해설

이행 규칙(Transitivity Rule)은 함수 종속 X→Y, Y→Z가 성립하면 X→Z도 성립한다는 Armstrong 공리의 추론 규칙이다. 분해 규칙·결합 규칙은 함수 종속의 속성 집합을 나누거나 합치는 규칙이고, 반사 규칙은 Y가 X의 부분집합일 때 X→Y가 성립한다는 규칙으로 이와 구분된다.

문제 52
다음 R과 S 두 릴레이션에 대한 Division 연산의 수행 결과는?          
1
2
3
4
정답 및 해설

Division 연산 R ÷ S는 R의 속성 중 S에 없는 속성으로 구성된 튜플 중에서, S의 모든 튜플과 매칭되는 것을 결과로 반환한다. 주어진 이미지에서 R은 (A, B) 속성을, S는 B 속성만 가지므로, 결과는 A 속성으로만 구성되며 S의 모든 B 값(b1, b2)과 쌍을 이루는 A 값을 찾아야 한다. R을 분석하면 A=a1일 때 (a1, b1), (a1, b2)가 모두 존재하고, A=a2일 때는 (a2, b1)만 존재하므로 a2는 b2와의 쌍이 없어 제외된다. 따라서 정답은 A=a1만 포함하는 보기 4번이다.

문제 53
player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?          
1(1)
2(2)
3(3)
4(4)
정답 및 해설

이미지의 SQL문을 확인하면, (1)~(4) 위치에서 문법 오류를 찾아야 한다. 일반적인 SQL 문법에서 GROUP BY 절을 사용할 때 SELECT 목록에는 그룹화 기준 컬럼 또는 집계함수만 포함되어야 한다. (4) 위치의 height 컬럼은 GROUP BY 절에 포함되지 않으면서 집계함수로도 감싸지지 않아 문법 오류가 발생한다. 이는 대부분의 DBMS(MySQL 엄격 모드, Oracle, SQL Server 등)에서 "non-aggregated column not in GROUP BY clause" 오류를 일으킨다.

문제 54
데이터베이스 로그(log)를 필요로 하는 회복 기법은?     
1즉각 갱신 기법
2대수적 코딩 방법
3타임 스탬프 기법
4폴딩 기법
정답 및 해설

즉각 갱신 기법(Immediate Update)은 트랜잭션 실행 도중에도 변경 내용을 즉시 데이터베이스에 반영하는 회복 기법이므로, 장애 발생 시 갱신 전·후 값을 이용해 REDO/UNDO를 수행할 수 있도록 로그(log)를 반드시 유지해야 한다.

문제 55
DML(Data Manipulation Language) 명령어가 아닌 것은?     
1INSERT
2UPDATE
3ALTER
4DELETE
정답 및 해설

DML(데이터 조작어)은 데이터를 검색·삽입·수정·삭제하는 명령어로 SELECT·INSERT·UPDATE·DELETE가 해당한다. ALTER는 테이블 등 객체의 구조를 변경하는 DDL(데이터 정의어) 명령어이므로 DML이 아니다.

문제 56
다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?          
1제1정규형
2제2정규형
3제3정규형
4제4정규형
정답 및 해설

제1정규형(1NF)은 릴레이션의 모든 속성이 더 이상 분해할 수 없는 원자값만 갖도록 만드는 정규화 단계로, 하나의 속성에 여러 값이 반복 저장된(반복 그룹) 릴레이션을 각 값이 하나의 튜플에 하나씩만 대응하도록 분해하는 작업이 이에 해당한다.

문제 57
관계대수의 순수관계 연산자가 아닌 것은?     
1Select
2Cartesian Product
3Division
4Project
정답 및 해설

관계대수의 순수 관계 연산자는 Select·Project·Join·Division이다. Cartesian Product는 Union·Intersection·Difference와 함께 일반 집합 이론에서 차용한 일반 집합 연산자에 속하므로 순수 관계 연산자가 아니다.

문제 58
다음 중 SQL의 집계 함수(aggregation function)가 아닌 것은?     
1AVG
2COUNT
3SUM
4CREATE
정답 및 해설

SQL의 집계 함수는 그룹 단위로 값을 계산하는 함수로 AVG·COUNT·SUM·MAX·MIN 등이 있다. CREATE는 테이블 등의 객체를 생성하는 DDL 명령어이므로 집계 함수가 아니다.

문제 59
릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?     
1normalization
2rollback
3cardinality
4anomaly
정답 및 해설

anomaly(이상현상)는 데이터 중복으로 인해 삽입·삭제·갱신 연산 시 예기치 않게 발생하는 데이터 불일치 문제를 말하며, 이를 제거하기 위한 과정이 정규화(normalization)이다.

문제 60
릴레이션에 대한 설명으로 거리가 먼 것은?     
1튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
2한 릴레이션에 포함된 튜플들은 모두 상이하다.
3애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다.
4한 릴레이션에 포함된 튜플 사이에는 순서가 있다.
정답 및 해설

릴레이션은 수학적으로 튜플의 집합(set)으로 정의되므로 튜플 사이에는 순서가 존재하지 않는다. 따라서 '튜플 사이에는 순서가 있다'는 설명은 릴레이션의 특성과 거리가 멀다.

문제 61
다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?          
1int i = 7, j = 9;int k;k = (i>j)?(i – j):(i + j);
2int i = 7, j = 9;int k;k = (i<j)?(i – j):(i + j);
3int i = 7, j = 9;int k;k = (i>j)?(i + j):(i - j);
4int i = 7, j = 9;int k;k = (i<j)?(i + j):(i - j);
정답 및 해설

주어진 if~else 문은 i가 j보다 클 때 i-j, 그렇지 않으면 i+j를 k에 대입하는 구조이므로, 삼항 조건 연산자는 condition ? 참_표현식 : 거짓_표현식 문법에 따라 (i>j)?(i – j):(i + j)로 옮겨 적어야 한다. if문의 조건식과 참·거짓 분기의 계산식 순서를 그대로 대응시키면 조건과 두 분기 값이 모두 일치하는 보기만 정답이 된다.

문제 62
다음 내용이 설명하는 소프트웨어 취약점은?          
1FTP 바운스 공격
2SQL 삽입
3버퍼 오버플로
4디렉토리 접근 공격
정답 및 해설

공격자가 할당된 버퍼(메모리 영역)의 크기를 초과하는 데이터를 입력하여 인접한 메모리 영역까지 덮어쓰게 만드는 취약점을 버퍼 오버플로라 한다. 이로 인해 프로그램의 리턴 주소나 실행 흐름이 조작되어 임의 코드 실행이나 프로그램 오동작으로 이어질 수 있다. SQL 삽입은 데이터베이스 질의문 조작을, 디렉토리 접근 공격은 상위 경로 이동을 통한 파일 노출을 노리는 공격으로 이 취약점과는 성격이 다르다.

문제 63
다음 중 bash 쉘 스크립트에서 사용할 수 있는 제어문이 아닌 것은?     
1if
2for
3repeat_do
4while
정답 및 해설

bash 쉘은 if, for, while, until, case 등의 제어문을 제공하지만 repeat_do라는 키워드는 존재하지 않는다. if는 조건 분기, for와 while은 반복 제어에 사용되는 실제 bash 문법이므로 나머지 세 보기는 정상적인 제어문이다.

문제 64
IPv6에 대한 설명으로 틀린 것은?     
132비트의 주소체계를 사용한다.
2멀티미디어의 실시간 처리가 가능하다.
3IPv4보다 보안성이 강화되었다.
4자동으로 네트워크 환경구성이 가능하다.
정답 및 해설

IPv6은 주소 고갈 문제를 해결하기 위해 기존 IPv4의 32비트 체계를 확장한 128비트 주소체계를 사용하므로, "32비트의 주소체계를 사용한다"는 설명은 틀리다. IPv6은 IPSec을 기본 내장하여 보안성이 강화되었고, 실시간 멀티미디어 처리와 자동 네트워크 환경 구성(Plug and Play) 기능도 지원한다.

문제 65
효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?     
1모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
2복잡도와 중복성을 줄이고 일관성을 유지시킨다.
3모듈의 기능은 예측이 가능해야 하며 지나치게 제한적 이여야 한다.
4유지보수가 용이해야 한다.
정답 및 해설

모듈은 기능이 예측 가능해야 하지만 지나치게 제한적이어서는 안 되며, 여러 상황에 유연하게 대응할 수 있을 정도의 일반성을 가져야 한다. 결합도를 낮추고 복잡도·중복성을 줄이며 일관성과 유지보수성을 높이는 것은 효과적인 모듈 설계의 원칙이지만, 기능을 과도하게 제한하는 것은 이 원칙과 거리가 멀다.

문제 66
HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?          
1A→B→C→D
2A→C→B→D
3D→B→C→A
4D→A→B→C
정답 및 해설

HRN(Highest Response Ratio Next) 스케줄링은 응답비율(Response Ratio) = (대기시간 + 서비스시간) / 서비스시간이 높은 작업부터 처리하는 방식이다. 이미지의 작업 정보에서 각 작업의 응답비율을 계산하면, 시간 0에서 D의 응답비율이 가장 높아 D를 먼저 처리한다. D 처리 후(예: t=3) 남은 작업들 중 그때의 대기시간을 반영하여 다시 응답비율을 계산하면 B, C, A 순서로 처리되어 D→B→C→A 순서가 된다.

문제 67
운영체제에 대한 설명으로 거리가 먼 것은?     
1다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
2CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.
3운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
4입출력 장치와 사용자 프로그램을 제어한다.
정답 및 해설

매크로 프로세서, 어셈블러, 컴파일러는 언어 번역 프로그램(언어 처리기)에 해당하며, 운영체제가 아니라 운영체제 위에서 동작하는 시스템 소프트웨어이다. 운영체제는 CPU·메모리·입출력 장치 등 자원을 관리하고 다중 사용자·다중 프로그램 환경에서 스케줄링과 자원 분배를 담당하는 소프트웨어(Windows, Unix, Linux 등)를 가리킨다.

문제 68
배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?     
1자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
2안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
3대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
4무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
정답 및 해설

배치 프로그램에서 주어진 시간 내 처리를 완료하고 동시에 동작하는 다른 애플리케이션을 방해하지 않아야 한다는 것은 성능(Performance)에 대한 설명이며, 무결성(Integrity)과는 관련이 없다. 자동화(오류 상황 외 사용자 개입 없이 동작), 문제 발생 시점·원인 추적, 대용량 데이터 처리 능력은 배치 프로그램의 필수 요소를 올바르게 설명한 것이다.

문제 69
TCP 프로토콜에 대한 설명으로 거리가 먼 것은?     
1신뢰성이 있는 연결 지향형 전달 서비스이다.
2기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.
3스트림 전송 기능을 제공한다.
4순서제어, 오류제어, 흐름제어 기능을 제공한다.
정답 및 해설

TCP 헤더의 기본 크기는 20byte이며 옵션을 포함해 최대 60byte까지 확장 가능하므로, "기본 헤더 크기 100byte, 확장 시 160byte"라는 설명은 사실과 다르다. TCP는 신뢰성 있는 연결 지향형 프로토콜로 순서제어·오류제어·흐름제어와 스트림 전송 기능을 제공한다.

문제 70
다음이 설명하는 응집도의 유형은?          
1기능적 응집도
2우연적 응집도
3논리적 응집도
4절차적 응집도
정답 및 해설

모듈 안의 구성 요소들이 서로 다른 기능을 수행하면서도 정해진 실행 순서(절차)에 따라 차례로 수행되도록 묶여 있을 때를 절차적 응집도라 한다. 하나의 단일 기능만 수행하는 기능적 응집도와 달리 요소들을 묶는 근거가 처리 순서뿐이므로 응집도 자체는 기능적 응집도보다 낮으며, 성격이 유사한 기능을 모아 매개변수로 골라 실행하는 논리적 응집도나 아무런 관련 없이 모인 우연적 응집도보다는 높다.

문제 71
OSI-7Layer에서 링크의 설정과 유지 및 종료를 담당하며, 노드간의 오류제어와 흐름제어 기능을 수행하는 계층은?     
1데이터링크 계층
2물리 계층
3세션 계층
4응용 계층
정답 및 해설

데이터링크 계층은 인접 노드 간 링크의 설정·유지·종료를 담당하며 프레임 단위의 오류제어·흐름제어 기능을 수행한다. 물리 계층은 비트 신호 전송만 담당하고, 세션 계층은 응용 프로세스 간 대화(세션) 관리를, 응용 계층은 사용자와 직접 상호작용하는 서비스를 제공하므로 해당하지 않는다.

문제 72
다음 중 가장 결합도가 강한 것은?     
1data coupling
2stamp coupling
3common coupling
4control coupling
정답 및 해설

결합도는 자료결합 < 스탬프결합 < 제어결합 < 외부결합 < 공통결합 < 내용결합 순으로 강해진다. 보기 중에서는 전역변수를 공유하는 공통결합(common coupling)이 가장 강한 결합도를 가지며, 자료결합(data coupling)이 가장 약하고 제어결합(control coupling)은 공통결합보다 약하다.

문제 73
메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?          
1NO.2
2NO.3
3NO.4
4NO.5
정답 및 해설

Worst fit 방법은 가장 큰 여유 공간에 프로그램을 할당하는 기법이다. 이미지의 메모리 맵에서 각 여유 공간을 확인하면 NO.2는 5K, NO.3은 8K, NO.4는 6K, NO.5는 12K이다. 10K 크기의 프로그램을 할당하기 위해서는 최소한 10K 이상의 여유 공간이 필요하므로 12K인 NO.5만 가능하며, Worst fit은 이 가장 큰 공간에 할당하므로 NO.5에 배치된다.

문제 74
200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 Subnet으로 나누고 ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?     
1200.1.1.159
2201.1.5.175
3202.1.11.254
4203.1.255.245
정답 및 해설

10개의 서브넷이 필요하므로 24=16102^4=16 \geq 10인 4비트를 서브넷 비트로 사용해 /24/24/28/28(블록 크기 16)로 나눈다. ip subnet-zero를 적용하면 첫 서브넷(200.1.1.0/28)부터 순서대로 사용하므로 10번째 네트워크는 200.1.1.0에서 16씩 9번 더한 200.1.1.144/28이고, 그 범위는 200.1.1.144~200.1.1.159이므로 브로드캐스트 주소는 200.1.1.159이다.

문제 75
다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서 ㉠에 들어갈 내용은?          
1string[1:3] + string[-3:]
2string[:3] + string[-3:-1]
3string[0:3] + string[-3:]
4string[0:] + string[:-1]
정답 및 해설

문자열의 처음 3글자는 string[0:3], 끝 3글자는 string[-3:]로 슬라이싱하며 두 결과를 +로 이어붙이면 처음·끝 3글자가 합쳐진 문자열이 만들어진다. string[1:3]은 두 번째~세 번째 글자만 뽑아 첫 글자를 빠뜨리고, string[-3:-1]은 마지막 직전 글자까지만 잘라 마지막 글자가 빠지므로 요구 조건을 만족하지 못한다.

문제 76
파이썬의 변수 작성 규칙 설명으로 옳지 않은 것은?     
1첫 자리에 숫자를 사용할 수 없다.
2영문 대문자/소문자, 숫자, 밑줄(_)의 사용이 가능하다.
3변수 이름의 중간에 공백을 사용할 수 있다.
4이미 사용되고 있는 예약어는 사용할 수 없다.
정답 및 해설

파이썬 변수(식별자) 이름은 영문 대·소문자, 숫자, 밑줄(_)로만 구성되며 공백을 포함할 수 없다. 첫 글자에 숫자를 사용할 수 없고 예약어를 변수명으로 쓸 수 없다는 설명은 모두 옳으므로, "변수 이름 중간에 공백을 사용할 수 있다"는 설명이 틀린 것이다.

문제 77
어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?     
1data coupling
2stamp coupling
3control coupling
4common coupling
정답 및 해설

제어신호(플래그)로 다른 모듈의 내부 논리 흐름을 제어하도록 통신하는 것은 제어결합(control coupling)의 정의이다. 특히 하위 모듈이 상위 모듈에게 제어신호를 보내 처리를 지시하는 경우 호출 관계상 권한이 뒤바뀌는 권리전도현상이 나타나는데, 이는 제어결합에서 발생하는 대표적 문제로 설명된다.

문제 78

다음 C 프로그램의 결과 값은?

main(void) {
int i;
int sum = 0;
for(i =1; i<=10; i=i+2)
sum = sum + i;
printf("%d", sum);
}
115
219
325
427
정답 및 해설

1부터 10까지 2씩 건너뛰며 더하는, 즉 10 이하 홀수의 합을 구하는 코드이므로 출력값은 25다.

제어변수 i는 1에서 시작해 2씩 증가하므로 1, 3, 5, 7, 9 다섯 번만 본문을 실행하고, i가 11이 되는 순간 조건 i<=10 이 거짓이 되어 반복이 끝난다.

sum = 1 + 3 + 5 + 7 + 9 = 25
반복문에 중괄호가 없어 본문은 sum = sum + i 한 문장뿐이고, 출력은 반복이 모두 끝난 뒤 한 번만 실행된다.

1부터 10까지 모두 더하면 55, 짝수만 더하면 30이 되므로, 증가폭이 2라는 점을 놓치면 값이 크게 어긋난다.

문제 79
UNIX에서 새로운 프로세스를 생성하는 명령어는?     
1ls
2cat
3fork
4chmod
정답 및 해설

UNIX/Linux에서 fork()는 호출한 프로세스를 복제하여 새로운 자식 프로세스를 생성하는 시스템 호출이다. ls는 파일 목록 조회, cat은 파일 내용 출력, chmod는 파일 권한 변경 명령으로 모두 프로세스 생성과는 무관하다.

문제 80
C언어에서 정수 자료형으로 옳은 것은?     
1int
2float
3char
4double
정답 및 해설

C언어의 자료형은 정수를 다루는 int, 문자를 다루는 char, 부동소수점 실수를 다루는 float·double로 구분되며 이 중 정수 자료형은 int이다. float와 double은 소수점을 포함한 실수를 표현하는 실수형 자료형이므로 정수 자료형에 해당하지 않는다.

문제 81
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로 실제 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?     
1최적화
2실행 시간
3디지털 트윈
4N-Screen
정답 및 해설

디지털 트윈은 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로, 실제 자산 대신 소프트웨어로 가상화하여 자산 최적화·돌발사고 최소화·생산성 증가 등 설계부터 제조·서비스까지 전 과정의 효율성을 높이는 기술이다. 물리적 실체를 컴퓨터 상에 쌍둥이처럼 복제해 시뮬레이션·예측에 활용한다는 점이 핵심이다.

문제 82
정보보안의 3대 요소에 해당하지 않는 것은?     
1기밀성
2휘발성
3무결성
4가용성
정답 및 해설

정보보안의 3대 요소는 기밀성·무결성·가용성(CIA)이며, 휘발성은 메모리(RAM) 데이터가 전원 차단 시 사라지는 물리적 특성을 가리키는 개념일 뿐 보안 요소가 아니다.

문제 83
다음 빈칸에 알맞은 기술은          
1Quantum Key Distribution
2Digital Rights Management
3Grayware
4Mashup
정답 및 해설

빈칸의 설명은 "웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술"이며, 이는 여러 웹 서비스·API의 콘텐츠를 조합해 새로운 서비스를 만드는 Mashup(매쉬업)의 정의와 일치한다. Quantum Key Distribution은 양자 키 분배, Digital Rights Management는 디지털 저작권 관리, Grayware는 유해 가능성이 있는 소프트웨어로 모두 콘텐츠 조합과는 무관하다.

문제 84
기능점수(Functional Point)모형에서 비용산정에 이용되는 요소가 아닌 것은?     
1클래스 인터페이스
2명령어(사용자 질의수)
3데이터파일
4출력보고서
정답 및 해설

기능점수(FP) 모형의 비용산정 요소는 외부입력·외부출력(출력보고서)·외부조회(명령어/사용자 질의수)·내부논리파일(데이터파일)·외부인터페이스파일의 5가지이며, 클래스 인터페이스는 객체지향 설계 개념으로 FP 산정 요소에 해당하지 않는다.

문제 85
블록 암호화 방식이 아닌 것은?     
1DES
2RC4
3AES
4SEED
정답 및 해설

DES·AES·SEED는 고정된 크기의 블록 단위로 암호화하는 블록 암호 방식이지만, RC4는 데이터를 스트림(비트/바이트 단위)으로 처리하는 스트림 암호 방식이다.

문제 86
Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?     
1SQLR/30
2SLIM
3MESH
4NFV
정답 및 해설

SLIM은 Putnam 모형(Rayleigh-Norden 곡선 기반)을 이론적 기초로 하여 만들어진 소프트웨어 비용·일정 자동 산정 도구이다.

문제 87
큰 숫자를 소인수 분해하기 어렵다는 기반 하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은?     
1DES
2ARIA
3SEED
4RSA
정답 및 해설

RSA는 큰 합성수의 소인수분해가 어렵다는 수학적 난제를 기반으로 1978년 Rivest, Shamir, Adleman이 MIT에서 제안한 대표적인 공개키(비대칭키) 암호화 알고리즘이다. DES·SEED·ARIA는 모두 대칭키 블록 암호로 소인수분해와 무관하다.

문제 88
COCOMO 모델의 프로젝트 유형으로 거리가 먼 것은?     
1Organic
2Semi-detached
3Embedded
4Sequentail
정답 및 해설

COCOMO 모델은 프로젝트 규모·복잡도에 따라 Organic(조직형)·Semi-detached(반분리형)·Embedded(내장형)의 3가지 유형으로 나뉘며, Sequentail(Sequential)은 COCOMO의 프로젝트 유형이 아니다.

문제 89
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호관례를 규명하여 일정한 패턴을 찾아내는 기법은?     
1Data Mining
2Wm-Bus
3Digital Twin
4Zigbee
정답 및 해설

Data Mining(데이터 마이닝)은 대량의 데이터를 분석하여 변수 사이의 숨겨진 상관관계와 일정한 패턴을 찾아내는 빅데이터 분석 기법이다. Zigbee와 Wm-Bus(M-Bus)는 저전력 무선 통신 프로토콜로 데이터 분석 기법과는 무관하다.

문제 90
기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술을 의미하는 것은?     
1Software Defined Perimeter
2Virtual Private Network
3Local Area Network
4Mesh Network
정답 및 해설

Mesh Network는 기존 무선 랜의 한계를 극복하기 위해 등장한 기술로, 노드들이 서로 다중 경로로 연결되어 대규모 디바이스 네트워크 구성에 최적화되어 있어 차세대 이동통신·홈네트워킹·공공안전 등 특수목적 네트워크에 활용된다.

문제 91
DDoS 공격과 연관이 있는 공격 방법은?     
1Secure shell
2Tribe Flood Network
3Nimda
4Deadlock
정답 및 해설

Tribe Flood Network(TFN)는 다수의 좀비 PC를 원격 조종하여 표적 시스템에 대량의 트래픽을 동시에 전송하는 대표적인 DDoS 공격 도구이다. Secure shell은 암호화된 원격 접속 프로토콜이고 Nimda는 웜 바이러스, Deadlock은 자원 점유로 인한 교착상태 현상으로 DDoS 공격과는 직접적인 관련이 없다.

문제 92
CPM 네트워크가 다음과 같을 때 임계경로의 소요기일은?          
110일
212일
314일
416일
정답 및 해설

CPM 네트워크에서 임계경로는 가장 긴 소요기일을 갖는 경로이다. 이미지의 네트워크 다이어그램을 읽으면 노드 간 연결과 작업 기간이 표시되어 있으며, 시작점에서 종료점까지의 모든 가능한 경로를 계산해야 한다. 주어진 네트워크에서 확인할 수 있는 주요 경로들을 비교하면: 경로 1→2→4→5(또는 유사 구성)의 누적 기간을 합산하는 방식으로 각 경로의 총 소요기일을 구한다. 네트워크의 구조상 가장 길이가 긴 경로의 총합이 14일이므로, 이것이 임계경로의 소요기일이 된다.

문제 93
RIP(Routing Information Protocol)에 대한 설명으로 틀린 것은?     
1거리 벡터 라우팅 프로토콜이라고도 한다.
2소규모 네트워크 환경에 적합하다.
3최대 홉 카운트를 115홉 이하로 한정하고 있다.
4최단경로탐색에는 Bellman-Ford 알고리즘을 사용한다.
정답 및 해설

RIP는 거리 벡터 라우팅 프로토콜로 최단경로 탐색에 Bellman-Ford 알고리즘을 사용하며 라우팅 정보가 단순해 소규모 네트워크 환경에 적합하다. 다만 최대 홉 카운트는 15홉까지만 허용하고 16홉 이상은 도달 불가(infinity)로 처리하므로, 홉 카운트 한도를 15홉이 아닌 다른 값으로 서술한 설명은 틀린 내용이다.

문제 94
소프트웨어 생명주기 모형 중 고전적 생명주기 모형으로 선형 순차적 모델이라고도 하며, 타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수의 단계를 통해 소프트웨어를 개발하는 모형은?     
1폭포수 모형
2애자일 모형
3컴포넌트 기반 방법론
46GT 모형
정답 및 해설

타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수의 단계를 순서대로 거치는 고전적 생명주기 모형은 폭포수 모형이다. 각 단계를 순차적으로 진행하며 이전 단계로 되돌아가기 어려운 선형 순차적 모델이라는 점이 특징이며, 애자일 모형처럼 반복·점증적으로 진행되지 않는다.

문제 95

소프트웨어 개발 모델 중 나선형 모델의 4가지 주요 활동이 순서대로 나열된 것은?

  • Ⓐ 계획 수립
  • Ⓑ 고객 평가
  • Ⓒ 개발 및 검증
  • Ⓓ 위험 분석
1Ⓐ-Ⓑ-Ⓓ-Ⓒ 순으로 반복
2Ⓐ-Ⓓ-Ⓒ-Ⓑ 순으로 반복
3Ⓐ-Ⓑ-Ⓒ-Ⓓ 순으로 반복
4Ⓐ-Ⓒ-Ⓑ-Ⓓ 순으로 반복
정답 및 해설

나선형(Spiral) 모델의 네 활동은 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가 순으로 한 주기를 이루므로, 기호로는 Ⓐ-Ⓓ-Ⓒ-Ⓑ 순서로 반복된다.

먼저 목표·대안·제약을 정하는 계획 수립을 거친 뒤, 대안에 숨은 위험을 식별하고 평가한다. 위험을 줄인 상태에서 프로토타입을 만들어 개발하고 검증한 다음, 그 결과를 고객이 평가한다.

고객 평가에서 나온 피드백은 곧바로 다음 주기의 계획 수립에 반영되며, 나선을 돌 때마다 시스템이 점진적으로 완성된다.

따라서 계획 수립 다음에 고객 평가나 개발 및 검증이 오는 배열은 위험 분석을 건너뛰는 셈이라 나선형 모델의 순서가 될 수 없다.

문제 96
전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?     
1합성 중심
2생성 중심
3분리 중심
4구조 중심
정답 및 해설

전자 칩과 같은 소프트웨어 부품(모듈)을 만들어 서로 끼워 맞추어 소프트웨어를 완성하는 재사용 방법은 합성 중심(Composition-Based) 기법이다. 이와 달리 생성 중심(Generation-Based)은 특정 응용 분야에 특화된 패턴을 파라미터화된 프로그램으로 만들어 필요한 시점에 자동 생성하는 방식으로 구분된다.

문제 97
다음 JAVA코드에서 밑줄로 표시된 부분에는 어떤 보안 약점이 존재하는가? (단, key는 암호화 키를 저장하는 변수이다.)          
1무결성 검사 없는 코드 다운로드
2중요 자원에 대한 잘못된 권한 설정
3하드코드된 암호화 키 사용
4적절한 인증없는 중요 기능 허용
정답 및 해설

암호화 키를 저장하는 변수(key)에 소스코드 내부의 고정된 상수 값을 직접 대입하는 코드는 하드코드된 암호화 키 사용 보안약점에 해당한다. 암호화 키가 소스코드에 그대로 노출되면 역공학이나 코드 열람만으로 키가 탈취되어 암호화의 의미가 무력화될 수 있다.

문제 98
소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준은?     
1SCRUM
2ISO/IEC 12509
3SPICE
4CASE
정답 및 해설

소프트웨어 프로세스를 평가하고 개선하여 품질 및 생산성을 향상시키기 위한 국제 표준은 SPICE(ISO/IEC 15504)이다. SCRUM은 애자일 개발 방법론, CASE는 소프트웨어 개발 지원 도구로 프로세스 평가·개선 표준과는 성격이 다르다.

문제 99
실무적으로 검증된 개발보안 방법론 중 하나로써 SW보안의 모범 사례를 SDLC(Software Development Life Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론은?     
1CLASP
2CWE
3PIMS
4Seven Touchpoints 1
정답 및 해설

Seven Touchpoints는 Gary McGraw가 제시한 방법론으로, 실무에서 검증된 SW 보안의 모범 사례들을 SDLC(소프트웨어 개발 생명주기)의 각 단계에 통합한 소프트웨어 개발 보안 생명주기 방법론이다. CLASP은 활동·역할 중심으로 구성된 별도의 경량 보안 프로세스이고 CWE는 소프트웨어 취약점 유형을 목록화한 분류 체계라는 점에서 구분된다.

문제 100
다음 LAN의 네트워크 토폴로지는?          
1버스형
2성형
3링형
4그물형
정답 및 해설

하나의 공통 전송 매체(간선)에 모든 스테이션이 나란히 매달린 형태이므로 버스형 토폴로지다.

그림은 좌우로 길게 뻗은 한 줄의 간선 위에 '데이터 전송 방향'이 양방향 화살표로 표시되고, 그 아래로 스테이션1부터 스테이션5까지 다섯 개의 사각형이 각각 짧은 분기선으로 간선에 연결된 모습이다. 중앙에 집중 제어 장치가 없고 노드끼리 직접 이어지지도 않는다.

  • 성형은 중앙 허브에 모든 노드가 개별 회선으로 방사형 연결된다.
  • 링형은 노드들이 닫힌 고리를 이루고, 그물형은 노드끼리 여러 경로로 서로 연결된다.

버스형은 케이블 하나로 구성돼 설치와 노드 증설이 쉽지만, 간선이 끊기면 전체 통신이 마비되고 노드가 늘수록 충돌이 잦아지는 단점이 있다.

정보처리기사 필기 기출문제모두CBT · moducbt.com

20년-3회차-정보처리기사-필기

100문항 · 객관식 · 정답·해설 포함
문제 1
요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?    
1청취와 인터뷰 질문 기술
2분석과 중재기술
3설계 및 코딩 기술
4관찰 및 모델 작성 기술
정답 및 해설

요구사항 분석 시에는 이해관계자와의 청취·인터뷰, 요구사항 간 충돌을 조정하는 분석과 중재, 현장을 살피는 관찰 및 모델 작성 기술이 핵심이다.
반면 설계 및 코딩 기술은 요구사항이 확정된 이후 소프트웨어 설계·구현 단계에서 필요한 기술이므로 요구사항 분석 기술과는 거리가 멀다.

문제 2
다음 내용이 설명하는 디자인 패턴은?        
1Visitor패턴
2Observer패턴
3Factory Method 패턴
4Bridge 패턴
정답 및 해설

제시된 그림은 "객체를 생성하기 위한 인터페이스를 정의하며, 어떤 클래스가 인스턴스화될 것인지는 서브클래스가 결정하도록 하는 것"으로, Virtual-Constructor 패턴이라고도 불린다고 설명한다.
이는 GoF 생성 패턴 중 Factory Method 패턴의 정의와 정확히 일치한다.
Observer는 상태 변화의 통지, Bridge는 추상화와 구현의 분리, Visitor는 자료구조와 연산의 분리를 다루는 패턴으로 이 설명과 무관하다.

문제 3
럼바우 객체 지향 분석과 거리가 먼 것은?    
1기능 모델링
2동적 모델링
3객체 모델링
4정적 모델링
정답 및 해설

럼바우(Rumbaugh)의 객체지향 분석(OMT)은 객체 모델링·동적 모델링·기능 모델링의 세 가지로 구성된다.
"정적 모델링"은 럼바우 분석의 별도 단계로 존재하지 않으며 이는 객체 모델링에 포함되는 개념이므로 거리가 멀다.

문제 4
애자일 기법에 대한 설명으로 맞지 않은 것은?    
1절차와 도구보다 개인과 소통을 중요하게 생각한다.
2계획에 중점을 두어 변경 대응이 난해하다.
3소프트웨어가 잘 실행되는데 가치를 둔다.
4고객과의 피드백을 중요하게 생각한다.
정답 및 해설

애자일은 절차와 도구보다 개인과 소통을, 계획을 따르기보다 변화에 대한 대응을 더 중요한 가치로 삼는 방법론이다.
"계획에 중점을 두어 변경 대응이 난해하다"는 특성은 오히려 계획 중심의 전통적 개발 방법론(폭포수 모델)에 해당하므로 애자일에 대한 설명으로 옳지 않다.

문제 5
미들웨어 솔루션의 유형에 포함되지 않는 것은?    
1WAS
2Web Server
3RPC
4ORB
정답 및 해설

미들웨어 솔루션 유형에는 데이터 통신을 중개하는 WAS, RPC, ORB, TP-Monitor, MOM, DB 미들웨어 등이 포함된다.
Web Server는 클라이언트 요청에 정적 콘텐츠를 제공하는 서버로, 이기종 시스템 간 연동을 중개하는 미들웨어 솔루션 유형에는 해당하지 않는다.

문제 6
UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?    
1생명선
2실행
3확장
4메시지
정답 및 해설

UML 시퀀스 다이어그램은 객체 사이의 상호작용을 시간 순으로 나타내며 생명선(Lifeline), 실행(Activation), 메시지(Message) 등으로 구성된다.
"확장(Extend)"은 유스케이스 다이어그램에서 유스케이스 간 관계를 나타내는 개념으로 시퀀스 다이어그램의 구성 항목이 아니다.

문제 7
객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?    
1Encapsulation
2Class
3Method
4Instance
정답 및 해설

캡슐화(Encapsulation)는 데이터와 이를 처리하는 메서드를 하나로 묶고 외부에는 필요한 인터페이스만 노출하여 내부 구현을 감추는 것으로, 객체지향의 정보 은닉과 가장 밀접하게 연관된 개념이다.

문제 8
디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?    
1커맨드 (Command) 패턴
2옵저버 (Observer) 패턴
3프로토타입 (Prototype) 패턴
4상태 (State) 패턴
정답 및 해설

GoF 디자인 패턴 중 행위 패턴에는 커맨드(Command), 옵저버(Observer), 상태(State), 전략, 템플릿 메서드 등이 속한다.
프로토타입(Prototype) 패턴은 원형 객체를 복제하여 새로운 객체를 만드는 생성 패턴에 해당하므로 행위적 패턴에 속하지 않는다.

문제 9
UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?    
1희소성
2유연성
3직관성
4멀티운용성
정답 및 해설

UI 설계 원칙 중 직관성은 사용자가 별도의 학습 없이도 누구나 쉽게 이해하고 사용할 수 있도록 인터페이스를 설계해야 한다는 원칙이다.

문제 10
코드의 기본 기능으로 거리가 먼 것은?     
1복잡성
2표준화
3분류
4식별
정답 및 해설

코드의 기본 기능에는 대상을 유일하게 구분하는 식별, 유사 항목끼리 묶는 분류, 일관된 기준을 정하는 표준화 등이 있다.
복잡성은 코드 설계에서 오히려 지양해야 할 요소이지 코드가 갖춰야 할 기본 기능이 아니다.

문제 11
다음 ( ) 안에 들어갈 내용으로 옳은 것은?          
1협약(Contract)
2프로토콜(Protocol)
3패턴(Pattern)
4관계(Relation)
정답 및 해설

컴포넌트 설계에서 "( )에 의한 설계"를 따를 경우 오퍼레이션 사용 전에 참이어야 할 선행조건(precondition), 사용 후 만족되어야 할 결과조건(postcondition), 실행되는 동안 항상 만족되어야 할 불변조건(invariant)을 명세에 포함시켜야 하는데, 이러한 기법을 협약(Contract)에 의한 설계(Design by Contract)라고 한다. 협약은 컴포넌트 제공자와 사용자 간에 지켜야 할 규약을 정의하는 것이므로 프로토콜·패턴·관계와는 구분된다.

문제 12
UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?     
1유스케이스 다이어그램(Use Case Diagram)
2시퀀스 다이어그램(Sequence Diagram)
3활동 다이어그램(Activity Diagram)
4배치 다이어그램(Deployment Diagram)
정답 및 해설

UML의 행위(Behavioral) 다이어그램에는 유스케이스·시퀀스·활동·상태·커뮤니케이션 다이어그램 등이 속하며, 시스템의 동적인 동작을 표현한다. 반면 배치 다이어그램(Deployment Diagram)은 하드웨어 노드와 소프트웨어 컴포넌트의 물리적 배치를 나타내는 구조(Structural) 다이어그램이므로 행위 다이어그램에 해당하지 않는다.

문제 13
객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?     
1트랜지션
2클래스
3시퀀스
4서브루틴
정답 및 해설

클래스는 공통된 속성과 오퍼레이션(행위)을 가지는 유사한 객체들을 하나의 틀로 묶어 추상화한 것으로, 객체를 생성하는 템플릿 역할을 한다. 트랜지션·시퀀스·서브루틴은 유사한 객체들을 묶어 공통 특성을 표현하는 개념이 아니므로 클래스와 다르다.

문제 14
아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?          
1추상화 관계
2의존 관계
3일반화 관계
4그룹 관계
정답 및 해설

제시된 UML 모델에서 버스·트럭·택시가 속이 빈 삼각형 화살표로 '차' 클래스를 향하는 것은, 하위 클래스가 상위 클래스의 속성과 오퍼레이션을 물려받는 일반화(Generalization) 관계, 즉 상속(is-a)을 나타내는 UML 표준 표기법이다. 따라서 이 구조는 추상화·의존·그룹 관계가 아니라 일반화 관계에 해당한다.

문제 15
객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?     
1개발자이름
2문제 및 배경
3사례
4샘플코드
정답 및 해설

GoF 디자인 패턴을 구성하는 요소는 패턴 이름, 문제 및 배경(의도), 해결책, 사례(결과·효과), 샘플코드 등이며, 이는 패턴을 재사용 가능하도록 문서화하기 위한 항목이다. 패턴을 처음 고안한 개발자 이름은 패턴 자체의 구성요소가 아니므로 가장 거리가 멀다.

문제 16
자료 사전에서 자료의 반복을 의미하는 것은?     
1=
2( )
3{ }
4[ ]
정답 및 해설

자료 사전(Data Dictionary) 표기법에서 { }는 자료의 반복(Iteration)을 의미하며, =는 정의(자료의 구성), ( )는 생략 가능한 선택 항목, [ ]는 여러 대안 중 하나를 택하는 선택을 나타낸다. 따라서 반복을 표현하는 기호는 { }이다.

문제 17
객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?     
1ISP(Interface Segregation Principle)
2DIP(Dependency Inversion Principle)
3LSP(Liskov Substitution Principle)
4SRP(Single Responsibility Principle)
정답 및 해설

리스코프 치환 원칙(LSP, Liskov Substitution Principle)은 상위 타입(기반 클래스)의 객체가 사용되는 자리에 하위 타입(서브타입)의 객체로 교체해도 프로그램의 동작이 정상적으로 유지되어야 한다는 객체지향 설계 원칙이다. ISP는 인터페이스 분리, DIP는 의존성 역전, SRP는 단일 책임 원칙을 의미하므로 서브타입 치환과는 직접 관련이 없다.

문제 18
자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은?     
1process, data flow, data store, comment
2process, data flow, data store, terminator
3data flow, data store, terminator, data dictionary
4process, data store, terminator, mini-spec
정답 및 해설

자료흐름도(DFD)의 기본 구성요소는 처리(process), 자료 흐름(data flow), 자료 저장소(data store), 시스템과 데이터를 주고받는 외부 개체인 단말(terminator)의 네 가지이다. comment·data dictionary·mini-spec은 DFD를 보완하는 별도 명세 도구일 뿐 DFD 자체의 구성요소는 아니다.

문제 19
CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은?     
1소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
2표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
3작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
42000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
정답 및 해설

CASE 도구는 소프트웨어 개발 과정의 일부 또는 전체를 자동화하고 표준화된 개발 환경과 문서 자동화를 지원하며, 작업 결과 공유를 통해 작업자 간 커뮤니케이션을 증대시키는 도구이다. 그러나 CASE 도구는 이미 그 이전부터 폭포수·구조적 방법론 등 다양한 개발 방식에 폭넓게 활용되어 왔으므로, 2000년대 이후 소개되어 객체지향 시스템에 한해서만 효과적이라는 설명은 옳지 않다.

문제 20
인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?     
1리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
2동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
3인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
4CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견
정답 및 해설

인터페이스 요구사항 검토 방법 중 동료검토(Peer Review)는 요구사항 명세서 작성자가 검토 회의에서 명세서 내용을 직접 설명하고 이해관계자들이 이를 들으면서 결함을 찾아내는 방식이다. 이와 달리 인스펙션은 작성자 외의 전문 검토 그룹이 명세서를 정밀히 조사해 결함·표준 위배를 찾는 공식 절차이며, 검토 자료를 사전 배포한 후 짧게 회의하는 방식은 워크스루에 해당하므로 나머지 보기는 검토 기법 명칭과 설명이 서로 맞지 않는다.

문제 21
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?     
1IPSec
2SSL
3SMTP
4S-HTTP
정답 및 해설

IPSec·SSL·S-HTTP는 네트워크 구간의 데이터를 암호화하거나 인증하는 보안 프로토콜이다. 반면 SMTP는 전자메일을 전송하기 위한 프로토콜일 뿐 자체적인 보안 기능을 제공하지 않으므로 인터페이스 보안 솔루션과 거리가 멀다.

문제 22
소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?     
1품질 높은 소프트웨어 상품 개발
2지속적인 검증 시행
3결과에 대한 명확한 기록 유지
4최대한 많은 인력 투입
정답 및 해설

소프트웨어 공학은 품질 높은 결과물 개발, 지속적인 검증, 산출물의 명확한 기록 관리를 기본 원칙으로 삼는다. 이미 지연된 프로젝트에 인력을 추가하면 의사소통 비용 증가로 오히려 일정이 더 지연된다는 브룩스의 법칙에 비추어, "최대한 많은 인력 투입"은 소프트웨어 공학의 기본 원칙으로 볼 수 없다.

문제 23
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?     
1ISO/IEC 2196
2IEEE 19554
3ISO/IEC 12119
4ISO/IEC 14959
정답 및 해설

패키지 소프트웨어의 일반적인 품질 요구사항 및 테스트 방법을 규정한 국제 표준은 ISO/IEC 12119이다. 나머지 보기는 실제 존재하는 표준 번호와 일치하지 않는다.

문제 24
다음 중 클린 코드 작성원칙으로 거리가 먼 것은?     
1누구든지 쉽게 이해하는 코드 작성
2중복이 최대화된 코드 작성
3다른 모듈에 미치는 영향 최소화
4단순, 명료한 코드 작성
정답 및 해설

클린 코드는 누구나 쉽게 이해할 수 있도록 단순·명료하게 작성하고, 다른 모듈에 미치는 영향을 최소화하며, 중복을 최소화하는 것을 원칙으로 한다. "중복이 최대화된 코드 작성"은 유지보수성을 해치므로 클린 코드 원칙과 정반대된다.

문제 25
블랙박스 테스트의 유형으로 틀린 것은?     
1경계값 분석
2오류 예측
3동등 분할 기법
4조건, 루프 검사
정답 및 해설

블랙박스 테스트는 내부 로직을 보지 않고 입출력만으로 검증하는 기법으로 동등 분할, 경계값 분석, 오류 예측 등이 해당한다. 반면 조건·루프 검사는 프로그램 내부의 제어 흐름을 분석하는 화이트박스 테스트 기법이므로 블랙박스 테스트 유형이 아니다.

문제 26
제어흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가?          
13
24
35
46
정답 및 해설

McCabe의 순환복잡도는 V(G)=EN+2V(G) = E - N + 2(E: 간선 수, N: 노드 수)로 구한다. 제시된 그래프는 노드 4개(a·b·c·d)와 간선 6개(a→b, a→c, a→d, b→c, d→c, c→d)로 구성되어 V(G)=64+2=4V(G) = 6 - 4 + 2 = 4가 된다.

문제 27
다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?          
114, 17, 37, 40, 35
214, 37, 17, 40, 35
317, 14, 37, 35, 40
414, 17, 35, 40, 37
정답 및 해설

선택 정렬은 매 회전마다 남은 구간에서 최솟값을 찾아 맨 앞 요소와 교환한다. 초기값 37, 14, 17, 40, 35에서 1회전 후 14, 37, 17, 40, 35, 2회전 후 14, 17, 37, 40, 35가 되고, 3회전에서는 남은 구간(37, 40, 35)의 최솟값 35를 37과 교환해 14, 17, 35, 40, 37이 된다.

문제 28
형상 관리 도구의 주요 기능으로 거리가 먼 것은?     
1정규화(Normalization)
2체크인(Check-in)
3체크아웃(Check-out)
4커밋(commit)
정답 및 해설

형상 관리 도구는 체크인·체크아웃·커밋·버전 추적 등 소스 버전을 저장·관리하는 기능을 제공한다. 정규화(Normalization)는 데이터베이스 설계에서 중복을 제거하는 개념으로 형상 관리 도구의 기능과는 무관하다.

문제 29
다음 트리를 Preorder 운행법으로 운행할 경우 가장 먼저 탐색되는 것은?          
1A
2B
3D
4G
정답 및 해설

Preorder(전위 순회)는 루트 → 왼쪽 서브트리 → 오른쪽 서브트리 순으로 방문한다. 제시된 트리에서 A가 루트이므로 서브트리를 순회하기 전에 가장 먼저 A가 탐색된다.

문제 30
소프트웨어 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도를 나타내는 것은?     
1직관성
2사용 용이성
3신뢰성
4이식성
정답 및 해설

소프트웨어 품질 목표 중 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도신뢰성(Reliability)의 정의 그대로이다. 사용 용이성은 사용자가 쉽게 다루는 정도, 이식성은 다른 환경으로 옮겨 쓸 수 있는 정도를 뜻해 이 정의와 다르다.

문제 31
알고리즘 설계 기법으로 거리가 먼 것은?     
1Divide and Conquer
2Greedy
3Static Block
4Backtracking
정답 및 해설

Static Block은 프로그래밍 언어의 초기화 구문 개념일 뿐 알고리즘 설계 기법이 아니다.
분할정복(Divide and Conquer)·탐욕법(Greedy)·백트래킹(Backtracking)은 대표적인 알고리즘 설계 기법이다.

문제 32
제품 소프트웨어의 형상 관리 역할로 틀린 것은?     
1형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
2불필요한 사용자의 소스 수정 제한
3프로젝트 개발비용을 효율적으로 관리
4동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
정답 및 해설

형상 관리(Configuration Management)는 소스코드의 버전·이력 관리와 접근 통제를 통해 배포본 관리와 동시 개발을 지원하는 활동이다.
이전 리비전 정보 접근, 불필요한 수정 제한, 여러 개발자의 동시 개발 지원은 형상 관리의 핵심 역할이지만, 프로젝트 개발비용의 효율적 관리는 원가·일정 관리 영역이지 형상 관리의 역할이 아니다.

문제 33
제품 소프트웨어 패키징 도구 활용 시 고려사항이 아닌 것은?     
1제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 고려한다.
2추가로 다양한 이기종 연동을 고려한다.
3사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
4내부 콘텐츠에 대한 보안은 고려하지 않는다.
정답 및 해설

제품 소프트웨어 패키징 도구는 내부 콘텐츠에 대한 보안을 반드시 고려해야 한다.
암호화 알고리즘 선정, 다양한 이기종 환경과의 연동, 사용자 편의를 위한 복잡성·비효율성 완화는 모두 실제 고려사항이지만, 보안을 고려하지 않는다는 것은 패키징 도구의 목적에 반하므로 옳지 않은 진술이다.

문제 34
디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?     
1콘텐츠 암호화 및 키 관리
2콘텐츠 식별체계 표현
3콘텐츠 오류 감지 및 복구
4라이센스 발급 및 관리
정답 및 해설

DRM(디지털 저작권 관리)의 핵심 기술 요소는 콘텐츠 암호화·키 관리, 식별체계(메타데이터) 표현, 라이선스 발급·관리 등이다.
콘텐츠 오류 감지 및 복구는 데이터 무결성·복구 기술 영역으로, 저작권 보호나 접근 통제와 무관하여 DRM의 구성 요소에 해당하지 않는다.

문제 35
물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?     
1범위분할(Range Partitioning)
2해시분할(Hash Partitioning)
3조합분할(Composite Partitioning)
4유닛분할(Unit Partitioning)
정답 및 해설

물리 데이터 저장소의 파티셔닝 유형은 범위분할(Range)·해시분할(Hash)·조합분할(Composite)·목록분할(List) 등으로 구분된다.
유닛분할(Unit Partitioning)은 실제 존재하지 않는 파티션 유형이다.

문제 36
다음이 설명하는 애플리케이션 통합 테스트 유형은?          
1하향식 통합 테스트
2상향식 통합 테스트
3회귀 테스트
4빅뱅 테스트
정답 및 해설

하향식 통합 테스트는 상위(제어) 모듈부터 시작하여 하위 모듈을 순차적으로 결합해 가며 검증하는 방식으로, 아직 개발되지 않은 하위 모듈은 스텁(Stub)으로 대체한다.
주요 제어 흐름과 상위 인터페이스 오류를 개발 초기에 발견할 수 있다는 점이 이 방식의 특징이다.

문제 37
인터페이스 구현시 사용하는 기술 중 다음 내용이 설명하는 것은?          
1Procedure
2Trigger
3Greedy
4AJAX
정답 및 해설

AJAX(Asynchronous JavaScript and XML)는 웹페이지 전체를 다시 불러오지 않고 자바스크립트와 XMLHttpRequest(또는 fetch)로 서버와 비동기적으로 데이터를 주고받는 인터페이스 구현 기술이다.
Procedure·Trigger는 데이터베이스 내부에서 실행되는 객체이고 Greedy는 알고리즘 설계 기법이므로 인터페이스 구현 기술과는 거리가 멀다.

문제 38
소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?     
1위험부담 감소
2비용 절감
3시스템 명세의 오류억제
4개발시간의 증가
정답 및 해설

소프트웨어 재공학은 기존 시스템을 재구성·재문서화하여 재사용함으로써 재개발 대비 위험부담 감소, 비용 절감, 시스템 명세의 오류 억제 및 개발 시간 단축 효과를 가져온다.
따라서 개발시간의 증가는 재공학의 장점이 아니라 오히려 재공학을 통해 줄이고자 하는 문제에 해당한다.

문제 39
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?     
1단위 테스트
2인수 테스트
3통합 테스트
4시스템 테스트
정답 및 해설

인수 테스트(Acceptance Test)는 실제 사용자·고객이 개발된 소프트웨어가 요구사항을 충족하는지 검증하는 단계로, 개발사 내부 인력이 통제된 환경에서 수행하는 알파 테스트와 사용자 환경에서 실제 사용자가 수행하는 베타 테스트가 대표적인 하위 유형이다.
단위·통합·시스템 테스트는 개발자 관점의 테스트 레벨로 알파·베타 테스트와 직접적인 연관이 없다.

문제 40
다음 트리의 차수(degree)는?          
12
23
34
45
정답 및 해설

트리의 차수(degree)는 트리를 구성하는 모든 노드 중 자식 노드 수가 가장 많은 노드의 자식 개수로 정의된다.
주어진 트리에서 자식을 가장 많이 가진 노드의 자식 수가 3이므로 이 트리의 차수는 3이다.

문제 41
릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?     
1제 1 정규형
2제 2 정규형
3보이스/코드 정규형
4제 4 정규형
정답 및 해설

보이스/코드 정규형(BCNF)은 릴레이션의 모든 결정자(determinant)후보키인 정규형으로 정의된다.
이는 제3정규형보다 강화된 조건으로, 후보키가 아닌 결정자로 인해 발생하는 이상현상까지 제거한다.

문제 42
다음 관계형 데이터 모델에 대한 설명으로 옳은 것은?          
1relation 3개, attribute 3개, tuple 5개
2relation 3개, attribute 5개, tuple 3개
3relation 1개, attribute 5개, tuple 3개
4relation 1개, attribute 3개, tuple 5개
정답 및 해설

주어진 표는 고객ID·고객이름·거주도시 3개의 속성(attribute)을 갖는 릴레이션 1개이며, S1~S5 5개의 행(tuple)으로 구성된다.
따라서 relation 1개, attribute 3개, tuple 5개가 옳다.

문제 43
Commit과 Rollback 명령어에 의해 보장 받는 트랜잭션의 특성은?     
1병행성
2보안성
3원자성
4로그
정답 및 해설

COMMITROLLBACK은 트랜잭션의 연산을 데이터베이스에 전부 반영하거나 전혀 반영하지 않도록 하는 원자성(Atomicity)을 보장하는 명령어다.
트랜잭션은 ACID(원자성·일관성·고립성·지속성) 특성을 만족해야 하며, COMMIT은 성공적 완료를 확정하고 ROLLBACK은 실패 시 이전 상태로 되돌린다.

문제 44
관계 데이터베이스인 테이블 R1에 대한 아래 SQL 문의 실행결과로 옳은 것은?          
1
2
3
4
정답 및 해설

SELECT DISTINCT 학년 FROM R1;은 R1의 학년 컬럼 값(1,1,2,2,3)에서 중복을 제거해 1·2·3 세 개의 값만 남긴다.
따라서 학년 컬럼 하나에 1, 2, 3 세 개의 행이 출력되는 결과가 옳다.

문제 45
DCL(Data Control Language) 명령어가 아닌 것은?     
1COMMIT
2ROLLBACK
3GRANT
4SELECT
정답 및 해설

DCL(Data Control Language)은 데이터베이스 접근 권한과 트랜잭션을 제어하는 언어로 GRANT·REVOKE·COMMIT·ROLLBACK이 이에 속한다.
반면 SELECT는 데이터를 조회하는 DML(Data Manipulation Language) 명령어이므로 DCL이 아니다.

문제 46
병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?     
1로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
2데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
3로킹의 단위가 작아지면 로킹 오버헤드가 증가한다.
4로킹의 단위가 커지면 데이터베이스 공유도가 증가한다.
정답 및 해설

로킹 단위가 커지면 관리할 잠금 수가 줄어 오버헤드는 감소하지만, 하나의 잠금이 더 넓은 범위를 독점하게 되어 여러 트랜잭션이 동시에 접근할 수 있는 병행성(공유도)은 오히려 감소한다.
따라서 로킹 단위가 커지면 데이터베이스 공유도가 증가한다는 설명은 옳지 않다.

문제 47
관계 데이터모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null)값이 아닌 원자 값을 갖는 성질은?     
1개체 무결성
2참조 무결성
3도메인 무결성
4튜플의 유일성
정답 및 해설

개체 무결성(Entity Integrity)은 기본키를 구성하는 속성 값이 널(Null)이 아닌 원자값을 가져야 한다는 제약이다.
이는 각 튜플을 유일하게 식별하기 위한 기본키의 필수 조건이다.

문제 48
뷰(View)의 장점이 아닌 것은?     
1뷰 자체로 인덱스를 가짐
2데이터 보안 용이
3논리적 독립성 제공
4사용자 데이터 관리 용이
정답 및 해설

뷰(View)는 실제 데이터를 저장하지 않는 가상 테이블이므로 자체적인 인덱스를 가질 수 없다.
데이터 보안·논리적 독립성·사용자 데이터 관리 용이성은 뷰의 실제 장점이지만, 인덱스 보유는 뷰의 특성상 불가능하다.

문제 49
분산 데이터베이스의 투명성(Transparency)에 해당 하지 않는 것은?     
1Location Transparency
2Replication Transparency
3Failure Transparency
4Media Access Transparency
정답 및 해설

분산 데이터베이스의 투명성에는 위치 투명성(Location)·중복 투명성(Replication)·장애 투명성(Failure)·병행 투명성·단편화 투명성 등이 있다.
Media Access Transparency는 이러한 분산 데이터베이스 투명성 유형에 해당하지 않는다.

문제 50
정규화의 목적으로 옳지 않은 것은?     
1어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
2데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다.
3중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다.
4효과적인 검색 알고리즘을 생성할 수 있다.
정답 및 해설

정규화는 함수적 종속성을 분석해 릴레이션을 분해함으로써 삽입·삭제·갱신 이상을 방지하는 것이 목적이다.
'중복을 배제하여 이상현상의 발생을 야기한다'는 설명은 정규화의 효과를 반대로 서술한 것이므로 옳지 않다.

문제 51
다음에 해당하는 함수 종속의 추론 규칙은?          
1분해 규칙
2이행 규칙
3반사 규칙
4결합 규칙
정답 및 해설

이행 규칙(Transitivity Rule)은 함수 종속 X→Y, Y→Z가 성립하면 X→Z도 성립한다는 Armstrong 공리의 추론 규칙이다. 분해 규칙·결합 규칙은 함수 종속의 속성 집합을 나누거나 합치는 규칙이고, 반사 규칙은 Y가 X의 부분집합일 때 X→Y가 성립한다는 규칙으로 이와 구분된다.

문제 52
다음 R과 S 두 릴레이션에 대한 Division 연산의 수행 결과는?          
1
2
3
4
정답 및 해설

Division 연산 R ÷ S는 R의 속성 중 S에 없는 속성으로 구성된 튜플 중에서, S의 모든 튜플과 매칭되는 것을 결과로 반환한다. 주어진 이미지에서 R은 (A, B) 속성을, S는 B 속성만 가지므로, 결과는 A 속성으로만 구성되며 S의 모든 B 값(b1, b2)과 쌍을 이루는 A 값을 찾아야 한다. R을 분석하면 A=a1일 때 (a1, b1), (a1, b2)가 모두 존재하고, A=a2일 때는 (a2, b1)만 존재하므로 a2는 b2와의 쌍이 없어 제외된다. 따라서 정답은 A=a1만 포함하는 보기 4번이다.

문제 53
player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?          
1(1)
2(2)
3(3)
4(4)
정답 및 해설

이미지의 SQL문을 확인하면, (1)~(4) 위치에서 문법 오류를 찾아야 한다. 일반적인 SQL 문법에서 GROUP BY 절을 사용할 때 SELECT 목록에는 그룹화 기준 컬럼 또는 집계함수만 포함되어야 한다. (4) 위치의 height 컬럼은 GROUP BY 절에 포함되지 않으면서 집계함수로도 감싸지지 않아 문법 오류가 발생한다. 이는 대부분의 DBMS(MySQL 엄격 모드, Oracle, SQL Server 등)에서 "non-aggregated column not in GROUP BY clause" 오류를 일으킨다.

문제 54
데이터베이스 로그(log)를 필요로 하는 회복 기법은?     
1즉각 갱신 기법
2대수적 코딩 방법
3타임 스탬프 기법
4폴딩 기법
정답 및 해설

즉각 갱신 기법(Immediate Update)은 트랜잭션 실행 도중에도 변경 내용을 즉시 데이터베이스에 반영하는 회복 기법이므로, 장애 발생 시 갱신 전·후 값을 이용해 REDO/UNDO를 수행할 수 있도록 로그(log)를 반드시 유지해야 한다.

문제 55
DML(Data Manipulation Language) 명령어가 아닌 것은?     
1INSERT
2UPDATE
3ALTER
4DELETE
정답 및 해설

DML(데이터 조작어)은 데이터를 검색·삽입·수정·삭제하는 명령어로 SELECT·INSERT·UPDATE·DELETE가 해당한다. ALTER는 테이블 등 객체의 구조를 변경하는 DDL(데이터 정의어) 명령어이므로 DML이 아니다.

문제 56
다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?          
1제1정규형
2제2정규형
3제3정규형
4제4정규형
정답 및 해설

제1정규형(1NF)은 릴레이션의 모든 속성이 더 이상 분해할 수 없는 원자값만 갖도록 만드는 정규화 단계로, 하나의 속성에 여러 값이 반복 저장된(반복 그룹) 릴레이션을 각 값이 하나의 튜플에 하나씩만 대응하도록 분해하는 작업이 이에 해당한다.

문제 57
관계대수의 순수관계 연산자가 아닌 것은?     
1Select
2Cartesian Product
3Division
4Project
정답 및 해설

관계대수의 순수 관계 연산자는 Select·Project·Join·Division이다. Cartesian Product는 Union·Intersection·Difference와 함께 일반 집합 이론에서 차용한 일반 집합 연산자에 속하므로 순수 관계 연산자가 아니다.

문제 58
다음 중 SQL의 집계 함수(aggregation function)가 아닌 것은?     
1AVG
2COUNT
3SUM
4CREATE
정답 및 해설

SQL의 집계 함수는 그룹 단위로 값을 계산하는 함수로 AVG·COUNT·SUM·MAX·MIN 등이 있다. CREATE는 테이블 등의 객체를 생성하는 DDL 명령어이므로 집계 함수가 아니다.

문제 59
릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?     
1normalization
2rollback
3cardinality
4anomaly
정답 및 해설

anomaly(이상현상)는 데이터 중복으로 인해 삽입·삭제·갱신 연산 시 예기치 않게 발생하는 데이터 불일치 문제를 말하며, 이를 제거하기 위한 과정이 정규화(normalization)이다.

문제 60
릴레이션에 대한 설명으로 거리가 먼 것은?     
1튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
2한 릴레이션에 포함된 튜플들은 모두 상이하다.
3애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다.
4한 릴레이션에 포함된 튜플 사이에는 순서가 있다.
정답 및 해설

릴레이션은 수학적으로 튜플의 집합(set)으로 정의되므로 튜플 사이에는 순서가 존재하지 않는다. 따라서 '튜플 사이에는 순서가 있다'는 설명은 릴레이션의 특성과 거리가 멀다.

문제 61
다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?          
1int i = 7, j = 9;int k;k = (i>j)?(i – j):(i + j);
2int i = 7, j = 9;int k;k = (i<j)?(i – j):(i + j);
3int i = 7, j = 9;int k;k = (i>j)?(i + j):(i - j);
4int i = 7, j = 9;int k;k = (i<j)?(i + j):(i - j);
정답 및 해설

주어진 if~else 문은 i가 j보다 클 때 i-j, 그렇지 않으면 i+j를 k에 대입하는 구조이므로, 삼항 조건 연산자는 condition ? 참_표현식 : 거짓_표현식 문법에 따라 (i>j)?(i – j):(i + j)로 옮겨 적어야 한다. if문의 조건식과 참·거짓 분기의 계산식 순서를 그대로 대응시키면 조건과 두 분기 값이 모두 일치하는 보기만 정답이 된다.

문제 62
다음 내용이 설명하는 소프트웨어 취약점은?          
1FTP 바운스 공격
2SQL 삽입
3버퍼 오버플로
4디렉토리 접근 공격
정답 및 해설

공격자가 할당된 버퍼(메모리 영역)의 크기를 초과하는 데이터를 입력하여 인접한 메모리 영역까지 덮어쓰게 만드는 취약점을 버퍼 오버플로라 한다. 이로 인해 프로그램의 리턴 주소나 실행 흐름이 조작되어 임의 코드 실행이나 프로그램 오동작으로 이어질 수 있다. SQL 삽입은 데이터베이스 질의문 조작을, 디렉토리 접근 공격은 상위 경로 이동을 통한 파일 노출을 노리는 공격으로 이 취약점과는 성격이 다르다.

문제 63
다음 중 bash 쉘 스크립트에서 사용할 수 있는 제어문이 아닌 것은?     
1if
2for
3repeat_do
4while
정답 및 해설

bash 쉘은 if, for, while, until, case 등의 제어문을 제공하지만 repeat_do라는 키워드는 존재하지 않는다. if는 조건 분기, for와 while은 반복 제어에 사용되는 실제 bash 문법이므로 나머지 세 보기는 정상적인 제어문이다.

문제 64
IPv6에 대한 설명으로 틀린 것은?     
132비트의 주소체계를 사용한다.
2멀티미디어의 실시간 처리가 가능하다.
3IPv4보다 보안성이 강화되었다.
4자동으로 네트워크 환경구성이 가능하다.
정답 및 해설

IPv6은 주소 고갈 문제를 해결하기 위해 기존 IPv4의 32비트 체계를 확장한 128비트 주소체계를 사용하므로, "32비트의 주소체계를 사용한다"는 설명은 틀리다. IPv6은 IPSec을 기본 내장하여 보안성이 강화되었고, 실시간 멀티미디어 처리와 자동 네트워크 환경 구성(Plug and Play) 기능도 지원한다.

문제 65
효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?     
1모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
2복잡도와 중복성을 줄이고 일관성을 유지시킨다.
3모듈의 기능은 예측이 가능해야 하며 지나치게 제한적 이여야 한다.
4유지보수가 용이해야 한다.
정답 및 해설

모듈은 기능이 예측 가능해야 하지만 지나치게 제한적이어서는 안 되며, 여러 상황에 유연하게 대응할 수 있을 정도의 일반성을 가져야 한다. 결합도를 낮추고 복잡도·중복성을 줄이며 일관성과 유지보수성을 높이는 것은 효과적인 모듈 설계의 원칙이지만, 기능을 과도하게 제한하는 것은 이 원칙과 거리가 멀다.

문제 66
HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?          
1A→B→C→D
2A→C→B→D
3D→B→C→A
4D→A→B→C
정답 및 해설

HRN(Highest Response Ratio Next) 스케줄링은 응답비율(Response Ratio) = (대기시간 + 서비스시간) / 서비스시간이 높은 작업부터 처리하는 방식이다. 이미지의 작업 정보에서 각 작업의 응답비율을 계산하면, 시간 0에서 D의 응답비율이 가장 높아 D를 먼저 처리한다. D 처리 후(예: t=3) 남은 작업들 중 그때의 대기시간을 반영하여 다시 응답비율을 계산하면 B, C, A 순서로 처리되어 D→B→C→A 순서가 된다.

문제 67
운영체제에 대한 설명으로 거리가 먼 것은?     
1다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
2CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.
3운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
4입출력 장치와 사용자 프로그램을 제어한다.
정답 및 해설

매크로 프로세서, 어셈블러, 컴파일러는 언어 번역 프로그램(언어 처리기)에 해당하며, 운영체제가 아니라 운영체제 위에서 동작하는 시스템 소프트웨어이다. 운영체제는 CPU·메모리·입출력 장치 등 자원을 관리하고 다중 사용자·다중 프로그램 환경에서 스케줄링과 자원 분배를 담당하는 소프트웨어(Windows, Unix, Linux 등)를 가리킨다.

문제 68
배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?     
1자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
2안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
3대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
4무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
정답 및 해설

배치 프로그램에서 주어진 시간 내 처리를 완료하고 동시에 동작하는 다른 애플리케이션을 방해하지 않아야 한다는 것은 성능(Performance)에 대한 설명이며, 무결성(Integrity)과는 관련이 없다. 자동화(오류 상황 외 사용자 개입 없이 동작), 문제 발생 시점·원인 추적, 대용량 데이터 처리 능력은 배치 프로그램의 필수 요소를 올바르게 설명한 것이다.

문제 69
TCP 프로토콜에 대한 설명으로 거리가 먼 것은?     
1신뢰성이 있는 연결 지향형 전달 서비스이다.
2기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.
3스트림 전송 기능을 제공한다.
4순서제어, 오류제어, 흐름제어 기능을 제공한다.
정답 및 해설

TCP 헤더의 기본 크기는 20byte이며 옵션을 포함해 최대 60byte까지 확장 가능하므로, "기본 헤더 크기 100byte, 확장 시 160byte"라는 설명은 사실과 다르다. TCP는 신뢰성 있는 연결 지향형 프로토콜로 순서제어·오류제어·흐름제어와 스트림 전송 기능을 제공한다.

문제 70
다음이 설명하는 응집도의 유형은?          
1기능적 응집도
2우연적 응집도
3논리적 응집도
4절차적 응집도
정답 및 해설

모듈 안의 구성 요소들이 서로 다른 기능을 수행하면서도 정해진 실행 순서(절차)에 따라 차례로 수행되도록 묶여 있을 때를 절차적 응집도라 한다. 하나의 단일 기능만 수행하는 기능적 응집도와 달리 요소들을 묶는 근거가 처리 순서뿐이므로 응집도 자체는 기능적 응집도보다 낮으며, 성격이 유사한 기능을 모아 매개변수로 골라 실행하는 논리적 응집도나 아무런 관련 없이 모인 우연적 응집도보다는 높다.

문제 71
OSI-7Layer에서 링크의 설정과 유지 및 종료를 담당하며, 노드간의 오류제어와 흐름제어 기능을 수행하는 계층은?     
1데이터링크 계층
2물리 계층
3세션 계층
4응용 계층
정답 및 해설

데이터링크 계층은 인접 노드 간 링크의 설정·유지·종료를 담당하며 프레임 단위의 오류제어·흐름제어 기능을 수행한다. 물리 계층은 비트 신호 전송만 담당하고, 세션 계층은 응용 프로세스 간 대화(세션) 관리를, 응용 계층은 사용자와 직접 상호작용하는 서비스를 제공하므로 해당하지 않는다.

문제 72
다음 중 가장 결합도가 강한 것은?     
1data coupling
2stamp coupling
3common coupling
4control coupling
정답 및 해설

결합도는 자료결합 < 스탬프결합 < 제어결합 < 외부결합 < 공통결합 < 내용결합 순으로 강해진다. 보기 중에서는 전역변수를 공유하는 공통결합(common coupling)이 가장 강한 결합도를 가지며, 자료결합(data coupling)이 가장 약하고 제어결합(control coupling)은 공통결합보다 약하다.

문제 73
메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?          
1NO.2
2NO.3
3NO.4
4NO.5
정답 및 해설

Worst fit 방법은 가장 큰 여유 공간에 프로그램을 할당하는 기법이다. 이미지의 메모리 맵에서 각 여유 공간을 확인하면 NO.2는 5K, NO.3은 8K, NO.4는 6K, NO.5는 12K이다. 10K 크기의 프로그램을 할당하기 위해서는 최소한 10K 이상의 여유 공간이 필요하므로 12K인 NO.5만 가능하며, Worst fit은 이 가장 큰 공간에 할당하므로 NO.5에 배치된다.

문제 74
200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 Subnet으로 나누고 ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?     
1200.1.1.159
2201.1.5.175
3202.1.11.254
4203.1.255.245
정답 및 해설

10개의 서브넷이 필요하므로 24=16102^4=16 \geq 10인 4비트를 서브넷 비트로 사용해 /24/24/28/28(블록 크기 16)로 나눈다. ip subnet-zero를 적용하면 첫 서브넷(200.1.1.0/28)부터 순서대로 사용하므로 10번째 네트워크는 200.1.1.0에서 16씩 9번 더한 200.1.1.144/28이고, 그 범위는 200.1.1.144~200.1.1.159이므로 브로드캐스트 주소는 200.1.1.159이다.

문제 75
다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서 ㉠에 들어갈 내용은?          
1string[1:3] + string[-3:]
2string[:3] + string[-3:-1]
3string[0:3] + string[-3:]
4string[0:] + string[:-1]
정답 및 해설

문자열의 처음 3글자는 string[0:3], 끝 3글자는 string[-3:]로 슬라이싱하며 두 결과를 +로 이어붙이면 처음·끝 3글자가 합쳐진 문자열이 만들어진다. string[1:3]은 두 번째~세 번째 글자만 뽑아 첫 글자를 빠뜨리고, string[-3:-1]은 마지막 직전 글자까지만 잘라 마지막 글자가 빠지므로 요구 조건을 만족하지 못한다.

문제 76
파이썬의 변수 작성 규칙 설명으로 옳지 않은 것은?     
1첫 자리에 숫자를 사용할 수 없다.
2영문 대문자/소문자, 숫자, 밑줄(_)의 사용이 가능하다.
3변수 이름의 중간에 공백을 사용할 수 있다.
4이미 사용되고 있는 예약어는 사용할 수 없다.
정답 및 해설

파이썬 변수(식별자) 이름은 영문 대·소문자, 숫자, 밑줄(_)로만 구성되며 공백을 포함할 수 없다. 첫 글자에 숫자를 사용할 수 없고 예약어를 변수명으로 쓸 수 없다는 설명은 모두 옳으므로, "변수 이름 중간에 공백을 사용할 수 있다"는 설명이 틀린 것이다.

문제 77
어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?     
1data coupling
2stamp coupling
3control coupling
4common coupling
정답 및 해설

제어신호(플래그)로 다른 모듈의 내부 논리 흐름을 제어하도록 통신하는 것은 제어결합(control coupling)의 정의이다. 특히 하위 모듈이 상위 모듈에게 제어신호를 보내 처리를 지시하는 경우 호출 관계상 권한이 뒤바뀌는 권리전도현상이 나타나는데, 이는 제어결합에서 발생하는 대표적 문제로 설명된다.

문제 78

다음 C 프로그램의 결과 값은?

main(void) {
int i;
int sum = 0;
for(i =1; i<=10; i=i+2)
sum = sum + i;
printf("%d", sum);
}
115
219
325
427
정답 및 해설

1부터 10까지 2씩 건너뛰며 더하는, 즉 10 이하 홀수의 합을 구하는 코드이므로 출력값은 25다.

제어변수 i는 1에서 시작해 2씩 증가하므로 1, 3, 5, 7, 9 다섯 번만 본문을 실행하고, i가 11이 되는 순간 조건 i<=10 이 거짓이 되어 반복이 끝난다.

sum = 1 + 3 + 5 + 7 + 9 = 25
반복문에 중괄호가 없어 본문은 sum = sum + i 한 문장뿐이고, 출력은 반복이 모두 끝난 뒤 한 번만 실행된다.

1부터 10까지 모두 더하면 55, 짝수만 더하면 30이 되므로, 증가폭이 2라는 점을 놓치면 값이 크게 어긋난다.

문제 79
UNIX에서 새로운 프로세스를 생성하는 명령어는?     
1ls
2cat
3fork
4chmod
정답 및 해설

UNIX/Linux에서 fork()는 호출한 프로세스를 복제하여 새로운 자식 프로세스를 생성하는 시스템 호출이다. ls는 파일 목록 조회, cat은 파일 내용 출력, chmod는 파일 권한 변경 명령으로 모두 프로세스 생성과는 무관하다.

문제 80
C언어에서 정수 자료형으로 옳은 것은?     
1int
2float
3char
4double
정답 및 해설

C언어의 자료형은 정수를 다루는 int, 문자를 다루는 char, 부동소수점 실수를 다루는 float·double로 구분되며 이 중 정수 자료형은 int이다. float와 double은 소수점을 포함한 실수를 표현하는 실수형 자료형이므로 정수 자료형에 해당하지 않는다.

문제 81
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로 실제 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?     
1최적화
2실행 시간
3디지털 트윈
4N-Screen
정답 및 해설

디지털 트윈은 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로, 실제 자산 대신 소프트웨어로 가상화하여 자산 최적화·돌발사고 최소화·생산성 증가 등 설계부터 제조·서비스까지 전 과정의 효율성을 높이는 기술이다. 물리적 실체를 컴퓨터 상에 쌍둥이처럼 복제해 시뮬레이션·예측에 활용한다는 점이 핵심이다.

문제 82
정보보안의 3대 요소에 해당하지 않는 것은?     
1기밀성
2휘발성
3무결성
4가용성
정답 및 해설

정보보안의 3대 요소는 기밀성·무결성·가용성(CIA)이며, 휘발성은 메모리(RAM) 데이터가 전원 차단 시 사라지는 물리적 특성을 가리키는 개념일 뿐 보안 요소가 아니다.

문제 83
다음 빈칸에 알맞은 기술은          
1Quantum Key Distribution
2Digital Rights Management
3Grayware
4Mashup
정답 및 해설

빈칸의 설명은 "웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술"이며, 이는 여러 웹 서비스·API의 콘텐츠를 조합해 새로운 서비스를 만드는 Mashup(매쉬업)의 정의와 일치한다. Quantum Key Distribution은 양자 키 분배, Digital Rights Management는 디지털 저작권 관리, Grayware는 유해 가능성이 있는 소프트웨어로 모두 콘텐츠 조합과는 무관하다.

문제 84
기능점수(Functional Point)모형에서 비용산정에 이용되는 요소가 아닌 것은?     
1클래스 인터페이스
2명령어(사용자 질의수)
3데이터파일
4출력보고서
정답 및 해설

기능점수(FP) 모형의 비용산정 요소는 외부입력·외부출력(출력보고서)·외부조회(명령어/사용자 질의수)·내부논리파일(데이터파일)·외부인터페이스파일의 5가지이며, 클래스 인터페이스는 객체지향 설계 개념으로 FP 산정 요소에 해당하지 않는다.

문제 85
블록 암호화 방식이 아닌 것은?     
1DES
2RC4
3AES
4SEED
정답 및 해설

DES·AES·SEED는 고정된 크기의 블록 단위로 암호화하는 블록 암호 방식이지만, RC4는 데이터를 스트림(비트/바이트 단위)으로 처리하는 스트림 암호 방식이다.

문제 86
Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?     
1SQLR/30
2SLIM
3MESH
4NFV
정답 및 해설

SLIM은 Putnam 모형(Rayleigh-Norden 곡선 기반)을 이론적 기초로 하여 만들어진 소프트웨어 비용·일정 자동 산정 도구이다.

문제 87
큰 숫자를 소인수 분해하기 어렵다는 기반 하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은?     
1DES
2ARIA
3SEED
4RSA
정답 및 해설

RSA는 큰 합성수의 소인수분해가 어렵다는 수학적 난제를 기반으로 1978년 Rivest, Shamir, Adleman이 MIT에서 제안한 대표적인 공개키(비대칭키) 암호화 알고리즘이다. DES·SEED·ARIA는 모두 대칭키 블록 암호로 소인수분해와 무관하다.

문제 88
COCOMO 모델의 프로젝트 유형으로 거리가 먼 것은?     
1Organic
2Semi-detached
3Embedded
4Sequentail
정답 및 해설

COCOMO 모델은 프로젝트 규모·복잡도에 따라 Organic(조직형)·Semi-detached(반분리형)·Embedded(내장형)의 3가지 유형으로 나뉘며, Sequentail(Sequential)은 COCOMO의 프로젝트 유형이 아니다.

문제 89
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호관례를 규명하여 일정한 패턴을 찾아내는 기법은?     
1Data Mining
2Wm-Bus
3Digital Twin
4Zigbee
정답 및 해설

Data Mining(데이터 마이닝)은 대량의 데이터를 분석하여 변수 사이의 숨겨진 상관관계와 일정한 패턴을 찾아내는 빅데이터 분석 기법이다. Zigbee와 Wm-Bus(M-Bus)는 저전력 무선 통신 프로토콜로 데이터 분석 기법과는 무관하다.

문제 90
기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술을 의미하는 것은?     
1Software Defined Perimeter
2Virtual Private Network
3Local Area Network
4Mesh Network
정답 및 해설

Mesh Network는 기존 무선 랜의 한계를 극복하기 위해 등장한 기술로, 노드들이 서로 다중 경로로 연결되어 대규모 디바이스 네트워크 구성에 최적화되어 있어 차세대 이동통신·홈네트워킹·공공안전 등 특수목적 네트워크에 활용된다.

문제 91
DDoS 공격과 연관이 있는 공격 방법은?     
1Secure shell
2Tribe Flood Network
3Nimda
4Deadlock
정답 및 해설

Tribe Flood Network(TFN)는 다수의 좀비 PC를 원격 조종하여 표적 시스템에 대량의 트래픽을 동시에 전송하는 대표적인 DDoS 공격 도구이다. Secure shell은 암호화된 원격 접속 프로토콜이고 Nimda는 웜 바이러스, Deadlock은 자원 점유로 인한 교착상태 현상으로 DDoS 공격과는 직접적인 관련이 없다.

문제 92
CPM 네트워크가 다음과 같을 때 임계경로의 소요기일은?          
110일
212일
314일
416일
정답 및 해설

CPM 네트워크에서 임계경로는 가장 긴 소요기일을 갖는 경로이다. 이미지의 네트워크 다이어그램을 읽으면 노드 간 연결과 작업 기간이 표시되어 있으며, 시작점에서 종료점까지의 모든 가능한 경로를 계산해야 한다. 주어진 네트워크에서 확인할 수 있는 주요 경로들을 비교하면: 경로 1→2→4→5(또는 유사 구성)의 누적 기간을 합산하는 방식으로 각 경로의 총 소요기일을 구한다. 네트워크의 구조상 가장 길이가 긴 경로의 총합이 14일이므로, 이것이 임계경로의 소요기일이 된다.

문제 93
RIP(Routing Information Protocol)에 대한 설명으로 틀린 것은?     
1거리 벡터 라우팅 프로토콜이라고도 한다.
2소규모 네트워크 환경에 적합하다.
3최대 홉 카운트를 115홉 이하로 한정하고 있다.
4최단경로탐색에는 Bellman-Ford 알고리즘을 사용한다.
정답 및 해설

RIP는 거리 벡터 라우팅 프로토콜로 최단경로 탐색에 Bellman-Ford 알고리즘을 사용하며 라우팅 정보가 단순해 소규모 네트워크 환경에 적합하다. 다만 최대 홉 카운트는 15홉까지만 허용하고 16홉 이상은 도달 불가(infinity)로 처리하므로, 홉 카운트 한도를 15홉이 아닌 다른 값으로 서술한 설명은 틀린 내용이다.

문제 94
소프트웨어 생명주기 모형 중 고전적 생명주기 모형으로 선형 순차적 모델이라고도 하며, 타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수의 단계를 통해 소프트웨어를 개발하는 모형은?     
1폭포수 모형
2애자일 모형
3컴포넌트 기반 방법론
46GT 모형
정답 및 해설

타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수의 단계를 순서대로 거치는 고전적 생명주기 모형은 폭포수 모형이다. 각 단계를 순차적으로 진행하며 이전 단계로 되돌아가기 어려운 선형 순차적 모델이라는 점이 특징이며, 애자일 모형처럼 반복·점증적으로 진행되지 않는다.

문제 95

소프트웨어 개발 모델 중 나선형 모델의 4가지 주요 활동이 순서대로 나열된 것은?

  • Ⓐ 계획 수립
  • Ⓑ 고객 평가
  • Ⓒ 개발 및 검증
  • Ⓓ 위험 분석
1Ⓐ-Ⓑ-Ⓓ-Ⓒ 순으로 반복
2Ⓐ-Ⓓ-Ⓒ-Ⓑ 순으로 반복
3Ⓐ-Ⓑ-Ⓒ-Ⓓ 순으로 반복
4Ⓐ-Ⓒ-Ⓑ-Ⓓ 순으로 반복
정답 및 해설

나선형(Spiral) 모델의 네 활동은 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가 순으로 한 주기를 이루므로, 기호로는 Ⓐ-Ⓓ-Ⓒ-Ⓑ 순서로 반복된다.

먼저 목표·대안·제약을 정하는 계획 수립을 거친 뒤, 대안에 숨은 위험을 식별하고 평가한다. 위험을 줄인 상태에서 프로토타입을 만들어 개발하고 검증한 다음, 그 결과를 고객이 평가한다.

고객 평가에서 나온 피드백은 곧바로 다음 주기의 계획 수립에 반영되며, 나선을 돌 때마다 시스템이 점진적으로 완성된다.

따라서 계획 수립 다음에 고객 평가나 개발 및 검증이 오는 배열은 위험 분석을 건너뛰는 셈이라 나선형 모델의 순서가 될 수 없다.

문제 96
전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?     
1합성 중심
2생성 중심
3분리 중심
4구조 중심
정답 및 해설

전자 칩과 같은 소프트웨어 부품(모듈)을 만들어 서로 끼워 맞추어 소프트웨어를 완성하는 재사용 방법은 합성 중심(Composition-Based) 기법이다. 이와 달리 생성 중심(Generation-Based)은 특정 응용 분야에 특화된 패턴을 파라미터화된 프로그램으로 만들어 필요한 시점에 자동 생성하는 방식으로 구분된다.

문제 97
다음 JAVA코드에서 밑줄로 표시된 부분에는 어떤 보안 약점이 존재하는가? (단, key는 암호화 키를 저장하는 변수이다.)          
1무결성 검사 없는 코드 다운로드
2중요 자원에 대한 잘못된 권한 설정
3하드코드된 암호화 키 사용
4적절한 인증없는 중요 기능 허용
정답 및 해설

암호화 키를 저장하는 변수(key)에 소스코드 내부의 고정된 상수 값을 직접 대입하는 코드는 하드코드된 암호화 키 사용 보안약점에 해당한다. 암호화 키가 소스코드에 그대로 노출되면 역공학이나 코드 열람만으로 키가 탈취되어 암호화의 의미가 무력화될 수 있다.

문제 98
소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준은?     
1SCRUM
2ISO/IEC 12509
3SPICE
4CASE
정답 및 해설

소프트웨어 프로세스를 평가하고 개선하여 품질 및 생산성을 향상시키기 위한 국제 표준은 SPICE(ISO/IEC 15504)이다. SCRUM은 애자일 개발 방법론, CASE는 소프트웨어 개발 지원 도구로 프로세스 평가·개선 표준과는 성격이 다르다.

문제 99
실무적으로 검증된 개발보안 방법론 중 하나로써 SW보안의 모범 사례를 SDLC(Software Development Life Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론은?     
1CLASP
2CWE
3PIMS
4Seven Touchpoints 1
정답 및 해설

Seven Touchpoints는 Gary McGraw가 제시한 방법론으로, 실무에서 검증된 SW 보안의 모범 사례들을 SDLC(소프트웨어 개발 생명주기)의 각 단계에 통합한 소프트웨어 개발 보안 생명주기 방법론이다. CLASP은 활동·역할 중심으로 구성된 별도의 경량 보안 프로세스이고 CWE는 소프트웨어 취약점 유형을 목록화한 분류 체계라는 점에서 구분된다.

문제 100
다음 LAN의 네트워크 토폴로지는?          
1버스형
2성형
3링형
4그물형
정답 및 해설

하나의 공통 전송 매체(간선)에 모든 스테이션이 나란히 매달린 형태이므로 버스형 토폴로지다.

그림은 좌우로 길게 뻗은 한 줄의 간선 위에 '데이터 전송 방향'이 양방향 화살표로 표시되고, 그 아래로 스테이션1부터 스테이션5까지 다섯 개의 사각형이 각각 짧은 분기선으로 간선에 연결된 모습이다. 중앙에 집중 제어 장치가 없고 노드끼리 직접 이어지지도 않는다.

  • 성형은 중앙 허브에 모든 노드가 개별 회선으로 방사형 연결된다.
  • 링형은 노드들이 닫힌 고리를 이루고, 그물형은 노드끼리 여러 경로로 서로 연결된다.

버스형은 케이블 하나로 구성돼 설치와 노드 증설이 쉽지만, 간선이 끊기면 전체 통신이 마비되고 노드가 늘수록 충돌이 잦아지는 단점이 있다.