정보처리기사 실기 2020년 4회-2 정리

DSeung·2022년 5월 2일
0

정보처리기사

목록 보기
8/18

11. 오픈 소스 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후 등에 적용한 기술은 무엇인가?

정답 :

하둡(Hadoop)

해설 :

빅데이터(Big Data)
기존의 관리 방법이나 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합, 스마트 단말의 빠른 확산, 소셜 네트워크 서비스의 활성화, 사물 네트워크의 확대로 데이터 폭발이 더욱 가속화 됨

브로드 데이터(Borad Data)
다양한 채널에서 소비자와 상호작용(SNS, 블로그 등)을 통해 생성되는 기업 마케팅에 있어 효율적인 데이터 이전에 사용하지 않았거나 알지 못했던 새로운 데이터나, 기존 데이터에 새로운 가치를 더한 데이터

메타 데이터(Meta Data)
일련의 데이터를 정의하고 설명해주는 데이터, 컴퓨터에서는 데이터 사전의 내용, 스키마의 등을 의미, HTML 문서에서는 메타 태그 내의 내용이 메타 데이터

  • 여러 용도로 사용되나 주로 빠르게 검색하거나 내용을 간략하고 체계적으로 하기 위해 사용

디지털 아카이빙(Digital Archiving)
디지털 아카이빙은 디지털 정보 자원을 장기적으로 보관하기 위한 작업
아날로그를 디지털로 변환하여 압축 저장하고 디지털 콘테츠도 체계적으로 분류하고 메타 데이터를 만들어 DB화하는 작업

하둡(Hadoop)
오픈 소스 반으로한 분산 컴퓨팅 플랫폼으로 일반 PC 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글 야후 등에 적용된 기술


12. 데이터베이스 이상 현상(Anomaly)의 종류 3가지를 쓰시오.

정답 :

삽입 이상
삭제 이상
갱신 이상

해설 :

데이터베이스 이상(Database Anomaly)

  • 정규화를 거치지 않은 데이터베이스에서 발생할 수 있는 문제
  • 데이어들이 불필요하게 중복되어 릴레이션 조직에서 예기치 못한 문제 발생
  • 애트리뷰트들의 종속관계를 하나의 릴레이션에 표현하기 때문에 발생

이상 종류

  • 삽입 이상(Insertion Anomaly) : 데이터 삽입 시 의도와 다른 값들도 삽입됨
  • 삭제 이상(Delete Anomaly) : 데이터 삭제 시 의도와 다른 값들도 연쇄 삭제
  • 갱신 이상(Update Anomaly) : 속성값 갱신 시 일부 튜플만 갱신되어 모순 발생

13. 다음은 프로세스 상태 전이도이다. A, B, C에 알맞은 상태를 쓰시오.

정답 : 그림 누락

해설 :

출처 : https://velog.io/@csk917work/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EA%B4%80%EB%A6%AC


14. 테스트 오라클 중 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클은 무엇인가?

정답 :

샘플링 오라클

해설 :

테스트 오라클(Test Oracle)
테스트를 수행한 결과가 참인지 거짓인지 판단하기 위해서 미리 정의된 참 값을 대입하여 비교하는 소프트웨어 테스트 기법, 활동
=> 테스트 대상 Sw의 실제 결과와 비교할 목적으로 예상결과를 결정하는 시스템

테스트 오라클 특징
제한된 검증 : 모든 테스트 항목 적용 불가
수학적 기법 : 테스트 수행시 수학적 기법을 이용, 오라클 값을 구할 수 있음
자동화 가능 : 테스트 대상 프로그램의 실행, 결과 비교, 커버리지 측정 등

테스트 오라클 유형

참 오라클(True Oracle)

  • 모든 테스트 케이스 입력값의 기대한 결과값에 대한 확인
  • 전수 테스트 가능

샘플링 오라클(Sampling Oracle)

  • 특정 몇몇 입력 값들에 대해서만 원하는 결과를 제공해주는 오라클
  • 전수 테스트 불가능

휴리스틱 오라클(Heuristic Oracle)

  • 샘플링 오라클에서 나머지 값들에 대해서는 추정(직관에 의한 예상 값)으로 처리

일관된 오라콜(Consistent Oracle)

  • 이전수행결과와 현재수행결과가 동일한지 검증
  • 회귀테스트시 수정 전후의 프로그램 실행 결과 확인 또는 비교시 사용

회귀테스트 : 이전에 잘 돌아가던 SW에서 문제가 발생시 이전에 고친 오류들이 재현되는지 검사하는 테스트


15. 점수에 따른 성적 부여가 잘 되었는지 테스트하고자 한다. 아래에 알맞는 테스트 기법은 무엇인가?

정답 :

동치 분할 테스트

해설 :

소프트웨어 테스트 기법

화이트박스 테스트(White Box Test)
모듈의 원시 코드를 오픈시킨 상태에서 코드의 논리적 모든 경로를 테스트하는 방법

종류
기초 경로 검사

  • 대표적인 화이트 박스 테스트 기법
  • 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법

제어 구조 검사

  • 조건 검사 : 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법
  • 루프 검사 : 프로그램 반복 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법
  • 데이터 흐름 검사 : 프로그램에서 변수의 정의와 변수의 사용 위치에 초점을 맞춰 실시하느 테스트 케이스 설계 기법

