정보처리기사 필기 오답노트 블로그
정보처리기사 필기 오답노트
1과목 : 소프트웨어 설계
1. 유스케이스(Usecase)에 대한 설명 중 옳은 것은?
① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
② 액터는 대상 시스템과 상호 작용하는 사람이나 다른 시스템에 의한 역할이다.
③ 사용자 액터는 본 시스템과 데이터를 주고 받는 연동 시스템을 의미한다.
④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
정답 : 2번
- 1번이 오답인 이유 : 유스케이스 다이어그램은 개발자의 요구가 아닌 사용자의 요구를 추출하고 분석하기 위해 사용
2. UML 모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계는?
정답 : Dependency (의존 관계)
- 사물의 변화가 다른 사물에도 영향을 미치는 관계
3. 유스케이스 다이어그램 (Use Case Diagrma)에 관련된 내용으로 틀린 것은?
① 시스템과 상호작용하는 외부 시스템은 액터로 파악해서는 안 된다.
② 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
③ 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
④ 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안 된다.
정답 : 1번
- 액터는 구현 대상이 아닌 시스템 외부에서 시스템과 상호작용하는 존재로 사람뿐만 아니라 외부 시스템도 액터로 표현될 수 있다.
4. 스크럼에서 해당 스프린트가 계획된 대로 나아가고 있는지, 정해진 목표를 달성하기 위해 팀 차원의 조정이 필요한지 알 수 있게 하고, 수행할 작업의 진행 상황을 확인할 수 있는 것은?
① User Story
② Burn Down Chart
③ Kanban Board
④ Crystal Chart
정답 : 2번 (Burn Down Chart)
5. UML의 활동 다이어그램에 대한 설명으로 올바른 것은?
① 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현하는 다이어그램
② 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데, 메시지뿐만 아니라 객체간의 연관까지 표현하는 다이어그램
③ 객체 간 상호 작용을 메시지 흐름으로 표현하는 다이어그램
④ 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따른 상태가 어떻게 변화하는지 표현하는 다이어그램
정답 : 1번
- Activity Diagram은 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름으로 순서대로 표현하는 다이어그램이다.
6. 다음 중 UML의 관계 중 한 객체가 다른 객체에 오퍼레이션을 수행하도록 지정하는 관계를 표현하고, 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현하는 관계는?
① 연관(Association) 관계
② 의존(Dependency) 관계
③ 일반화(Generalization) 관계
④ 실체화(Realization) 관계
정답 : 4번
- 사물에서 기능쪽으로 속이 빈 점선 화살표를 연결
- 헷갈린 부분 : 의존관계(Dependency)는 영향을 주는 사물이 영향을 받는 사물쪽으로 점선 화살표를 연결하여 표현한다.
7. 스크럼(Scrum)에서 해당 스프린트가 계획대로 나아가고 있는지, 목표를 달성하기 위해 팀 차원의 조정이 필요한지를 확인하고 작업 진행 상황을 점검하는 것은?
① 스프린트 회고
② 스크럼 미팅
③ 백로그
④ 버전 관리
정답 : 2번
- 스크럼 미팅 : 팀원이 매일 짧은 시간동안 모여 스프린트 진행 상황을 공유하고 조정하는 회의
- 매일 15분 정도 미팅으로 To-Do List 계획을 수립하며 데일리 미팅이라고도 함.
8. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?
① 구조적 기법
② 프로토타이핑 기술
③ 정보 저장소 기술
④ 일괄처리 기술
정답 : 4번
- CASE의 원천 기술 : 구조적 기법, 프로토타이핑 기술, 자동 프로그래밍 기술, 정보 저장소 기술, 분산 처리 기술
9. 다음 중 UI 화면 설계를 위해서 정책이나 프로세스 및 콘텐츠의 구성, 와이어 프레임(UI, UX), 기능에 대한 정의, 데이터베이스의 연동 등 구축하는 서비스를 위한 대부분 정보가 수록된 문서는?
① 와이어 프레임(Wireframe)
② 스토리보드(Storyboard)
③ 정보 저장소 기술(Prototype)
④ 일괄처리 기술(Usecase)
정답 : 2번 - 스토리보드(Storyboard)
10. HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
정답 : 1번
- HIPO는 하향식 소프트웨어 개발을 위한 문서 도구이다.
- 기능과 자료의 의존관계를 동시에 표현이 가능하다.
11. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단게에서 필요하다.
③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
정답 : 4번
- 상향식 설계는 최하위 수준에서 각각의 모듈들을 상세하게 설계하고 이러한 모듈이 완성되면 전체적으로 이들을 결합하여 설계하는 방식이기에 인터페이스가 이미 성립이 되어 있어야지 기능 추가가 쉽다.
- 헷갈린 부분 : 2번 -> 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 하는 것이 맞다.
12. 결합도(Coupling)에 대한 설명으로 틀린 것은?
① 데이터 결합도(Data Coupling)는 두 모듈이 매개 변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.
② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합되어 있다고 한다.
④ 결합도(Coupling)는 두 모듈 간의 상호 작용, 또는 의존도 정도를 나타내는 것이다.
정답 : 1번
- 데이터 결합도는 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도를 말한다.
13. 결합도가 낮은 것부터 높은 것 순으로 옳게 나열한 것은?
정답 : 내용/공통/외부/제어/스탬프/자료 결합도 순으로 결합도가 낮아진다.
- 암기 방법 : 내공은 외제 스자
14. 다음 중 가장 높은 응집도에 해당하는 것은?
① 순서적 응집도
② 시간적 응집도
③ 논리적 응집도
④ 절차적 응집도
정답 : 1번
- 응집도가 높아지는 순서 : 우연적/논리적/시간적/절차적/토인적/순차적(순서적)/기능적 응집도
15. 다음에서 설명하는 응집도의 유형은 무엇인가?
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우의 응집도
정답 : 교환적 응집도
- (한번 더 틀렸으니 다시 확인)
- 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도를 말함.
16. 객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?
① 메서드(Method)
② 클래스(Class)
③ 상속성(Inheritance)
④ 메시지(Message)
정답 : 2번 - 클래스
17. 객체 지향 설계에 있어서 정보 은닉(Information Hiding)의 가장 근본적인 목적은?
① 코드를 개선하기 위하여
② 프로그램의 길이를 짧게 하기 위하여
③ 고려되지 않은 영향(Side-Effect)들을 최소화하기 위하여
④ 인터페이스를 최소화하기 위하여
정답 : 3번
- 정보은닉은 특정 모듈의 정보를 필요로 하지 않는 모듈이 접근하지 못하도록 세부 내용을 은폐하고 설계하는 기법이다.
18. 객체 지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)’ 관계 또는 ‘부분(is-a-part-of)’의 관계로 설명되는 연관성을 나타내는 용어는?
① 일반화
② 추상화
③ 캡슐화
④ 집단화
정답 : 4번 - 집단화
- 일반화 :
is-a관계, 집단화 :is-part-of,part-whole관계 (한번 더 틀림)
19. GoF(Gang of Four) 디자인 패턴에 대한 설명으로 틀린 것은?
① Factory method pattern은 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식이다.
② Prototype pattern은 prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.
③ Bridge pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.
④ Mediator pattern은 객체 간의 통제와 지시의 역할을 하는 중재자를 두어 객체 지향의 목표를 달성하게 해준다.
정답 : 3번
- 3번에 나와있는 설명은 Bridge pattern이 아닌 Adapter pattern이다.
- Bridge pattern은 추상과 구현을 분리하여 결합도를 낮춘 패턴이다.
20. 객체에 대한 설명으로 틀린 것은?
① 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
② 객체는 공통 속성을 공유하는 클래스들의 집합이다.
③ 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
④ 객체의 상태는 속성값에 의해 정의된다.
정답 : 2번
- 설명이 반대로 되어있다.
- 클래스는 공통의 속성을 공유하는 객체들의 집합이다.
21. 메시지 지향 미들웨어(MOM; Message-Orient-ed Middleware)에 대한 설명으로 틀린 것은?
① 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
② 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
③ 송신 측과 수신 측의 연결 시 메시지 큐를 활용하는 방법이 있다.
④ 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
정답 : 1번
- 메시지 지향 미들웨어는 메시지 기반의 비동기형 메시지 전달 방식 미들웨어
- 비동기적이라는 뜻은 응답을 받을 때까지 기다리지 않고, 다른 작업을 수행하다가 나중에 확인하는 방식으로 즉각적인 응답을 원하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로 하는 경우에 많이 사용되는 사용한다.
22. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
① EAI
② FEP
③ GPL
④ Duplexing
정답 : 2번
- FEP는 (Front-End Processor)로 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어이다.
- Duplexing은 단일 매체, 장치, 포트에서 ‘동시 양방향 통신’을 가능하게 하는 전송방식이다.
23. 다음 중 기능 모델링 순서로 옳은 것은?
ㄱ. 입출력 자료 정의
ㄴ. 제약조건 파악
ㄷ. 기능 명세서 작성
ㄹ. 자료 흐름도 작성
정답 : ㄱ -> ㄹ -> ㄷ -> ㄴ
- 기능 모델링 순서로는 입출력 자료 정의, 자료 흐름도 작성, 기능 명세서 작성, 제약 조건 파악순서이다.
- 줄임말 : 입자기제
24. 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용되며, 이 컴포넌트들은 원격 서비스 호출을 통해 상호 작용할 수 있도록 중개 역할을 수행하는 아키텍처 패턴은 무엇인가?
① 마스터-슬레이브(Master-Slave) 패턴
② 클라이언트-서버(Client-Server) 패턴
③ 파이프-필터(Pipe-Filter) 패턴
④ 브로커 (Broker) 패턴
정답 : 4번
- 중개하는 역할이 나오면 브로커 패턴이다.
25. 기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?
① 연관
② 확장
③ 선택
④ 특화
정답 : 2번
- **
** : 하나의 유스케이스가 어떤 시점에 바드시 다른 유스케이스를 실행하는 포함관계 - **
** : 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 관계로, 특별한 조건을 만족할 때 수행한다.
26. 자료 흐름도(DFD)의 요소별 표기 형태의 연결이 옳지 않은 것은?
① Process : 원
② Data Flow : 화살표
③ Data Store : 평행선
④ Terminator : 오각형
정답 : 4번
- Terminator는 사각형이다.
27. 소프트웨어의 상위 설계에 속하지 않는 것은?
① 아키텍처 설계
② 모듈 설계
③ 인터페이스 정의
④ 사용자 인터페이스 설계
정답 : 2번
- 자료구조, 아키텍처, 인터페이스, 프로시저 설계는 상위 설계에 속하지만, 모듈 설계는 하위 설계에 속한다.
28. 다음 중 스크럼(Scrum)에서 제품 책임자(Product-Owner)의 역할로 가장 적절한 것은?
① 팀의 기술적 장애를 해결하고 스프린트 회고를 주도한다.
② 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할을 수행한다.
③ 이해관계자의 의견을 종합하여 제품에 대한 요구사항을 작성한다.
④ 스크럼 팀이 스크럼 원칙과 규칙을 잘 따르도록 안내한다.
정답 : 3번
- 기술적 장애를 해결하고 회고를 주도하는 부분은 스크럼 마스터가 해당된다.
- 제품 책임자는 이해관계자의 의견 종합 제품에 대한 요구사항을 중심으로 해결한다.
29.GoF(Gangs of Four) 디자인 패턴 중 생성패턴으로 옳은 것은?
① Singleton Pattern
② Adapter Pattern
③ Decorator Pattern
④ State Pattern
정답 : 1번
- 디자인 패턴 종류 중 생성 패턴은 빌더, 프로토타입, 팩토리 메서드, 앱스트랙 팩토리, 싱글톤이 이에 해당된다.
30. 다음에서 설명하는 구조 패턴은 무엇인가?
기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴으로 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주어 상속의 대안으로 사용하는 디자인 패턴
정답 : Decorator
- Bridge : 기능의 클래스 계층과, 구현의 클래스 계층을 연결하고 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴
31. 럼바우(Rumbaugh)의 객체 지향 분석기법 중 다음에서 설명하는 모델링은 무엇인가?
프로세스들의 자료 흐름을 중심으로 처리 과정을 표현하는 모델링
정답 : 기능 모델링
- 동적 모델링 : 시간의 흐름에 따라 객체들 사이의 제어 흐름, 동작 순서 등의 동적인 행위를 표현하는 모델링에 해당
32. 요구사항 명세기법에 대한 설명으로 틀린 것은?
① 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
② 비정형 명세기법은 사용자의 요구를 표현할 때 Z 비정형 명세기법을 사용한다.
③ 정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
④ 정형 명세기법은 비정형 명세기법에 비해 표현이 간결한다.
정답 : 2번
- 정형 명세기법은 사용자의 요구를 표현할 때 Z-스키마 언어를 활용한다.
33. 다음 결합도의 종류에 대한 설명 중 틀린 것은?
① Content Coupling : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도이다.
② Stamp Coupling : 파라미터가 아닌 모듈 밖에 선언되어있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도이다.
③ Data Coupling : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우의 결합도이다.
④ Control Coupling : 어떤 모듈이 다른 모듈의 내부 논리 로직을 제어하기 위한 목적으로 제어 신호를 이용하여 통신하는 경우의 결합도이다.
정답 : 2번
- 2번에 대한 설명은 Stamp Coupling 이 아닌 Common Coupling에 대한 설명이다.
- Stamp Coupling : 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
34. 다음은 객체 지향 기법 중 무엇에 대한 설명인가?
- is-instance-of 관계
- 공통된 속성에 의해 정의된 객체 구성원들의 인스턴스
정답 : 분류화
- 분류화는
is-instance-of/ 연관화는is-member-of관계이다.
35. 소프트웨어 아키텍처 설계에서 시스템 품질 속성이 아닌 것은?
① 가용성(Availability)
② 독립성(Isolation)
③ 변경 용이성(Modifiability)
④ 사용성(Usability)
정답 : 2번
- 시스템 아키텍처 품질 속성으로는 가용성, 변경 용이성, 성능, 보안성, 사용 편의성, 시험 용이성이 있다.
36. 아래에서 설명하는 소프트웨어 설계 방식은 무엇인가?
- 절차와 절차의 영향을 받는 데이터를 하나로 묶어서 설계하는 방식이다.
- 설계 난이도가 높고 느린 편이지만 코드의 재활용성 및 유지보수가 용이하다.
정답 : 객체지향 설계
- 각 요소들을 객체로 만든 후, 객체들을 조립해서 SOLID 원칙에 따라 소프트웨어를 개발하는 기법
37. 다음 중, XP에 대한 설명으로 옳은 것은 무엇인가?
① 제품 책임자와 스크럼 마스터, 개발팀으로 구성된다.
② 사용자 스토리에 따라 스파이크 또는 이터레이션을 진행한다.
③ 반복적인 스프린트를 통해 제품을 완성시켜 나간다.
④ 짧은 시간 동안 소멸차트를 통해 진행상황을 점검한다.
정답 : 2번
- XP(eXtreme Programming)
- 에자일 기법 중 하나로, 고객의 참여와 개발 과정의 반복 극대화하여 개발 생산성 향상
- 1,3,4 번은 다 스크럼(Scrum) 기법에 대한 내용
38. HIPO 다이어그램에 해당하지 않는 것은 무엇인가?
① 가시적 도표
② 세부적 도표
③ 총체적 도표
④ 순차적 도표
정답 : 4번
- HIPO 다이어그램의 종류로는 가시적 / 총체적 / 세부적 도표가 존재한다.
39. NS 차트의 구성요소가 아닌 것은 무엇인가?
① 순차
② 이동
③ 선택
④ 반복
정답 : 2번
- NS 차트는 처리, 반복, 선택의 일반적인 프로그래밍의 언어의 구성요소를 표현할 수 있다.
40. CASE 도구의 원천 기술이 아닌 것은 무엇인가?
① 구조적 기법
② 기술 지원
③ 자동 프로그래밍
④ 분산 처리
정답 : 2번
- CASE의 원천 기술로는 구조적 기법, 프로토타이핑 기술, 자동 프로그래밍 기술, 정보 저장소 기술, 분산 처리 기술이 존재한다.
41. 소프트웨어 품질을 평가하기 위한 국제 표준 문서 및 모델을 의미하는 것은 무엇인가?
① ISO/IEC 25010
② ISO/IEC 29119
③ ISO/IEC 12207
④ ISO/IEC 12119
정답 : 1번
42. 다음 중 Walk Through에 대한 설명으로 옳은 것은?
① 완성된 소프트웨어를 통해 요구사항 검증이 가능한지 파악
② 요구사항 명세서 작성자 이외의 전문 검토 그룹이 상세히 결함을 분석
③ 요구사항 명세서 작성자가 다수의 동료들(이해관계자)에게 내용을 직접 설명하면서 결함을 분석
④ 미리 요구사항 명세서를 배포하여 사전 검토 후 짧은 회의를 통해 결함을 분석
정답 : 4번
- 워크스루(WalkThrough) : 검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후에 짧은 결함을 발견
- 동료 검토(Peer Review) : 요구사항 명세서 작성자가 명세서 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견
- 인스펙션(Inspection) : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견
43. 다음 중 Scrum 모델의 프로세스에 해당하지 않는 것은?
① 유저 스토리를 우선순위에 따라 Backlog에 기록, 관리한다.
② 2~4주 정도의 반복적인 Iteration을 통해 제품을 완성한다.
③ 유저 스토리를 분할하여 Task 형태로 각 개발팀에게 분배한다.
④ 소멸차트를 통해 개발 상황을 체크한다.
정답 : 2번
- 이터레이션을 통해 하나의 릴리즈를 1~3주의 개발기간으로 세분화한 단위는 XP 모델이다.
44.다음 중eXtreme Programming 모델에 대한 설명으로 가장 거리가 먼 것은?
① 짧은 개발 과정의 반복을 극대화하여 개발 생산성을 높인다.
② 소규모 프로젝트에 효과적이다
③ 기능별로 고객의 피드백을 받을 수 있도록 릴리즈 규모를 작게 분할한다.
④ 확약, 전념, 정직, 존중, 용기 등의 가치를 가진다.
정답 : 4번
- 확약, 전념, 정직, 존중, 용기는 스크럼의 가치이다.
45. 다음 중 소프트웨어 개발 프로젝트의 관리 요소(3P)가 아닌 것은?
① People
② Price
③ Process
④ Problem
정답 : 2번
- 프로젝트의 3 관리요소는 People, Process, Problem이다.
46. 다음 중 미들웨어에 대한 설명으로 옳은 것은?
① 운영체제와 소프트웨어 애플리케이션 사이에 위치하여 운영체제가 제공하는 서비스를 확장하여 제공하는 소프트웨어이다.
② 소스 코드를 무료로 공개하여 제한 없이 누구나 사용 및 개작이 가능한 소프트웨어이다.
③ 사용자, 애플리케이션, 데이터베이스와 상호작용하여 데이터를 저장, 관리, 상호작용하는 시스템이다.
④ 하드웨어와 소프트웨어 리소스를 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공한다.
정답 : 1번
- 미들웨어에 대한 설명은 1번이다. 개념을 알고 있자.
47. NUI에서 사용하는 터치 제스처에 해당하지 않는 것은 무엇인가?
① Tap
② Pinch
③ Drag
④ Click
정답 : 4번
- 터치 제스처 종류 : Tap, Double, Tap, Drag, Flick, Pinch, Press, Rotate, swipe
48. 소프트웨어의 전체적인 설계 단계를 상위/하위로 나눌 때, 상위 설계에 해당하지 않는 항목은 무엇인가?
① 내부 로직
② 시스템 구조
③ 화면 구성
④ DB 설계
정답 : 1번
- 상위 설계에는 시스템 구조, DB 설계, 화면 레이아웃이 존재
- 하위 설계에는 구성 요소들의 내부 구조(로직), 동적 행위(절차) 등이 존재
2과목 : 소프트웨어 개발
1. 다음 중 스택을 이용한 연산과 거리가 먼 것은?
① 선택 정렬
② 재귀 호출
③ 후위표현(Post-fix expression)의 연산
④ 깊이 우선 탐색
정답 : 1번
- 스택 응용 분야 : 함수 호출(재귀 호출 포함), 후위표현 연산, 깊이 우선 탐색, 인러럽트의 처리
2. 다음 Postfix로 표현된 연산식의 연산 결과로 옳은 것은?
34*56*+
정답 : 35
- Postfix 후위식 : Left -> Right -> Root 순서
- 피연산자, 피연산자, 연산자 형태를 찾고 묶으면 결과적으로
((34*)(56*)+)가 된다.- 따라서
((3*4)+(5*6))의 연산으로 35가 정답이다.
3. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하는 것은?
① Analysis
② Migration
③ Restructuring
④ Reverse Engineering
정답 : 2번
- 분석 : 기존 소프트웨어 명세서를 확인하여 소프트웨어 동작을 이해하고, 재공학 대상을 선정하는 작업
- 재구조 : 상대적으로 같은 추상적 수준에서 하나의 표현을 다른 형태로 바꾸는 작업
- 역공학 : 기존 소프트웨어를 분석하여 설계도를 추출하거나 다시 만들어내는 작업
- 이식 : 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업
4. 소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것은?
① 프로젝트 요구 분석서
② 소스 코드
③ 운영 및 설치 지침서
④ 프로젝트 개발 비용
정답 : 4번
- 형상 관리는 소프트웨어 개발을 위한 변경사항을 관리하므로 프로젝트의 개발 비용은 거리가 멀다.
5. 소스 코드 품질분석 도구 중 정적 분석 도구가 아닌 것은?
① PMD
② Cppcheck
③ ValMeter
④ Checkstyle
정답 : 3번
- 정적 분석 도구에는 PMD, Cppcheck, Checkstyle, ccm, SonarQube, coberturna이 존재한다. (한번 더 틀림)
6. ISO 9126에 근거한 소프트웨어 품질 목표 중 명시된 조건에서 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어 제품의 능력을 의미하는 것은?
① 사용성(Usability)
② 신뢰성(Reliability)
③ 기능성(Functionality)
④ 효율성(Efficiency)
정답 : 4번
- 효율성에 대한 설명이다.
7. 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?
① ISO/IEC 2196
② IEEE 19554
③ ISO/IEC 12119
④ ISO/IEC 14959
정답 : 3번
- ISO/IEC 12119가 소프트웨어 패키지 제품에 대한 품질 요구사항 및 테스트 국제 표준이다.
8. SPICE(ISO/IEC 15504) 모델에서 정의한 프로세스의 성숙도 수준(Capability Level)에 대한 설명으로옳지 않은 것은?
① 레벨 0은 프로세스가 수행되지 않거나 불완전하게 수행되는 상태이다.
② 레벨 1은 정의된 자원의 한도 내에서 그 프로세스가 작업 산출물을 인도한다.
③ 레벨 3은 소프트웨어 공학 원칙에 기반하여 정의된 프로세스가 수행된다.
④ 레벨 4는 프로세스가 목적 달성을 위해 통제되고, 양적인 측정을 통해서 일관되게 수행된다.
정답 : 2번
- 2번에 대한 선지는 레벨 2에 대한 설명이다.
- 레벨 1(수행) : 프로세스의 목적이 전반적으로 이루어진 단계
- 레벨 5(최적화) : 프로세스의 수행을 최적화하고, 지속적으로 업무 목적을 만족
9. 다음 설명에 해당하는 품질 개선 모델은?
- 조직의 프로세스 개선을 위한 모델로, 조직의 능력(Capability)과 성숙도(Maturity)를 기준으로 프로세스의 성숙 단계를 평가하고 개선 방향을 제시하는 모델이다.
- 적용 및 평가 방식은 조직 차원의 성숙도를 평가하는 단계별 표현과 프로세스 영역별 능력도를 평가하는 연속적 표현이 있다.
정답 : CMMi
- ISO 9126 : 소프트웨어 품질을 측정하고, 평가하기 위해서 소프트웨어의 품질 요소와 특성을 정의하는국제 표준
- CMMi : 위의 설명과 같다.
- SPICE (ISO/IEC 15504) : 소프트웨어 프로세스를 평가하고 개선함으로써 품질 및 생산성을 높이고자 하는 국제 표준
10. White Box Testing에 대한 설명으로 옳지 않은 것은?
① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
② Source Code의 모든 문장을 한 번 이상 수행함으로써 진행된다.
③ 모듈 안의 작동을 직접 관찰할 수 있다.
④ 산출물의 각 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
정답 : 1번
- Base Path Testing은 맞지만, Boundary Value Analysis는 Black Box Testing의 한 종류이다.
11. 소프트웨어 테스트에서 검증(Verification)과 확인(Validation)에 대한 설명으로 틀린 것은?
① 소프트웨어 테스트에서 검증과 확인을 구별하면 찾고자 하는 결함 유형을 명확하게 하는 데 도움이 된다.
② 검증은 소프트웨어 개발 과정을 테스트하는 것이고, 확인은 소프트웨어 결과를 테스트 하는 것이다.
③ 검증은 작업 제품이 요구 명세의 기능, 비기능 요구사항을 얼마나 준수하는지 측정하는 작업이다.
④ 검증은 작업 제품이 사용자의 요구에 적합한지 측정하며, 확인은 작업 제품이 개발자의 기대를 충족시키는지를 측정한다.
정답 : 4번
12. 다음 설명에서 설명하는 소프트웨어 테스트의 기본 원리는?
- 파레토 법칙이 좌우한다.
- 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다.
- 결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.
① 살충제 패러독스
② 결함 집중
③ 오류 부재의 궤변
④ 완벽한 테스팅은 불가능
정답 : 2번
- 살충제 패러독스는 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못한다는 원리
- 오류 부재의 궤변은 요구사항을 충족시키지 못하면, 결함이 없다고 해도 품질이 높다고 볼 수 없다는 원리
- 완벽 테스팅은 불가능은 무한 경로, 무한 입력값으로 인한 완벽한 테스트가 어렵다는 원리
13. 테스트 드라이버(Test Driver)에 대한 설명으로 틀린 것은?
① 시험대상 모듈을 호출하는 간이 소프트웨어이다.
② 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후에 결과를 보여줄 수 있다.
③ 상향식 통합 테스트에서 사용된다.
④ 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
정답 : 4번
- 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 하는 것은 테스트 스텁이다.
14. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
① 스터브(Stub)와 드라이버(Driver)
② 입력 도메인 분석
③ 랜덤(Random) 테스트
④ 자료 흐름도
정답 : 1번
- 테스트 케이스 생성 도구를 이용한 테스트 데이터를 찾는 방법은 크게 자료 흐름도, 기능 테스트, 입력 도메인 분석, 랜덤 테스트가 있다.
15. 알고리즘 시간 복잡도가 O(1)이 의미하는 것은?
① 컴퓨터 처리가 불가능
② 알고리즘 입력 데이터 수가 한 개
③ 알고리즘 수행 시간이 입력 데이터 수와 관계없이 일정
④ 알고리즘 길이가 입력 데이터보다 작음
정답 : 3번
16 퀵 정렬에 관한 설명으로 옳은 것은?
① 레코드의 키값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬한다.
② 주어진 파일에서 인접한 두 개의 레코드키값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
③ 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
④ 임의의 레코드 키와 매개변수(h) 값만큼 떨어진 곳의 레코드 키를 비교하며 서로 교환해 가면서 정렬한다.
정답 : 3번
- 피벗을 두고 작은 값은 왼쪽, 큰 값은 오른쪽에 배치하는게 퀵 정렬의 개념이다.
- 이는 3번에 대한 설명과 같이 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어가면서 정렬하는 것으로 말할 수 있다.
17. 인터페이스 구현 검증 도구 중 아래에서 설명하는 것은?
- 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
- 각 테스트 대상 분산 환경에 데몬을 사용하여 대상 프로그램을 통해 테스트를 수행하고, 통합하여 자동화하는 검증 도구
정답 : STAF
18. 다음 중 단위 테스트 도구로 사용할 수 없는 것은?
① CppUnit
② JUnit
③ HttpUnit
④ IgpUnit
정답 : 4번
- XUnit에는 CppUnit(C++), JUnit(Java), HttpUnit(Web)등이 있다.
19. 순차 파일에 대한 설명으로 옳지 않은 것은?
① DASD(Direct Access Storage Device)의 물리적 주소를 통하여 파일의 각 레코드에 직접 접근한다.
② 레코드들이 순차적으로 처리되므로 대화식 처리보다 일괄 처리에 적합하다.
③ 연속적인 레코드의 저장에 의해 레코드 사이에 빈 공간이 존재하지 않으므로 기억장치의 효율적인 이용이 가능하다.
④ 구조가 단순하여 디스크, 테이프 등 다양한 저장 매체에 쉽게 적용할 수 있다.
정답 : 1번
- 순차 파일은 DASD가 아닌 SASD(Sequential Access Storage Device)를 통해 파일의 시작부터 끝까지 순차적으로 읽는다.
- DASD는 순서를 거치지 않고 자료가 저장된 위치를 직접 접근할 수 있는 방식이다.
20. EAI(Enterprise Application Integration)의 구축유형으로 옳지 않은 것은?
① Point-to-Point
② Hub & Spoke
③ Message Bus
④ Tree
정답 : 4번
- EAI 구축 유형으로는 포인트 투 포인트, 허브 앤 스포크, 메시지 버스, 하이브리드가 있다.
21. 다음 중 테스트 오라클(Test Oracle)에 해당하지 않는 것은?
① 코드 기반 오라클
② 일관성 검사 오라클
③ 참 오라클
④ 샘플링 오라클
정답 : 1번
- 테스트 오라클의 종류로는 참, 샘플링, 휴리스틱, 일관성 오라클이 존재한다.
22. 상향식 통합 테스트 절차로 가장 알맞은 것은?
(위에서 부터 순서 외우기)
1. 하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합한다.
2. 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 드라이버 작성한다.
3. 각 통합된 클러스터 단위 테스트를 수행한다.
4. 테스트가 완료되면 각 클러스트들은 프로그램의 위쪽으로 결합되며, 드라이버는 실제 모듈 또는 컴포넌트로 대체한다.
23. 동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?
① RCS(Revision Control System)
② RTS(Reliable Transfer Service)
③ RTC(Remote Procedure Call)
④ RVS(Relative Version)
정답 : 1번
- RCS는 CVS와 달리 소스파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 버전을 관리하는 도구이다.
24. 다음 중 테스트 장치 구성요소에 대한 설명 중 올바르지 않은 것은?
① 테스트 슈트(Test Suite)는 테스트 케이스를 실행 환경에 따라 구분해 놓은 테스트 케이스의 집합이다.
② 테스트 시나리오(Test Scenario)는 애플리케이션의 테스트 되어야 할 기능 및 특징, 테스트가 필요한 상황을 작성한 문서이다.
③ 테스트 스텁(Stub)은 테스트가 필요한 모듈에 인자를 넘겨주고 테스트를 완료한 후 그 결과값을 받는 역할을 하는 가상의 모듈이다.
④ 테스트 스크립트(Test Script)는 테스트 케이스의 실행 순서(절차)를 작성한 문서이다.
정답 : 3번
- 테스트 드라이버 : 테스트가 필요한 모듈에 인자를 넘겨주고 테스트를 완료한 후 그 결과값을 받는 역할을 하는 가상의 모듈 (3번의 지문과 같다.)
- 테스트 스텁 : 상위 모듈에 의해 호출되는 하위 모듈의 역할로, 하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈
25. 다음 중 컴파일, 테스트, 정적 분석 등을 통해 동작할 수 있는 소프트웨어 생성 도구는?
① 테스트 커버리지 도구(Test Coverage Tool)
② 빌드 도구(Build Tool)
③ 테스트 도구(Test Tool)
④ 인스펙션 도구(Inspection Tool)
정답 : 2번
- 인스펙션 도구 : 프로그램을 실행하지 않고, 소스 코드 자체로 품질을 판단할 수 있는 정적 분석 도구
26. 인터페이스 구현 검증 도구가 아닌 것은?
① Foxbase
② STAF
③ watir
④ xUnit
정답 : 1번
(한번 더 틀림)
인터페이스 구현 검증 도구로는 xUnit, STAF, FitNesse, NTAF, Selenium, watir 이 있다.
27. 여러 사람이 같은 프로젝트에 참여할 경우, 각자 수정 부분은 자동으로 동기화 되어 팀원 전체가 볼 수 있는 시스템으로 가장 알맞은 것은?
① SCM(Source Code Management)
② CI(Continuous Integration) 서버
③ 테스트 도구(Test Tool)
④ 인스펙션 도구(Inspection Tool)
정답 : 1번
- 문제에서 주어진 설명은 SCM이다.
- CI 서버 : 빌드 프로세스를 관리하는 서버이다.
28. 다음 설명에 해당하는 인수 테스트 유형은?
실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 통해 문제점을 파악하고 개선하는 방식의 테스트이다.
정답 : 베타 테스트(Beta Test)
29. 입력 데이터 간의 관계와 출력에 미치는 영향을 분석하여 테스트 케이스를 설계하여 테스트를 진행하는 기법으로 옳은 것은?
① Boundary Value Analysis
② Equivalence Partitioning
③ Cause-Effect Graphing
④ Error Guessing
정답 : 3번
- 동치 분할 검사(Equivalence Paritioning Testing) : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법
- 원인-효과 그래프(Cause-Effect Graphing Testing) : 입력 데이터 간 관계와 출력에 미치는 영향을 분석하여, 효용성이 높은 테스트 케이스를 선정해 검사하는 기법
- 오류 예측 검사(Error Guessing) : 데이터 확인 검사, 과거의 경험이나 확인자의 감각으로 테스트하는 기법
30. 테스트 원칙 중, 동일한 테스트 케이스로 테스트를 반복 수행하면 새로운 결합 발견이 불가능하다는 것은 무엇인가?
① Defect Clustering
② Absence of Errors Fallacy
③ Psticide Paradox
④ Pareto’s principle
정답 : 3번
- 살충제 패러독스(Pesticide Paradox) : 테스트 케이스로 동일한 절차를 반복 수행하면 결함을 찾을 수 없다.
31. 소프트웨어 제품의 개발 과정에 대한 테스트를 의미하는 것은?
① Refactoring
② Debugging
③ Validation
④ Verification
정답 : 4번
- 확인(Validation) : 개발된 소프트웨어가 요구사항을 만족시키는지 사용자의 입장에서 확인하는 것
- 검증(Verification) : 기능을 제대로 수행하고 명세서에 맞게 만들어졌는지 개발자의 입장에서 점검하는 것
32. 다음 중 효율적인 모듈 설계에 해당하는 것은 무엇인가?
① 제어도와 결합도를 높이고, 공유도와 응집도는 낮추도록 설계되어야 한다.
② 공유도와 응집도는 높이고, 제어도와 결합도는 낮추도록 설계되어야 한다.
③ 제어도와 응집도는 높이고, 공유도와 결합도는 낮추도록 설계되어야 한다.
④ 공유도와 결합도는 높이고, 제어도와 응집도는 낮추도록 설계되어야 한다.
정답 : 2번
- 공유도 응집도는 높이고, 제어도와 결합도는 낮춘다.
33. 페이지 교체 알고리즘 중, FIFO를 변형한 형태로 페이지 부재가 발생하지 않으면 참조된 페이지를 큐의 맨 뒤로 이동시키는 알고리즘은 무엇인가?
① LRU
② LFU
③ NUR
④ SCR
정답 : 4번
- FIFO 의 변형으로 참조된 페이지를 큐의 맨 뒤로 이동시키는 알고리즘은 SCR이다.
34. 다음 중 해싱을 이용하여 처리 데이터에 직접 접근이 가능한 파일 편성(설계) 방식은 무엇인가?
① indexed sequential organization
② sequential organization
③ Random organization
④ Hash-Directed organization
정답 : 3번
- Random(Dircet) : 해싱 등을 이용하여 순서 없이 임의 기록
35. 다음 중 문제가 해결되어 더 이상 조치가 필요하지 않음을 의미하는 결함 추적 상태는 무엇인가?
① 결함 수정
② 결함 해제
③ 결함 할당
④ 결함 종료
정답 : 4번
- 결합 해제 : 개발 담당자가 결함을 검토해 결함이 아니라고 최종 판다
- 결함 종료 : 결함이 해결되어 개발 담당자가 종료를 승인한 상태
36. 문제 처리 프로세스를 도형을 통해 논리 중심으로 표현하는 구조적 분석 도구는 무엇인가?
① DD
② NS Chart
③ DFD
④ HIPO
정답 : 2번
- DD : 자료 흐름도에 있는 자료를 좀 더 자세히 정의하고 기록한 것
- DFD : 시스템의 데이터 흐름과 처리 과정을 기호로 표현한 것
- HIPO : 기능과 데이터의 관계를 계층 구조로 표현한 것
37. 다음 중 DRM 기술 요소에 해당하지 않는 것은?
① 로그인
② 인증
③ 크랙 방지
④ 키 관리
정답 : 1번
- DRM의 기술 요소
- 암호화, 키 관리, 암호화 파일 생성, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증
3과목 : 데이터베이스 구축
1. DBMS의 필수기능 중 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능은?
① 정의 기능
② 제어 기능
③ 조작 기능
④ 전략 기능
정답 : 3번
- 데이터 정의 기능 : 다양한 응용 프로그램과 데이터베이스가 서로 인터페이스를 하는 방법을 제공하는 기능
- 데이터 조작 기능 : 사용자와 데이터베이스 사이의 인터페이스를 위한 수단을 제공하는 기능
- 데이터 제어 기능 : 공용 목적으로 관리되는 데이터베이스의 내용에 대해 항상 정확성과 안정성을 유지할 수 있도록 데이터를 제어하는 기능
2. 다음에서 설명하는 스키마(Schema)는?
데이터베이스 전체를 정의한 것으로 데이터 개체, 관계, 제약조건, 접근 권한, 무결성 규칙 등을 명세화한 것
정답 : 개념 스키마
- 외부 스키마 : 사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조
- 개념 스키마 : 데이터베이스의 전체적인 논리적 구조
- 내부 스키마 : 물리적 저장장치의 관점에서 보는 데이터베이스 구조
3. 데이터베이스 로그(log)를 필요로 하는 회복 기법은?
① 즉각 갱신 기법
② 대수적 코딩 방법
③ 타임 스탬프 기법
④ 폴딩 기법
정답 : 1번
- 로그 기반 회복 기법에는 지연갱신 회복 기법, 즉각 갱신 회복 기법이 있다.
4. 2 Phase Commit에 대한 설명 중 옳지 않은 것은?
① 분산 데이터베이스에서 트랜잭션 일관성을 유지하기 위한 기술이다.
② 확장 단계에서 모든 분산 시스템에서 트랜잭션 수행 결과가 일치하는지 확인한다.
③ 트랜잭션을 두 단계로 분리하여 제어한다.
④ 성능이 느리고, 복잡한 구현이 필요하다는 단점이 있다.
정답 : 2번 - 확장 단계가 아니라 커밋 단계이다.
- 2PC(2 Phase Commit)은 준비 단계 / 커밋단계로 나뉜다.
- 1단계 (준비단계) : 트랜잭션 수행 결과를 다른 분산 시스템에 알리는 과정
- 2단계 (커밋단계) : 모든 분산 시스템에서 트랜잭션 수행 결과가 일치하는지 확인하고 성공적으로 수행했다면 커밋을 수행하고, 그렇지 않다면 롤백을 진행
5. 순수 관계 연산자에서 릴레이션의 일부 속성만 추출하여 중복되는 튜플은 제거한 후 새로운 릴레이션을 생성하는 연산자는?
① REMOVE
② PROJECT
③ DIVISION
④ JOIN
정답 : 2번
- 프로젝트 : 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플을 반환
6. A1, A2, A3 3개의 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개의 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는?
정답 : 24개
- 도메인은 하나의 속성이 가질 수 있는 원자값들의 집합이다.
- 릴레이션에 존재할 수 있는 최대 튜플의 수는 카티션 프로덕트를 했을 때 이기 때문에, 각 속성의 도메인 값을 모두 곱하여 구할 수 있다.
2 X 3 X 4 = 24
7. 릴레이션 R의 모든 결정자가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?
① 제1정규형
② 제2정규형
③ 보이스/코드 정규형
④ 제4정규형
정답 : 3번
- (1) 원자형
- (2) 부분 함수 종속 제거
- (3) 이행 함수 종속 제거
- (BCNF) 결정자 함수 종속 제거
- (4) 다치 종속성 제거
- (5) 조인 종속성 제거.
8. 물리적 데이터베이스 구조의 기본 데이터 단위인 저장 레코드의 양식을 설계할 때 고려 사항이 아닌 것은?
① 데이터 타입
② 데이터 값의 분포
③ 트랜잭션 모델링
④ 접근 빈도
정답 : 3번
- 트랜잭션 모델링은 개념적 데이터 모델 단계에서 수행한다.
9. 분산 데이터베이스의 투명성(Transparency)에 해당하지 않는 것은?
① Location Transparency
② Replication Transparency
③ Failure Transparency
④ Media Access Transparency
정답 : 4번
- 분산 데이터베이스 투명성의 종류
- 위치(Location), 복제(Replication), 병행(Concurrency), 분할(Fragmentation), 장애(Failure) Transparency들이 있다.
10. 데이터베이스의 무결성 규정(Integrity Rule)과 관련한 설명으로 틀린 것은?
① 무결성 규정에는 데이터가 만족해야 할 제약조건, 규정을 참조할 때 사용하는 식별자 등의 요소가 포함될 수 있다.
② 무결성 규정의 대상으로는 도메인, 키, 종속성 등이 있다.
③ 정식으로 허가받은 사용자가 아닌 불법적인 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위한 규정이다.
④ 릴레이션 무결성 규정(Relation Integrity Rules)은 릴레이션을 조작하는 과정에서 의미적 관계(Semantic Relationship)를 명세한 것이다.
정답 : 3번
- 무결성 규정은 불법적인 사용자에 의한 것이 아니라 정식 허가를 받은 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위한 규정이다.
11. 반 정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
① 빌드 테이블의 추가
② 집계 테이블의 추가
③ 진행 테이블의 추가
④ 특정 부분만을 포함하는 테이블 추가
정답 : 1번
- 반정규화 유형 중 중복 테이블 추가 방법은 집계, 진행, 특정 부분만을 포함하는 테이블 추가만 있다.
12. 다음 중 DAS에서 사용하는 프로토콜이 아닌 것은?
① SATA
② SCSI
③ NFS
④ ATA
정답 : 3번
- DAS(Direct Attached Storage)는 케이블을 통해 서버나 PC에 직접 연결된 전용 디지털 저장 장치이다.
- ATA, SATA, SCSI, SAS가 DAS에 사용되는 기본 프로토콜이다.
- NFS, CIFS, SMB는 NAS에서 사용하는 프로토콜이다.
13. 릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키는?
① 후보키
② 기본키
③ 슈퍼키
④ 외래키
정답 : 3번
- 슈퍼키 : 모든 튜플에 대해 유일성은 만족하지만 최소성은 만족하지 못한다.
- 후보키, 기본키, 대체ㅋ; : 유일성, 최소성 만족
14. 관계 해석에 대한 설명으로 틀린 것은?
① 튜플 관계 해석과 도메인 관계 해석이 있다.
② 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시해야 하는 절차적인 언어이다.
③ 릴레이션을 정의하는 방법을 제공한다.
④ 수학의 프레디킷 해석(Predicate Calculus)에 기반을 두고 있다.
정답 : 2번
- 대절해비 : 관계 대수는 절차적 언어 / 관계 해석은 비절차적 언어
15. 데이터 모델의 구성요소 중 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계를 의미하는 것은?
① Structure
② Operation
③ Relation
④ Constraint
정답 : 1번
- 구조 : 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입들 간의 관계로, 데이터 구조 및 정적 성질을 표현하는 요소
16. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
① 저장 레코드 양식 설계
② 레코드 집중의 분석 및 설계
③ 접근 경로 설계
④ 목표 DBMS에 맞는 스키마 설계
정답 : 4번
- 1,2,3번은 모두 물리적 설계 단계에서 수행하지만, 목표 DBMS에 맞는 스키마 설계는 논리적 설계 단계에 해당된다.
17. 다음 중, 함수 종속에 대해 A->B를 올바르게 해석한 것은?
① A 속성은 B 속성에 함수적으로 종속된다.
② B 속성은 A 속성에 함수적으로 종속된다.
③ A 속성은 종속자, B 속성은 결정자이다.
④ B 속성은 A 속성에 대해 부분집합이다.
정답 : 2번
- 화살표는 결정을 내리는 방향을 의미하기에 B 속성은 A 속성에 함수적으로 종속된다는 표현이 맞다.
18. 특정 열에 대해 데이터 형식, 타입, 길이, Null 허용 여부 등의 제약으로 무결성을 보장하는 무결성은 무엇인가?
① 속성 무결성
② 도메인 무결성
③ 개체 무결성
④ 참조 무결성
정답 : 2번
- 개체 무결성은 특정 열에 중복 값 또는 Null에 대한 제한을 둔 것, 도메인 무결성은 데이터 형식, 타입, 길이, Null 허용 여부 등의 제약을 보장
19. 각 객체가 어떤 사용자에게 접근이 가능한지 리스트 형태로 관리하는 접근제어 요소는 무엇인가?
① ACM
② ACL
③ DAC
④ MAC
정답 : 2번
- ACM : 접근 제어 대상과 주체를 표 형태로 관리
- DAC : 접근 제어의 신분과 접근 규칙에 기반하여 관리
- MAC : 보안 전문가에 의해 생성되는 규칙에 기반하여 관리
20. 릴레이션 데이터 전체를 삭제하는 DDL 명령어는 무엇인가?
① ALTER
② DROP
③ DELETE
④ TRUNCATE
정답 : 4번
- 릴레이션 데이터 전체를 삭제하는 명령어는 DROP 이 아니라 TRUNCATE 이다.
21. 다음 중 로그를 이용한 회복 기법에 사용되는 연산이 아닌 것은 무엇인가?
① Undo
② Redo
③ Replace
④ CheckPoint
정답 : 3번
- Undo : 변경된 데이터를 취소하여 원래의 내용으로 복원
- Redo : Undo로 인해 회복된 내역이 기록된 로그를 바탕으로 다시 데이터를 반영
- CheckPoint : Undo/Redo 연산의 기준점
4과목 : 프로그래밍 언어 활용
1. WAS(Web Application Server)가 아닌 것은?
① JEUS
② JVM
③ Tomcat
④ WebSphere
정답 : 2번
- 웹 애플리케이션 서버는 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 처리를 수행하거나, 웹 서버와 데이터베이스 서버 또는 웹 서버와 파일 서버 사이에서 인터페이스 역할을 수행하는 서버이다. (한번 더 틀림)
- 제품에는 Oracle WebLogic, Apache Tomcat, IBM WebSphere, JEUS 등이 있다.
2. 다음 자바 코드를 실행한 결과는?
int x = 1, y = 6;
while(y--){
x++;
}
System.out.println("x ="+ x + "y = "+ y);
① x = 7, y = 0
② x = 6, y = -1
③ x = 7 , y = -1
④ Unresolved complication problem 오류 발생
정답 : 4번
- 자바의 경우 while의 결과값이 Boolean 타입이 아닌 경우 오류가 발생한다.
- 현재 y 는 int 형의 증감 연산자를 사용한 것이기에 결과적으로 int 형이기 때문에 오류가 발생한다.
3. JAVA의 예외(Exception)와 관련된 설명으로 틀린 것은?
① 문법 오류로 인해 발생한 것
② 오동작이나 결과에 악영향을 미칠 수 있는 실행시간 동안에 발생한 오류
③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
④ 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
정답 : 1번
- 예외는 문법 오류로 인해 발생하는 것이 아니다.
- 개발자가 구현한 코드에서 발생하는 것이며, 발생할 상황을 미리 예측하여 처리할 수 있도록 만든 안전장치이다.
4. 지역성(Locality)에 대한 설명으로 옳지 않은 것은?
① 프로세서들은 기억 장치 내의 정보를 균일하게 접근하는 것이 아니라, 어느 한 순간에 특정 부분을 집중적으로 참조한다.
② 시간 지역성의 예는 “순환, 부 프로그램, 스택” 등이 있다.
③ 시간 지역성은 최근 사용되었던 기억장소들이 집중적으로 액세스하는 현상이다.
④ 공간 지역성의 예는 “순차적 코드의 실행”이 있다.
정답 : 4번
- 순차적 코드는 순차 지역성의 예시이다.
5. HRN 방식에 관한 스케줄링 문제 푸는 방법
HRN(Highest Response Ratio Next)의 공식은
(대기시간 + 서비스시간) / 서비스시간 이다.
6. 운영체제의 운용 기법 중 중앙 처리 장치의 시간을 각 사용자에게 균등하게 분할하여 사용하는 체제로서 모든 컴퓨터 사용자에게 똑같은 서비스를 제공하는 것을 목표로 삼고 있으며, 라운드 로빈 스케줄링을 사용하는 것은?
① Real-Time Processing System
② Time Sharing System
③ Batch Processing System
④ Distributed Processing System
정답 : 2번
- 시분할 시스템에서 라운드 로빈을 사용한다.
7. 운영체제에서 스레드(Thread)읙 개념으로 가장 옳지 않은 것은?
① 다중 프로그래밍 시스템에서 CPU를 받아서 수행되는 프로그램 단위이다.
② 프로세스(Process)나 태스트(Task)보다 더 작은 단위이다.
③ 입 출력 장치와 같은 자원의 할당에 관계된다.
④ 한 태스크(Task)는 여러 개의 스레드(Thread)로 나누어 수행될 수 있다.
정답 : 3번
- 스레드는 입출력장치가 아닌 CPU 자원 할당에 관계된다.
8. 교착상태의 해결 방법 중 회피(Avoidance) 기법과 가장 밀접한 관계가 있는 것은?
① 점유 및 대기 방지
② 비선점 방지
③ 환형 대기 방지
④ 은행원 알고리즘 사용
정답 : 4번
- 회피기법에는 은행가 알고리즘, Wound-Wait, Wait-Die가 있다.
9. 시간적 구역성(Temporal Locality)과 거리가 먼 것은?
① 루프
② 서브루틴
③ 배열 순회
④ 스택
정답 : 3번
- 배열 순회는 공간적 구역성에 활용된다.
- 시간적 구역성은 루프, 스택, 부 프로그램, Counting, 집계에 사용되는 변수에 활용된다.
10. IEEE 802.11 워킹 그룹의 무선 LAN 표준화 현황 중 QoS 강화를 위해 MAC 기능 지원을 채택한 것은?
정답 : 802.11e
11. 링크 상태 라우팅 알고리즘을 사용하며, 대규모 네트워크에 적합한 것은?
① RIP
② VPN
③ OSPF
④ XOP
정답 : 3번
- OSPF는 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용한 최단 경로를 찾는 라우팅 프로토콜이다.
- 홉 카운트에 제한이 없기에 대규모 네트워크에 적합하다.
12. UDP 헤더에 포함되지 않는 것은?
① Checksum
② UDP Total Length
③ Sequence Number
④ Source Port Address
정답 : 3번
- UDP 헤더 구조로는 Source Port Number / Destination Port / Number / UDP Length / UDP Checksum이 있다.
- 연결을 설정하지 않는 비연결성이기에 수신 데이터 순서 재조정이 불가하다.
13. IP 주소 체계와 관련된 설명으로 틀린 것은?
① IPv6의 패킷 헤더는 32 Octet의 고정된 길이를 가진다.
② IPv6는 주소 자동 설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
③ IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
④ IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
정답 : 1번
- IPv4 헤더는 20 Octet, IPv6 헤더는 40 Octet의 고정된 길이를 가지고 있다.
14. OSI 7계층 중 암호화, 코드 변환, 데이터 압축의 역할을 담당하는 계층은?
① Data Link Layer
② Application Layer
③ Presentation Layer
④ Session Layer
정답 : 3번
- Presentation Vs Session Layer 잘 구별하기
- Presentation Layer : 응용 프로세스 간에 데이터 표현상의 차이와 상관없이 통신할 수 있도록 독립성을 제공하는 (코드 변환, 데이터 압축 등) 계층
- Session Layer : 애플리케이션 간의 통신을 위한 제어구조를 제공하는 계층
15. PHP에서 사용 가능한 연산자가 아닌 것은?
① @
② #
③ <>
④ ===
정답 : 2번
- #는 PHP에서 한 줄 주석이다.
- @ : 오류 억제 연산자, 오류 메시지 무시
- <> : 값이 다름을 표현하는 연산자
- === : 값도 같고 타입도 같은지 확인하는 연산자
16. 다음 중 프로토콜의 포트 번호가 올바르지 않은 것은?
① TFTP - UDP 69
② SNMP - UDP 161
③ RPC - TCP 112
④ TELNET - TCP 23
정답 : 3
- 나머지는 다 맞고, RPC는 TCP/UDP 111번 포트이다.
17. 개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
① Ant
② Kerberos
③ Maven
④ Gradle
정답 : 2번
- 개발 도구 분류 중 빌드 도구로는 Ant, Maven, Gradle이 존재한다.
- Kerberos는 컴퓨터 네트워크 인증 및 암호화 프로토콜이자 시스템이다.
18. 다음 중, 디자인 패턴의 유형이 아닌 것은 무엇인가?
① 상속
② 생성
③ 행위
④ 구조
정답 : 1번
- GOF의 디자인 패턴은 생성 패턴, 구조 패턴, 행위 패턴으로 구분된다.
5 과목 : 정보시스템 구축관리
1. 소프트웨어 개발 모델 중 나선형 모델의 네 가지 주요 활동이 순서대로 나열 된 것은?
정답 : 계획 수립 -> 위험 분석 -> 개발 및 검증 -> 고객 평가 순으로 반복
2. NS(Nassi-Schneideraman) Chart에 대한 설명으로 거리가 먼 것은?
① 논리의 기술에 중점을 둔 도형식 표현 방법이다.
② 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현된다.
③ 주로 화살표를 사용하여 논리적인 제어구조로 흐름을 표현한다.
④ 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.
정답 : 3번
- 나씨-슈나이더만 차트는 화살표가 표시되지 않는다.
3. 소프트웨어 비용 추정 모형(Estimation Models)이 아닌 것은?
① COCOMO
② Putnam
③ Function-Point
④ PERT
정답 : 4번
- 상향식 비용 산정 방법으로는 LoC, M/M, COCOMO, Putnam, FP 모형, 개발 단계별 노력 기법이 있다.
4. COCOMO 모델에 의한 비용 산정 과정에 해당하지 않는 것은?
① 보헴(Boehm)이 제안한 모형으로 프로그램 규모에 따라 비용을 산정한다.
② 요구 기능을 증가시키는 인발려로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정한다.
③ 개발 노력 승수(Development Effort Multi-pliers)를 결정한다.
④ 비용 산정 유형으로 단순형, 중간형, 임베디드형이 있다.
정답 : 2번
- 요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정한다는 2번에 대한 선지의 내용은 COCOMO 모델이 아닌 기능점수(FP) 방식이다.
5. 기능점수(Functional Point)모형에서 비용산정에 이용되는 요소가 아닌 것은?
① 클래스 인터페이스
② 명령어(사용자 질의 수)
③ 데이터 파일
④ 출력 보고서
정답 : 1번
- 비용산정에 이용되는 요소는 아래와 같다.
- 자료 입력(입력 양식) / 정보 출력(출력 보고서) / 명령어(사용자 질의 수) / 데이터 파일 / 필요한 외부 루틴과의 인터페이스
6. Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?
① BYL
② SLIM
③ ESTIMACS
④ PERT
정답 : 2번
- 푸트남 모형의 자동화 추정 도구는 SLIM이다.
- 소프트웨어 개발 주기의 각 단계별로 요구할 인력의 ㅍ분포를 가정하는 모형이다.
7. 다음 중 일정 관리 모델에 대한 설명으로 틀린 것은?
① CPM(Critical Path Method)은 모든 자원 제약사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드(Node)와 노드 간의 연결을 통해 공정을 계산하기 위한 액티비티(Activity) 표기법이다.
② PERT(Program Evaluation and Review Technique)는 자원 제약사항을 고려하여 일정을 작성하는 기법이다.
③ 간트 차트(Gantt Chart)는 업무별로 일정의 시작과 끝을 그래픽으로 표시하여 전체 일정을 한눈에 볼 수 있는 프로젝트 일정관리를 위한 바(Bar) 형태의 차트이다.
④ CPM(Critical Path Method)은 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법이다.
정답 : 2번
일정관리 모델에 대한 특징은 다음과 같다.
- 주 공정법(CPM)
- 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
- 모든 자원 제약 사항을 배제한 상태로 프로젝트의 시작과 끝을 나타내는 노드와 노드 간을 연결을 통해 공정을 계산하기 위한 액티비티 표기법
- PERT
- 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정 방식을 통해 일정을 관리하는 기법
- 중요 연쇄 프로젝트 관리(CCPM)
- 주 공정 연쇄법으로 자원 제약사항을 고려하여 일정을 작성하는 기법
- 간트 차트
- 업무별로 일정의 시작과 끝을 그래픽으로 표시하여 전체 일정을 한 눈에 볼 수 있는 프로젝트 일정 관리를 위한 바 형태의 차트
8. ISO 12207 표준의 기본 생명주기의 주요 프로세스에 해당하지 않는 것은?
① 획득 프로세스
② 개발 프로세스
③ 성능평가 프로세스
④ 유지보수 프로세스
정답 : 3번
- ISO/IEC 12207은 기본 생명주기, 지원 생명주기, 조직 생명주기 프로세스로 구성된다.
- 기본 생명주기는 획득, 공급, 개발, 운영, 유지보수 프로세스가 존재한다.
9. 소프트웨어 개발 프레임워크와 관련한 설명으로 가장 적절하지 않은 것은?
① 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장받을 수 있게 하는 개발 소프트웨어이다.
② 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
③ 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
④ 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)라고 설명하기도 한다.
정답 : 2번
- 소프트웨어 개발 프레임워크는 직접 코드의 흐름을 제어할 수 있으며 사용자는 그 안에서 필요한 코드를 짜 넣는 방식이다.
- 따라서 2번에 대한 선지는 라이브러리에 대한 설명으로 잘 못된 것이다.
10. 기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적을 위한 새로운 방식의 네트워크 기술을 의미하는 것은?
① Software Defined Perimeter
② Virtual Private Network
③ Local Area Network
④ Mesh Network
정답 : 4번
- 4번에 대한 개념이 문제 내용이다.
11. 전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력 서비스를 제공하고 에너지 이용 효율을 극대화하는 전력망은?
① 사물 인터넷
② 스마트 그리드
③ 디지털 아카이빙
④ 미디어 빅뱅
정답 : 2번
- 디지털 아카이빙은 지속해서 보존할 가치를 가진 디지털 객체를 장기간 관리하여 이후의 이용을 보장화할 수 있도록 변환, 압축 저장하여 DB화하는 작업을 말한다.
12. 다음에서 설명하는 용어는 무엇인가?
- 서비스라고 정의되는 분할된 애플리케이션 조각들을 느슨한 결합을 통해 하나의 완성된 애플리케이션을 구현하기 위한 구조
① CPS(Cyber-Physical System)
② 디지털 트윈(Digital Twin)
③ 서비스 지향 아키텍처(SOA; Service Oriented Architecture)
④ 전문가 시스템(Expert System)
정답 : 3번
13. 다음 내용이 설명하는 것은?
- 네트워크상에 광 채널 스위치의 이점인 고속전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
- 각기 다른 운영체제를 가진 여러 기종이 네트워크상에서 동일 저장 장치의 데이터를 공유하게 함으로써, 여러 개의 저장 장치나 백업 장비를 단일화시킨 시스템
① SAN
② MBR
③ NAC
④ NIC
정답 : 1번
- 고가용성, 고성능, 융통성, 확장성 보장 + 데이터를 블록 단위로 관리하는 기술
- SAN = Storage Area Network (한 번 더 틀림)
14. 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소는?
① 기밀성
② 부인 방지
③ 가용성
④ 무결성
정답 : 4번
- 무결성은 덩당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 안전성과 고의 악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성이다.
- 영어로는 Integrity로 알고 있으면 된다.
15. 블록 암호화 방식이 아닌 것은?
① DES
② RC4
③ AES
④ SEED
정답 : 2번
- DES, AES, SEED는 모두 블록 암호화 알고리즘에 속한다.
- RC4는 스트림 암호이다.
16. 암호화키와 복호화 키가 동일한 암호화 알고리즘은?
① RSA
② AES
③ DSA
④ ECC
정답 : 2번
- 암호화키와 복호화키가 동일한 암호화 알고리즘은 대칭키 암호화 알고리즘으로 DES, 3DES, SEED, AES, ARIA, IDEA, LFSR 등이 있다.
17. 다음에서 설명하는 해시 함수 취약점 대응방법은 무엇인가?
- 해시값을 알아보지 못하도록 하기 위해서 원문의 해시값을 입력값으로, 다시 그 해시값을 입력값으로 n번 반복해서 적용하는 방법
정답 : 키 스트레칭 (Key Stretching)
18. 암호문에 대응하는 일부 평문이 가용한 상황에서의 암호공격 방법은?
① 암호문 단독 공격
② 알려진 평문 공격
③ 선택 평문 공격
④ 선택 암호문 공격
정답 : 2번
- 공격자가 일부 암호문-평문 쌍을 가지고 있을 때, 암호 시스템을 해독하려는 공격 기법을 알려진 평문 공격이라고 한다.
19. 백도어 탐지 방법으로 틀린 것은?
① 무결성 검사
② 닫힌 포트 확인
③ 로그 분석
④ SetUID 파일 검사
정답 : 2번
- 닫힌 포트가 아니라 TCPView로 열린 포트를 확인하고 백도어 탐지를 해야한다.
20. 정보 시스템 내에서 어떤 주체가 특정 개체에 접근하려 할 때 양쪽의 보안 레이블(Security Label)에 기초하여 높은 보안 수준을 요구하는 정보(객체)가 낮은 보안 수준의 주체에게 노출되지 않도록 하는 접근제어 방법은?
① Mandatory Access Control
② User Access Control
③ Discretionary Access Control
④ Data-Label Access Control
정답 : 1번
- 강제적 접근통제(MAC) : 정보 시스템 내에서 어떤 주체가 특정 개체에 접근하려 할 때 양쪽의 보안 레이블에 기초하여 높은 보안 수준을 요구하는 정보가 낮은 보안 수준의 주체에게 노출되지 않도록 하는 접근제어 방법이다.
- 임의적 접근통제(DAC) : 시스템에 대한 접근을 사용자/그룹의 신원 기반으로 접근을 제한하는 방법
- 사용자 계정 컨트롤(UAC) : 프로그램에서 관리자 수준의 권한이 필요한 작업을 수행할 때 사용자에게 알려서 제어할 수 있도록 도와주는 기능
21. 어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티는?
① tcp wrapper
② trace checker
③ token finder
④ change detector
정답 : 1번
- TCP 레퍼는 클라이언트의 IP 주소를 확인하여 시스템 관리자가 접근을 허용한 호스트들에 대해서만 서비스를 허용하기 때문에 외부의 해킹으로부터 시스템을 보호할 수 있다.
22. 다음에서 설명하는 침입 탐지 유형은?
- 공격자가 실제로 시스템에 침입하였으나 침입 탐지 시스템은 해당 공격을 정상적인 동작으로 인식하여 침입을 탐지하지 못한 탐지 유형
① True Positive
② False Positive
③ True Negative
④ False Negative
정답 : 4번
- FN : 가장 위험한 유형
23. Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?
① SQL 삽입 : 사용자의 입력값 등 외부 입력값이 SQL 쿼리에 삽입되어 공격
② 크로스 사이트 스크립트 : 검증되지 않은 외부 입력값에 의해 브랑저에서 악의적인 코드가 실행
③ 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력값이 적절한 사전 검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
④ 자원 삽입 : 사용자가 내부 입력값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 스템에 과부하 발생
정답 : 4번
- 경로 조작 및 자원 삽입은 위의 설명이 아니라, 외부 입력된 값의 사전 검증이 없거나 잘못 처리될 경우, 입력값 조작을 통해 시스템이 보호하는 자원에 임의로 접근할 수 있는 보안 약점을 발생하는 것이다.
24. Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?
① 보안에 취약
② 대용량 볼륨에 효율적
③ 자동 압축 및 안전성
④ 저용량 볼륨에서의 속도 저하
정답 : 1번
- 대용량 볼륨에 효율적이고, 그렇기에 저용량 볼륨에서는 FAT보다 속도가 낮은 것이 맞다.
- NTFS는 강력한 보안 기능을 제공한다.
25. 다음 설명에 해당하는 시스템은?
- 1990년대 David Clock이 처음 제안하였다.
- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다.
- 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적 및 공격기법의 정보를 수집하는 역할을 한다.
- 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.
정답 : HoneyPot
- Honeypot : 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템
26. 위조된 매체 접근제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격은?
① Parsing
② LAN Tapping
③ Switch Jamming
④ FTP Flooding
정답 : 3번
- 스위치는 자신의 MAC 주소 테이블의 저장 공간이 가득차게 되면 네트워크 패킷을 브로드캐스트 하는 특성을 가진다.
- 공격자는 이러한 단점을 악용하여 수많은 MAC주소를 지속적으로 보내 스위치의 MAC 주소 테이블을 꽉 차게 만든다. 이를 Switch Jamming(MAC Flooding)이라고 부른다.
27. 블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바르게 연결된 것은?
① 블루버그(BlueBug) - 블루투스의 취약점을 이용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
② 블루스나프(BlueSnarf) - 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
③ 블루프린팅(BluePrinting) - 블루투스 공격장치의 검색 활동을 의미
④ 블루재킹(BlueJacking) - 블루투스 장비 사이의 취약한 연결 관리를 악용한 공격
정답 : 3번
- 블루버그 : 블루투스 장비 간 취약한 연결 관리를 이용한 공격
- 블루스나프 : 블루투스 연결을 통해 무선 기기에서 무단으로 정보에 액세스하는 공격
- 블루재킹 : 블루투스를 이용해 스팸메일처럼 메시지를 익명으로 퍼뜨리는 공격
28. 다음 내용이 설명하는 것은?
- 리눅스 재단의 오픈소스 블록체인 프로젝트로, 프라이빗 블록체인 기술의 표준이다.
- 허가된 사용자만 사용이 가능하고 각각의 사용자에 대한 권한 설정이 가능하다.
- 필요한 구성요소만 선택하여 사용할 수 있는 모듈화된 구성요소를 가지고 있다.
- Go, Java, JavaScript 등 다양한 언어로 개발할 수 있다.
정답 : 하이퍼레저(Hyperledger)
29. 국내 IT서비스 경쟁력 강화를 목표로 개발되었으며 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경으로 구성된 개방형 클라우드 컴퓨팅 플랫폼은?
① N2OS
② Paas-TA
③ KAWS
④ Metaverse
정답 : 2번
- 파스타(Paas-TA)에 대한 설명이다.
30. 정보 보안의 목표 3가지 중 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성은?
① Reliability
② Interoperability
③ Integrity
④ Usability
정답 : 3번
- 기밀성(Confidentiality) : 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성
- 무결성(Integrity) : 문제와 같은 특성
- 가용성(Availability) : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있게 보장하는 특성
- SW 개발 보안의 3대 요소는 기밀성, 무결성, 가용성이다. (한 번 더 틀림)
31. OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술은?
① PLCP(Packet Level Control Processor)
② Traffic Distributor
③ Packet Tree
④ DPI(Deep Packet Inspection)
정답 : 4번
- DPI는 문제의 설명과 동일
- 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보를 분석하는 콘텐츠 내용 분석 기술
32. COCOMO Model 중 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만라인 이하의 소프트웨어를 개발하는 유형은?
① Embedded
② Organic
③ Semi-detached
④ Semi-embedded
정답 : 2번
- COCOMO의 소프트웨어 개발 유형
- 조직형(Organic), 반 분리형(Semi-Detached), 임베디드형(Embedded Mode)
- 조직형은 5만 / 반 분리형은 30만 / 임베디드형은 30만 이상 이다.
33. 다음 중 유한체 위에서 정의된 타원곡선 군에서의 이산 대수의 문제에 기초한 공개키 암호화 알고리즘 기법은?
① RSA
② ECC
③ PKI
④ PEM
정답 : 2번
- RSA : 큰 인수의 곱을 소인수 분해하는 알고리즘 이용
- ECC : 유한체 위에서 정의된 이산 대수의 문제에 기초
- PKI : 공개키 암호 방식 바탕으로 한 디지털 인증서 활용
- PEM : 암호화, 인증, 무결성 등의 이메일을 위한 보안시스템
34. 다음에서 설명하고 있는 블록 암호화 운영 모드는 무엇인가?
- 이전 암호문을 현재 블록의 암호 알고리즘의 입력으로 하여 나온 출력값을 현재 블록의 평문과 XOR 연산하여 암호화하는 방식
정답 : CFB
35. 실무적으로 검증된 개발 보안 방법론 중 하나로써 SW 보안의 모범 사례를 SDLC(Software Development Life Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론은?
① CLASP
② CWE
③ PIMS
④ Seven Touchpoints
정답 : 4번
- CLASP : 여러 종류의 관점으로 구성된 보안 프레임워크로 이미 운영중인 시스템에 적용하기 쉬운 개발 보안 방법론
36. 다음에서 설명하는 인증 기술로 올바른 것은?
- 비밀번호 없는 인증을 구현하기 위한 인증표준으로, 보안성과 사용자 편의성을 동시에 추구하는 차세대 인증 기술이다.
- 기존의 ID/Password 방식에서 벗어나 생체인증, 보안 키 등을 이용하여 보다 강력하고 사용자 친화적인 인증 방식을 제공하는 것이 목적이다.
정답 : FIDO(Fast IDentity Online)
37. SoftTech 사에서 개발된 것으로 구조적 요구분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구는?
① SREM
② PSL/PSA
③ HIPO
④ SADT
정답 : 4번
- 구조적 요구분석을 하기 위해 블록 다이어그램 채택 = SADT
38. 프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?
① 각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
② 시간선(Time-Line) 차트라고도 한다.
③ 수평 막대의 길이는 각 작업의 기간을 나타낸다.
④ 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 제시한다.
정답 : 4번
- 1,2,3 번에 대한 설명은 GANTT 차트에 대한 설명이다.
- PERT 차트는 프로젝트에 필요한 전체 작업의 상호관계를 표시하는데 더 초점을 둔다.
39. 다음 중 블록 알고리즘의 특징을 옳게 설명한 것은?
① IDEA는 DES를 대체하기 위해 스위스 연방 기술 기관에서 개발한 8라운드의 알고리즘이다.
② AES는 미국 연방 표준 알고리즘으로 DES를 대체하는 비트 암호 알고리즘이다.
③ SEED는 128비트 암호 알고리즘으로 NIST에서 개발한 대칭키 암호 알고리즘 표준이다.
④ DES의 취약점을 보완하기 위하여 3DES가 개발되었고, 3DES는 AES보다 보안성이 뛰어나 3DES 사용을 권장한다.
정답 : 1번
- IDEA : DES를 대체하기 위함 / 64비트 블록 암호, 128비트 키, 8라운드 구성
- AES : DES의 안전성 문제로 나온 미국 표준 블록 암호로 채택된 128비트 블록 암호
- SEED : 128비트 암호 알리즘, KISA와 국내 암호전문가들이 순수 국내기술로 개발, 전자상거래/금융/무선 통신 등에서 사용되는 개인정보와 같은 중요한 정보 보호 위함.
- 3DES : DES가 더 이상 안전하지 않다는 것이 증명되어 DES를 보완하기 위해 고안된 알고리즘.
- 3DES보다는 AES 사용을 권장
40. 세션 하이재킹을 탐지하는 방법으로 거리가 먼 것은?
① FTP SYN SEGMENT 탐지
② 비동기화 상태 탐지
③ ACK STORM 탐지
④ 패킷의 유실 및 재전송 증가 탐지
정답 : 1번
- **FTP SYN SEGMENT 탐지는 세션 하이재킹을 탐지하는 방법은 아니다.
41. 무선통신 환경에서 사용되는 보안 프로토콜 중 다음에서 설명하는 프로토콜은?
- IEEE 802.11i 규격을 완전히 수용하는 표준 프로토콜이다.
- 이전 WEP의 취약점을 보완한 대안 프로토콜로 AES-COMP를 통한 암호화 기능 향상, EAP 사용자 인증 강화 등이 포함된다.
정답 : WPA2
- WPA : WEP의 취약점 대안, RC4 암호화 프로토콜과 TKIP 프로토콜을 통해 데이터 암호화 향상
42. 시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?
- 자신의 신원(Identity)을 시스템에 증명하는 과정이다.
- 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
정답 : Authentication
- 인증(Authentication) : 접근을 시도하는 가입자 또는 단말에 대한 식별 및 신분 검증
- 인가(Authorization) : 검증된 가입자나 단말에게 어떤 수준의 권한과 서비스를 이용
43. 아래 설명에 해당하는 용어를 고르시오.
- 네트워크의 트래픽 전달 과정을 소프트웨어 기반으로 제어/관리하는 접근 방식이다.
- 네트워크 제어 영역과 포워딩 영역을 분리한다.
- 네트워크 리소스를 가상화하고 추상화하는 네트워크 인프라에 대한 접근 방식이다.
정답 : SDN
- SDN(Software Defined Networks) : 소프트웨어 정의 네트워킹
44. 아래 설명에 해당하는 도구는 무엇인가?
- 호스트 기반으로 파일 시스템 오브젝트들의 변화를 탐지하는 시스템이다.
- 침입 이후 탐지에 매우 유용할 뿐만 아니라 무결성 입증과 변화 관리 그리고 정책 준수 같은 다른 여러 목적으로도 사용될 수 있다.
정답 : Tripwire
- 크래커가 침입해 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구이다.
- 현실에서는 적의 침입을 탐지하는 철선이라는 의미로 사용
45. 아래 설명에 해당하는 용어는 무엇인가?
- 컴퓨터에서 서버의 안정성을 증대시키기 위한 솔루션으로 여러 컴퓨터 시스템을 연결할 수 있다.
- 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮어지며 다수의 시스템을 동시에 연결한다.
- 2개 시스템이 각각 업무를 수행함으로써 시스템 장애를 몇 초 만에 복구할 수 있다.
정답 : HACMP
- HACMP(High Availability Clustering MultiProcessing) : 2개 이상의 시스템 운용을 통해 가용성을 극대화 하는 점이 핵심
46. 다음 중, IPv6의 전송 방식에 해당하지 않는 것은?
① 유니 캐스트
② 멀티 캐스트
③ 브로드 캐스트
④ 애니 캐스트
정답 : 3번
- IPv6의 전송 방식 : Multicast, Unicast, Anycast
- IPv4의 전송 방식 : Multicast, Unicast, Broadcast
47. 위치 기반 소셜 네트워크 서비스로, 자신의 위치를 지도상에 표시하거나 방문한 곳의 정보를 남길 수 있는 기능을 제공하는 것은?
① Ubiquitous
② MQTT
③ Zing
④ Foursquare
정답 : 4번
- Ubiquitous : 시간과 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 정보 통신 환경
- MQTT : TCP/IP 프로토콜 위에서 동작하는 발행-구독 기반의 메시징 프로토콜
- Zing : 10cm 이내 거리에서 데이터 전송이 가능한 초고속 NFC 기술
48. 전자우편 서비스에서 멀티미디어 메일을 주고받기 위한 프로토콜은 무엇인가?
① SMTP
② POP3
③ MIME
④ IMAP
정답 : 3번
- SMTP : 수신측 이메일 서버로 전송
- POP3 : 수신측 이메일 서버에서 컴퓨터로 다운로드
- IMAP : 이메일 서버에서 메일의 헤더를 분석하여 수신하기 전에 처리