[문제 1] 네트워크 및 인터넷과 관련된 다음 설명에 해당하는 용어를 쓰시오.
인터넷 환경에서의 호스트 상호 간 통신에서 연결된 네트워크 접속 장치의 물리적 주소인 MAC 주소를 이용하여 IP 주소를 찾는 인터넷 계층의 프로토콜로, 역순 주소 결정 프로토콜이라 불린다. |
[답]
RARP, Reverse Address Resolution Protocol
[문제 2] 데이터베이스 설계에 대한 다음 설명에서 괄호(①~③)에 들어갈 알맞은 답을 쓰시오.
1. ( ① ) : 논리적 구조로 표현된 데이터를 디스크 등의 저장장치에 저장할 수 있는 데이터로 변환하는 과정으로, 파일의 저장 구조 및 액세스 경로를 결정하여, 테이블 정의서 및 명세서가 산출된다. 2. ( ② ) : 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정으로, 개념 스키마 모델링과 트랜잭션 모델링을 수행하며, 요구 조건 명세를 E-R 다이어그램으로 작성한다. 3. ( ③ ) : 현실의 자료를 특정 DBMS가 지원하는 자료구조로 변환하는 과정으로, 트랜잭션의 인터페이스를 설계하고, 정규화를 통해 스키마를 평가 및 정제한다. |
[답]
① 물리적 설계
② 개념적 설계
③ 논리적 설계
[해설]
데이터베이스 설계 순서
1. 요구조건 분석: 요구 조건 명세서 작성
2. 개념적 설계: 개념 스키마, 트랜잭션 모델링, E-R 모델
3. 논리적 설계: 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
4. 물리적 설계: 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
5. 구현: 목표 DBMS의 DDL(데이터 정의어)로 데이터베이스 생성, 트랜잭션 작성
[문제 3] 웹 서비스(Web Service)에 관련된 다음 설명에 해당하는 용어를 쓰시오.
웹 서비스와 관련된 서식이나 프로토콜 등을 표준적인 방법으로 기술하고 게시하기 위한 언어로, XML로 작성되며 UDDI의 기초가 된다. SOAP, XML 스키마와 결합하여 인터넷에서 웹 서비스를 제공하기 위해 사용되며, 클라이언트는 이것을 통해 서버에서 어떠한 조작이 가능한지를 파악할 수 있다. |
[답]
WSDL, Web Service Description Language
[해설]
트랜잭션 특징 4가지
- Atomicity(원자성): 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback) 되어야 함
- Consistency(일관성): 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환함
- Isolation(독립성, 격리성, 순차성): 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없음
- Durability(영속성, 지속성): 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
[문제 4] 요구사항 확인에 대한 다음 설명에서 괄호(①, ②)에 들어갈 알맞은 답을 쓰시오.
( ① ) 요구사항은 시스템이 무엇을 하는지, 어떤 기능을 하는지 등 사용자가 시스템을 통해 제공받기를 원하는 기능이나 시스템이 반드시 수행해야 하는 기능을 의미한다. ( ② ) 요구사항은 품질이나 제야가항과 관련된 요구사항으로, 시스템의 장비 구성, 성능, 인터페이스, 테스트, 보안 등의 요구사항을 말한다. |
[답]
① 기능 ② 비기능
[해설]
요구사항: 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건
- 기능 요구사항(Functional requirements): 기능이나 수행과 관련된 요구사항
- 비기능 요구사항(Non-functional requirements): 품질이나 제약사항과 관련된 요구사항
- 사용자 요구사항(User requirements): 사용자 관점에서 본 시스템이 제공해야 할 요구사항
- 시스템 요구사항(System requirements): 개발자 관점에서 본 시스템 전체가 제공해야 할 요구사항
[문제 5] 다음 Python으로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력물의 출력 서식을 준수하시오.)
class CharClass:
a = ['Seoul', 'Kyeongi', 'Incheon', 'Daejeon', 'Daegu', 'Pusan'];
myVar = CharClass()
str01 = ' '
for i in myVar.a:
str01 = str01 + i[0]
print(str01)
[답]
SKIDDP
[해설]
1회: i에 Seoul이 저장됨 -> i[0] = 'S' -> str01 = 'S'
2회: i에 Kyeongi 저장됨 -> i[0] = 'K' -> str01 = 'SK'
.
.
.
마지막(6회): i에 Pusan 저장됨 -> i[0] = 'P' -> str01 = 'SKIDDP'
[문제 6] <EMP_TBL> 테이블을 참고하여 <SQL문>의 실행 결과를 쓰시오.

