개센개발

2020년 8월 22일 정보처리기사 필기 기출 오답 본문

자격증/정보처리기사

2020년 8월 22일 정보처리기사 필기 기출 오답

벼링2 2023. 2. 3. 15:11

ㅋㅋㅋㅋㅋㅋㅋ 저 통과통과가 너무 웃기다ㅋㅋㅋㅋㅋㅋㅋ

암튼 5과목은 아직 공부 전이니까~~~~~ 

 


1과목 소프트웨어 설계

 

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

- 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것
- Virtual-Constructor 패턴이라고도 함

① Visitor 패턴

② Observer 패턴

③ Factory Method 패턴

④ Bridge 패턴

더보기

정답 : 3

 

1. Visitor 패턴 (행위패턴)

각 클래스들의 데이터 구조에서 처리기능을 분리하여 별도의 클래스로 구성함. 

분리된 처리기능은 각 클래스를 방문하여 수행

 

2. Observer 패턴 (행위패턴)

한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 병화된 상태를 전달

분산된 시스템 간에 이벤트 생성, 발행(publish), 이를 수신(Subscribe)해야할 때 이용함

 

4. Bridge 패턴 (구조패턴)

구현부에서 추상층을 분리, 서로가 독립적으로 확장함

기능과 구현을 두개의 별도 클래스로 구현함 

 

3. 럼바우 객체지향 분석과 거리가 먼 것은?

① 기능 모델링

② 동적 모델링

③ 객체 모델링

④ 정적 모델링

더보기

정답 : 4

 

럼바우의 분석 기법

가장 일반적으로 사용되는 방법이며 분석활동을 객체모델, 동적모델, 기능모델로 나누어 수행한다.

모든 소프트웨어 구성요소를 그래픽 표기법을 이용하여 모델링, 객체 모델링 기법이라고도 함

 

객체 모델링 = 정보 모델링

시스템에서 요구되는 객체를 찾아내 속성과 연산 식별 및 객체들간의 관계를 규정하여

객체 다이어그램으로 표시함.

 

동적 모델링

상태 다이어그램(상태도)를 이용하여 시가느이 흐름에 따른 객체들간의 제어 흐름, 상호작용, 동작순서 등의 

동적인 행위를 표현함

 

기능 모델링

자료 흐름도를 이용하여 다수의 프로세스들간의 자료 흐름을 중심으로 처리 과정을 표현함

 

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

① 생명선

② 실행

③ 확장

④ 메세지

더보기

정답 : 3

 

시퀀스 다이어그램 구성 항목 = 액터, 활성객체(object), 라이프라인(생명선), 메세지, 제어 삼각형

 

 

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

① 커맨드(Command) 패턴

② 옵저버(Observer) 패턴

③ 프로토타입(Prototype) 패턴

④ 상태(State) 패턴

더보기

정답 : 3

 

행위적 패턴 Behavioral Pattern

