[정처기 필기] | [기출문제] | 2020년 제1회, 2회 - 2과목

0

21.

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

평가 점수 성적
80 ~ 100 A
60 ~ 79 B
0 ~ 59 C

① 59 ② 80 ③ 90 ④ 101

경계값 분석 테스트

  • 테스트는 오류를 잡기 위해서 하는 것이다.
  • 등가 분할 후 곙곗값 부분에서 오류 발생 확률이 높기 때문에 경계값을 테스트한다.
  • 경계값에서 오류가 없다면, 중간값에서도 오류가 없을 거라는 가정하에서 테스트한다.
  • ex) for문 자바 코드 -> 경곗값(👊)에 따라 결과가 천차만별
    오류가 나면 경곗값부터 고친다.
		int star = 5;
		for (int i=1; i<=star; i++) {
			for (int j=i; j<star; j++) {
				System.out.print("_");
			}
			for (int z=0; z<i; z++) {
				System.out.print("*");
			}
			System.out.println();
		}

22.

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

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

  • 차수 : 최대 자식 수
    ex) 2차 방정식 -> x의 최대 차수가 2, 3차 방정식 -> x의 최대 차수가 3
  • 단말 노드 : 하나만 있는 끝에 있는 노드, 자식이 없는 노드들의 수

23.

검증 검사 기법 중 개발자의 장소에서 사용자가 개발자의
앞에서 행하는 기법이며, 일반적으로 통제된 환경에서 사용자와
개발자가 함께 확인하면서 수행되는 검사는?
① 동치 분할 검사 ② 형상 검사
③ 알파 검사 ④ 베타 검사

  • 알파 테스트 : 선택된 사용자가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수테스트
  • 베타 테스트 : 실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트

24.

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

  • 하스상드: 하향식 스텁, 상향식 드라이브
  • 테스트 드라이브 : 테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 등 상향식 테스트에 필요
  • 테스트 스텁 : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요

25.

소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
① 정확성
③ 사용성
② 무결성
④ 간결성

소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목
: 정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 재사용성, 상호운용성
소프트웨어 품질 특정
기능성 - 사용할 때 명시된 요구와 내재된 요구를 만족하는 기능을 제공해야 한다.
신뢰성 - 사용할 때 성능 수준을 유지할 수 있어야 하고 주어진 시간 동안 주어진 기능을 오류 없이 수행할 수 있어야 한다.
사용성 - 사용자에 의해 이해되고, 학습되고, 사용되고, 선호될 수 있는 소프트웨어 제품의 능력
효율성 - 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어 제품의 능력
유지보수성 - 소프트웨어 제품이 환경과 요구사항 및 기능적 명세에 따라 변경되는 능력
이식성 - 한 환경에서 다른 환경으로 전이될 수 있는 소프트웨어 제품의 능력
소프트웨어 제품 품질 향상과 구매자의 제품 품질 선정 기준
반복성 - 특정 제품을 동일 평가자가 동일 사양으로 평가하면 동일한 결과가 나와야 한다.
재현성 - 특정 제품을 다른 평가자가 동일 사양을 평가하면 유사한 결과가 나와야 한다.
공정성 - 평가가 특정 결과에 편향되지 않아야 한다.
객관성 - 평과 결과는 객관적 자료에 의해서만 평가되어야 한다.


26.

소프트웨어 테스트에서 오류의 80%는 전체
모듈의 20% 내에서 발견된다는 법칙은?
① Brooks의 법칙
③ Pareto의 법칙
② Boehm의 법칙
④ Jackson의 법칙

소프트웨어 공학 법칙 (수제비 p68)

  • 브룩스의 법칙 : 인력이 추가되면 개발 생산성이 향상되지 않고, 오히려 그 인력 때문에 방해된다.
  • 파레토 법칙 : 20%의 모듈에서 80%의 결함이 발견된다.
  • 롱테일 법칙 : 사소해 보이는 80%의 다수가 20%의 소수 핵심보다도 뛰어난 가치를 창출한다. (파레토법칙의 반대)

27.

디지털 저작권 관리(DRM)의 기술 요소가 아
닌 것은?
① 크랙 방지 기술
③ 암호화 기술
② 정책 관리 기술
④ 방화벽 키