<처리 조건>
SELECT COUNT(*) FROM EMP_TBL WHERE EMPNO > 100 AND SAL >= 3000 OR EMPNO = 200; |
[답]
1
[해설]
'EMPNO'가 100보다 크고 'SAL'이 3000 이상 -> 200/3000
'EMPNO'가 200인 튜플 -> 200/3000
[문제 7] 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력물의 출력 서식을 준수하시오.)
public class Test {
public static void main(String[] args) {
int aa[][] = { {45, 50, 75},
{89} };
System.out.println(aa[0].length);
System.out.println(aa[1].length);
System.out.println(aa[0][0]);
System.out.println(aa[0][1]);
System.out.println(aa[1][0]);
}
}
[답]
3
1
45
50
89
[해설]
println은 줄바꿈이 된다. 줄바꿈 없으면 오답처리
[문제 8] 시스템의 성능을 향상시키고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위를 가리키는 용어를 쓰시오.
[답]
반정규화, Denormalization
[문제 9] 애플리케이션 테스트에 대한 다음 설명에서 괄호(①, ②)에 들어갈 알맞은 답을 쓰시오.
( ① )은 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용한 검사 기법이고, ( ② )는 입력 조건이 유효한 경우와 그렇지 않은 경우의 입력 자료의 개수를 균등하게 정하는 검사 기법이다. 예를 들어 0 <= x <= 10 과 같은 조건이 있을 때, ( ① )은 -1, 0, 10, 11을 입력값으로, ( ② )는 0이상 10이하의 수 n개와 0미만 10초과의 수 n개를 입력값으로 정한다. |
[답]
① 경계값 분석, Boundary Value Analysis
② 동치 분할 검사, 동치 클래스 분해, Equivalence Partitioning Testing
[해설]
블랙박스 테스트: 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 동치 분할 검사(Equivalence Partitioning Testing, 동치 클래스 분해)
- 경계값 분석(Boundary Value Analysis)
- 원인-효과 그래프 검사(Cause-Effect Graphing Testing): 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법
- 오류 예측 검사(Error Guessing): 과거의 경험이나 확인자의 감각으로 테스트하는 기법
- 비교 검사(Comparison Testing): 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법
[문제 10] 어플리케이션 테스트에 대한 다음 설명에서 각 지문(①,②)에 해당하는 용어를 <보기>에서 찾아 기호로 쓰시오.
① 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 수행하는 테스트로, 모듈 테스트라고도 불린다. 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 인터페이스, 외부적 I/O, 자료구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사한다. ② 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트를 의미하며, 모듈 간 또는 컴포넌트 간의 인터페이스가 정상적으로 실행되는지 검사한다. |
<보기>
ㄱ. 시스템 테스트 | ㄴ. 인수 테스트 | ㄷ. 알파 테스트 |
ㄹ. 단위 테스트 | ㅁ. 통합 테스트 | ㅂ. 회귀 테스트 |
[답]
① ㄹ
② ㅁ
[문제 11] 인터넷에 대한 다음 설명에서 괄호(①, ②)에 들어갈 알맞은 답을 쓰시오.
1. IPv6는 ( ① ) 비트의 주소를 가지며, 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결할 수 있고, 주소의 확장성, 융통성, 연동성이 뛰어나다. 2. IPv4는 32 비트의 주소를 가지며 ( ② ) 비트씩 4부분, 총 32비트로 구성되어 있다. IPv4는 네트워크 부분의 길이에 따라 A 클래스에서 E클래스까지 총 5단계로 구성되어 있다. |
[답]
① 128
② 8
[문제 12] 네트워크에 관련된 다음 설명에 해당하는 용어를 쓰시오.
모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합으로, 복수의 프로세스를 수행하며 이뤄지는 프로세스 간 통신까지 구현이 가능하다. 대표적인 메소드에는 공유 메모리(Shared Memory), 소켓(Socket), 세마포어(Semaphores), 파이프와 네임드 파이프(Pipes&named Pipes), 메시지 큐잉(Message Queueing)이 있다. |
[답]
IPC, Inter-Process Communication
[문제 13] 기업 내 각종 애플리케이션 및 플랫폼 간의 정보 전달, 연계, 통합 등 상호 연동이 가능하게 해주는 솔루션으로, Point-to-Point, Hub&Spoke, Message Bus, Hybrid 등의 다양한 방식으로 구축이 가능한 모듈 연계 방법을 쓰시오.
[답]
EAI, Enterprise Application Integration
[문제 14] 다음 테이블에서 카디널리티(Cardinality)와 디그리(Degree)를 구하시오.

