본문 바로가기
정보처리기사 :

:D / 2020년 08월 22일 정보처리기사 필기 정리

by 밍코딩코 2024. 2. 19.

 

2020년 8월 정보처리기사 필기 CBT 결과

 

// 1과목

다음 내용이 설명하는 디자인 패턴은 ?  

1. Visitor 패턴 = 행위 패턴 / 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성함

2. Observer 패턴 = 행위 패턴 / 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달

3. Factory Method 패턴

4. Bridge 패턴 = 구조 패턴 / 구현부에서 추상층 분리, 서로가 독립적으로 확장, 기능과 구현을 두개의 별도 클래스로 구현

 

UML에서 시퀀스 다이어그랩의 구성 항목에 해당하지 않는 것은?

1. 생명선

2. 실행

3. 확장

4. 메시지

- Sequence Diagram : 메시지를 주고받으면서 시간의 흐름에 따라 상호작용하는 과정들 (그림으로 표현)

- Sequence Diagram 구성 항목 -

액터(Actor) : 시스템으로부터 서비스를 요청하는 외부요소 ( 사람, 외부 시스템 )

객체(Object) : 메시지를 주고받는 주체

생명선(Lifeline) : 객체가 메모리에 존재하는 기간

메시지(Message) :객체가 상호 작용을 위해 주고받는 메시지

실행 상자(Active Box) : 객체가 메시지를 주고받으며 구동되고 있음을 표현

 

디자인 패턴중에서 행위적 패턴에 속하지 않는 것은? 

1. 커맨드 패턴

2. 옵저버 패턴

3. 프로토타입 패턴 = 생성 패턴

4. 상태 패턴 

- 행위적 패턴 : 클래스와 객체의 상호작용 방법과 역할 분담 및 책임 분배 방법을 정의

- 행위적 패턴의 종류 : 옵서버, 상태, 방문자, 커맨드, 책임연쇄, 인터프리터, 반복자, 중재자

 

UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?

1. 희소성

2. 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함

3. 직관성

4. 멀티운용성

- 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함

- 학습성 : 누구나 쉽게 배우고 익힐 수 있어야함

 

다음 () 안에 들어갈 내용으로 옳은 것은?

1. 협약(Contract) : 클래스에 대한 여러 가정을 공유하도록 명세한 것

2. 프로토콜(Protocol)

3. 패턴(Pattern)

4. 관계(Relation)

   (1) : 사용되기 전에 참 = 선행조건(precondition)

   (2) : 사용 후 만족 = 결과조건(postcondition)

   (3) : 실행되는 동안 항상 만족 = 불변조건(invariant)

 

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

1. 개발자이름

2. 문제 및 배경

3. 사례

4. 샘플코드

- 디자인 패턴 구성 요소 : 패턴 이름 / 문제 / 솔루션 / 사례 / 결과 / 샘플코드

 

객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?

1. ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 : 인터페이스를 클라이언트에 특화되도록 분리

2. DIP(Dependency Inversion Principle) : 의존 역전 원칙 : 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것

3. LSP(Liskov Substitution Principle) : 리스코프 치환 원칙

4. SRP(Single Responsibility Principle) : 단일 책임 원칙 : 객체는 단 하나의 책임만 가져야 한다

 

인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?

1, 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악

2. 동료검토 : 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견

3. 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토

- 인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 명세서를 확인하면서 결함 발견

4. CASE 도구: 검토 자료를 회의 전에 배포해서 사전 검토 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견

- 워크스루 : 검토 회의 전, 명세서를 미리 배포하여 사전검토 후에 짧은 검토 회의를 통해 결함 발견

 

// 2과목

패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?

1. ISO/IEC 2196

2. IEEE 19554

3. ISO/IEC 12119

4. ISO/IEC 14959

- 현재는 12119 이 대체되어 25010 이 국제표준이다.

 

제어흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가?

1. 3

2. 4

3. 5

4. 6

- V(G) = Edge(화살표) - Node(노드, 원) + 2

  V(G) = 6 - 4 + 2 = 4

 

다음 자료에 대하여 선택 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?

                                                    37, 14, 17, 40, 35

1. 14, 17, 37, 40, 35

2. 14, 37, 17, 40, 35

3. 17, 14, 37, 35, 40

4. 14, 17, 35, 40, 37

- 선택정렬 : 가장 작은 값을 찾아 첫번째 값과 교환

       1회전 : 14, 37, 17, 40, 35

       2회전 : 14, 17, 37, 40, 35

       3회전 : 14, 17, 35, 40, 37

 

알고리즘 설계 기법으로 거리가 먼 것은?

1. Divide and Conquer : 분할 정복 알고리즘 : 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 문제를 해결

