관리 메뉴

피터의 개발이야기

[정처기 실기] 정보처리기사 실기 - 2021년 1회 기출문제 본문

개발이야기/정보처리기사

[정처기 실기] 정보처리기사 실기 - 2021년 1회 기출문제

기록하는 백앤드개발자 2024. 3. 13. 15:02
반응형

ㅁ 들어가며

ㅇ 기출문제를 풀어보고 공부한 내용을 노트형태로 정리하였다.

ㅇ 홍달샘- 정보처리기사 실기 2021년 1회 - 기출해설특강

    ㄴ 문제 번호 클릭 -> 동영상 설명 이동

ㅇ 시나공 정보처리기사 필기 핵심요약을 참조

 

 

1. 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오.

더보기

RARP:  MAC -> IP

ARP: IP -> MAC

 

핵심 313) 인터넷 계층의 주요 프로토콜

핵심 344) 경로제어 프로토콜

IGP : 내부 

  ㄴ RIP: 최단 경로 탐색, 거리벡터 알고리즘 사용

  ㄴ OSPF : 더 폭넓은 정보를 통한 최적 경로 설정, 링크상태 프로토콜 사용

EGP 게이트 투 게이트

BGP EGP의 단점 보안하여 변화된 라우팅 테이블 정보한 교환함.

 

2. 빈칸에 해당하는 용어를 쓰시오.

( ① ) : 현실 세계에 있는 그대로 사람이 이해할 수 있는 형태의 정보구조로 만들어가는 과정을 의미하기 때문에 정보 모델이라고 한다.
( ② ) : 추출된 엔티티와 속성들의 관계를 구조적으로 정의하는 단계로, ①에서 만들어진 구조를 컴퓨터가 이해하고 처리할 수 있도록 변환하는 과정
( ③ ) : 실제 저장장치에 어떻게 저장할지 설계하는 단계
더보기

1: 개념적 설계

2: 논리적 설계

3: 물리적 설계: 성능을 고려해야한다. 

 

# 설명

ㅇ 물리적 설계: 성능을 고려해야한다.

    ㄴ index, Procedure, Clustering, view, partition

    ㄴ 반정규화, 데이터의 일관성을 희생하여, 통합, 중복을 통해 JOIN 연산을 최소화하여 성능을 높인다.


3.  주어진 테이블의 Cardinality / Degree를 구하시오.

학번 이름 학년 학과
20210000 홍길동 2 전자과
20210001 임꺽정 3 전기과
20210002 유관순 1 화학과
20210003 신사임당 4 기계과
20210004 장길산 2 컴퓨터과
더보기

Cardinality: 5, Degree: 4

 

4. 시스템 통합에 사용되는 솔루션으로 구축 유형에는 Point to Point, Hub & Spoke, Message Bus가 있다. 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계 , 통합이 가능하도록 해주는 솔루션을 무엇이라고 하는지 쓰시오.

핵심 154) EAI(Enterprise Application Integration)

 

# SOAP과 REST에 대한 설명

ㅇ SOAP- 실제통신

ㅇ WSDL- 설명서

ㅇ UDDI-  서버 기동

 

ㅇ RESTful:  http method(get,post, put, delete)를 사용

ㅇ 데이터형태: xml, json, csv, txt, yaml 등을 사용

 

5. 데이터 모델 구성요소를 쓰시오.

( A ) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로 데이터베이스를 조작하는 도구이다.
( B ) : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다.
제약조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
더보기

A: 연산, B: 구조

 

6.  다음은 블랙박스 테스트의 예시이다. ①, ②에 알맞은 테스트를 작성하시오.

( ① ): 0 <= X <= 10 일 때, -1,0,10,11인 경우
( ② ): 유효값과 그렇지 않은 범위를 나눠야 할 경우 사용하는 테스트
더보기

1) 경계값 테스트

2) 동등 분할 검사

핵심 131) 블랙박스 테스트의 종류, 2020년 3회 5번 문제, 2020년 4회 4번 문제

 

7. 괄호 안에 공통적으로 들어갈 공격 기법을 쓰시오.