[답]
카디널리티: 5
디그리: 4
[문제 15] 다음 C 언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
#include <stdio.h>
main() {
struct insa {
char name[10];
int age;
} a[] = { "Kim", 28, "Lee", 38, "Park, 42, "Choi", 31);
struct insa* p;
p = a;
p++;
printf("%s\n", p->name);
printf("%d\n", p->age);
}
[답]
Lee
38
[해설]
p++은 p = p+1 이므로 p[1]의 값을 가져온다.
\n이 있으므로 줄바꿈 해줘야 함
[문제 16] 데이터 모델의 구성 요소에 대한 다음 설명에서 괄호(①~③)에 들어갈 알맞은 답을 쓰시오.
1. ( ① )은 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구에 해당한다. 2. ( ② )는 논리적으로 표현된 객체 타입들 간의 관계로서 데이터의 구성 및 정적 성질을 표현한다. 3. ( ③ )은 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 의미한다. |
[답]
① 연산, Operation
② 구조, Structure
③ 제약 조건, Constraint
[문제 17] 데이터베이스 보안에 관련된 다음 설명에 해당하는 용어를 쓰시오.
접근통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다. 이러한 접근통제에 관한 기술 중 ( )는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하여 제어하는 방식으로, 데이터의 소유자가 접근통제 권한을 지정하고 제어한다. 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있다. |
[답]
임의 접근통제, DAC, Discretionary Access Control
[문제 18] 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)
public class Test {
public static void main(String[] args) {
int j, i;
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("+");
}
}
}
[답]
0+1+2+3+4+5=15
[해설]
i / j / 출력
0 / 0 / 0+
1 / 1 / 0+1+
2 / 3 / 0+1+2+
3 / 6 / 0+1+2+3+
4 / 10 / 0+1+2+3+4+
5 / 15 / 0+1+2+3+4+5=15
[문제 19] 결합도에 대한 다음 설명에서 괄호(①~③)에 들어갈 알맞은 답을 <보기>에서 찾아 기호로 쓰시오.
1. ( ① )는 모듈 간의 인터페이스로 데이터, 지역 변수 등을 직접 참조하거나 수정할 때의 결합도다. 2. ( ② )는 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도다. 3. ( ③ )는 모듈 간의 인터페이스로 인터페이스로 파라미터가 아닌 모듈 밖에 선언된 전역 변수를 사용하여 전역 변수를 갱신하는 방식으로 상호작용하는 때의 결합도다. |
<보기>
ㄱ. 자료 결합도 | ㄴ. 스탬프 결합도 | ㄷ. 제어 결합도 |
ㄹ. 공통 결합도 | ㅁ. 내용 결합도 | ㅂ. 외부 결합도 |
[답]
① ㅁ
② ㄴ
③ ㄹ
[해설]
결합도(Coupling): 모듈 간의 상호 의존하는 정도 또는 두 묘듈 사이의 연관 관계를 의미한다. 결합도가 약할수록 독립적인 모듈이다.
- 자료 결합도(Data Coupling): 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
- 스탬프 결합도(Stamp Coupling): 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도
- 제어 결합도(Control Coupling): 어떤 모듈이 다른 모듈 내부의 논리적인 흐름을 제어하기 위해 제어 신호를 통신하거나 제어 요소(Flag)를 전달하는 결합도
- 외부 결합도(External Coupling): 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조할 때의 결합도
- 공통 결합도(Common Coupling): 공유되는 공통 데이터 영역(전역변수)을 여러 모듈이 사용할 때의 결합도
- 내용 결합도(Content Coupling): 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하거나 수정
[문제 20] 네트워크 및 인터넷 보안에 관련된 다음 설명에서 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.
· ( )은 '세션을 가로채다'라는 의미로, 정상적인 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결하는 기법이다. · TCP ( )은 공격자가 TCP 3-Way-Handshake 과정에 끼어듦으로써 서버와 상호 간의 동기화된 시퀀스 번호를 갖고 인가 되지 않은 시스템의 기능을 이용하거나 중요한 정보에 접근할 수 있게 된다. |
[답]
세션 하이재킹, Session Hijacking
<2022 시나공 정보처리기사 실기>(길벗,2022)를 학습하고 개인 학습용으로 정리한 내용입니다.
기출문제는 시나공 저자(알앤디)가 복원한 것임
'ETC > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 10일의 독학전사 출격... 결과는 ?! (0) | 2022.10.12 |
---|---|
[정보처리기사 실기] 2022년 1회 기출문제 복원 및 답/해설 (7) | 2022.10.03 |
[정보처리기사 실기] 2021년 2회 기출문제 복원 및 답/해설 (6) | 2022.09.13 |
[SQL] DDL, DML, DCL, TCL 정의 (+명령어, 기능) (0) | 2022.09.12 |
[정보처리기사 실기] 2021년 3회 기출문제 복원 및 답/해설 (0) | 2022.09.06 |
댓글