정보처리기사 오답노트2

Date:     Updated:

카테고리:

태그:

img

1. 익스트림 프로그래밍에 대한 설명으로 틀린 것은?

  1. 대표적인 구조적 방법론 중 하나이다.

구조적 방법론이 아니라 애자일 방법론 중 하나임.


2. 유스케이스의 구성 요소간의 관계에 포함되지 않는 것은?

  1. 구체화 —> 구체화가 아니라 일반화

유스케이스의 구성요소 관계는, 연관관계, 포함관계, 확장관계, 일반화관계가 있다.


설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?

상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다. → 상위 인터페이스가 성립되어 있어야 추가가 쉬움.

하향식 통합 테스트 :

  • 깊이 우선 통합법, 넓이 우선 통합법 둘다 사용
  • 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음
  • 상위 모듈에서는 tc를 사용하기 어려움
  • 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
  • 절차
      • 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속모듈들은 스텁 (stub) 으로 대체한다.
      • 깊이우선 or 넓이우선 등의 통합방식에 따라, 하위모듈인 스텁들이 한번에 하나씩 실제 모듈로 교체된다.
      • 모듈이 통합될 때마다 테스트를 실시한다.
      • 새로운 오류가 발생하지 않음을 보증하기 위해 회귀테스트를 실시한다.

상향식 통합 테스트

  • 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 방법이다.
  • 가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁 필요 x
  • 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터 (cluster)는 필요함.
  • 절차
    • 하위 모듈을 클러스터로 결합
    • 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 드라이버를 작성한다.
    • 통합된 클러스터 단위로 테스트한다.
    • 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고, 드라이버는 실제 모듈로 대체한다.

상향식 설계는 최하위 수준에서 각각의 모듈들을 상세하게 설계하고 이러한 모듈이 완성되면 전체적으로 이들을 결합하여 설계하는 방식으로 인터페이스가 이미 성립되어있어야지 기능추가가 쉽다.


3. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?

Process : 원

Data Flow : 화살표

Data Store : 삼각형

Terminator : 사각형

DataStore는 평행선으로 표현한다. // 순서도랑 착각하지 말자.


4. 단위테스트와 관련한 설명으로 틀린 것은?

구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.

필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 드라이버(test driver)라고 한다. 반대로 테스트 스텁(test stub)은 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할을 한다.

드라이버는 아래놈들한테 데이터를 주고받는 역할, 스텁은 위놈한테 데이터를 주고받는 역할.


5. 다음 릴레이션의 DegreeCardinality는?

카디널리티 = 행, // head부분은 제외하는듯 디그리(차수) = 열 열차 //‘열 = 차수 (degree)’ 비행기 // ‘(비) 행 = 기수 (Cardinality)


6. 버전 관리 도구


동시에 소스를 수정하는 것을 방지하며, 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?

RVS(Relate Version System) → RVS 라는 방식은 없다고 보면 됨.

RCS(Revision Control System) → 동시수정 방지는 RCS


RCS // 공유 폴더 방식

  • CVS와의 차이점은 소스 파일의 수정을 한 사람만으로 제한한다는 것.
  • 다수의 사용자가 동시에 파일 수정을 할 수 없도록 파일 잠금 방식으로 버전을 관리하는 도구이다.
  • 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있다.

버전관리도구 관련해서 계속 틀리는 것 같아서 정리하자면,

공유 폴더 방식 클라이언트/서버 방식 분석 저장소 방식
공유폴더에 복사하는 방식 클라이언트/서버 방식 로컬 저장소 → 원격 저장소
RCS, SCCS, PVCS 등 CVS, SVN Git, BitKeeper

*클라이언트/서버 방식

버전관리 자료가 중앙시스템(서버)에 저장되어 관리되는 방식

  • 모든 버전 관리가 서버에서 수행된다.
  • 서버에 문제가 생기면, 서버가 복구되기 전까지 다른 개발자와의 협업 및 버전관리 작업은 중단.

CVS

  • 서버와 클라이언트를 구성해서 다수의 인원이 동시에 접근가능, 버전관리.

SVN // 서브버전

  • CVS를 개선한 것으로, 아파치 소프트웨어 재단에서 발표함.
  • 모든 개발 작업은trunk 디렉터리에서 수행한다.
  • commit할 때마다 revision이 1씩 증가 (커밋 실패시 롤백 지원 가능)
  • 클라이언트는 대부분의 운영체제에서 사용되지만, 서버는 주로 유닉스.
  • 디렉토리 파일 자유롭게 이동 가능
  • add, commit, update, checkout, lock/unlock, import, export, info, diff, merge 명령어 사용가


7. 데이터베이스에서 개념적 설계 단계에 대한 설명으로 틀린 것은?

산출물로 E-R Diagram을 만들 수 있다.

트랜잭션 인터페이스를 설계 및 작성한다. → 논리설계에서 하는 일

데이터베이스 설계단계에서의 트랜잭션 설계단계는

  • 개념설계 : 트랜잭션 모델링
  • 논리설계 : 트랜잭션 인터페이스 설계
  • 물리설계 : 트랜잭션 인터페이스 설계

