본문 바로가기

정보처리기사/실기기출

[정처기실기] 2022년 2회 *

 

https://chobopark.tistory.com/423

 

[2022년 2회] 정보처리기사 실기 기출문제

안녕하세요. 2022년 2회 정보처리기사 실기 기출문제를 정리해보았습니다. 해당 복원된 기출문제가 많은 분들에게 도움이 되었으면 좋겠습니다. 정보처리기사 개편안인 2020년 시험부터 2023년 3회

chobopark.tistory.com

 


 

 

1. 다음은 관계 데이터 모델에 대한 설명이다. 괄호안에 들어가는 용어를 작성하시오.

 

( )은 /는 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.
수학의 predicate calculus에 기반을 두고 있으며관계 데이터 모델의 제안자인 코드(E.F.Codd)가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.

( ) /은/는 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜플 ( )와/과 도메인 ( ) 이/가 있다.

 

더보기

 

관계해석


* 관계 대수 (절차적)

 - SELECT : σ (시그마)

 - PROJECT : π (파이) 

 - JOIN : ⨝ (조인)

 - DIVISION : ÷ (나누기) 

 

* 관계 해석 (비절차적)

 

 

 

 

( * 암호화 알고리즘 *)

2. 다음은 대칭 키 알고리즘에 대한 설명이다. 해당 설명에 맞는 용어를 보기에 골라 작성 하시오.

1. Xuejia Lai와 James Messey 가 만든 알고리즘으로 PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경되었다가, 1991년에 제작된 블록 암호 알고리즘으로 현재 국제 데이터 암호화 알고리즘으로 사용되고 있다. 64비트 블록을 128비트의 key를 이용하여 8개의 라운드로 구성되어 있다.

2. 미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기와 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다.

 

더보기

 

1. IDEA

2. Skipjack


* 암호화 알고리즘

> 단방향 암호화 (평문 => 암호문) _ Hash알고리즘, 저항성 

> 양방향 암호화 (평문 <=> 암호문)


[ 블록암호 알고리즘 ]

* AES 

 - 128bit 평문을 128 / 192 / 256bit 로 암호화

 - 키 크기에 따라 10 / 12 / 14 회 Round 수행

 - 1997년 NIST에 의해 제정

 - 레인달 (Rijndael)에 기반한 암호화 방식

 - SPN 암호 방식을 사용한다.

 

* SEED

 - 순수 국내기술로 개발한 128비트 및 256비트 대칭키 블록 암호 알고리즘. 

 

* ARIA 

 - 국가 보안 기술 연구소 (NSRI) 필두로 학계, 국가 정보원 등의 암호 기술 전문가들이 개발한 국가 암호화 알고리즘.

 - AES 알고리즘과 똑같이 128 / 192 / 256 비트 암호화키를 지원한다.

 - SPN 암호 방식을 사용한다.

 

* IDEA

 - 1990년 스위스에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘. 

 - 키길이가 128bit, 블로길이가 64bit 

 - Festel 방식과 SPN의 중간형태 구조. 

 

[ 스트림암호 알고리즘 ]

* LFSR

* RC4

* A5

 

 

 

 

3. H회사의 전체 제품 단가 보다 큰 제품 출력을 하고자 한다. 괄호안에 들어갈 알맞는 용어를 작성하시오.

 

[제품테이블]

SELECT 제조사, 제품명, 단가
FROM 제품
WHERE 단가 > ( ) (SELECT 단가 FROM 제품 WHERE 제조사='H')

 

더보기

 

All


* Any _ OR 조건 ( 단가 > 2,000 OR 단가 > 3,000 )

* All _ AND 조건 ( 단가 > 2,000 AND 단가 > 3,000 )

=> 반환되는 튜플의 수가 달라지니 차이점 알아두기 ** 

=>  Any인 경우 'H' 제조사의 튜플도 반환 **

 

* In _해당하는 행&값이 있는지 

* Exist _해당하는 이 있는지 

