정보처리기사 기출문제 2020년 3회

Minkyung Park ·2022년 4월 6일
0

정보처리기사 문제

목록 보기
19/21
  1. UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?
    ① 희소성
    ② 유연성
    ③ 직관성
    ④ 멀티운용성

정답:3번.
설명: UI 설계 원칙

  • 직관성: 누구나 쉽게 이해하고 사용할 수 있어야함.
  • 유효성: 사용자의 목적을 정확하고 완벽하게 달성해야 함.
  • 학습성: 누구나 쉽게 배우고 익힐 수 있어야함.
  • 유연성: 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야함.

  1. 다음 ( ) 안에 들어갈 내용으로 옳은 것은?

    컴포넌트 설계 시 “( )에 의한 설계”를 따를 경우, 해당 명세에서는
    (1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건
    (2) 사용 후 만족되어야 할 결과조건
    (3) 오퍼레이션이 실행되는 동안 항상 만족 되어야 할 불변조건 등이 포함되어야 한다.

① 협약(Contract)
② 프로토콜(Protocol)
③ 패턴(Pattern)
④ 관계(Relation)

정답:1번.
설명:


  1. 아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?

① 추상화 관계
② 의존 관계
③ 일반화 관계
④ 그룹 관계

정답:3번.
설명:
일반화 관계에서는 삼각형 화살표

UML 다이어그램


  1. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?

① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
② 동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
③ 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
④ CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견

정답:2번
설명:


  1. 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?
    ① ISO/IEC 2196
    ② IEEE 19554
    ③ ISO/IEC 12119
    ④ ISO/IEC 14959

정답:3번.
설명: ISO/IEC 12119 Information technology — Software packages — Quality requirements and testing
소프트웨어 패키지 제품에 대한 품질 요구사항 및 평가에 관한 표준

  • 119를 기억하자!

  1. 제어흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가?

① 3
② 4
③ 5
④ 6

정답:2번.
설명: 화살표(edge) - 점(node) + 2 =
6 - 4 +2= 4


  1. 다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?

37, 14, 17, 40, 35

① 14, 17, 37, 40, 35
② 14, 37, 17, 40, 35
③ 17, 14, 37, 35, 40
④ 14, 17, 35, 40, 37

정답: 4번.
설명: 1회전을 수행하고 나면 가장 작은 값의 자료가 맨 앞에 오게 되므로 그 다음 회전에서는 두 번째 자료를 가지고 비교한다. 마찬가지로 3회전에서는 세 번째 자료를 정렬한다.


  1. 형상 관리 도구의 주요 기능으로 거리가 먼 것은?

① 정규화(Normalization)
② 체크인(Check-in)
③ 체크아웃(Check-out)
④ 커밋(commit)

정답: 1번.
설명:

  • 정규화 (Normalization)
  • 정규화란 관계형 데이터베이스의 설계에서 데이터 간의 중복을 최소화되게 데이터를 구조화하는 프로세스를 뜻한다.
  • 정규화는 함수적 종속성을 이용해서 연관성이 있는 속성들을 분류하고, 각 릴레이션들에서 이상현상이 생기지 않도록 하는 과정이다.
  • 이 과정은 큰 테이블을 연관이 있는 컬럼들만 쪼개서, 중복이 없는 형태로 작게 여러 테이블로 쪼개 나가는 과정을 가진다.

  1. 다음 트리를 Preorder 운행법으로 운행할 경우 가장 먼저 탐색되는 것은?

① A
② B
③ D
④ G

정답:1번.
설명: preorder(전위 순회) : Root -> Left -> Right
A->B'->C'

B->D / C->E'->F

                E->G->H

A->B->D->C->E->G->H->F


  1. 소프트웨어 품질 목표 중 주어진 시간동안 주어진 기능을 오류없이 수행하는 정도를 나타내는 것은?

① 직관성
② 사용 용이성
③ 신뢰성
④ 이식성

정답: 3번.
설명:신뢰성(Reliability)

  1. 알고리즘 설계 기법으로 거리가 먼 것은?

① Divide and Conquer
② Greedy
③ Static Block
④ Backtracking

정답:3번.
설명:알고리즘 설계 기법
-클래스가 로딩되고 클래스 변수가 준비된 후 자동으로 실행되는 블록

  • 한 클래스 안에 여러 개의 static 블록을 넣을 수 있다.

  • 용도 : 주로 클래스 변수를 초기화시키는 코드를 둔다.


  1. 제품 소프트웨어의 형상 관리 역할로 틀린 것은?

① 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
② 불필요한 사용자의 소스 수정 제한
③ 프로젝트 개발비용을 효율적으로 관리
④ 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능

정답:3번.
설명: 제품 소프트웨어의 형상 관리 역할

  • 형상 관리를 통해 이전 리비전이나 버전에 대한 정보에 언제든지 접근 가능하여 배포본 관리에 아주 유용 불필요한 사용자의 소스 수정 제한 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
  • 에러가 발생했을 경우 빠른 시간 내에 복구 가능
  • 사용자의 요구에 따라 적시에 최상의 소프트웨어 공급

  1. 물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?

① 범위분할(Range Partitioning)
② 해시분할(Hash Partitioning)
③ 조합분할(Composite Partitioning)
④ 유닛분할(Unit Partitioning)

정답:4번.
설명: 파티션 유형 (목록(리스트),해시,범위(레인지),조합(컴포지트),라운드 로빈)


  1. 알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?

① 단위 테스트
② 인수 테스트
③ 통합 테스트
④ 시스템 테스트

정답:2번.
설명:

  • 단위 테스트 : 명세 기반 테스트(블랙박스 테스트), 구조 기반 테스트(화이트박스 테스트)

  • 통합 테스트 : 빅뱅 테스트, 상향식 테스트, 하향식 테스트, 샌드위치 테스트

  • 시스템 테스트 : 기능적 요구사항 테스트, 비기능적 요구사항 테스트

  • 인수 테스트 : 알파 테스트, 베타 테스트, 사용자 인수 테스트, 운영 상의 인수 테스트, 계약 인수 테스트, 규정 인수 테스트


  1. 릴레이션 R의 모든 결정자(determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?

① 제 1 정규형
② 제 2 정규형
③ 보이스/코드 정규형
④ 제 4 정규형

정답:3번.
설명:데이터베이스 정규화
제 1 정규형 (1NF First Normal Form)
1NF를 만족하려면 도메인이 원자값이어야 한다.

제 2 정규형 (2NF Second Normal Form)
2NF를 만족하려면 부분적 함수 종속을 제거해야한다.
즉 완전 함수 종속이 되도록 해야한다.

제 3 정규형 (3NF Third Normal Form)
3NF 를 만족하려면 이행적 함수 종속을 제거해야한다.

보이스/코드 정규형 (Boyce snd Codd Normal Form)
BCNF를 만족하려면 결정자이면서 후보키가 아닌 것을 제거해야 한다.

제 4 정규형 (4NF Fourth Normal Form)
4NF를 만족하려면 다치 종속성을 제거해야 한다.

제 5 정규형 (5NF Fifth Normal Form)
5NF를 만족하려면 조인 종속성을 제거해야 한다.


  1. 다음 관계형 데이터 모델에 대한 설명으로 옳은 것은?

① relation 3개, attribute 3개, tuple 5개
② relation 3개, attribute 5개, tuple 3개
③ relation 1개, attribute 5개, tuple 3개
④ relation 1개, attribute 3개, tuple 5개

정답:4번.
설명: 릴레이션(relation) - 테이블 수(표)
속성(attribute) - 행
튜플(tuple) - 열


  1. Commit과 Rollback 명령어에 의해 보장 받는 트랜잭션의 특성은?

① 병행성
② 보안성
③ 원자성
④ 로그

정답: 3번.
설명:

데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 4가지 성질 (Atomicity, Consistency, Isolation, Durability)
줄여서 ACID라고 부른다. 이에 상반되는 개념으로 NoSQL의 BASE속성이 있다.
트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장
Commit과 Rollback 명령어에 의해 보장 받는다.
ex) 예를 들어, 자금 이체 과정에서 보내는 쪽에서 돈을 빼 오는 작업만 성공하고 받는 쪽에 돈을 넣는 작업을 실패해서는 안된다. 원자성은 이와 같이 중간 단계까지 실행되고 실패하는 일이 없도록 하는 것이다.


  1. 관계 데이터베이스인 테이블 R1에 대한 아래 SQL 문의 실행결과로 옳은 것은?
    SELECT DISTINCT 학년 FROM R1;

① 1번
② 2번
③ 3번
④ 4번

정답:2번.
설명: DISTINCT 는 중복제거를 의미 즉 행 단위 중복제거
SELECT DISTINCT 학년 FROM R1; 의미는 select 는 검색
R1 테이블에서 학년 행에서 중복을 제거 하고 출력해라!


  1. 관계 데이터모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null)값이 아닌 원자 값을 갖는 성질은?

