조컴퓨터

2020년 제4회 정보처리기사 필기 문제 분석(Ⅱ) 본문

정보처리기사 해설/필기 해설

2020년 제4회 정보처리기사 필기 문제 분석(Ⅱ)

챠오위 2020. 10. 1. 18:33

제2과목 : 소프트웨어개발

 

21. EAI(Enterprise Application Integration) 구축유형 중 Hybrid에 대한 설명으로 틀린 것은?

① Hub & Spoke와 Message Bus의 혼합방식이다.

② 필요한 경우 한 가지 방식으로 EAI구현이 가능하다.

③ 데이터 병목현상을 최소화 할 수 있다.

④ 중간에 미들웨어를 두지 않고 각 애플리케이션을 point to point로 연결한다.

 

 

정답) 

기존의 점 대 점 인터페이스(Point-to-Point Interface)에서는 애플리케이션 수의 실질적 한계와 유지 보수의 어려움 및 애플리케이션 추가 시 방대한 비용 및 시간 손실이 있었으나 EAI(Enterprise Application Integration)를 도입한 인터페이스는 중간에 미들웨어를 두어 손쉬운 확장성을 보장한다.

 

 


22. 다음이 설명하는 테스트 용어는?

  • 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다.
  • 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.

① 테스트 케이스

② 테스트 시나리오

③ 테스트 오라클

④ 테스트 데이터

 

 

정답)

  • 테스트 케이스 : 테스트 수행을 위해 개발된 입력값, 수행조건, 예상결과, 목적, 기술의 집합
  • 테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합, 테스트 케이스들을 적용하는 구체적인 절차로 명세한 문서
  • 테스트 오라클 : 테스트 결과가 참인지 거짓인지를 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동

 


23. 다음 설명에 해당하는 것은?

"물리적 저장 장치의 입장에서 본 데이터 베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다."

① 외부 스키마

② 내부 스키마

③ 개념 스키마

④ 슈퍼 스키마

 

 

정답)

내부 스키마에 대한 설명이다.

Tip) 물리적 저장 장치, 데이터베이스에 저장될 레코드의 형식 정의, 내부 레코드의 물리적 순서 → 내부 스키마

 

 


24. 저작권 관리 구성 요소에 대한 설명이 틀린 것은?

① 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자

② 콘텐츠 분배자(Contents Distributor) : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능

③ 클리어링 하우스(Clearing House) : 키 관리 및 라이선스 발급 관리

④ DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제

 

 

정답)

콘텐츠 분배자(Contents Distributor) : 암호화된 콘텐츠를 유통하는 곳이나 사람

 

 


25. n개의 노드로 구성된 무방향 그래프의 최대 간선수는?

① n-1

② n/2

③ n(n-1)/2

④ n(n+1)

 

 

정답)

무방향 그래프의 최대 간선수 : n(n-1)/2

정점의 개수가 n개일 때 방향 그래프의 최대 간선수 : n(n-1)

 

 


26. 검증(Validation) 검사 기법 중 개방자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?

① 디버깅 검사

② 형상 검사

③ 자료구조 검사

④ 알파 검사

 

 

정답) 

알파 검사에 대한 설명이다.

 

 


27. 소프트웨어 설치 매뉴얼에 대한 설명으로 틀린 것은?

① 설치 과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.

② 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.

③ 설치 매뉴얼은 개발자 기준으로 작성한다.

④ 설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.

 

 

정답)

설치 매뉴얼은 사용자 기준으로 작성한다.

 

 


28. 소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것은?

① 프로젝트 요구 분석서

② 소스 코드

③ 운영 및 설치 지침서

④ 프로젝트 개발 비용

 

 

정답) 

소프트웨어 형상 관리 항목으로는 문서, 프로그램, 유지보수 변경사항으로 크게 볼 수 있으며, 즉 프로젝트 요구 분석서, 소스 코드, 운영 및 설치 지침서가 해당한다는 것을 확인할 수 있다.

 

프로젝트 개발 비용은 제외된다.

 

 


29. 다음 트리에 대한 INORDER 운행 결과는?

 

① D B A E C F

② A B D C E F

③ D B E C F A

④ A B C D E F

 

 

정답)
Inorder(중위) : Left → Root → Right

 

다음 방식으로 결과를 구해 보시오.

Preorder(전위) : Root Left → Right

Postorder(후위) : Left → Right → Root

 

 


30. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식은?

① 제산법

② 폴딩법

③ 기수변환법

④ 숫자분석법

 

 

정답)

폴딩법에 대한 설명이다. 

 

 


31. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?

① pmd

② checkstyle

③ valance

④ cppcheck

 

 

정답)

소스코드 품질분석 도구의 종류

  • 정적분석 도구 : pmd, checkstyle, cppcheck, FindBugs, SonarQube
  • 복잡도분석 도구 : ccm
  • 동적분석 도구 : Avalanche, Valgrind

 


32. 블랙박스 테스트 기법으로 거리가 먼 것은?

① 기초 경로 검사

② 동치 클래스 분해

③ 경계값 분석

④ 원인 결과 그래프

 

 

정답)

블랙박스 테스트는 소프트웨어 검사 방법 중 하나로 어떤 소프트웨어를 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 방법

 

블랙박스 테스트의 종류

  • 동치 분할 검사(Equivalence Partitioning Testing)
  • 경계값 분석(Boundary Value Analysis)
  • 원인-효과 그래프 검사(Cause Effect Graphic Technique)
  • 오류 예측 검사(Error Guessing)
  • 비교 검사(Comparison Testing)

 

화이트박스 테스트는 소프트웨어 내부 소스 코드를 테스트하는 방법이다. 

 