(      )은/는 세션 관리 취약점을 이용한 공격 기법으로, '세션을 가로채다' 라는 의미이다. 이 공격은 정상적 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결한다.
(      )은 TCP의 고유한 취약점을 이용해 정상적인 접속을 빼앗는 방법이다. 서버와 클라이언트 통신 시 TCP 의 시퀀스 넘버를 제어하는데 발생하는 문제를 공격한다. TCP는 클라이언트와 서버 간 통신을 할 때 패킷의 연속성을 보장하기 위해 각각 시퀀스 넘버를 사용한다. 이 시퀀스 넘버가 잘못되면 이를 바로잡기 위한 작업을 하는데, (     )은 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어들어 가는 방식이다.
더보기

세션 하이재킹

핵심 357) 세션 하이재킹(Session Hijacking)

 

8. 다음 A,B에 알맞은 답안을 작성하시오.

IPv6는 (  A  ) 비트의 길이를 가진다.
IPv4는 길이가 32비트이며, (  B  ) 비트씩 4분할 한다.
더보기

A: 128, B: 8

핵심 307) IPv6(Internet Protocol version 6)

핵심 308) IPv6의 구성

  ㄴ 유니캐스트, 멀티캐스트, 애니캐스트

2020년 4회 11번 문제에서 공부한 내용

  ㄴ  IPv4/IPv6 전환기술도 함께 공부해야함.

 

9. 다음 1~3에서 설명하는 결합도를 작성하시오.

(1) : 두 모듈이 동일한 자료구조를 조회하는 경우
(2) : 가장 강한 결합도를 가지고 있으며, 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 조회하도록 설계되었을 경우
(3) : 여러 모듈이 공통 자료 영역을 사용하는 경우
더보기

1: 스탬프 결합도
2: 내용 결합도
3: 공통 결합도

 

핵심 055) 결합도(Coupling)

결합도는 모듈간의 관계성이다.

독립성(이식성이 좋다) - 응집도 <-> 결합도

 

ㅇ 결합도 암기 : 데스(형) 제 외(저래?) 공(유 닮았데)

  - 데이터 결합도: 함수를 호출할 때에 파라메터에 해당

  - 스탬프 결합도: 배열,오브젝트, 포인트를 전달 시 

  - 제어 결함도:  파라메터 받아서 if(X) 분기를 타는 경우

  - 공통 결합도: 전역변수 사용 시

 

핵심 056) 응집도(Cohesion)

ㅇ 응집도 암기: 우(리) 논(던) 시 절(에) 통(통한) 순(대 어땠어? )기(가 막히지)

  - 기능적 응집도: 응집도 제일 높음. 하나의 기능이 응집되어 있다.

  - 순차적 응집도: 모듈의 결과가 다른 모듈의 입력값

  - 통신적 응집도: 동일한 입력과 출력을 사용

  - 절차적 응집도: 모듈들이 관련 기능을 순차적으로 수행

  - 시간적 응집도: 같은 시간에 처리

  - 논리적 응집도: 유사한 성격, 특정 형태

  - 우연적 응집도: 아무 상관없는 요소

 

21년 3회 영어로 출제. 영어도 기억해야함.

[시험 전날 암기]

 

10. <보기>에 해당하는 용어를 쓰시오.

( A ) 요구사항은 제품을 구현하기 위해 소프트웨어가 가져야할 기능적 속성
( B ) 요구사항은 제품 품질 기준 등의 만족을 위해 소프트웨어가 가져야 할 특성
더보기

A: 기능, B: 비기능

 

핵심 015) 요구사항 정의

 

11. 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반한 방법으로 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에게 자신의 판단에 따라 권한을 허용하는 접근제어 방식은?

역할기반 접근제어

 

 

핵심 199) 접근통제 기술

핵심 350) Secure OS의 보안 기능

  위 둘 핵심은 비슷한 부분이 있음.

 

MAC: 강제 접근통제(Mandatory Access Control)  => 계급에 따른 군대와 같다.

  ㄴ 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식

  ㄴ 군대에서 사용. 관리자가 관리 대상에 주어지는 접근제어. 이 문서는 소령 이상이 볼 수 있다.

 

ㅇ DAC: 임의 접근통제(Discretionary Access Control)
  ㄴ 소속 그룹 또는 개인에 따라 부여된 권한 

  ㄴ 너 친하니깐 보여줄께.

  ㄴ 내가 권한을 줄 수가 있다.

 