검증 기준

  • 문장 검증 기준 : 소스 코드의 모든 구문이 한번 이상 수행되도록 테스트 케이스 설계
  • 분기 검증 기준 : 소스 코드의 모든 조건문이 한번 이상 수행되도록 테스트 케이스 설계
  • 조건 검증 기준 : 소스 코드의 모든 조건문에 대해 조건이 True인 경우, False인 경우 모두 한 번 이상 수행되도록 테스트 케이스 설계
  • 분기/조건 기준 : 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 True인 경우, False인 경우가 한 번 이상 수행되도록 테스트 케이스 설계

검증 기준의 종류

  • 기능 기반 커버리지 : 실제 데이터가 수행된 기능의 수 / 전체 기능의 수
  • 라인 커버리지 : 테스트 시나리오가 수행한 소스 코드의 라인 수 / 전체 소스 코드의 라인 수
  • 코드 커버리지 : 소스 코드의 구문, 분기, 조건 등의 구조 코드 자체가 얼마나 테스트 되었는지를 측정하는 방법

블랙박스 테스트(Black Box Test)

  • SW가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 동작하는 것을 입증하는 테스트로 기능 테스트라고도 한다
  • 사용자의 요구사항 명세를 보면서 테스트하는 것으로 구현된 기능을 테스트 한다.
  • SW 인터페이스에서 실시되는 테스트이다.
  • 부정확하거나 누락된 기능, 인터페이스 오류, 자료 구조나 외부 데이터베이스 접근에 따른 오류, 행위나 성능 오류, 초기화와 종료 오류 등을 발견하기 위해 사용되며 테스트 과정의 후반부에 적용

종류

  • 동치 분할 검사 : 입력 조건에 타당한 입력자료와 타당하지 않은 입력 조건의 개수를 균등하게 하여 테스트 케이스를 정하고 해당 입력 자료에 맞는 결과가 출력되는 지를 확인하는 기법
  • 경계값 분석 : 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법
  • 원인-효과 그래프 검사 : 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 방법
  • 오류 예측 검사 : 과거의 경험이나 확인자의 감각으로 테스트하는 검사, 다른 블랙 박스 테스트로 찾아낼 수 없는 오류를 찾아내는 일련의 보충력 검사 기법, 데이터 확인 검사라고도 함
  • 비교 검사 : 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트 하는 기법

16. 다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 작성하시오.

정답 :

SELECT 학과, COUNT(학과) AS 학과별튜플수 FROM 학생 GROUP BY 학과;

해설 :

COUNT를 한 컬럼이 있을 경우 다른 컬럼은 GROUP BY를 해야한다.


17. 데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제는 무엇인가?

정답 :

유닉스

해설 :

윈도우(Windows)

  • Ms사의 OS
  • GUI 기반 OS
  • 트리 디렉터리 구조를 지님
  • 선점형 멀티테스킹 방식을 사용

유닉스(Unix)

  • 시분할 시스템을 위해 설계된 대화식 OS
  • Open 소스
  • C 언어로 작성되었음으로 이식성이 높음

리눅스(Linux)

  • 유닉스로부터 파생된 OS
  • Open 소스

18. 다음은 C언어 소스 코드이다. 출력 값을 쓰시오.

#include <stdio.h>
void main(){
  char *p = "KOREA"
  printf("%sn" , p);
  printf("%sn" , p+3);
  printf("%cn" , *p);
  printf("%cn" , *(p+3));
  printf("%cn" , p+2);
}

정답 :

KOREA
EA
K
E
M

해설 :

%s는 문자열
%c는 문자
마지막에 %c, p+2는
아스키로 2를 더해서 k가 m이됨


19. 다음은 자바(Java) 소스 코드이다. 출력 결과를 쓰시오.

class Parent {
  public int compute(int num){
    if(num <=1) return num;
    return compute(num-1) + compute(num-2);
  }
}

class Child extends Parent {
  public int compute(int num){
    if(num<=1) return num;
    return compute(num-1) + compute(num-3);
  }
}

class Good {
  public static void main (String[] args){
    parent obj = new Child();
    System.out.print(obj.compute(4));
  }
}

정답 :

1

해설 :

자식 클래스 객체는 부모 클래스 객체에 대입이 가능하며 이때의 기능은 자식 클래스를 가져옵니다
재귀를 통해 최종 결과물의 합은 1 + -1 + 0 + 1 입니다.


20. 정보 보안의 3요소 중 가용성(Availability)에 대하여 설명하시오.

정답 :

필요한 시점에 정보 자산에 대해 접근이 가능하도록 하는 것, 대표적으로 백업

해설 :

정보보안의 3대요소

  • 기밀성(Confidentiality) : 인가된 사용자만 정보 자산에 접근할 수 있도록 하는 것으로, 방화벽 암호, 패스워드 등이 대표적이다.
  • 무결성(Integrity) : 적절한 권한을 가진 사용자가 인가한 방법으로만 정보를 변경할 수 있도록 하여 접근 통제하는 것을 의미한다
  • 가용성(Availability) : 필요한 시점에 정보 자산에 접근이 가능하도록 하는 것인데 대표적으로 백업이 있다

profile
블로그에 글을 쓰고 좋은 건 여기로 공유해서 검색엔진을 쪽쪽 빱니다.

0개의 댓글