개념적 설계 : 트랜잭션 모델링 / 독립적인 개념 스키마 모델링 / 개념 스키마 설계/ E-R다이어그램

논리적 설계 : 트랜잭션 인터페이스 설계 / DBMS에 맞는 논리 스키마 설계 / 테이블 설계

물리적 설계 : 레코드 집중의 분석, 설계 / 저장레코드 양식 설계 / 저장 구조 및 액세스 경로 설정


8. UDP 프로토콜의 특징이 아닌 것은?

TCP와 같이 트랜스포트 계층에 존재한다. → IP Protocol에 관한 설명이다.

주로 주소를 지정하고, 경로를 설정하는 기능을 한다.

UDP(User Datagram Protocol)

  • 비연결형 및 비신뢰성 전송 서비스를 제공한다.
  • 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
  • 수신된 데이터의 순서 재조정 기능을 지원하지 않는다.
  • 복구 기능을 제공하지 않는다.


9. 아키텍처 설계과정이 올바른 순서로 나열된 것은?

  1. 설계 목표 설정
  2. 시스템 타입 결정
  3. 아키텍처 패턴 적용(위 설명에서는 스타일 적용 및 커스터마이즈) *아키텍처 패턴 : 아키텍처 설계 시 발생하는 문제들을 해결하기 위해 미리 만들어 놓은 해결 방식
  4. 서브시스템 구체화(서브시스템의 기능, 인터페이스 동작 작성)
  5. 검토(아키텍쳐 설계 검토)


10. CREATE TABLE문에 포함되지 않는 기능은?

CHECK 제약조건의 정의 → 해당됨.

속성 타입 변경 → CREATE TABLE에는 해당 X

PRIMARY KEY : 테이블의 기본 키를 정의 / 유일하게 테이블의 각 행을 식별

FOREIGN KEY : 참조 대상을 테이블로 명시 / 외래 키를 정의 / 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정

UNIQUE  : 테이블 내에서 얻은 유일한 값을 갖도록 하는 속성

NOT NULL  : 해당 컬럼은 NULL값을 포함하지 않도록 하는 속성

CHECK  : 개발자가 정의하는 제약조건 / 참(TRUE)이어야 하는 조건을 지정

DEFAULT : 해당 필드의 기본값을 설정


11. 다음 SQL문의 실행결과로 생성되는 튜플 수는?

Image description

SQL의 조건이 없으므로 모든 급여가 생성된다. 따라서 5개의 튜플이 생성됨.


12. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?

분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다. (X)

분산 데이터베이스의 구성요소 -

  • 분산처리기
  • 분산 데이터베이스
  • 분산 트랜잭션
  • 통신 네트워

분산 데이터베이스의 구조 - 전역, 분할(단편화), 할당, 지역 스키마


13. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

Image description

int arr[2][3] = {1,2,3,4,5,6}

int arr [2][3] → int arr [세로수] [가로수]

세로가 2개    가로가 3개

1  2  3

4  5  6

이렇게 상상해 보고 좀더 자세히 구체화

  0 1 2
0 1[0][0] 2[0][1] 3[0][2]
1 4[1][0] 5[1][1] 6[1][2]

p[0]+1 는    [0][1] 와 같다. // [0][1]에 들어 있는 숫자는 ‘2’이다.

p[1]+2 는    [1][2] 와 같다.  // [1][2]에 들어 있는 숫자는 ‘6’이다.  2+6 = 8

