[정보처리기사 필기] 기출문제 2과목(20.06.06)

김정민·2024년 2월 26일
  1. 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?

    ① 선택정렬
    ② 삽입정렬
    ③ 버블정렬
    ④ 합병정렬


  1. White Box Testing 에 대한 설명으로 옳지 않은 것은?

    ① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
    ② Source Code 의 모든 문장을 한번 이상 수행함으로서 진행된다.
    ③ 모듈 안의 작동을 직접 관찰 할 수 있다.
    ④ 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.


  1. 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?

    ① 정확성
    ② 무결성
    ③ 사용성
    ④ 간결성


  1. 인터페이스 구현 검증도구 중 아래에서 설명하는 것은?

    ① xUnit
    ② STAF
    ③ FitNesse
    ④ RubyNode

  1. EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?

    ① Point-to-Point
    ② Hub&Spoke
    ③ Message Bus
    ④ Tree


  1. 다음 트리를 전위 순회(preorder traversal)한 결과는?

    ① +AB/CDE
    ② AB/CDE+
    ③ A/BCD+E
    ④ +**/ABCDE

  1. 인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?

    ① IPSec
    ② SMTP
    ③ SSL
    ④ S-HTTP


  1. 평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한 소프트웨어를 경계값 분석 기법으로 테스트 하고자 할 때 다음 중 테스트 케이스의 입력 값으로 옳지 않은 것은?

    ① 59
    ② 80
    ③ 90
    ④ 101

  1. 반정규화(Denormalization) 유형중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?

    ① 빌드 테이블의 추가
    ② 집계 테이블의 추가
    ③ 진행 테이블의 추가
    ④ 특정 부분만을 포함하는 테이블의 추가


  1. ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionlity)의 하위 특성으로 옳지 않은 것은?

    ① 학습성
    ② 적합성
    ③ 정확성
    ④ 보안성


  1. 다음 트리의 차수(degree)와 단말 노드(terminal node)의 수는?

    ① 차수: 4, 단말 노드: 4
    ② 차수: 2, 단말 노드: 4
    ③ 차수: 4, 단말 노드: 8
    ④ 차수: 2, 단말 노드: 8

  1. 디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?

    ① 크랙 방지 기술
    ② 정책 관리 기술
    ③ 암호화 기술
    ④ 방화벽 기술


  1. 소프트 웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?

    ① Brooks의 법칙
    ② Boehm의 법칙
    ③ Pareto의 법칙
    ④ Jackson의 법칙


  1. 소프트웨어 형상 관리의 의미로 적절한 것은?

    ① 비용에 관한 사항을 효율적으로 관리하는 것
    ② 개발 과정의 변경 사항을 관리하는 것
    ③ 테스트 과정에서 소프트웨어를 통합하는 것
    ④ 개발 인력을 관리하는 것


  1. 알고리즘 시간복잡도 O(1)이 의미하는 것은?

    ① 컴퓨터 처리가 불가
    ② 알고리즘 입력 데이터 수가 한 개
    ③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
    ④ 알고리즘 길이가 입력 데이터보다 작음


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

    ① pmd
    ② cppcheck
    ③ valMeter
    ④ checkstyle


  1. 검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?

    ① 동치 분할 검사
    ② 형상 검사
    ③ 알파 검사
    ④ 베타 검사


  1. 하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?

    ① Stub
    ② Driver
    ③ Procedure
    ④ Function


  1. SW 패키징 도구 활용 시 고려 사항과 거리가 먼 것은?

    ① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
    ② 사용자 편의성을 위한 복합성 및 비효율성 문제를 고려한다.
    ③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.
    ④ 제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.


  1. 외계인코드(Alien Code)에 대한 설명으로 옳은 것은?

    ① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의미한다.
    ② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.
    ③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미한다.
    ④ 사용자가 직접 작성한 프로그램을 의미한다.


해설

  1. ④ 합병정렬

정렬의 시간 복잡도

선택정렬 : O(n^2)

삽입정렬 : O(n^2)

버블정렬 : O(n^2)

합병정렬 : O(nLog2n)

퀵정렬 : O(nLog2n)

힙정렬 : O(nLog2n)


  1. ① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.

Base Path Testing(기본 경로 기법)은 화이트박스 테스트 기법이고, Boundary Value Analysis(경계값 분석 기법)은 블랙박스 테스트 기법이다.


  1. ④ 간결성