=> 부등호와 사용 불가. 

 

 

 

 

4. 다음 SQL 결과에 알맞는 답을 작성하시오.

[TABLE]

SELECT count(col2)
FROM TABLE
WHERE col1 in(2,3) or col2 in(3,5);

 

더보기

 


 

* count는 null값은 세지 않음  

* group by에서는 group의 count이기 때문에 null값도 포함. 

 

 

 

( * 네트워크 보안 솔루션 *)

5. 다음은 네트워크에 관련한 내용이다. 괄호안에 들어갈 알맞는 답을 작성하시오.

 

( )은/는 인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성하며, 퍼블릭 네트워크를 통해 데이터를 안전하게 익명으로 전송하는 데 사용된다.

또한 사용자 IP 주소를 마스킹하고 데이터를 암호화하여 수신 권한이 없는 사람이 읽을 수 없도록 한다.

( 인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안솔루션 )

 

더보기

 

VPN


[ 보안 솔루션 ]

* 방화벽 (Firewall)

  네트워크 간에 전송되는 정보를 선별하는 기능을 가진 침입 차단 시스템.

* 웹방화벽 (Web Firewall)

  웹기반 공격을 방어할 목적으로 만들어진 웹서버 특화 방화벽

* 침입탐지 시스템 (IDS; Intrusion Detection System)

  컴퓨터 시스템의 비정상적인 사용, 오용 등을 실시간으로 탐지하는 시스템. 이상탐지/오용탐지.

* 침입방지 시스템 (IPS; Intrusion Prevention System)

    방화벽과 침입탐지 시스템을 결합한 것. (방화벽 + IDS)

* 데이터유출방지 (DLP; Data Leakage/Loss Prevention)

  내부 정보의 유출을 방지하기 위한 보안솔루션

* NAC (Network Access Control)

  네트워크에 접속하는 내부PC의 MAC주소(고유랜카드주소)를 시스템에 등록한 후 일관된 보안관리 기능을 제공하는 보안솔루션.

* ESM (Enterprise Security Management)

  다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합관리 하는 보안 솔루션. 

 

 

 

 

 

6. 다음은 SOLID 원칙에 관한 내용이다. 괄호안에 알맞는 단어를 보기에서 고르시오.
(실제 기출문제에서는 답의 보기가 주어집니다.(오답 중, SRPLSP 등..))

 

( ) 은/는 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.


( ) 은/는 큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용할 수 있게 한다.


예를 들어 하나의 복합기에 프린터와 복사기, 팩스 메서드가 있는데 이 세가지 메서드는 같은 파일에 존재하므로 프린터 로직만 바뀌어도 복사기와 팩스도 재컴파일을 해야한다.


그러므로 ( ) 을/를 적용하여 로직이 바뀌어도 다른 메서드는 영향을 받지 않도록 해야한다.

 

더보기

 

ISR ( Interface segregation Principle, 인터페이스 분리 원칙 )

 


 

[ 객체지향 설계원칙 (SOLID) ]

 

 - 단일 책임 원칙 (SRP, Single responsibility principle)

  하나의 클래스는 하나의 책임만을 가져야 한다.

 - 개방 폐쇄 원칙 (OCP, Open-Closed principle)

  확장에는 열려 있고, 수정에는 닫혀 있어야 한다.   => 추상화

 - 리스코프 치환 원칙 (LSP, Liskov substitution principle)

  자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 한다.

 - 인터페이스 분리 원칙 (ISR, Interface Segregation Principle)

  자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다.

 - 의존성 역전 원칙 (DIP, Dependency Inversion Principle)

  의존 관계를 맺을 때 자주 변화하는 것보다, 변화가 거의 없는 것에 의존해야 한다.


[ UI 설계 원칙 ]

 - 직관성 : 화면의 버튼, 항목, 입력란 등 누구나 쉽게 이해하고 사용할 수 있도록 한다.

 - 유효성 : 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 한다.

 - 유연성 : 사용자의 요구를 최대한 수용하면서 오류를 최소화해야 한다.

 - 학습성 : 사용자가 쉽게 배우고 익힐 수 있어야 한다.