① 개체 무결성 기본키는 반드시 값을 가짐(not null)
② 참조 무결성
③ 도메인 무결성
④ 튜플의 유일성

정답:1번.
설명:

데이터베이스 무결성


  1. 뷰(View)의 장점이 아닌 것은?

① 뷰 자체로 인덱스를 가짐
② 데이터 보안 용이
③ 논리적 독립성 제공
④ 사용자 데이터 관리 용이

정답:1번.
설명:뷰의 특징

  • 뷰는 삽입, 삭제, 갱신 연상에 제약사항이 따른다.
  • 뷰는 데이터 접근 제어로 보안을 제공한다.
  • 뷰는 물리적이 아닌 논리적으로 구현되는 테이블이다.
  • 뷰는 데이터의 논리적 독립성을 제공한다.
  • 뷰의 정의는 ALTER문을 이용하여 변경할 수 없다.
  • 뷰 위에 또 다른 뷰를 정의할 수 있다.
  • 뷰 생성 시 사용되는 SELECT문에서 GROUP BY 구문은사용 가능하지만, ORDER BY 구문은 사용할 수 없다.
    데이터베이스 뷰

  1. 분산 데이터베이스의 투명성(Transparency)에 해당 하지 않는 것은?

① Location Transparency
② Replication Transparency
③ Failure Transparency
④ Media Access Transparency