소프트웨어 품질 측정 개발자 관점

무결성, 신뢰성, 사용성, 효율성, 정확성, 이식성, 상호 운용성


  1. ② STAF

STAF : 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크

xUtit : Java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크

FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크


  1. ④ Tree

EAI 유형

Point-to-Point : 가장 기본적인 애플리케이션 통합 방식으로 1:1로 연결

Hub&Spoke : 단일 접점인 허브 시스템을 통해 데이터를 전송하는 중앙 집중형 방식,
데이터 전송이 보장되며, 유지보수 비용 절감

Messagd Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식,
데이터를 전송하는데 버스를 이용함으로 병목 현상 발생 가능,
대량의 데이터 교환에 적합

Hybrid : Hub&Spoke 와 Message Bus 혼합 방식


  1. ④ +**/ABCDE

전위 순회 : 루트를 먼저 방문, root > left > right

중위 순회 : 왼족 하위트리를 방문한 뒤 루트를 방문, left > root > right

후위 순회 : 하위트리를 방문한 뒤 루트를 방문, left > right > root


  1. ② SMTP

IPSec : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능을 제공하는 프로토콜

SMTP : 이메일 송/수신에 사용되는 프로토콜

SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜

S-HTTP : 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화 하는 프로토콜


  1. ③ 90

경계값 분석 기법은 입력 조건의 중간값보다는 경계값에서 오류가 발생될 확률이 높다는 점을 이용해서 입력 조건의 경계값에서 테스트 사례를 선정하는 기법이다.

90은 경계 부분의 값이 아니므로 테스트 입력밧으로 사용될 수 없다.


  1. ① 빌드 테이블의 추가

반정규화 유형에서 중복 테이블을 추가하는 방법

진행 테이블의 추가, 집계 테이블의 추가, 특정 부분만을 포함하는 테이블의 추가


  1. ① 학습성

기능성의 하위 특성

정확성, 적합성, 상호보완성, 보안성, 유연성


  1. ② 차수: 2, 단말 노드: 4

트리의 차수 : 전체 트리에서 가장 큰 차수

단말 노드 : 자식이 없는 노드


  1. ④ 방화벽 기술

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

암호화, 키관리, 크랙 방지, 정책 관리, 인증, 식별 기술, 저작권 표현, 사용 권한


  1. ③ Pareto의 법칙

Brooks의 법칙 : 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다.

Boehm의 법칙 : 개발 단계 초기에 결함을 발견하면 나중 단계에 발견하는 것보다 시간과 비용을 절약할 수 있다.

Pareto의 법칙 : 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다.


  1. ② 개발 과정의 변경 사항을 관리하는 것

소프트웨어 형상 관리 : 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동


  1. ③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정

O(1)은 상수 시간을 말하며, 알고리즘 수행 시간이 입력 데이터 수와 관계없이 항상 일정하다는 의미이다.


  1. ③ valMeter

정적 분석 도구

cppcheck, pmd, checkstyle 등

동적 분석 도구

valMeter, Avalanch 등


  1. ③ 알파 검사

동치 분할 검사 : 입력 자료에 초점을 맞춰 케이스를 만들고 검사하는 방법(블랙박스 테스트 종류)

형상 검사 : 구성 요소, 목록, 유지보수를 위한 모든 사항이 표현되었는가를 검사

알파 검사 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법(인수 테스트 종류)

베타 테스트 : 선정된 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 기법(인수 테스트 종류)


  1. ① Stub

Stub : 모듈의 부수적인 인터페이스를 사용하는 가짜 모듈이다.

Driver : 시험 사례를 입력받고, 시험을 위해 받은 자료를 모듈로 넘기고, 관련된 결과를 출력하는 메인 프로그램이다. 상향식 통합 테스트에서 사용된다.


  1. ③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.

패키징은 프로그램 제작자가 최종 사용자가 사용할 프로그램을 다양한 환경에서 쉽게 자동으로 설치할 수 있게 패키지를 만들어 배포하는 과정을 말한다.


  1. ② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 프로그램을 의미한다.

외계인 코드란 아주 오래되거나 참고문서 또는 개발에 참여했던 개발자를 찾을 수 없어 유지보수 작업이 어려운 프로그램을 의미한다.

0개의 댓글