* UX (User Experience)

* UI (User Interface)

 

 

 

 

7. 다음 자바 코드에 알맞는 출력값을 작성하시오.

 

public static void main(String args[]){
  
  int i = 3; int k = 1; 
  switch(i) { 
    case 1: k += 1;
    case 2: k++;
    case 3: k = 0; 
    case 4: k += 3; 
    case 5: k -= 10; 
    default: k--; 
  }
  System.out.print(k); 
  
}

 

더보기

-8


* switch 조건문 

=> 해당하는 case부터 시작 & break를 만날때까지 계속 진행.

 

 

 

 

 

8. 다음 소스코드에 대한 출력값을 작성하시오. (C언어) 

 

struct A{ 
  int n, 
  int g
} 
 
int main(){
  A a = new A[2] 
  for(i=0; i <2; i++) {
    a[i].n = i, 
    a[i].g=i+1  
  }
  System.out.printf(a[0].n + a[1].g);  
}

 

더보기

 

2


* struct : 사용자 정의 구조체

 

A =        n    |    g

   a [0]   0    |    1

   a [1]   1    |    2

 

a[0].n + a[1].g = 0 + 2 = 2

 

 

 

 

9. IP 주소가 139.127.19.132이고 서브넷마스크 255.255.255.192일 때 아래의 답을 작성하시오.
(10진수로 표기)

 

(1) 괄호안에 들어갈 네트워크 주소 : 139.127.19.( )

(2) 해당 네트워크 주소와 브로드캐스트 주소를 제외한 호스트 개수

 

더보기

 

(1) 128

(2) 62


서브넷마스크가 255.255.255.192