*(*(p+1)+0는 [1][0] 와 같다  [1][0]에 들어 있는 숫자는 ‘4’이다.

*(*(p+1)+1는 [1][1] 와 같다  [1][1]에 들어 있는 숫자는 ‘5’이다.  4+5=  9


14. 블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바르게 연결된 것은?

블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미

블루버그 : 블루투스 장비사이의 취약한 연결 관리를 악용한 공격

블루스나프(블루스나핑) : 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람

블루재킹 : 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것

*OPP (Obex Push Protocol) = 블루투스 장치끼리 인증 없이 정보를 간편하게 교환하기 위하여 개발됨


15. Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳은 것은?

Scrapy

  • Li-fi

  • 스펙트럼의 빛을 이용한 5세대 이동 통신 기술

  • Scrapy

  • 파이썬 기반의 웹크롤러 프레임 워크

  • 가볍고 빠르고 확장성이 좋음

  • SBAS(위성항법보강시스템)

  • GPS의 오차를 보정해 신뢰성과 안정성을 높인 기법


16. Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?

보안에 취약

  • FAT

  • DOS때부터 사용되던 윈도우의 파일시스템

  • 저용량에 적합, 호환성이 좋음,  저장가능한 파일의 최대크기가 4GB

  • NTFS

  • FAT시스템을 대체하기 위해 개발된 윈도우 파일 시스템

  • 사용자마다 다른 보안 적용 가능 즉 보안이 FAT보다 뛰어남

  • 대용량 저장 가능 및 안정성이 뛰어남

0/1/1/2/3/5/8/13/21/34/55/89

0/1/2/3/4/5/6/7/ 8/ 9/ 10

요구 사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)이 아닌 것은?

AVL Diagram → 다이어그램이 아니라 트리모형임…

avl 트리는 이진 트리의 높낮이가 불규칙해지는 것을 보완하여

일정하게 처리하기 위한 이진트리 모형이다.


17. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?

스터브(Stub)와 드라이버(Driver) → 통합 테스트 시 사용되는 것.

테스트 수행 도구

자료 흐름도, 기능 테스트, 입력 도메인 분석, 랜덤 테스트


18. 관계 데이터베이스에 있어서 관계 대수 연산이 아닌 것은?

포크(Fork)

관계 대수 연산에는 Select, Project, Join, Division이 있음.

관계형 데이터베이스에서 다음 설명에 해당하는 키(Key)는?

Image description

슈퍼키 : 유일성을 만족하는 속성 또는 속성들의 집합

후보키 : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합

대체키 : 기본키로 선택되지 못한 후보키

외래키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합


19. 관계 대수에 대한 설명으로 틀린 것은?

원하는 릴레이션을 정의하는 방법을 제공하며 비절차적 언어이다.

관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.

비절차적 특성은 관계해석이 지니고 있다.


20. 함수 종속 표기


어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이라고 할 경우 애트리뷰트 X의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속이라고 한다. 이 함수 종속의 표기로 옳은 것은?

X → Y

여기서 X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때, Y는 X에 함수적 종속이라고 한다. 이 경우 X를 결정자, Y를 종속자라고 한다.


21. 다음 중 페이지 교체(Page Replacement)알고리즘이 아닌 것은?

LUF(Least Used First) —> 낚시용 단어

OPT - Optimal : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체

FIFO - First In First Out

LRU - Least Recently Used : 가장 오랫동안 사용되지 않은 페이지 교체

LFU - Least Frequently Used : 참조 횟수가 가장 작은 페이지 교체

MFU - Most Frequently used : 참조 횟수가 가장 많은 페이지 교체

NUR - Not Used Recently : 최근에 사용하지 않은 페이지 교체

정보 시스템 내에서 어떤 주체가 특정 개체에 접근하려 할 때 양쪽의 보안 레이블(Security Label)에 기초하여 높은 보안 수준을 요구하는 정보(객체)가 낮은 보안 수준의 주체에게 노출되지 않도록 하는 접근 제어 방법은?

Mandatory Access Control

강제접근통제(Mandatory Access Control), 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식

임의접근통제(Discretionary Access Control), 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식

사용자계정컨트롤(User Access Control), 프로그램에서 관리자 수준의 권한이 필요한 작업을 수행할 때 사용자에게 알려서 제어할 수 있도록 돕는 기능

자료별 접근통제(Data-Label Access Control > Label-Based Access Control), 개별 행, 열에 대해 쓰기 권한, 읽기 권한을 가졌는지를 명확하게 결정하는 제어 방식


22. 비대칭 암호화 방식으로 소수를 활용한암호화 알고리즘은?

RSA

대칭키 암호화 - 블록 암호화 방식 : DES, SEED, AES, ARIA

개인키 암호화 - 스트림 암호화 방식 : LFSR, RC4

공개키 암호화(비대칭 암호) : RSA

암호 알고리즘 방식

양방향

  1. 대칭 키 암호 방식
  • 블록 암호 방식과 스트림 암호 방식이 있다.
  • 장점으로는 계산 속도가 빠르고 단점으로는 키 분배 및 관리의 어려움이 있다. [n(n-1)/2 개]
  1. 비대칭 키 암호 방식(= 공개키 암호 방식)
  • 공개키와 개인키가 존재한다.
  • 장점으로는 관리해야 할 키의 개수가 적고 (2n개) 단점으로는 계산 속도가 느리다는 것이 있다. ex) RSA, 디피-헬만, ECC, Elgamal

일방향

해시함수 방식 ex) MDC, MAC


23. Cocomo model


Cocomo model 중 기관 내부에서 개발된 중소규모의 소프트웨어로 일괄 자료 처리나 과학기술계산용, 비즈니스 자료 처리용으로 5만 라인이하의 소프트웨어를 개발하는 유형은?

Organic

Organic: 5만 라인 이하의 프로젝트에 적합, 소규모 팀이 개발에 사용

Semidetached: 30만 라인 이하의 프로젝트에 적합, 트랜잭션 처리시스템 등

Embeded: 30만 라인 이상의 프로젝트에 적합, 하드웨어가 포함된 실스간 시스템 등


시스템이 몇 대가 되어도 하나의 시스템에서 인증에 성공하면 다른 시스템에 대한 접근권한도 얻는 시스템을 의미하는 것은?

SSO

SSO - Single Sign On 줄임말로, 여러 시스템 중 하나의 시스템에 인증을 성공하면 다른 시스템의 접근 권한도 모두 얻는 방식


24. Salt 관련


시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?

Opcode

Salt

다른 암호 값으로 저장되도록 추가되는 값 = Salt 의미 그대로 소금친다는 뜻에서 Salt라고 불림

info-process 카테고리 내 다른 글 보러가기

댓글 남기기