Certificate/정보처리기사

[⚡] 수제비 카페 Daily 문제 풀이 (2022년 1회 예상문제)

밍굥잉 2022. 5. 5. 01:01
 

수제비- IT 커뮤니티 (정보처리기사... : 네이버 카페

수제비-수험생 입장에서 제대로 쓴 비법서(정보처리기사, 정보처리기능사, 빅데이터 분석기사 등 시리즈)

cafe.naver.com

 

 

1과목

1.

상향식 비용 산정 기법 중 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법

LOC (Lines of Code)

 

*️⃣ 상향식 비용 선정 방법 : LoC, MM, COCOMO, Putnam, FP(Function Point)

 

 

 

2. 관계의 유형

 

 

(1) : 집합 관계 / (2) 실체화 관계

 

*️⃣ UML의 관계

     연관관계 : 실선 화살표

     집합관계 : 빈 마름모, 하나의 사물이 다른 사물에 포함

     포함관계 : 속이 채워진 마름모, 집합 관계보다 강함

     일반화 관계 : 빈 화살표. 하위, 상위

     의존 관계 : 점선 화살표, 짧은 시간 유지

     실체화 관계 : 속이 빈 점선 화살표, 기능. 서로를 그룹화할 수 있는 관계

 

 

 

3. 디자인 패턴

- (1) Pattern : 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴
- (2) Pattern : 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴으로 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 상속의 대안으로 사용하는 디자인 패턴

✅ (1) Singleton / (2) Decorator

 

*️⃣ 디자인 패턴

     - 생성 : 생빌 프로 팩앱싱 (Builder, Prototype, Factory Method, Abstract Factory, Singleton)

     - 구조 : 구 브데 퍼플 프록 컴 어 (Bridge, Decorateor, Facade, Flyweight, Proxy, Composite, Adapter)

     - 행위 : 행 미인이 템옵 스테 비커 스트 메체 (Mediator, Interpreter, Iterator, Template Method, Observer, State, Visitor, Command, Strategy, Memento, Chain of Responsibility)

 

 

 

4. 프로젝트 일정 관리

- 시간선(Time-line) 차트라고 하고, 작업이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한 일정표는 (1) 차트이다. 
- 프로젝트에 필요한 전체 작업의 상호관계를 표시하는 네트워크로 작업들 간의 상고 관련성, 결정경로, 경계시간, 자원할당 등을 알 수 있는 것은 (2) 차트이다.

✅ (1) 간트(GANTT) / (2) 퍼트(PERT)

 

 

 

 

5. 애자일 기법 중 스크럼

- (1)은/는 스크럼 프로세스를 따르고, 프로젝트 리더로 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
- (2)은/는 2~4주의 짧은 개발 기간으로 반복적 수행을 통해 개발품질을 향상시킬 수 있다.
- (3)은/는 남아있는 백로그 대비 시간을 그래픽적으로 표현한 차트이다.

✅ (1) 스크럼 마스터(Scrum Master) / (2) 스프린트(Sprint) / (3) 번 다운 차트(Burn Down Chart)

 

*️⃣ 스크럼(SCRUM) : 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번 다운 차트

 

 

 

5. 소프트웨어 공학의 소프트웨거 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법 디자인 패턴

- (1)은/는 복잡한 시스템에 대하여 단순한 인터페이스를 제공함으로써 사용자와 시스템 간 또는 여타 시스템과의 결합도를 낮추어 시스템 구조에 대한 파악을 쉽게 하는 패턴으로 오류에 대해서 단위별로 확인할 수 있게 하며, 사용자의 측면에서 단순한 인터페이스 제공을 통해 접근성을 높일 수 있는 디자인 패턴이다. 
- (2)은/는 스스로 캡슐화한 다음, 필요할 때 서로 교환해서 사용할 수 있게 하는 패턴으로, 행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 디자인 패턴이다.

✅ (1) Facade (pattern) / (2) Strategy (pattern)

 

*️⃣ Facade : 단순 인터페이스 제공, 사용자와 시스템 간 결합도 낮춤, 패턴 오류 단위별 확인, 접근성

     Strategy : 행위를 클래스로 캡슐화, 동적으로 행위 바꿈

 

 

2과목

1.

- (*) 관계는 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계이다.
- (*) 관계는 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현한다.
- (*) 관계는 포함되는 쪽(Part; 부분)에서 포함하는 쪽(Whole; 전체)으로 속이 빈 마름모를 연결하여 표현한다. 

집합(Aggregation)

 

*️⃣ 집합 관계 : 하나의 사물이 다른 사물에 포함, 포함되는 쪽-◇포함하는 쪽

*️⃣ 연관관계(Association), 집합관계(Aggregation), 포함관계(Composition),

     일반화관계(Ganeralizaion), 의존관계(Dependency), 실체화관계(Realizaion)

 

 

 

2.

- (1)은/는 디자인, 사용방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형으로 시각적으로만 구성요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않는다.
- (2)은/는 정책, 프로세스, 콘텐츠 구성, 와이어프레임(UI/UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물이다.

(1) : 목업 / (2) : 스토리보드

 

 

 

3.

- 클래스 다이어그램의 구성 요소 중 (1)은/는 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술한 것이다. 
- 클래스 다이어그램의 접근 제어자 중 (2)은/는 동일 패키지/파생 클래스에서 접근 가능(protected)함을 표현할 때 사용한다.

 (1) : 속성 / (2) : #

 

*️⃣ 클래스 다이어그램 구성요소 : 클래스 이름, 속성, 연산, 접근제어자

*️⃣ 접근 제어자

     private - 내부 접근만 허용

     public + 외부 접근 허용

     protected # 동일 패키지/파생 클래스 접근 가능

     default ~ 동일 패키지 클래스에서 접근 가능

 

 

 

3과목

1.

- 테이블 분할 기법 중 집계 테이블 추가는 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의할 필요가 있다.
- 테이블 분할 기법 중 (*) 추가는 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터 양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정한다. 

진행 테이블

 

*️⃣ 반정규화 수행 방법

     1. 테이블 통합 : 1:1, 1:M 관계 통합, 슈퍼타입/서브타입 통합하여 성능 향상

     2. 테이블 분할 : 수평(레코드) 분할, 수직(칼럼) 분할

     3. 중복 테이블 추가 : 집계 테이블 추가, 진행 테이블 추가

 

 

 

2.

- 어떤 릴레이션에 R이 (1)이고, 릴레이션의 키가 아닌 속성 모두가 R의 어떤 키에도 이행적 함수 종속이 아닐 때 R은 (2)에 속한다.

 (1) : 2차 정규화(2NF) / (2) : 3차 정규화(3NF)

 

*️⃣ 정규화 (원부이 결다조)

 

 

 

3.

- (1)모델은 논리적 구조가 2차원 테이블 형태로 구성된 모델로 1:1, 1:N, N:M을 자유롭게 표현할 수 있다.
- (2)모델은 논리적 구조가 트리 형태로 구성된 모델로 상하관계가 존재하고 1:N 관계만 허용한다.

 (1) : 관계 데이터 / (2) : 계층 데이터

💡 1:1, 1:N, N:M으로 대화하며 관계를 맺음 / 상하관계 -> 계층

 

 

 

4.

데이터 모델의 구성요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은 ?

연산(Operation)

 

*️⃣ 데이터 모델 구성요소

     연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업

     구조 : 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계

     제약 조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건, 데이터 무결성 유지를 위한 DB의 보편적 방법

 

 

 

 

4과목

 

1. IPC(Inter-Process Communication) 주요 기법에 대한 설명.

- (*)은/는 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다.
- OSI 7계층의 애플리케이션 계층(application layer)에 존재하는 네트워크 응용 프로그램들은 데이터를 송수신하기 위해 (*)을/를 거쳐 전송 계층(transport layer)의 통신망으로 전달함으로써 데이터를 송수신하게 된다. 

소켓

 

 

2.

- 직접 연계 방식 중 DB 연결 방식은 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB(1)을/를 생성하고 연계 프로그램에서 해당 DB(1) 명을 이용하여 연결하는 방식이다.
- (2) 기법은 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. 수신 시스템의 프로그램에서 (2) 드라이버를 이용하여 송신 시스템 DB와 연결할 수 있다.

 (1) : 커넥션 풀(Connection Pool) / (2) : JDBC(Java Database Connectivity)

 

 

 

5과목

 

1. 보안 기술 적용

- 중요 데이터가 보관된 데이터베이스는 암호화를 필수적으로 적용해야 한다. 데이터베이스 암호화 방식 중 (1)은/는 암,복호화 모듈이 DB 서버에 설치된 방식으로 DB 서버에 암,복호화, 정책 관리, 키 관리 등의 부하가 발생한다.
- 또한 전송계층(4계층)과 응용게층(7계층) 사이에서 클라이언트와 서버 간의 웹데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장, 443포트를 사용하는 보안 프로토콜인 (2)을/를 사용해서 중요 인터페이스 데이터의 안전한 전송을 수행해야 한다. 

(1) : Plug-in / (2) SSL/TLS

 

*️⃣ 데이터베이스 암호화 방식 (두음 : 애플티하)
     - API 방식 : 애플리케이션
     - Plug-in 방식 : DB
     - TDE 방식 : DBMS
     - Hybrid 방식 : API방식 Plug-in 방식

     중요 인터페이스 데이터의 암호화 전송
     - IP Sec : 3계층
     - SSL/TLS : 4계층 7계층
     - S-HTTP : 웹상

 

 

2. 

EAI는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션이다. EAI 구축 유형 중 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식으로 허브 장애 시 전체 인터페이스의 장애를 일으키는 유형은 ?

허브 앤 스포크 (Hub & Spoke)

 

*️⃣ EAI 구축 유형 (포허메하)

     포인트 투 포인트 : 가장 기초적인 애플리케이션 통합 방법, 1:1 단순 통합방법

     허브 앤 스포크 : 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중 방식, 허브 장애 시 전체 장애

     메시지 버스 : 애플리케이션 사이 미들웨어를 두어 연계하는 미들웨어 통합 방식

     하이브리드 : 그룹 내부는 허브 앤 스포크 + 그룹 간에는 메시지 버스

 

 

 

6과목

1. 다음은 C언어 코드이다. 출력 결과를 쓰시오.

#include <stdio.h>
void main( ){
int i, j;
int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};
int sum = 0;
for(i=0; i<3; i++){
for(j=0; j<2; j++){
sum += a[i][j];
}
}
printf("%.2f", (float)sum/(3*2));
}

​✅ 3.50

 

 

2. 다음은 C언어 코드이다. 출력 결과를 쓰시오.

li = ['Korea', 'America', 'China']
a=0
str01 = ''
for i in li:
for j in i:
str01 += j[0]
a = a + 1
if a > 5:
break
print('a :', a, ', str01 :', str01)​

✅ a : 7, str01 : KoreaAC

 

 

7과목

1. 데이터베이스 관리자가 권한을 부여하는 DCL문 작성

- 관리자가 인사담당자 고길동에게 '직원' 테이블에 대해 INSERT 할 수 있는 권한을 부여
- 대소문자를 구분하지 않음

GRANT INSERT ON 직원 TO 고길동;

 

*️⃣ GRANT 권한 ON 테이블 TO 사용자명 : ~에게(TO) 권한을 부여 (그온투)

     REVOKE 권한 ON 테이블 FROM 사용자명 : ~로부터(FROM) 권한을 회수 (리온프)

 

 

 

2. 도서와 도서 가격 테이블

✅ 35,000

 

 

 

8과목

1. 응집도와 결합도에 대한 설명

- (1)은/는 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우의 결합도이다.
- (2)은/는 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도이다. 

✅ (1) 공통 결합도 (Common Coupling) / (2) 순차적 응집도 (Sequential Cohension)

 

*️⃣ 1. 응집도의 유형 (우논시절 통순기)

     우연적 응집도 : 모듈 내부의 각 구성요소가 연관이 없음

     논리적 응집도 : 유사/특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리됨

     시간적 응집도 : 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리

     절차적 응집도 : 다수의 관련 기능을 가질 때 순차적으로 수행

     통신적 응집도 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있음

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

     기능적 응집도 : 모든 기능이 단일한 목적을 위해 수행

 

     2. 결합도의 유형 (내공 외제 스자)

     내용 결합도 : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용

     공통 결합도 : 파라미터X, 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용

     외부 결합도 : 두개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유

     제어 결합도 : 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달

     스탬프 결합도 : 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달

     자료 결합도 : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어남

 

 

 

2. 

(1)은/는 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다. 또한 (2)은/는 개발 과정의 각 단계의 산출물을 검토, 평가, 조정, 처리 등 변화를 통제하는 시점의 기준으로 (1)의 대표적인 처리 기준을 제공해준다.

✅ (1) 형상 관리(Configuration Management) / (2) 베이스라인(Baseline)

 

 

 

9과목

 

1. 

- 비정상적인 접근의 탐지를 위해 의도적으로 설치해둔 시스템
- 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적하고, 공격기법의 정보를 수집하는 역할을 하는 시스템

허니팟

💡 크래커를 꿀로 유인!

 

 

2. 

- 스니핑(Sniffing)이란 해킹 기법으로서 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 훔쳐보는 것을 의미한다.
- 스니핑 기법 중 (1)은/는 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하여 네트워크 패킷을 스니핑하는 기법이다.
- (2)은/는 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법이다. 

✅ (1) : 스위치 재밍(Switch Jamming) / (2) : ARP 스푸핑(ARP Spoofing)

 

 

 

3.

- (1) 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화된 패킷을 처리하게 만드는 공격 방법이다.
- (2)은/는 패킷 전송 시 출발지 IP 주소와 목적지 IP 주솟값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.

✅ (1) : 죽음의 핑(PoD; Ping of Death) / (2) : 랜드 어택(Land Attack)

💡죽음의 핑 : ICMP 쪼갬 / 랜드어택 : 출발 IP = 목적 IP

 

*️⃣ 죽음의 핑 : 대량의 ICMP 패킷 주소를 전송하여 시스템의 네트워크를 마비시키는 공격

     랜드어택 : 출발지 IP = 도착지 IP 주소 -> 수신자가 자기 자신에게 응답을 보내는 공격

     티어 드롭 : 수신 측 재조합 과정에서 오류 / 조작된 패킷 전송

     스머핑 : 출발지 주소 -> 공격 IP로 설정, ICMO 패킷 직접 브로드 캐스팅 

 

 

 

4.

- 정보보안 3요소 중에서 (1)은/는 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성이다.
- 기업에서는 (1)을/를 구현하기 위해서 다양한 보안 장비 및 유틸리티를 사용한다.
- 대표적인 유틸리티인 (2)은/는 어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티이다.

✅ (1) : 기밀성(Confidentiality) / (2) : TCP 레퍼(TCP Wrapper)

 

*️⃣ 보안 3대 요소 (기무가)

     기밀성 : 인가되지 않은 접근에 정보 공개 차단

     무결성 : 정당한 방법이 아니면 데이터 변경될 수 없음

     가용성 : 권한을 가진 사용자 서비스 지속 사용 보장

*️⃣ TCP Wrapper

     외부 컴퓨터 접속 > 접속 인가 여부 확인 > 접속 허용 또는 접속 거부 '접근제어 유틸리티'

 

 

 

 

5.

- (1) : 객체나 객체 내의 데이터에 대한 접근을 요청하는 능동적인 개체 (행위자)
- (2) : 자신의 신원을 시스템에 증명하는 과정이며 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
- (3) 중앙 관리자가 사용자와 시스템의 상호관계를 통제하여 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법

|보기| Subject, Object, Access, Identification, Authentication, Authorization, DAC, MAC, RBAC

✅ (1) : Subject / (2) : Authentication / (3) : RBAC 

 

*️⃣ Subject(주체) : 자원에 대한 접근 요청

     Object(객체) : 접근 대상이 될 수 있는 아이템

     Access(접근) : 주체와 객체 사이의 정보 흐름

 

*️⃣ 접근 통제 절차

     Identification : 식별 > Authentication : 인증 > Authorization : 승인 혹은 인가 > Accountability : 책임추적성

 

*️⃣ 강제적 접근통제 (MAC, Mandatory Access Control) : 조직 내 역할기반 자원 접근 허용

     임의적 접근통제 (DAC, Discretionary Access Control) : 개인(IBP) 그룹(GBP)의 Identity 근거 접근제어

     역할기반 접근 통제 (RBAC, Role Based Access Control) : 주체의 권한에 근거 접근제한

 

 

 

 

6.

- (1) : 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘으로 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit 암호문 블록으로 암호화하는 대칭키 알고리즘

- (2) : 유한체 위에서 정의된 타원곡선 군에서의 이산대수 문제에 기초한 암호화 알고리즘으로 RSA보다 키의 비트 수를 적게 하면서 동일한 성능을 제공하는 비대칭키 암호화 알고리즘

✅ (1) : SEED / (2) : ECC(Elliptic Curve Cryptography)

 

*️⃣ 암호 알고리즘 방식 (대비해) : 대칭키, 비대칭키, 해시

 

*️⃣ 대칭키 : 암호화 복호화에 같은 키를 쓰는 알고리즘 (블록, 스트림으로 나뉨)

     장점 : 계산 속도가 빠르다

     단점 : 키 분배 및 관리 어려움 / 기밀성만 보장

     대칭키 종류

          DES : 1975 / NIST / 64bit

          SEED : 1999 / KISA / 128bit

          AES : 2001 / NIST

          ARIA : 2004 / 국정원 + 산학연구협회 / 학계 연구기관 정부 영문 앞글자 구성

 

     비대칭키 (=공개키 암호방식) : 암호화키와 복호화키가 다른 알고리즘

     장점 : 관리해야 할 키 개수가 적다

     단점 : 계산 속도가 느리다.

     비대칭키 종류

          디피 헬만 : 최초 비밀키 교환 프로토콜 / 키 분배 방식 연구의 기본

          RSA : 소인수분해하는 수학적 알고리즘 (3명 MIT 교수)

          ECC : 타원곡선 군

          엘가멜 : 전자서명 + 데이터 암복호화 함께 사용

 

     해시 암호 방식 (일방향 암호 방식) : 임의 길이 -> 고정된 길이의 암호문을 출력하는 방식

     MAC (Message Authentication Code) : 키를 사용하는 메시지 인증 코드 / 메시지 무결성, 송신자으 ㅣ인증 보장

     종류 : HMAC, NMAC

     MDC (Modification Detection Code) : 키를 사용하지 않는 변경 감지 코드 / 메시지 무결성 보장

     해시 암호화 종류

          MD5 : MD4 개선, 프로그램 파일 무결성 검사 시 사용

          SHA-1 : 미 정부 표준 지정

          SHA-256, 384, 512 : AES에 대응하도록 길이 늘린 알고리즘

          HAS-160 : KCDSA(국내 표준 서명 알고리즘)를 위하여 개발된 해시함수

 

 

10과목

 

1.

- (1) : 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법
- (2) : 짧은 시간에 사용자가 몰릴 때 시스템의 반응을 측정하는 테스트 기법

|보기| Recovery Testing, Security Testing, Generalization, Structure Testing, Regression Testing, Stress Testing, Spike Testing

(1) : Regression Testing (회귀) / (2) : Spike Testing (스파이크)

 

*️⃣ 1. 테스트 목적에 따른 분류 (회안성 구회병)

     시스템에 고의로 실패를 유도, 시스템의 정상적 복귀 여부 테스트 : 회복 테스트 (Recovery)

     소스 코드 내의 보안적인 결함을 미리 점검하는 테스트 : 안전 테스트 (Security)

     시스템 응답 시간, 특정 시간 처리 업무량, 시스템 반응 속도 등을 측정하는 테스트 : 성능 테스트 (Performance)

     시스템 내부 논리 경로, 소스 코드의 복잡도 등을 평가하는 테스트 : 구조 테스트 (Structure)

     수정한 시스템, 수정해서 새 오류 없는 지 확인하는 반복 테스트 : 회기 테스트 (Regression)

     변경된 시스템과 기존 시스템에서 동일한 데이터를 입력 후 결과 비교 테스트 : 병행 테스트 (Parallel)

 

*️⃣ 2. 성능 테스트의 상세 유형 (부스스내)

     시스템의 부하를 계속 증가시키면서 시스템의 임계점을 찾는 테스트, 병목 현상 제거 : 부하 테스트 (Load)

     임계점 이상의 부하를 가하여 비정상적인 상황에서의 처리를 테스트 : 스트레스 테스트 (Stress)

     짧은 시간에 사용자 몰림, 시스템 반응 테스트 : 스파이크 테스트 (Spike)

     오랜 시간 동안 시스템의 높은 부하를 가하여 시스템 반응 테스트 : 내구성 테스트 (Endurance)

 

 

2. 애플리케이션 성능 측정 지표

- (1) : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
- (2) : 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량을 총칭하는 용어

|보기| Throughput, Response Time, Seek Time, Turnaround Time, Resource Usage, Performance Utility, Access Time

✅ (1) : Turnaround Time / (2) : Resource Usage

 

*️⃣ 애플리케이션 성능 측정 지표 (처응경자)

     Throughput(처리량), Response Time(응답 시간), Turnaround Time(경과 시간), Resource Usage(자원 사용률)

 

 

 

3. 

- (1) : 테스트 오라클 종류 중 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클
- (2) : 테스트 레벨 중 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호 작용을 검증하는 테스트 단계

|보기| 참(True) 오라클, 샘플링(Sampling) 오라클, 휴리스틱(Heuristic) 오라클, 일관성 검사(Consistent) 오라클, Unit Test, Integration Test, System Test, Acceptance Test

(1) :참 오라클 /(2) :Integration

*️⃣ 테스트 오라클 (참샘휴일)

     참(True) 오라클 / 샘플링(Sampling) 오라클 / 휴리스틱(Heuristic) 오라클 / 일관성 검사(Consistent) 오라클

     모든 입력값     / 특정 몇개만 입력           / 특정 몇개반, 나머지는 추정 / 수행 전과 후 결과값 동일

     

     테스트 레벨 (단통시인)

     unit test (단위테스트) / integration test (통합테스트) / system test (시스템테스트) / acceptance test (인수테스트)

     요구사항에 대한 단위 / 통합 컴포넌트 상호작용 검증 / 단위 시스템 기능 시스템   / 요구사항 만족 확인

 

 

11과목

1.

- (*)은/는 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 기법이다.
- 한 프로세스(또는 스레드)에서 (*)의 값을 변경하는 동안 다른 프로세스가 동시에 이 값을 변경해서는 안된다.
- (*)은/는 P, V 연산을 기반으로 구현한다. 

세마포어 (Semaphore)

 

*️⃣ 세마포어는 상호배제를 해결하기 위한 기법 !

 

 

2.

- 프로세스 상태전이 중 (1)은/는 준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당하는 동작을 말한다.
- (1)가 수행되면 CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고 다음 프로세스의 PCB로부터 문맥을 복원하는 (2)이/가 발생한다.

(1) : 디스패치 (Dispatch) / (2) :  문맥교환 (Context switching)

 

 

 

3.

- (1)은/는 FCFS(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위를 가지고 프로세스의 실행시간이 길어질수록 점점 낮은 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용하는 방식이다. 
- (2)은/는 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원을 점유하는 방식이다. 

✅ (1) : 다단계 피드백 큐 (Multi Level Feedback Queue) / (2) :  SJF(Shortest Job First)

 

*️⃣ 다단계 피드백 큐(MLFQ) : FIFO + 라운드로빈 스케줄링 

     SJF : 가장 작은 서비스시간 프로세스

 

 

 

4.

- 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발된 기술
- 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술
- 네트워크 장비의 펌웨어 업그레이드를 통해 사용자의 직접적인 데이터 전송 경로 관리가 가능하고, 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제를 처리할 수 있음

SDN(Software Defined Networking)

 

*️⃣ 네트워크 제어부, 데이터 전달부 분리, 데이터 전송 경로 관리, 기존 네트워크 영향 주지 않음

 

 

 

5. 라우팅 프로토콜

- AS 내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
- 경로 선택 매트릭은 홉 카운트(Hop Count)이고, 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용
- 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신

✅ RIP(Routing Information Protocol)

 

*️⃣ 라우팅 프로토콜 : 거리 - RIP, 링크 - OSPF, 경로 - BGP

 

 

 

6.

(1)은/는 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진으로 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어이다. 
(2)은/는 웹 사이트를 크롤링하여 구조화된 데이터를 수집하는 파이썬(Python) 기반의 애플리케이션 프레임워크이다.

 (1) : 도커(Docker) / (2) :  스크레파이(Scrapy)

 

 

 

12과목

1.

(1) 저작권에 대한 사용 권한, 라이센스 발급, 사용량 관리 및 키 관리, 라이센스 발급 관리 등을 수행하는 도구
(2) 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 도구

(1) : 클리어링 하우스 (Clearing House) / (2) :  패키저 (Packager)

 

*️⃣ 디지털 저작권 관리 (DRM) : 콘텐츠 제공자, 콘텐츠 분배자, 패키저, 보안 컨테이너, DRM 컨트롤러, 클리어링 하우스

 

 

 

 

 

 

 

 

3. 소프트웨어 패키징

(1)은/는 최종 사용자인 고객에게 개발 과정에서 정리된 상세 서비스 정보를 포함하여 제품의 수정, 변경, 개선하는 일련의 작업들에 대한 정보를 제공하는 문서 
(1) 작성 항목 중 문서 이름, 제품 이름, 버전 번호, 날짜, 참고 날짜, 버전 등의 정보가 들어가 있는 작성 항목은 (2)이다.

 (1) : 릴리즈 노트(Release Note) / (2) :  헤더(Header)

*️⃣ 릴리즈 노트 작성 항목(헤개목이 재수사소 노면역)

: 헤더, 개요, 목적, 이슈요약, 재현항목, 수정.개선 내용, 사용자 영향도, 소프트웨어 지원 영향도, 노트, 면책 조항, 연락 정보