정답: 4번.
설명: 위치 (Location) 중복 (Replication) 장애 (Failure) 병행 (concurrency) 단편화 (fragmentation)

분산 데이터베이스


  1. 다음에 해당하는 함수 종속의 추론 규칙은?

X→Y이고 Y→Z이면 X→Z이다.

① 분해 규칙
② 이행 규칙
③ 반사 규칙
④ 결합 규칙

정답:2번.
설명:이행적 함수 종속
Transitive Functional Dependency
릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 때 이행적 함수 종속이라고 합니다. 즉, X를 알면 Y를 알고 그를 통해 Z를 알 수 있는 경우


  1. 데이터베이스 로그(log)를 필요로 하는 회복 기법은?

① 즉각 갱신 기법
② 대수적 코딩 방법
③ 타임 스탬프 기법
④ 폴딩 기법

정답:1번.
설명: 로그 (log)는 데이터베이스 변경에 대한 기록.
장애 회복 기법

  • 로그 이용 기법: 지연 갱신 기법, 즉시 갱신 기법, Check Point 기법.
  • Shadow Paging 기법: Shadow Paging (그림자 페이징) 기법.

  1. DML(Data Manipulation Language) 명령어가 아닌 것은?

① INSERT
② UPDATE
③ ALTER
④ DELETE

정답:3번.
설명:
DDL(데이터 정의어):CREATE, DROP, ALTER
DML(데이터 조작어):SELECT, INSERT, DELETE, UPDATE
DCL(데이터 제어어):COMMIT, ROLLBACK, GRANT, REVOKE


  1. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?

① 제1정규형
② 제2정규형
③ 제3정규형
④ 제4정규형

정답: 1번
설명: 정규화는 테이블(릴레이션)을 분해하는 것.

비정규 테이블(릴레이션이라고 한다) 왜냐하면 도시에 서울 그리고 콤마(,) 부산 같이 정의 되어 있기 때문이다. 이렇게 비정규 테이블은 속성값이 원자성을 가지고 있지 않기 때문에 정규화 작업으로 원자값을 갖게한다.
이 비정규 테이블을 정규화 즉, 테이블 속성값을 하나의 원자값으로 분해한 것이 이 테이블인 것이다. 제 1 정규형 작업을 한것.


  1. 관계대수의 순수관계 연산자가 아닌 것은?

① Select
② Cartesian Product ->교차곱
③ Division
④ Project

정답:2번.
설명: 관계대수의 순수관계 연산자는 SELECT, PRODUCT, JOIN, DIVISION


  1. 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?

① normalization
② rollback
③ cardinality
④ anomaly

정답:4번.
설명: anomaly 이상 현상

  • 현상 하면 이상 현상. 정규화 하면 생기는 현상

  1. 릴레이션에 대한 설명으로 거리가 먼 것은?

① 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.-> 변한다는 것은 운영 되는 데이터의 특징을 설명한 것.
② 한 릴레이션에 포함된 튜플들은 모두 상이하다. -> 튜플의 유일성
③ 애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다. -> 원자성
④ 한 릴레이션에 포함된 튜플 사이에는 순서가 있다(x). -> 없다(o) 튜플 무순서성, 속성의 무순서성, 속성의 원자성

정답:4번.


  1. 다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?

① int i = 7, j = 9; int k; k = (i>j)?(i – j):(i + j);
② int i = 7, j = 9; int k; k = (i<j)?(i – j):(i + j);
③ int i = 7, j = 9; int k; k = (i>j)?(i + j):(i - j);
④ int i = 7, j = 9; int k; k = (i<j)?(i + j):(i - j);


  1. 다음 내용이 설명하는 소프트웨어 취약점은?

메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점

① FTP 바운스 공격
② SQL 삽입
③ 버퍼 오버플로
④ 디렉토리 접근 공격

정답: 3번.
설명: 버퍼 오버플로
프로세스 메모리 영역 중 버퍼에 초과값을 입력하여 시스템을 중지시키거나 원하는 동작을 하도록 조작할 수 있다.
버퍼 오버플로우
FTP 바운스 공격
FTP서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 공격.
FTP서버의 전송 목적지 주소를 임의로 지정하여, FTP 서버를 경유해 임의의 목적지로 메시지나 자료를 전송하도록 할 수 있다.