화이트박스 테스트의 종류

  • 기초 경로 검사(Basic Path Test)
  • 조건 검사(Condition Test)
  • 데이터 흐름 검사(Data Flow Test)
  • 루프 검사(Loop Test)

※ 블랙박스 테스트는 소프트웨어의 내부를 보지 않고, 입력과 출력값을 확인하여 기능의 유효성을 판단하였다면

   화이트박스 테스트는 소프트웨어 내부 소스 코드를 확인하는 방법이다. 

 

 


33. 다음에서 설명하는 클린 코드 작성 원칙은?

  • 한 번에 한 가지 처리만 수행한다.
  • 클래스/메소드/함수를 최소 단위로 분리한다.

① 다형성

② 단순성

③ 추상화

④ 의존성

 

 

정답)

클린 코드는 누구나 쉽게 이해할 수 있고 수정 및 추가할 수 있는 단순하고 명료한 코드를 말한다.

 

클린 코드 작성 원칙

  • 가독성 : 누구든 코드를 쉽게 읽을 수 있도록 코드를 작성
  • 단순성 : 한 번에 한 가지를 처리하도록 코드를 작성. 클래스/메소드/함수를 최소 단위로 분리함
  • 의존성 배제 : 코드가 다른 모듈에 미치는 영향을 최소화
  • 중복성 최소화 : 코드의 중복을 최소화
  • 추상화 : 상위 클래스/메소드/함수에서는 간략하게 애플리케이션의 특성을 나타내고, 상세 내용은 하위 클래스/메소드/함수에서 구현

 


34. 다음 초기 자료에 대하여 삽입 정렬(Insertion Sort)을 이용하여 오름차순 정렬할 경우 1회전 후의 결과는?

초기 자료 : 8, 3, 4, 9, 7

① 3, 4, 8, 7, 9

② 3, 4, 9, 7, 8

③ 7, 8, 3, 4, 9

④ 3, 8, 4, 9, 7

 

 

정답) 

8 3 4 9 7

3 8 4 9 7

> PASS1 1회전 완료

 

 


35. 디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?

① 콘텐츠 암호화 및 키 관리

② 콘텐츠 식별체계 표현

③ 콘텐츠 오류 감지 및 복구

④ 라이선스 발급 및 관리

 

 

정답)

디지털 저작권 관리의 기술 요소

  • 암호화(Encryption) : 콘텐츠 및 라이선스를 암호화하고 전자 서명을 할 수 있는 기술
  • 키 관리(Key Management) : 콘텐츠를 암호화한 키에 대한 저장 및 분배 기술
  • 암호화 파일 생성(Packager) : 콘텐츠를 암호화한 콘텐츠로 생성하기 위한 기술
  • 식별 기술(Identification) : 콘텐츠에 대한 식별체계 표현 기술
  • 저작권 표현(Right Expression) : 라이선스의 내용 표현 기술
  • 정책 관리(Policy Management) : 라이선스 발급 및 사용에 대한 정책 표현 및 관리 기술
  • 크랙 방지(Tamper Resistance) : 크랙에 의한 콘텐츠 사용 방지 기술
  • 인증(Authentication) : 라이선스 발급 및 사용 기준이 되는 사용자 인증 기술

 


36. 소프트웨어 패키징 도구 활용 시 고려 사항으로 틀린 것은?

① 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.

 보안을 위하여 이기종 연동을 고려하지 않아도 된다.

③ 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.

④ 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.

 

 

정답)

소프트웨어 패키징 도구에서 보안과 관련된 사항은 원본을 안전하게 유통하기 위한 전자적 보안 장치로 활용되는 보안 컨테이너가 있다.

 

 


37. 다음 Postfix 연산식에 대한 연산결과로 옳은 것은?

3 4 * 5 6 * +

① 35

② 42

③ 77

④ 360

 

 

정답)

후위 연산식에 대한 연산결과를 계산하면 된다.

(3*4)+(5*6)=12+30=42

 

 


38. 빌드 자동화 도구에 대한 설명으로 틀린 것은?

① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.

② 빌드 자동화 도구는 지속적인 통합개발환경에서 유용하게 활용된다.

③ 빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있다.

④ Jenkins는 Groovy 기반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.

 

 

정답) 

빌드는 소스코드 파일에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정을 말하거나 그에 대한 결과물이다. 이러한 빌드를 포함한 테스트 및 배포를 자동화하는 도구를 빌드 자동화 도구라 한다.

 

Gradle는 Groovy 기반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.

 

 


39. 인터페이스 구현 검증 도구가 아닌 것은?

① ESB

② xUnit

③ STAF

④ NTAF

 

 

정답)

ESB(Enterprise Service Bus) : 서비스들을 요소 단위의 논리적 집합으로 묶는 핵심 미들웨어이며, 버스를 통해 서비스에 접속하게 하는 설계 패턴

 

ESB를 제외한 나머지는 인터페이스 구현 검증 도구에 해당한다. 이외에도 FitNesse, Selenium, watir 등이 있다.

 

참조 : https://ko.wikipedia.org/wiki/%EC%97%94%ED%84%B0%ED%94%84%EB%9D%BC%EC%9D%B4%EC%A6%88_%EC%84%9C%EB%B9%84%EC%8A%A4_%EB%B2%84%EC%8A%A4

 

 


40. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 것으로 거리가 먼 것은?

① IPSec

② SSL

③ SMTP

④ S-HTTP

 

 

정답)

SMTP(Simple Mail Transfer Protocol) : 인터넷에서 전자 메일을 전송할 때 이용되는 표준적인 프로토콜

 

SMTP를 제외한 나머지는 인터페이스 보안을 위해 네트워크 영역에서 적용되는 암호화 방식이다.