1. 책임 연쇄 (Chain of Responsibility

2. 커맨트 (Command)

3. 인터프리터 (Interpreter)

4. 반복자 (Iterator)

5. 중재자 (Mediator)

6. 메멘토 (Memento)

7. 옵저버 (Observer)

8. 상태 (State)

9. 템플릿메소드 (Template Method)

10. 전략 (Strategy)

11. 방문자 (Visitor)

 

프로토타입 패턴은 생성패턴이다.

 

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

컴포넌트 설계시 "( )에 의한 설계"를 따를 경우,  해당 명세에서는 
(1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할
선행조건 
(2) 사용 후 만족되어야 할 결과조건
(3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 
불변조건 등이 포함되어야 한다.

① 협약 (Contract)

② 프로토콜 (Protocol)

③ 패턴 (Pattern)

④ 관계 (Relation)

더보기

정답 : 1

 

클래스에 대한 여러 가정을 공유하도록 명세한 것을 협약에 의한 설계라 함 (Design by Contract)

소프트웨어 컴포넌트에 대한 정확한 인터페이스 명세를 위하여 선행조건, 결과조건, 불변조건을

나타내는 설계 방법.

협약에 의한 설계의 세가지 타입

선행조건 (precondition) : 오퍼레이션이 호출되기 전에 참이 되어야 할 조건

결과조건 (postcondition) : 오퍼레이션이 수행된 후 만족하여야 하는 조건

불변조건 (invariant) : 클래스 내부가 실행되는 동안 항상 만족하여야 하는 조건

 

12. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?

① 유스케이스 다이어그램

② 시퀀스 다이어그램

③ 활동 다이어그램

④ 배치 다이어그램

더보기

정답 : 4

 

행위(Behavioral) 다이어그램

1. 유스케이스 다이어그램

2. 시퀀스 다이어그램

3. 커뮤니케이션 다이어그램

4. 상태 다이어그램

5. 활동 다이어그램

6. 상호작용 개요 다이어그램

7. 타이밍 다이어그램

 

배치 다이어그램은 구조적(Structural) 다이어그램이다.

 

14. 아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?

① 추상화 관계

② 의존 관계

③ 일반화 관계

④ 그룹 관계

더보기

정답 : 3

 

일반화 관계 = 

하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현

일반적인 개념을 상위(부모), 구체적인 개념을 하위(자식)이라고 함

하위 사물에서 상위 사물인 쪽으로 속이 빈 화살표를 연결함

 

16. 자료사전에서 자료의 반복을 의미하는 것은?

① =

② ( )

③ { }

④ [ ]

더보기

정답 : 3

 

자료사전 표기법

= : 자료의 정의

+ : 자료의 연결

( ) : 자료의 생략

[ | ] : 자료의 선택

{ } : 자료의 반복

** : 자료의 설명(주석)

 

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

① ISP (Interface Segregation Principle)

② DIP (Dependency Inversion Principle)

③ LSP (Liskov Substitution Principle)

④ SRP (Single Responsibility Principle)

더보기

정답 : 3

 

객체지향설계의 원칙

1. 단일 책임 원칙 (SRP, Single Responsiblity Principle)

객체는 단 하나의 책임만 가져야한다.

2. 개방-폐쇄의 원칙 (OCP, Open Closed Principle)

기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다.

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

일반화 관계에 대한 이야기며, 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야한다.

4. 인터페이스 분리 원칙 (ISP, Interface Segregation Principle)

인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙이다.

5. 의존 역전 원칙 (DIP, Dependency Inversion Principle)

의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 

거의 변화가 없는 것에 의존하라는 원칙이다.

 

 

2과목  소프트웨어 개발

 

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

① ISO/IEC 2196

② IEEE 19554

③ ISO/IEC 12119

④ ISO/IEC 14959

더보기

정답 : 3

 

ISO/IEC 12119 패키지 소프트웨어 제품테스트 국제 표준

현재 ISO/ISE 25010이 국제표준 대체되었음

 

25. 블랙박스 테스트의 유형으로 틀린 것은?

① 경계값 분석

② 오류 예측

③ 동등 분할 기법

④ 조건, 루프 검사

더보기

정답 : 4

 

블랙박스 테스트 유형

- 동치(동등) 분할 검사 (Equivalence Partitioning Testing)

- 경계값 분석 (Boundary Value Analysis)

-원인-효과 그래프 검사 (Cause-Effect Graphing Testing)

- 오류 예측 검사 (Error Guessing)

- 비교 검사 (Comparison Testing)

 

화이트박스 테스트 유형

-기초 경로 검사

- 제어 구조 검사=> 조건검사, 루프검사, 데이터흐름검사

 

27. 다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 

3회전 후의 결과로 옳은 것은?

37, 14, 17, 40, 35

① 14,17,37,40,35

② 14,37,17,40,35

③ 17,14,37,35,40

④ 14,17,35,40,37

더보기

정답 : 4

 

선택정렬은 가장 작은 값을 찾아 첫번쨰 값과 교환한다. 

이후 정렬된 값을 제외한 나머지 인덱스 중 가장 작은 값을 찾아 정렬되지 않은 인덱스 중

가장 처음 값과 자리를 교환해 나간다.

 

29. 다음 트리를 Preorder 운행법으로 운행할 경우 가장 먼저 탐색되는 것은?

① A

② B

③ D

④ G

더보기

정답 : 1

 

이진 트리 운행법 

- Preorder 운행(전위순회) : Root - Left - Right

- Inorder 운행(중위순회) : Left - Root - Right

- Postorder 운행(후위순회) : Left - Right - Root

 

Preorder : ABFCEGHF

Inorder : DBAGEHCF

Postorder : DBGHEFCA 

 

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

① Divide and Conquer

② Greedy

③ Static Block

④ Backtracking

더보기

정답 : 3

 

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

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

4. Backtracking : 모든 조합을 시도하여 문제의 답을 찾음

 

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

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

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

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

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

더보기

정답 : 3

 

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

① 범위분할(Range Partitioning)

② 해시분할(Hash Partitioning)

③ 조합분할(Composite Partitioning)

④ 유닛분할(Unit Partitioning)

더보기

정답 : 4

 

파티션 유형 

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

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

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

 

40. 다음 트리의 차수는?

① 2

② 3

③ 4

④ 5

더보기

정답 : 2

 

트리의 차수 : 전체 트리 중에서 가장 많은 차수

최상단은 루트로 차수로 포함되지 않음

B가 최대의 차수를 가지고 있다. 

 

3과목 데이터베이스 구축

 

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

① 제1정규형

② 제2정규형

③ 보이스/코드 정규형

④ 제4정규형

더보기

정답 : 3

 

1NF : 도메인이 원자값만으로 구성된 정규형

2NF : 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수적 종속을 만족하는 정규형

3NF : 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형

BCNF : 모든 결정자가 후보키인 정규형

4NF : 다치 종속 A->B가 성립하는 경우 A에 함수적 종속 관계를 만족하는 정규형

5NF : 모든 조인 종속이 후보키를 통해서만 성립되는 정규형

 

1정규형 : 반복그룹을 제거

2정규형 : 부분 함수적 종속을 제거

4정규형 : 다치 종속을 제거

보이스코드 = 모든 결정자가 후보키인 상태

 

48. 뷰(View)의 장점이 아닌 것은?

① 뷰 자체로 인덱스를 가짐

② 데이터 보안이 용이

③ 논리적 독립성 용이

④ 사용자 데이터 관리 용이

더보기

정답 : 1

 

뷰는 하나 이상의 테이블로부터 유도되는 가상테이블이며 논리적 독립성이 제공된다. 

실제 테이블처럼 권한을 나눌 수 있다. 

따라서 특정 사용자가 볼 필요가 없는 다른 열들을 배제하고 뷰를 만든 후 

해당 사용자에게 뷰에 대한 권한을 할당하면 테이블 전체에 대한 권한을 부여하지 않아도 된다.

뷰는 자체적으로 인덱스를 가지지 않는다. 따라서 삽입, 수정, 삭제가 제한적이다.

 

50. 정규화의 목적으로 옳지 않은 것은?

① 어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.

② 데이터 삽입시 릴레이션을 재구성할 필요성을 줄인다.

③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 야기한다.

④ 효과적인 검색 알고리즘을 생성할 수 있다.

더보기

정답 : 3

 

중복을 배제하여 삽입, 삭제, 갱신 이상들을 제거하기 위하여 정규화를 한다.

 

51. 다음에 해당하는 함수 종속의 추론 규칙은?

X→Y이고 Y→Z이면 X→Z이다.

① 분해 규칙

② 이행 규칙

③ 반사 규칙

④ 결합 규칙

더보기

정답 : 2

 

분해규칙 : X→YZ이면 X→Y와 X→Z이다.

반사규칙 : X→Y이면 X→Y와 X→X이다.

결합규칙 : X→Y이고 X→Z이면 X→YZ이다.

 

54. 데이터베이스 로그(log)를 필요로 하는 회복 기법은?

① 즉각 갱신 기법

② 대수적 코딩 방법

③ 타임 스탬프 기법

④ 폴딩 기법

더보기

정답 : 1

 

회복(Recovery)이란?

트랜잭션 도중에 손상된 데이터베이스를 이전 상태로 복구하는 작업

트랜잭션의 연산을 수행할 떄 데이터베이스를 변경하기 전에 로그데이터를 생성한다.

취소(Undo)연산으로 이미 데이터베이스에 쓰여진 것도 수정할 수 있다. 

 

-즉각 갱신 기법(Immediate Update)

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

-연기갱신기법(Deffered Update)

트랜잭션을 완료할 때까지 데이터베이스에 갱신을 연기하는 기법

- 검사점 기법(Check Point)

트랜잭션 중간에 검사점을 로그에 보관하여 트랜잭션 전체를 취소하지 않고 검사점까지 취소할 수 있는 기법

-그림자 페이지 대체 기법

로그가 필요없음.

트랜잭션의 연산으로 갱신할 필요가 있을 때 복사본인 그림자 페이지를 보관하는 기법

 

56. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?

① 제 1정규형

② 제 2정규형

③ 제 3정규형

④ 제 4정규형

더보기

정답 : 1

 

이거 왜 틀렸지?

 

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

①  Select

② Cartesian Product

③ Division

④ Project

더보기

정답 : 2

 

순수 관계 연산자 : select / project / join / division

 

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

① normalization

② rollback

③ cardinality

④ anomaly

더보기

정답 : 4

 

Anormaly(이상) = 릴레이션 조작시 데이터들이 불필요하게 중복되어 예기치않게 발생하는 곤란한 현상

 

Rollback = 트랜잭션 취소/ 데이터베이스 업데이트 오류 발생시 이전 상태로 되돌리는 것Cardinality = 튜플의 갯수

 

4과목 프로그래밍 언어 활용

 

66. HRN 방식으로 스케쥴링 할 경우 입력된 작업이 다음과 같을 때 처리되는 작업의 순서로 옳은 것은?

① ABCD

② ACBD

③ DBCA

④ DABC

더보기

정답 : 3

 

HRN 방식의 우선순위 산정 공식

(대기시간+서비스시간) / 서비스 시간 (값이 클수록 우선순위가 높다.) 

 

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

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

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

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

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

더보기

정답 : 2

 

프로토콜 : 서로 다른 기기들간의 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜놓은 통신 규약

 

TCP/IP : 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수있도록 하는 표준 프로토콜

-TCP프로토콜과 IP프로토콜의 결합

 

TCP프로토콜 (Transmission Control Protocol)- OSI 4계층 전송계층에 해당- 신뢰성 있는 연결형 서비스 제공- 패킷의 다중화, 순서제어, 오류 제어, 흐름제어 기능 제공- 스트림 전송 기능 제공- 양방향 연결형 서비스 제공- 가상 회선 서비스 제공- 스트림 위주의 패킷 전달- 순서제어, 오류제어, 흐름제어- 패킷의 분실, 손상, 지연이나 순서가 틀린 것등이 발생할 때 투명성이 보장되는 통신 제공

 

71. OSI-7Layer에서 링크의 설정과 유지 및 종료를 담당하며 노드간의 오류제어와 흐름제어 기능을 수행하는 계층은?

① 데이터링크 계층

② 물리 계층

③ 세션 계층

④ 응용 계층

더보기

정답 : 1

 

OSI-7Layer = 물리계층/ 데이터링크계층 / 네트워크계층 / 전송계층 / 세션계층 / 표현계층 / 어플리케이션계층

 

2계층 데이터링크계층 : 두개의 인접 개방 시스템들간의 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함

- 주요기능 : 흐름제어, 프레임동기화, 오류제어, 순서제어

- HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준

- 데이터 단위 : 프레임

 

72. 다음중 가장 결합도가 강한 것은?

① data coupling

② stamp coupling

③ common coupling

④ control coupling

더보기

정답 : 3

 

자료-스탬프-제어-외부-공통-내용순으로 독립성은 강하며 결합도는 약함

 

73. 메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서 어느부분에 할당되는가?

① NO.2

② NO.3

③ NO.4

④ NO.5

더보기

정답 : 4

 

Worst fit = 들어갈 수 있는 영역 중 자원낭비가 제일 심한 영역에 들어가는 방법

사용중인 상태는 들어가지 못함 . NO3, NO4 탈락

들어갈 수 있는 공간 NO2와 NO5 중 가장 자원낭비가 심한 NO5가 정답

 

74. 200.1.1.0/24 네트워크를 FLSM방식을 이용하여 10개의 Subnet으로 나누고 ip subnet-zero를 적용했다.

이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?

① 200.1.1.159

② 201.1.5.175

③ 202.1.11.254

④ 203.1.255.245

더보기

정답 : 1

 

200.1.1.0 / 서브넷 255.255.255.0

1. 필요개수 

- 10개 필요 2^4

 

2. 서브넷 마스크

255.255.255.0

200.1.1.1111 0000 -> 255.255.255.240

 

3. 네트워크 대역

 

 

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

㉠에 들어갈 내용은?

① string[1:3] + string[-3]

② string[:3] + string[-3:-1]

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

④ string[0:] + string[:-1]

더보기

정답 : 3

 

파이썬 슬라이스

[:] 처음부터 끝까지

[start:] start오프셋부터 끝까지

[:end] 처음부터 end-1 오프셋까지

[start : end] start 오프셋부터 end-1 오프셋까지

[start : end : step] step만큼 문자를 건너뛰면서 위와 동일하게 추출

 

Comments