애플리케이션 배포 도구의 기술요소는 DRM 기술요소와 동일하다. (수제비 p50)

  • 암호화 : 콘텐츠 및 라이선스를 암호화하고, 전자서명을 할 수 있는 기술
    ex : 공개 키 기반 구조(PKI), 대칭 및 비대칭 암호화, 전자서명
  • 키 관리 : 콘텐츠를 암호화한 키에 대한 저장 및 배포 기술(중앙 집중형, 분산형)
  • 식별 기술 : 콘텐츠에 대한 식별 체계 표현 기술
    ex : DOI, URI
  • 저작권 표현 : 라이선스의 내용 표현 기술
    ex : XrML/MPEG-21
  • 암호화 파일 생성 : 콘텐츠를 암호화된 콘텐츠로 생성하기 위한 기술
  • 정책 관리 : 라이선스 발급 및 사용에 대한 정책표현 및 관리 기술
    ex : XML, 콘텐츠 관리 시스템(CMS)
  • 크랙 방지 : 크랙에 의한 콘텐츠 사용 방지 기술
    ex : 난독화, Secure DB
    크랙 : 소프트웨어를 수정하여 소프트웨어 복사 방지나 소프트웨어 조작 보호 등을 비활성화하거나 제거하는 일이다.
  • 인증 : 라이선스 발급 및 사용의 기준이 되는 사용자 인증 기술
    ex : 사용자/장비 인증, SSO

28.

인터페이스 보안을 위해 네트워크 영역에 적
용될 수 있는 솔루션과 거리가 먼 것은?
① IPSec
② SMTP
③ SSL
④ S-HTTP

인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션 (p132)
중요 인터페이스 데이터의 암호와 전송의 보안기술

  • IPSec (IP Security) : IP계층(3계층)에서 인증헤더(AH)와 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공하는 터널링 프로토콜
  • SSL / TLS : 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
    - IPSec하고는 다르게 Client와 Server간에 상호인증, 암호 방식에 대해 협상을 거친다.
    - Https://~ 표시형식과 443 포트 이용
  • S-HTTP : 클라이언트와 서버 간에 전송되는 모든 메시지를 각각 암호화하여 전송

29.

인터페이스 구현 검증도구 중 아래에서
설명하는 것은?
.......................................................................................
o 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
o 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해
테스트를 수행하고, 통합하여 자동화하는 검증 도구
.......................................................................................
① xUnit
③ FitNesse
② STAF
④ RubyNode

인터페이스 구현 검증 도구의 종류 (테스트 프레임워크)(p139)

  • xUnit : 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트 한다. 다양한 언어를 지원.
  • STAF : 분산 환경에서 테스트를 수행하고, 통합하며 자동화하는 검증 도구. 다양한 환경을 지원.
  • FitNesse : 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원한다.
  • NTAF : STAF의 분산환경 지원기능과 FitNesse의 효율적인 테스트 케이스 디자인 및 레포팅 기능을 지원한다. FitNesse와 STAF의 장점이 결합.
  • Selenium : 다양한 브라우저 지원 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크
  • Watir : 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 기능 (Ruby기반)

30.

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

애플리케이션 배포 도구 활용 시 고려사항 (p53)

  • 암호화/보안 : 패키징 시 사용자에게 배포되는 소프트웨어임을 감안하여 반드시 내부 콘텐츠에 대한 암호화 및 보안 고려
  • 이기종 연동 : 패키징 도구를 활용하여 여러 가지 이기종 콘텐츠 및 단말기 간 DRM연동 고려
    - DRM : 디지털 콘텐츠에 대한 권리정보를 지정하고 암호화 기술을 이용하여 허가된 사용자의 허가된 권한 범위 내에서 콘텐츠의 이용이 가능하도록 통제하는 기술
  • 복잡성 및 비효율성 문제 : 사용자의 입장에서 불편해질 수 있는 문제를 고려하여, 최대한 효율적으로 적용
  • 최적합 암호화 알고리즘 적용 : 제품 소프트웨어의 종류에 맞는 암호화 알고리즘을 선택하여 배포

31.

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

형상 관리 도구

  • 개발 과정의 변경 사항을 관리한다.
  • 개발 비용을 줄이고, 방해 요소를 최소화되도록 보증하는 것을 목표로 한다.
  • 소프트웨어의 생산물(프로그램, 문서, 데이터 등)을 확인하고 소프트웨어 통제, 변경 상태를 기록하고 보관하는 일련의 작업
  • ex) CVS, SVN, Git 등

형상관리 관리항목 (분코지)

  • 프로젝트 요구 분석서
  • 소스 코드
  • 운영 및 설치 지침서

형상 관리 도구의 주요 기능 (인아커)

  • 체크인(Check-In)
  • 체크아웃(Check-Out)
  • 커밋(Commit)