=> 1   1   0   0   0   0   0   0  

 128  64  32 16  8   4   2   1         => 128 + 64 = 192 (8비트 중 앞의 2개를 네트워크 주소로 사용) 

 

 0 0  (00000000 ~ 00111111)

 0 1 (01000000 ~ 01111111)

 1 0 (10000000 ~ 10111111   => 128 ~ (128 + 63 = 191 ) => 128 ~ 191

 1 1 (11000000 ~ 11111111)

네개 중 ( IP주소_139.127.19.132) 132가 속할 수 있는 범위는 세번째.

 

**네트워크 주소는 첫번째 => 128   (브로드캐스트 주소는 마지막 => 191)

**사용 가능한 주소 개수

=> (맨 앞 두개 (1 0) 을 제외하고)  000000 ~ 111111 까지 => 2^6 개 => 64개

=> 첫번째 주소&마지막 주소 (네트워크 주소&브로드캐스트 주소) 빼면 62개

 

 

 

 

 

( * V모델 & 테스트 *)

10. 다음 설명에 대한 괄호안에 알맞는 단어를 작성하시오.

 

1. ( ) 테스트는 하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업. 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완한다. 공식적인 제품으로 발매하기 이전에 최종적으로 실시하는 검사 작업이다.

(개발된 소프트웨어를 사용자가 실제 운영환경에서 수행하는 테스트이다.) 

 

2. ( ) 테스트는 새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트. 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위 테스트, 구성 테스트, 시스템 테스트 등을 포함한다.

(개발자의 통제 하에 사용자가 개발 환경에서 수행하는 테스트이다. 내부에서 진행하는 자체 검사로 실제 사용 환경에서 동작시키며 관련자만 참여한다.)

 

더보기

 

1. 베타 테스트

2. 알파 테스트


 

* V모델과 테스트 레벨

 

요구사항 분석                                                      인수테스트 _ 알파/베타 테스트  

     기능명세 분석                                      시스템 테스트 _ 기능/비기능 테스트 

                      설계                           통합 테스트 _  상향식(드라이버) /하향식(스텁) /빅뱅 /백본(상향식+하향식)

                            개발            단위 테스트  _ 정적/동적 테스트

 

 

 

 

 

( * 애플리케이션 테스트 유형 분류 *)

11. 다음 설명에 알맞는 테스트 용어를 보기에서 골라 작성하시오.
(실제 기출문제에서는 답의 보기가 주어집니다.(오답 중, Iterating등..))

 

오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다.

반복적인 시험이 필요한 이유는 오류가 제거·수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다.

결국, 수정·변경된 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키는지를 확인하는 시험의 한 형태이다.

(변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트.)

 

더보기

 

Regression (회귀 테스트)


 

[ 애플리케이션 테스트 유형 분류 ]

 

* 프로그램 실행 여부

 - 정적 테스트 _ 소스코드

 - 동적 테스트 _ 소스코드의 수행 / 프로그램 실행

 

* 테스트 기법

 - 화이트박스 테스트 _ 커버리지

 - 블랙박스 테스트  

 

* 테스트에 대한 시각

 - 검증(Verification) 테스트 _ 개발자_제품이 명세서대로 완성됐는지

 - 확인(Validation) 테스트 _ 사용자_제품이 요구대로 완성되어 동작하는지

 

* 테스트 목적

 - 회복(Recovery) 테스트 _결함을 주어 올바르게 복구되는지 확인.

 - 안전(Security) 테스트 _ 시스템 보호 도구가 제대로 작동하는지 확인.

 - 강도(Stress) 테스트 _ 과부하 시에도 정상적으로 실행되는지 확인.

 - 성능(Performance) 테스트 _ 응답시간/처리량 등 성능 및 효율성을 확인.

 - 구조(Structure) 테스트 _ 내부 경로, 소스코드 복잡도 등을 평가.

 - 회귀(Regression) 테스트 _ 변경 또는 수정에 결함이 없음을 확인.

 - 병행(Parallel) 테스트 _ 변경된sw와 기존sw에 동일한 데이터를 입력하여 결과 비교.

 

* 테스트 기반

 - 명세 기반 테스트 _ 명세서_시간오래걸림

 - 구조 기반 테스트 _ 소스코드_시간오래걸림

 - 경험 기반 테스트_ 경험많은 테스터


 

* 테스트 오라클 : 테스트의 결과가 참/거짓 인지 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법.

 

- 참(True)오라클

모든 입력값에 적합한 결과를 생성하여, 발생한 오류를 모두 검출

 

- 샘플링(Sampling)오라클

임의로 선정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공

 

- 휴리스틱(Heuristic)오라클

임의의 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리

 

- 일관성 검사(Consistent) 오라클 

애플리케이션 변경이 있을 때, 수행 전과 후의 결과값이 같은지 확인. 

 

 

 

 

 

12. 다음 테이블에서 πTTL(employee)에 대한 연산 결과 값을 작성하시오.

[employee테이블]

 

더보기

 

1. TTL

2. 부장

3. 대리

4. 과장

5. 차장


πTTL(employee) => 'employee' 테이블에서 'TTL'의 속성값 추출.


* 관계 대수 (절차적)

 - SELECT : σ (시그마)

 - PROJECT : π (파이) 

 - JOIN : ⨝ (조인)

 - DIVISION : ÷ (나누기) 

 

 

 

 

13. 다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.

a = "REMEMBER NOVEMBER"
b = a[:3] + a[12:16];
c = "R AND %s" % "STR";
print(b+c);

 

더보기

 

REMEMBER AND STR


b = a[:3] + a[12:16]  

   = "REM" + "EMBE"

c = "R AND %s" % "STR"   (문자열 치환)

   = "R AND STR"

 

=> REMEMBER AND STR


 

"%s %s"  % ("A", "B")  =>  AB

 

 

 

 

( * 라우팅 프로토콜 *)

14. 다음 설명에 대해 보기에 주어진 답을 골라 작성하시오.
(실제 기출문제에서는 답의 보기가 주어집니다.(오답 중, ARP, RARP 등..))

1. 라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템(Autonomous System, AS)이라고 한다. 같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 여기서 도메인 내부 경로 설정을 가르킨다.

2. 시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써,
다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고, 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다.

3. IP 라우팅 프로토콜의 한 종류로써 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다.
규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있다.

4. 서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)이다.
각 목적지에 대한 전체 경로가 포함되며, 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다.
네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS 수준에서 정책 결정을 실행할 수 있다.

 