2. Greedy : 탐욕 알고리즘 : 현재 시점에서 가장 최적의 방법을 선택하는 알고리즘

3. Static Block

4. Backtracking : 가능성이 없는 경우의 수는 가지치기를 하고 진행되는 알고리즘

 

제품 소프트웨어의 형상 관리 역할로 틀린 것은?

1. 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용

2. 불필요한 사용자의 소스 수정 제한

3. 프로젝트 개발비용을 효율적으로 관리

4. 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능

- 형상관리는 프로젝트의 버전, 수정사항을 관리함 / 개발 비용은 관리하지 않음

 

물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?

1. 범위분할 : 지정한 열의 값을 기준으로 분할

2. 해시분할 : 해시 함수를 적용한 결과 값에 따라 데이터 분할

3. 조합분할 : 범위 분할 후 해시 함수를 적용하여 다시 분할

4. 유닛분할

 

인터페이스 구현시 사용하는 기술 중 다음 내용이 설명하는 것은?

- JavaScript를 사용한 비동기 통신기술로 클라이언트와 서버간에 XML 데이터를 주고 받는 기술

1. Procedure : 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어

2. Trigger : 데이터의 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

3. Greedy : 탐욕 알고리즘

4. AJAX

 

알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?

1. 단위 테스트

2. 인수 테스트

3. 통합 테스트

4. 시스템 테스트

- 인수 테스트의 종류 : 사용자, 운영상의, 계약, 규정, 알파, 베타 테스트

 

// 3과목

릴레이션 R의 모든 결정자가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?

1. 제1정규형

2. 제2정규형

3. 보이스/코드 정규형

4. 제4정규형

- 원 부 이 다 조 / 1 2 3 보 4 5

 

player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?

1. (1)

2. (2)

3. (3)

4. (4) = AND height BETWEEN 170 and 180;

- Between A and B 임

 

데이터베이스 로그를 필요로 하는 회복 기법은?

1. 즉각 갱신 기법 : 트랜잭션의 연산을 수행하여 데이터를 갱신할 때 실제 데이터 베이스에 반영하는 기법

                               갱신한 모든 내용을 로그에 보관

                               취소(Undo)와 재시도(Redo) 모두 사용 가능

2. 대수적 코딩 방법

3. 타임 스탬프 기법

4. 폴딩 기법

- 즉각 갱신 기법, 연기 갱신 기법, 검사점 기법, 그림자 페이지 대체 기법

 

관계대수의 순수관계 연산자가 아닌 것은?

1. Select

2. Cartesian Product : 일반 집합 연산자

3. Division

4. Project

- 순수 관계 연산자 : Select, Project, Join, Division

- 일반 집합 연산자 : 합집합, 교집합, 차집합, 카티션 프로덕트

 

릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?

1. normalization (정규화)

2. rollback : 트랜젝션 취소 / 데이터베이스 업데이트 오류 발생시 이전 상태로 되돌리는 것

3. cardinality (카디널리티) : 튜플의 갯수

4. anomaly (이상) : 삽입이상, 삭제이상, 갱신이상

 

// 4과목

배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?

1. 자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.

2. 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.

3. 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.

4. 무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는

다른 애플리케이션을 방해하지 말아야한다.

- 배치 프로그램의 필수 요소 : 자동화, 안정성, 대용량 데이터, 견고성, 성능

 

TCP 프로토콜에 대한 설명으로 거리가 먼 것은?

1. 신뢰성이 있는 연결 지향형 전달 서비스이다.

2. 기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.

3. 스트림 전송 기능을 제공한다.

4. 순서제어, 오류제어, 흐름제어 기능을 제공한다.

- 기본 헤더 크기는 최소 20byte, 최대 60byte / 헤더에 Option값 포함 시 : 최대 40byte 추가 가능

 

다음이 설명하는 응집도의 유형은?

- 모듈이 다수의 관련 기능을 가질 때 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도

1. 기능적 응집도 : 모든 기능 요소가 단일 문제와 연관되어 수행될 경우

2. 우연적 응집도 : 서로 관련없는 요소로만 구성

3. 논리적 응집도 : 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈 형성

4. 절차적 응집도

- 시간적 응집도 : 특정 시간에 처리되는 몇개의 기능을 모아 모듈로 구성

- 교환적 응집도 : 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우

- 순차적 응집도 : 활동을 통해 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용하는 경우

- 응집도는 우 < 논 < 시 < 절 < 통 < 순 < 기

- 결합도는 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용     /     ★ 결합도는 낮을수록 응집도는 높을수록 이상적인 모듈 ★

 

다음 중 가장 결합도가 강한 것은?1. Data Coupling : 자료 결합2. Stamp Coupling : 스탬프 결합도

3. Common Coupling : 공통 결합도