설명출처


32.

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

------------------

① Boundary Value Analysis(경계 값 분석)는 블랙 박스 테스트 종류이다.

------------------

화이트박스 테스트

  • Source Code의 모든 문장을 한 번 이상 수행함으로써 진행
    된다.
  • 모듈 안의 작동을 직접 관찰할 수 있다.
  • 산출물의 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.

사진 출처


33.

  1. 외계인코드(Alien Code)에 대한 설명으로 옳은 것은?
    ① 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램을 의
    미한다.
    ② 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작
    업이 어려운 프로그램을 의미한다.
    ③ 오류가 없어 디버깅 과정이 필요 없는 프로그램을 의미한다.
    ④ 사용자가 직접 작성한 프로그램을 의미한다.

------------------

외계인 코드(Alien Code)
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 어려운 코드

------------------


34.

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

    ① + A B / C D E
    ② A B / C D E +
    ③ A / B C D + E
    ④ + * * / A B C D E

------------------

전위 순회
중간 노드를 방문하고 왼쪽 서브트리를 전위 순회한 후 오른쪽 서브트리를 전위 순회 한다.

------------------

사진 출처

전위 순회

중위 순회

후위 순회


35.

  1. 알고리즘 시간복잡도 O(1)이 의미하는 것은?
    ① 컴퓨터 처리가 불가
    ② 알고리즘 입력 데이터 수가 한 개
    ③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
    ④ 알고리즘 길이가 입력 데이터보다 작음

빅 오 기호

  • 알고리즘에서 시간의 복잡도를 표시하기 위하여 대문자 오(O)를 사용하여 나타내는 표기.
  • O(n), O(2) 따위와 같이 표기한다.

사진 출처


36.

  1. 정렬된 N개의 데이터를 처리하는데 O(Nlog2N)의 시간이 소
    요되는 정렬 알고리즘은?
    ① 선택정렬 ② 삽입정렬
    ③ 버블정렬 ④ 합병정렬

→ 35번 참고.


37.

  1. ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성
    (Functionality)의 하위 특성으로 옳지 않은 것은?
    ① 학습성 ② 적합성
    ③ 정확성 ④ 보안성

ISO/IEC9126 품질 요구사항

  • 기능성 : 적합성, 정확성, 상호 운용성, 보안성, 호환성
  • 신뢰성 : 성숙성, 고장 허용성, 회복성
  • 사용성 : 이해성, 학습성, 운영성
  • 효율성 : 시간 효율성, 자원 활용성
  • 유지 보수성 : 분석성, 변경성, 안정성, 시험성
  • 이식성 : 적용성, 설치성, 대체성

38.

  1. EAI(Enterprise Application Integration)의 구축 유형으로 옳
    지 않은 것은?
    ① Point-to-Point ② Hub & Spoke
    ③ Message Bus ④ Tree

EAI (Enterprise Application Integration)

  • 기업 내의 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션이다.
  • 비즈니스 간 통합 및 연계성을 증대시킨다.
  • 애플리케이션 중심의 통합이다.

설명 출처

EAI 종류

Point to Point

  • 가장 기본적인 애플리케이션 통합 기능
  • 애플리케이션을 1:1로 연결
  • 변경 및 재사용이 어려움

Hub & Spoke

  • 단일 접점인 허브 시스템을 통해 데이터를 전송한는 중앙집중형 방식
  • 확장 및 유지보수 용이
  • 허브 장애 발생 시 시스템 전체에 영향

Message Bus

  • 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
  • 확장성이 뚸어나며 대용량 처리 가능

Hybrid

  • Hub & spoke 와 Message Bus의 혼합 방식
  • 그룹 내에서 Hub & Spoke 방식, 그룹 간에는 Message bus 방식을 사용
  • 필요한 경우 한 가지 방식으로 EAI구현 가능
  • 데이터 병목 현상 최소화

설명과 사진 출처


39.

  1. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?
    ① pmd ② cppcheck
    ③ valMeter ④ checkstyle

사진 출처


40.

  1. 반정규화(Denormalization) 유형 중 중복 테이블을 추가하는
    방법에 해당하지 않는 것은?
    ① 빌드 테이블의 추가
    ② 집계 테이블의 추가
    ③ 진행 테이블의 추가
    ④ 특정 부분만을 포함하는 테이블 추가

사진 출처

profile
몇 번을 넘어져도 앞으로 계속 나아가자

0개의 댓글