더보기

 

1. IGP (Interior Gateway Protocol) 

2. EGP (Exterior Gateway Protocol)

3. OSPF (Open Shortest Path First Protocol)

4. BGP (Border Gateway Protocol)


 네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜을 IGP 라고 하고, 다른 그룹과 라우팅 정보를 교환하는 프로토콜을 EGP 라고 한다. IGP의 대표적인 프로토콜은 RIPOSPF 가 있고, EGP의 대표적인 프로토콜은 BGP이다.


 

 

* 라우터 : 데이터 전송의 최적 경로를 탐색. (네트워크 계층)

 

* 라우팅 영역에 따른 분류 (동적 라우팅 프로토콜) 

 - IGP (Interior Gateway Protocol) : AS(Autonomous System) 내부 라우터 간

   > RIP (Routing Information Protocol) : 15홉까지만 이동가능, 거리벡터 알고리즘

   > OSPF (Open Shortest Path First protocol) : 링크상태 프로토콜

   > IGRP 

 

 - EGP (Exterior Gateway Protocol) : AS(Autonomous System) 외부 라우터 상호간

   > BGP

 

 

 

 

 

15. 다음 C언어에서 출력에 대한 알맞은 답을 작성하시오.

 

#include <stdio.h>
 
int len(char*p);
 
int main(){
 
  char*p1 = "2022";
  char*p2 = "202207";  
  
  int a = p1;
  int b = p2;
  
  printf("%d", len(a) + len(b));
 
}
 
int len(char*p){
  int r = 0;
  while(*p != '\0'){
    p++;
    r++;
  }
return r;
}

 

더보기

 

 10


* C언어는 문자열을 담을 수 없기 때문에 포인터나 char배열을사용.

        문자열의 가장 마지막에는 null문자('\0')를 포함***

 

char *p1 = "2022";   

  p1       p1 은 포인터 변수 _주소값(100번지)을 가지고 있음

 100   101  102   103   

    2       0       2       2     \0

 

   p2     p2 는 포인터 변수 _주소값(200번지)을 가지고 있음

 200   201  202   203   204   205

    2       0       2       2      1       0        \0

 

len(a) => len(*p1) => 100번지의 값 => 2 

len(b) => len(*p2) => 200번지의 값 => 2 

while 문으로 값이 \0 (null) 이 아닐때까지 r ++

 

len(a) + len(b) = 4 + 6 = 10

 

 

 

 

16. 다음 C언어 코드에서 알맞는 출력값을 작성하시오.

 

#include <stdio.h>
 
int main(int argc, char *argv[]) {
int a[4] = {0, 2, 4, 8};
int b[3] = {};
int i = 1;
int sum = 0;
int *p1;
 
for (i; i < 4; i++) {
p1 = a + i;
b[i-1] = *p1 - a[i-1];
sum = sum + b[i-1] + a[i];
}
 
printf("%d", sum);
 
return 0;
}

 

더보기

 

22


 

a   =  |   0   |   2   |   4   |   8   |

100     100   101   102   103   (번지수)

b   =  |   0   |   0  |   0   | 

200     200   201   202    (번지수)

 

i = 1 일 때,

p1 = a + 1 = 100 + 1 = 101

b[0] = *p1(p1의 값=101번지의 값) - a[0] = 2 - 0 = 0

sum = sum + b[0] + a[1] = 0 + 0 + 2 = 2

....

i = 2 일 때, b[1] = 2, sum = 10

i = 3 일 때, b[2] = 4, sum = 22

 

 

 

 

17. 다음 자바코드에서 알맞는 출력값을 작성하시오.