RBAC: 역할기반 접근통제(Role Based Access Control)

  ㄴ 사용자의 역할에 따라 접근 권한 을 부여

 

 

핵심 200) 강제 접근통제(MAC)의 보안 모델

 ㄴ 이것도 함께 공부하면 좋다.

 

벨 라파듈라 모델

  - 기밀성 강조

  - 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계 가 구분된 정보를 보호

비바 무결성 모델

  - 무결성 강조

  - 벨 라파듈라 모델을 보완한 수학적 모델, 무결성을 보장하는 최초의 모델

 

12. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포멧, 프로토콜 등이 기술되어 있는 언어는?

더보기

WSLD

 

WSLD = 구체적 사용설명서

UDDI = 실질적 구동 API

SOAP = 통신

 

 

13. <보기>에 해당하는 용어를 쓰시오.

( A ) 개발자가 원시 코드를 대상으로 다른 부분과 연계 되는 부분은 고려하지 않고, 각각의 단위 자체에만 집중하여 테스트한다.
( B ) 인터페이스 간 시스템이 정상적으로 실행되는지 확인하는 테스트이다.
더보기

A: 단위 테스트, B: 통합 테스트

 

V 모델

ㄴ 단위 테스트 

  - 정적 테스트

  - 동적 테스트

  

ㄴ 통합 테스트  -- 추가 공부 ->  핵심 139) 테스트 드라이버와 테스트 스텁의 차이점

  - 상향식:  드라이버 

  - 하향식:  스텁

 

ㄴ 시스템 테스트: 요구사항을 만족하는지.

  - 기능 요구사항

  - 비기능 요구사항

ㄴ 인수 테스트  

  - 알파테스트: 개발자+사용자 테스트

  - 베타테스트: 사용자 테스트

 

 

ㅇ 나선형 모델: 계획, 위험, 개발, 평가

ㅇ 프로토타입

ㅇ RAD: 빠르게 개발

 

14. 시스템의 성능 향상, 개발 과정의 편의성 등을 위해 정규화된 데이터 모델을 분할, 통합, 추가하는 과정으로, 의도적으로 정규화에 위배되는 행위이다. 무엇을 설명하는 것인지 쓰시오.

더보기

비정규화

 

핵심 185) 반정규화 방법

테이블통합, 테이블 분할, 중복테이블, 속성 추가

 

15. 실행 프로세스 간에 통신을 가능하게 하는 기술로, 종류에는 파이프, 메시지 큐, 공유메모리, 세마포어, 소켓 등이 있다.

 

핵심 094) IPC(Inter-Process Communication)

 

16. 다음 SQL 문의 실행 결과를 쓰시오.

SELECT COUNT(*) FROM 급여
WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200;
EMPNO SAL
100 1000
200 3000
300 1500

 

17. 다음 파이썬 프로그램의 실행결과는?

class good :
	li = ["seoul", "kyeonggi","inchon","daejeon","daegu","pusan"]

g = good()
str01 = ''
for i in g.li:
	str01 = str01 + i[0]
    
print(str01)

 

 

 

18.  다음은 Java 프로그램이다. 실행 결과를 쓰시오.

public class good {
  public static void main(String[] args){
    int i, j;
    for(j=0, i=0; i<=5; i++){
      j+=i;
      System.out.print(i);
      if(i==5){
        System.out.print("=");
        System.out.print(j);
      }else{
     	System.out.print("+");
      }
    }
  }
}

 

19. 다음 Java 프로그램 결과를 쓰시오.

public static void main(String []args){
    int a[][] = {{45, 50, 75}, {89}};
    System.out.println(a[0].length);
    System.out.println(a[1].length);
    System.out.println(a[0][0]);
    System.out.println(a[0][1]);
    System.out.println(a[1][0]);
}

 

20. 다음은 C언어 프로그램이다. 실행 결과를 쓰시오.

int main() {
	struct insa {
		char name[10];
		int age;
	} a[] = ("Kim", 28, "Lee", 38, "Park", 41, "Choi", 30 };
	struct insa *p;
	p = a;
	p++;
	print("%s ", p-›name);
	print("%d", p-›age):
}
더보기

Lee 38

반응형
Comments