4. Control Coupling : 제어 결합도- 자 < 스 < 제 < 외 < 공 < 내

 

200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 Subnet으로 나누고 ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?

1. 200.1.1.159

2. 201.1.5.175

3. 202.1.11.254

4. 203.1.255.245                   128 64 32 16 / 8 4 2 1 ,  모자를 씌움

- 10개의 subnet = 2^4 = 16             OOOO/OOOO , 8비트를 4개로 나눔

                                    200.1.1.0000 0000~1111

200.1.1.0000 0000  -> 200.1.1.0~15   (8+4+2+1)

200.1.1.0001 0000  -> 200.1.1.16~31  16~(16+8+4+2+1)

200.1.1.0010 0000  -> 200.1.1.32~47                                 -  15씩 증가

200.1.1.0011 0000  -> 200.1.148~63

200.1.1.0100 0000  -> 200.1.1.64~79

200.1.1.0101 0000  -> 200.1.1.80~95

200.1.1.0110 0000  -> 200.1.1.96~111

200.1.1.0111 0000  -> 200.1.1.112~127

200.1.1.1000 0000  -> 200.1.1.128~143

200.1.1.1001 0000  -> 200.1.1.144~159

 

 

다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서

ㄱ에 들어갈 내용은?

1.string[1:3] + string[-3:] : el rld

2.string[:3] + string[-3:-1] : Hel rl

3.string[0:3] + string[-3:]

4.string[0:] + string[:-1] : Hello Worl

 

어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?

1. Data Coupling : 자료 결합도 : 자료요소로만 구성 / 처리값을 다시 돌려줌

2. Stamp Coupling : 모듈 간 자료 구조 전달될 때 변화가 생기면 그것을 조회하는 모든 모듈에 영향을 미침

3. Control Coupling : 제어 결합도

4. Common Coupling : 공통 결합도 : 공유되는 데이터 영역을 여러 모듈이 사용 / 공통 영역 내용 변경 시 모든 모듈 영향

 

// 5과목

다음 빈칸에 알맞은 기술은?

- ()은 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술이다.

1. Quantum Key Distribution : 양자암호

2. Digital Rights Management : DRM, 저작권 관리

3. Grayware : 바이러스, 트로잔 등 악성프로그램과는 다르게 사용자 동의를 받아 설치

4. Mashup

 

기능점수 모형에서 비용산정에 이용되는 요소가 아닌 것은?

1. 클래스 인터페이스

2. 명령어(사용자 질의수)

3. 데이터파일

4. 출력보고

- FP 기능별 가중치 산정요소 : 자료 입력, 정보 출력(출력 보고서), 명령어, 데이터파일, 필요한 외부 루틴과의 인터페이스

 

블록 암호화 방식이 아닌 것은?

1. DES

2. RC4 : 스트림 암호화 방식

3. AES

4. SEED

- ARIA 까지 블록 암호화 방식

- LFSR, RC4 는 스트림 암호화 방식

 

Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?

1. SQLR/30

2. SLIM

3. MESH

4. NFV

-  Putnam : 소프트웨어 생명주기 전 과정 동안 사용될 곡선의 노력 분포를 가정해주는 모형

                   / Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.

- 훈남(Putnam)이 노력(노력분포도)해서 슬림(SLIM)해졌네~

 

큰 숫자를 소인수 분해하기 어렵다는 기반 하에 1978년 MIT에 의해 제안된 공개키 암호화 알고리즘은?

1. DES : 1975 IBM 개발

2. ARIA : 국내 개발

3. SEED : 국내 개발

4. RSA

 

DDoS 공격과 연관이 있는 공격 방법은?

1. Secure shell : 네트워크 상의 다른 컴퓨터에서 제어 가능한 프로그램 또는 해당 프로토콜

2. Tribe Flood Network

3. Nimda : 바이러스

4. Deadlock : 교착상태

- DDoS는 네트워크 취약점이 있는 호스트들을 탐색한 후 이를 호스트들에 분산 서비스 공격용 툴을 설치하여

에이전트(agent)로 만든 후 DDoS공격에 이용

- 분산 서비스 공격용 툴의 종류 : Trin00, TFN(Tribe Flood Network), TFN2K, Stacheldraht

 

소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준은?

1. SCRUM

2. ISO/IEC 12509

3. SPICE

4. CASE

 

실무적으로 검증된 개발보안 방법론 중 하나로써 SW보안의 모범 사례를 SDLC(Software Development Life Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론은?

1. CLASP : SDLC 초기단계에 보안강화를 목적으로 하는 정형화된 프로세스

2. CWE : 주요 보안 취약점, 보안 문제를 정리하는 프로젝트

3. PIMS : 개인정보 보호관리체계

4. Seven Touchpoints