public class Conv{ 
    public Conv(int a) {
    	this.a = a;
    } 
    
    int func() {
        int b =1; 
        for (int i=1; i<a; i++){ 
            b = a * i + b 
        }
        return a +b;
    }
    
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3);
    obj.a=5; 
    int b = obj.func();
    system.out.print(obj.a + b);
    i
}

 

더보기

 

61


for문에서 a는 obj의 a값

i가 1일때,

b = 5 + 1 = 6

i가 2일때,

b = 10 + 6 = 16

....

i 가 4일 때, b = 51

 

return a + b

          5 + 51 = 56

 

system.out.println(obj.a + b

                                5 + 56  =  61

 

 

 

 

18. 다음은 함수 종속성에 대한 설명이다. 해당 문제에 대한 알맞는 답을 보기에서 골라 작성하시오.
(실제 기출문제에서는 답의 보기가 주어집니다.(오답 중, union 등..))

 

1. 성적은 {학생,학과}에 대해서 ( ) Functional Dependency이다.


2. 성적은 학과만 알아도 식별이 가능하므로, 이 경우에는 성적 속성은 기본키에 ( ) Functional Dependency이다.


3. 릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 경우

 

더보기

 

1. Full

2. Partial

3. Transitive


 

* 완전 함수 종속 (Full Functional Dependency)

함수적 종속관계에서 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 경우(복합키), 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우.

 

* 부분 함수 종속 (Partial Functional Dependency)

기본키가 여러 속성으로 구성되어 있을 경우 (복합키), 기본키를 구성하는 속성 중 일부만 종속되는 경우. 

 

=> 정규화 => 이상현상 제거를 위해


* 이상현상

 - 삽입 이상

릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되는 현상.

 - 삭제 이상

릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상.

 - 갱신 이상

릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상.

 


 

* 정규화(Normalization)

제 1정규형 _ 도메인이 원자값

제 2정규형 _ 부분함수 종속 제거 (각 테이블이 기본키에 대해 완전함수 종속이 되도록)

제 3정규형 _ 이행함수 종속 제거 

BCNF _ 결정자이면서 후보키가 아닌것 제거

제 4정규형 _ 다치종속 제거

제 5정규형 _ 조인종속 이용

 

 

 

 

 

( * 2020_2회_8, 13 * )

19. 다음 설명에 대한 알맞는 답을 보기에서 고르시오.
(실제 기출문제에서는 답의 보기가 주어집니다.(오답 중, ajax, 등..))

 

1. 인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다.
인터넷에서 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신규약이다.
이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.

2. 문자, 그래픽, 음성 및 영상을 하나의 연상 거미집(Web of Association)과 같이 서로 연결시켜, 제시된 순서에 관계없이 이용자가 관련된 정보를 검색할 수 있도록 하는 정보 제공 방법이다.
즉, 한 페이지에서 링크된 순서에 상관없이 사용자들이 원하는 정보를 클릭함으로써 원하는 정보에 쉽게 접근하는 방식을 말한다.

3. 웹 페이지 표시를 위해 개발된 지배적인 마크업 언어다.
또한, 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다.

 

더보기

 

1. HTTP

2. Hypertext

3. HTML


 

HTTP 는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. GET, POST 방식을 이용하여 문서를 주고 받으며, 이 문서내에서 다른 문서를 참조할 수 있는 링크정보가 들어가는데, 이런 링크 정보를 만들 수 있는게 Hypertext 이다. 이런 Hypertext 를 만들 수 있는 마크업언어가 HTML 이다.


 

* SSL (Secure Sockets Layer) _ 전송~응용계층

 - " https:// " 로 시작. ( 포트번호 443 )

 - 데이터의 비밀성, 무결성, 인증 제공

 - 공개키 알고리즘 사용.

 ( IPSec 와 다르게 클라이언트-서버 간 상호인증, 암호방식에 대한 협상. )

 

* S-HTTP (Secure HTTP)

 - " shttp:// " 로 시작.

 - 웹 상에서 네트워크 트래픽을 암호화.

 - 클라이언트와 서버 간 전송되는 모든 메시지를 각각 암호화. (http와 같은 포트를 사용)

 

* IPSec (IP Security) _ 양방향 암호화 지원, 네트워크 계층

 - IP 패킷 단위의 데이터 변조 방지 및 암호화 기능을 제공  

 - 무결성을 보장하는 인증해더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜

 


* IPSec 의 헤더 프로토콜

 - AH(Authentication Header)

  무결성을 보장하기 위한 프로토콜이며, IP패킷이 전송중에 변조되지 않았음을 보장하는 서비스를 제공.

 - ESP(Encapsulation Security Payload)

  IP페이로드를 암호화하여 데이터 기밀성을 제공함으로써 제 3자에게 데이터가 노출되는 것을 차단.

 


 

* SOAP

XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜.

 

* WSDL (Web Services Description Language)

> SOAP 통신을 하기 위한 설명서 (XML로 이루어져 있음)

 

* UDDI (Universal Description, Discovery, and Integration)

> 위 설명서를 보관하는 도서관 역할.

 

=> 서버와 데이터 통신을 위해 UDDI에서 내가 원하는 WSDL을 찾아 SOAP 프로토콜을 사용해서 데이터 전송.

 

 

 

 

 

( * 모듈 _순환복잡도 & 응집도/결합도 *)

20. 다음 모듈 F에 대한 Fan-in과 Fan-out을 작성하시오.

더보기

 

Fan-in : 3

Fan-out : 2


* Mccabe 순환복잡도 (Cyclomatic Complexity) 

 => 면 + 1


모듈 설계 시 모듈의 독립성을 높이기 위해 => 응집도는 높게*, 결합도는 낮게*

 

* 응집도 (Cohesion) 

기능적(Functional) 응집도 _ 모듈 내부의 모든 기능이 단일한 목적을 위해 수행.

순차적(Sequential) 응집도 _ 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 (입력값으로)사용.

통신적(Communication) 응집도 _ 동일한 입력과 출력을 사용하여 다른 기능을 수행.

절차적(Procedural) 응집도 _ 모듈 안의 구성 요소들이 기능을 순차적으로 수행*하는 경우.

시간적(Temporal) 응집도 _ 특정 시간에 처리되어야 하는 활동을 한 모듈에서 처리.

논리적(Logical) 응집도 _ 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 한 모듈에서 처리. 

우연적(Coincidental) 응집도 _ 모듈 내부의 각 구성 요소들이 연관이 없는 경우. 

 

* 결합도 (Coupling)

데이터/자료(Data) 결합도 _ 모듈간의 자료(값)를 통해서만 모듈 상호 작용 발생.

스탬프(Stamp) 결합도 _ 모듈간의 배열이나 오브젝트, 스트럭처 등이 전달되는 경우. (참조값을 넘겼을 때) 

제어(Control) 결합도 _ 값만 전달되는게 아니라, 제어 요소가 전달 되는 경우. 

외부(External) 결합도 _ 모듈에서 외부로 선언한 변수를 다른 모듈에서 참조. 

공유/공통(Common) 결합도 _ 전역변수를 참조. 

내용(Content) 결합도 _ 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용. 

 

 


 

https://www.youtube.com/watch?v=obYRnoYAouk&list=PLniy99c_7ZfpDRzBXv1ryJbW-KnHGp1Az&index=9

 


 

https://www.youtube.com/watch?v=jeCbqu1XfcA&list=PLniy99c_7ZfpDRzBXv1ryJbW-KnHGp1Az&index=10

 

'정보처리기사 > 실기기출' 카테고리의 다른 글

[정처기실기] 2023년 1회  (0) 2024.04.03
[정처기실기] 2022년 3회  (0) 2024.04.01
[정처기실기] 2022년 1회  (0) 2024.03.16
[정처기실기] 2021년 3회  (0) 2024.03.11
[정처기실기] 2021년 2회  (0) 2024.02.22