# 4. 자격증/정보처리기사

정보처리기사 # 2020.09_2과목 소프트웨어 개발

둥굴둥굴둥굴레차 2021. 8. 9. 22:41

 

 

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

  1. 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
  2. 보안을 위하여 이기종 연동을 고려하지 않아도 된다.
  3. 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
  4. 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.
이기종 연동은 보안과 관계 없이 고려해야 될 사항이다.

 

 

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

  1. pmd
  2. checkstyle
  3. valance
  4. cppcheck
[소스코드 품질분석 도구]

정적 분석 도구
pmd :소스 코드에 대한 미사용 변수 최적화안된 코드 등 결함을 유발할 수 있는 코드 검사
cppcheck : C/C++ 코드에 대한 메모리 누수 오버플로우 등 분석
SonarQube : 중복 코드 복잡도 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼
checkstyle : 자바 코드에 대해 소스코드 표준을 따르고 있는지 검사한다.
ccm : 다양한 언어의 코드 복잡도를 분석한다.
cobertura : 자바 언어의 소스코드 복잡도 분석 및 테스트 커버리지 측정

동적 분석 도구
Avalanche : Valgrind 프레임워크 및 STP기반 / 프로그램 결함 및 취약점 분석
valgrind : 프로그램 내에 존재하는 메모리 및 쓰레드 결함 분석

 

 

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

  1. IPSec
  2. SSL
  3. SMTP 
  4. S-HTTP
[인터페이스 보안]
일반적으로 네트워크, 애플리케이션, 데이터베이스 영역에 적용.

[인터페이스 보안 네트워크 영역]
인터페이스 송/수신 간 스니핑 등을 이용한 데이터 탈취 및 변조 위협을 방지하기 위해 네트워크 트래픽에 대한 암호화를 설정.

[네트워크 트래픽에 대한 암호화]
1. IPSec(IP security) : 네트워크 계층에서 IP 패킷 단위의 데이터 변조 방지 및 은닉 기능 제공
2. SSL(Secure Sockets Layer) : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화, 무결성을 보장하는 프로토콜
3. S-HTTP(Secure Hypertext Transfer Protocol) : 클라이언트와 서버 간 전송되는 모든 메시지를 암호화하는 프로토콜

[SMTP(Simple Mail Transfer Protocol)]
메일 전송에 사용되는 프로토콜.

 

 

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

 

8, 3, 4, 9, 7

 

  1. 3, 4, 8, 7, 9
  2. 3, 4, 9, 7, 8
  3. 7, 8, 3, 4, 9 
  4. 3, 8, 4, 9, 7

 

인터페이스 구현 검증 도구가 아닌 것은?
     
     1. ESB
     2. xUnit
     3. STAF
     4. NTAF

[인터페이스 구현 검증 도구]
xUnit, STAF, FitNesse, NTAF, Selerium, Watir

 

 

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

  1. 프로젝트 요구 분석서
  2. 소스 코드
  3. 운영 및 설치 지침서
  4. 프로젝트 개발 비용
[형상 관리 항목]
 - 프로젝트 요구 분석서
 - 소스코드
 - 운영및설치지침서

 

 

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

 

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

 

  1. 외부 스키마
  2. 내부 스키마
  3. 개념 스키마
  4. 슈퍼 스키마
 - 외부 스키마 : 개인 또는 응용 개발자 입장에서 보는 데이터베이스
 - 내부 스키마 : 물리적 저장 장치의 입장에서 본 데이터베이스
 - 개념 스키마 : 모든 응용 프로그램 또는 사용자들이 필요로 하는 조직 전체 데이터베이스로 단 하나만 존재한다

 

 

 

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

  1. n-1
  2. n/2
  3. n(n-1)/2
  4. n(n+1)
정점이 n개인 무방향 그래프에서 최대의 간선수n(n-1)/2
정점이 n개인 그래프에서 최대 간선수 n(n-1)

 

 

다음이 설명하는 테스트 용어는? 이미지를 클릭하면 확대 가능합니다.

 

테스트의 결과가 참인지 거짓인지를 판단하기 위해 사전에 정의된 참값을 입력해 비교하는 기법 및 활동.

종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.

 

  1. 테스트 케이스
  2. 테스트 시나리오
  3. 테스트 오라클
  4. 테스트 데이터
[테스트 케이스]
구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서

[테스트 시나리오]
테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합

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

 

 

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

  1. Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
  2. 빌드 자동화 도구는 지속적인 통합개발환경 에 서 유용하게 활용된다.
  3. 빌드 자동화 도구에는 Ant, Gradle, Jenkins등이 있다.
  4. Jenkins는 Groovy기 반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.
빌드 자동화 도구
- 빌드를 포함하여 테스트 및 배포를 자동화하는 도구
- Ant, Make, Maven, Gradle, Jenkins 등이 있음

Jenkins
- JAVA 기반의 오픈소스 형태
- 서블릿 컨테이너에서 실행되는 서버 기반 도구
- 친숙한 Web GUI 제공
- 분산 빌드나 테스트 가능

Gradle
- Groovy를 기반으로 한 오픈 소스 형태
- 안드로이드 앱 개발 환경에서 사용
- 행할 처리 명령들을 모아 태스크(Task)로 만든 후 태스크 단위로 실행

 

 

해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식은?
     
     1. 제산법
     2. 폴딩법
     3. 기수변환법
     4. 숫자분석법

[폴딩법]
해싱함수  중 레코드 키를 여러부분으로 나누고 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용

[제산법]
레코드키를 해시표로 나눈 나머지를 홈 주소로 사용

[기수변환법]
키 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 높은 자릿수 절단, 다시 주소 범위에 맞게 조정

[숫자분석법]
키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 선택