본문 바로가기

Studying/정보처리기사

[정보처리기사 실기]_2020년 1회

1. 살충제 패러독스의 개념에 관해서 서술.

 

: 동일한 테스트 케이스에 의한 반복 테스트는 새로운 버그 발견할 수 없음.

 

애플리케이션 테스트 종류

 

① 결함집중 : 파레토(Pareto) 법칙 : 20%의 모듈에서 전체 결함 80% 발생.

② 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복 테스트는 새로운 버그 발견할 수 없음.

③ 오류-부재의 궤변 : 결함이 없다 해도 사용자의 요구사항 미충족 시 품질 저하.

④ Brooks의 법칙 : 지연되는 프로그램에 인력 추가 투입 시 더 지연.

 


 

2. 데이터 마이닝의 개념에 관해 서술.

 

: 대규모 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 기법.


 

3. 프로토콜의 기본 요소 3가지 (구의타)

 

: 구문(Syntax), 의미(Semantic), 타이밍(Timing)

 

구문(Syntax) : 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정.

의미(Semantic) : 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정.

타이밍(Timing) : 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정.


 

4. 다음이 설명하는 용어는 무엇인지 쓰시오.

W3C(World Wide Web Consortium)에서 개발되었고, 웹 브라우저 간 호환이 되지 않는 문제와 SGM(Standard Generalized Markup Language)의 복잡한 문제를 해결하기 위해 개발된 다목적 마크업 언어.

 

: XML(eXtensible Markup Language)


 

5. 속성-값(Attribute-Value pair)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다. Ajax(Asynchronous JavaScript and XML)에서 많이 사용되고 XML(eXtensible Markup Language)을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용하고 있는 기술은 무엇인가?

 

: JSON(JavaScript Object Notation)

 

JSON은 비동기 브라우저, 서버통신(AJAX)을 위해 '속성-값 쌍', '키-값 쌍'으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷.


 

6. STUDENT 테이블에 컴퓨터학과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따라 튜플의 수는? (단, DEPT 칼럼은 학과명.)

 

① SELECT DEPT FROM STUDENT;

② SELECT DISTINCT DEPT FROM STUDENT;

③ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터학과';

 

① 200 → 단순 조건검색(SELECT)의 경우 전체 테이블의 튜플 검색. (50 + 100 + 50 = 200)

② 3 → DISTINCT는 중복 제거로 동일한 튜플을 제거하고 검색. (컴퓨터학과, 인터넷과, 사무자동화과)

③ 1 → GROUP BY가 없을 시 전체 테이블에서의 튜플 개수를 COUNT 통해 출력. (컴퓨터학과)


 

7. 스케줄링 방식에서 HRN(Highet Response ratio Next) 우선순위 계산식.

 

: (대기시간 + 서비스시간) / 서비스시간

 

비선점형 스케줄링 알고리즘 종류

① 우선순위(Priority) : 프로세스별로 우선순위 주어지고, 우선순위에 따라 CPU 할당. 동일 순위는 FCFS.

② 기한부(Deadline) : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획.

③ FCFS(First Come First Service) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU 할당. FIFO 알고리즘이라고도 함.

④ SJF(Shortest Job First)

 - 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유.

 - 준비 큐 작업 중 가장 짧은 작업부터 수행, 평균 대기 시간 최소.