SQL 삽입 (SQL Injection)
웹 페이지의 입력값을 통해서 SQL명령어를 주입하여 오동작을 일으키는 해킹방법
OWASP TOP10에서 꾸준히 상위권을 유지하는, 가장 흔한 웹해킹 기법 중 하나


  1. HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?

① A→B→C→D
② A→C→B→D
③ D→B→C→A
④ D→A→B→C

정답:3번.
설명: 우선순위 = (대기 시간 + 서비스 시간) / 서비스 시간 이 큰 순서
A: 5 + 20 / 20 = 1.25
B: 40 + 20 / 20 = 3
C: 15 + 45 / 45 = 1.333
D: 20 + 2 / 2 = 11

= D -> B -> C -> A


  1. 운영체제에 대한 설명으로 거리가 먼 것은?

① 다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.
② CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.
③ 운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
④ 입출력 장치와 사용자 프로그램을 제어한다.

정답:3번.
설명: 운영체제 -> 윈도우, 맥, 리눅스
번역프로그램 -> 매크로 프로세서, 어셈블러, 컴파일러
운영체제


  1. 메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?

① NO.2
② NO.3
③ NO.4
④ NO.5

정답:
설명:

  • First Fit: 가장 먼저 발견되는 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 14에 할당
  • Best Fit: 가장 크기가 비슷한 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 12에 할당
  • Worst Fit: 가장 여유가 큰 공간에 우선적으로 할당
    • 할당할 메모리가 10이고, 빈공간이 14, 12, 16이 있으면 16에 할당
      메모리 할당

  1. 200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 Subnet으로 나누고 ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP주소는?

① 200.1.1.159
② 201.1.5.175
③ 202.1.11.254
④ 203.1.255.245

정답: 1번.
설명: 10개의 subnet으로 나누기 때문에 host에서 net에 4bit를 빌려주어서 서브넷팅을 합니다. 그렇게 되면 200.1.1.0 ~ 200.1.1.15, 200.1.1.16 ~ 200.1.1.31 이렇게 10개의 서브넷팅을 하죠. 여기서 10번째의 네트워크 주소는 200.1.1.144 ~ 200.1.1.159 인데 broadcast의 주소는 맨 마지막 ip주소를 가리키기 때문에 200.1.1.159가 되는 것이죠


  1. 다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서 ( )에 들어갈 내용은?

① string[1:3] + string[-3:]
② string[:3] + string[-3:-1]
③ string[0:3] + string[-3:]
④ string[0:] + string[:-1]

정답: 3번.
설명:


  1. 물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로 실제 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?

① 최적화
② 실행 시간
③ 디지털 트윈
④ N-Screen

정답:3번
설명:Digital Twin
현실 세계에 존재하는 사물, 시스템, 환경 등을 가상 공간에 동일하게 구현함으로써 가치를 제공하는 기술
디지털 트윈


  1. 기능점수(Functional Point)모형에서 비용산정에 이용되는 요소가 아닌 것은?

① 클래스 인터페이스
② 명령어(사용자 질의수)
③ 데이터파일
④ 출력보고서

정답:1번.
설명:
기능점수


  1. DDoS 공격과 연관이 있는 공격 방법은?

① Secure shell
② Tribe Flood Network
③ Nimda
④ Deadlock

정답:2번.
설명: DDoS, Distributed Denial of Service; 분산된 다수의 좀비 PC를 이용하여 공격 대상 시스템의 서비스를 마비시키는 공격 형태.
분산 서비스 거부 공격


  1. 소프트웨어 생명주기 모형 중 고전적 생명주기 모형으로 선형 순차적 모델이라고도 하며, 타당성 검토, 계획, 요구사항 분석, 구현, 테스트, 유지보수의 단계를 통해 소프트웨어를 개발하는 모형은?

① 폭포수 모형
② 애자일 모형
③ 컴포넌트 기반 방법론
④ 6GT 모형

정답: 1번.
설명: 고전적 생명주기 모형 = 폭포수 모형.
폭포수 모델


  1. 전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?

① 합성 중심
② 생성 중심
③ 분리 중심
④ 구조 중심

정답:1번.
설명: 재사용 하면 합성을 생각.


  1. 소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준은?

① SCRUM
② ISO/IEC 12509
③ SPICE
④ CASE

정답:3번.
설명: IS0/IEC 15504; SPICE(Software Process Improvement and Capability Etermination)
여러 프로세스 개선 모형을 ISO/IEC에서 국제 표준으로 통합한 소프트웨어 프로세스 개선 및 능력 측정 기준

정답:

0개의 댓글