⑤ HRN(Highest Response ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택. 


 

8. 트랜잭션의 특성 중 일관성, 지속성 외 2개의 특성.

 

: 원자성, 독립성(고립성)

 

트랜잭션의 특징

 

① 원자성(Atomicity) : 트랜잭션의 연산이 정상적으로 수행되거나(Commit), 아니면 어떠한 연산도 수행되지 않아야 함(Rollback).

② 일관성(Consistency) : 시스템의 고정 요소는 트랜잭션 수행 전, 후로 동일.

③ 독립성(Isolation) : 개별 트랜잭션은 다른 트랜잭션의 간섭 및 영향받지 않아야 함. (= 격리성)

④ 영속성(Durability) : 완료된 트랜잭션 결과는 영구적으로 기록.


 

9. 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법.

 

: 랜드어택


 

10. FRC 1321로 저장되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용. 1991년 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안된 128비트 암호화 해시 함수는?

 

: MD5

해시 암호화 알고리즘의 종류

 

① MD5(Message-Digest algorithm 5)

 - MD4를 개선한 암호화 알고리즘. 포로그램이나 파일의 무결성 검사에 사용.

 - 각각의 512bit짜리 입력 메시지 블록에 대해 차례로 동작하여 128bit의 해시값을 생성하는 해시 알고리즘.

② SHA-1(Secure Hash Algorithm)

 -  NASA에서 미 정부 표준으로 지정, DSA에서 사용. 160bit의 해시값을 생성하는 해시 알고리즘.

③ SHA 256/384/512

 - SHA 알고리즘의 한 종류. 256bit의 해시값을 생성하는 해시 함수.

 - AES의 키 길이인 128, 192, 256bit에 대응하도록 출력 길이를 늘인 해시 알고리즘.

④ HAS-160

 - 국내 표준 서명 알고리즘 KCDSA를 위하여 개발된 해시 함수. MD5와 SHA1의 장점 취하여 개발된 해시 알고리즘.


 

11. 다음은 공통 모듈 구현의 개념에 대한 설명이다. ( ) 안에 알맞은 용어 작성.

 

- 소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향상시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법이다.

- 인터페이스 모듈, 데이터베이스 접근 모듈 등 필요한 공통 모듈을 구현한다.

- 모듈 간의 (   ①   )는 줄이고, (   ②   )는 높은 공통 모듈 구현을 권장하고 있다.

 

① 결합도

② 응집도

 

[결합도(Coupling) 유형]

 

낮은 결합도 : 자료 결합도 → 높은 결합도 : 내용 결합도  결합도가 낮을수록 품질이 좋음

 

① 자료결합도(Data) : 모듈 간의 인터페이스가 자료 요소로만 구성.

② 스탬프결합도(Stamp)

 - 두 모듈이 동일한 자료구조(배열, 오브젝트)를 조회. 자료 주고 및 포맷 변화 시 조회하고 있는 모든 모듈에 영향

③ 제어결합도(Control)

 - 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우나 처리 기능이 두 모듈에 분리되어 설계.

 - 처리 대상 값뿐만 아니라 처리 방식의 제어 요소도 전달.

④ 외부결합도(External) : 한 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조.

⑤ 공통/공유결합도(Common) : 공유되는 공통 데이터를 여러 모듈이 사용. (전역 변수 참조)

⑥ 내용결합도(Content) : 한 모듈이 다른 내부 기능 및 자료를 직접 참조, 수정.

 

[응집도(Cohesion) 유형]

 

낮은 응집도 : 우연적 응집도 → 높은 응집도 : 기능적 응집도  응집도가 높을수록 품질이 좋음

 

① 우연적 응집도(Coincidental) : 각 구성 요소들이 서로 관련 없는 요소로만 구성.

② 논리적 응집도(Logical) : 유사한 성격의 처리 요소들로 하나의 모듈이 형성.

③ 시간적 응집도(Temporal) : 특정 시간 내 처리되는 기능을 모아 하나의 모듈로 작성.

④ 절차적 응집도(Procedural) : 모듈 내 구성 요소들이 다수 관련 기능을 순차적으로 수행.

⑤ 통신적응집도(Communication) : 동일한 입, 출력을 사용하여 서로 다른 기능을 수행.

⑥ 순차적 응집도(Sequential) : 모듈 내 출력 데이터를 다음 활동의 입력 데이터로 사용.

⑦ 기능적 응집도(Function) : 모듈 내부의 모든 기능 요소가 단일 문제와 연관되어 수행.


 

15, 다음이 설명하는 제품 패키지 릴리스 노트의 작성 항목은 무엇인가?

 

문서 이름(릴리스 노트 이름), 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등의 정보

 

: 헤더


 

16. LoC(Line of Code)가 30,000라인이고, 개발자가 5명이며, 개발자가 월평균 300라인을 개발한다. 이때 프로젝트 개발 기간과 계산식 작성.

 

: 프로젝트 개발 기간 : 20개월

: 계산식 : (30,000라인 / 300라인) / 5명 = 20개월


 

17. 비정규화(De-Normalization)의 개념을 쓰시오.

 

: 정규화 과정 진행 후, 시스템 성능 향상 및 운영 편의성을 위해 의도적으로 데이터 중복, 통합, 분리를 허용하여 정규화 원칙 위반. (=반정규화)


 

18. OSI 계층 중 비트를 전송하는 계층은 무엇인가?

 

: 물리계층

 

OSI 7 계층

 

1계층 : 물리계층 → 7계층 : 응용계층

 

계층이름 설명 프로토콜 전송단위 장비
응용계층
(Application)
- 사용자와 네트워크 간 응용서비스 연결.
- 데이터 생성.
HTTP, FTP 데이터
(Data)
호스트
(PC등)
표현계층
(Presentaion)
- 응용-세션 간 코드, 데이터 변환.
- 데이터 암호화, 압축.
JPEG, MPEG
세션계층
(Session) 
- 송수신 간의 논리적인 연결.
- 연결 접속, 동기제어.
RPC, NetBIOS
전송계층
(Transport)
- 송수신 프로세스 간의 연결.
- 신뢰성 있는 통신 보장.
- 데이터 분할, 재조립, 흐름 제어, 오류제어, 혼잡제어.
TCP, UDP 세그먼트
(Segment)
L4 스위치
네트워크계층
(Network)
- 단말기 간 데이터 전송을 위한 최적화된 경로 제공.
- 데이터교환. 트래픽제어. 패킷 정보 전송.
IP, ICMP 패킷
(Packet)
라우터
데이터링크계층
(Datalink)
- 송, 수신 간 속도 차이 해결 위한 흐름 제어 기능.
- 프레임 동기화. 오류제어 기능.
- 노드 간 프레임 전송 → 물리적 주소(MAC) 결정.
HDLC, PPP 프레임
(Frame)
브리지,
스위치
물리계층
(Physical)
- 0과 1의 비트 정보를 회선에 보내기 위한 전기적 신호 변환. RS-232C 비트
(Bit)
허브,
리피터

 

19. 애플리케이션 서능을 측정하기 위한 지표 (처응경자)

 

① 처리량(Throughput)

 - 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션 수. 웹 애플리케이션의 경우 시간당 페이지 수로 표현.

② 응답시간(Response Time)

 - 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간.

 - 애플리케이션의 경우 메뉴클릭 시 해당 메뉴가 나타나기까지 걸리는 시간.

③ 경과시간(Turnaround Time)

 - 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료될 때까지 걸리는 시간.

④ 자원사용률(Resource Usage)

 - 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량.