정보처리기사 기출문제 풀이 2
2020년06월06일
코드 설계에서 일정한 일련번호를 부여하는 방식의 코드는?
- 연상 코드
- 블록 코드
- 순차 코드
- 표의 숫자 코드
[문제 해설]
코드 : 컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정 가료의 추출을 쉽게 하기 위해 사용하는 기호
코드의 종류
- 순차 코드 : 일정한 순서에 의해 코드화 대상 항목에 일련 번호를 부여하는 가장 기본적인 코드로 데이터의 성격과 무관하며, 자료의 추가가 용이함 하지만 얻을 수 있는 정보가 거의 없음
- 블럭 코드 : 코드화할 대상이 갖는 공통 특징을 중심으로 항목들을 별도의 집단으로 분류하고, 한 집단 안에서 순서대로 번호를 부여하는 코드로 코드 숫자의 크기로 데이터의 성격을 개략적으로 알 수 있음
- 그룹 분류 코드 : 일정 기준에 따라 대분류, 중분류, 소분류 등으로 구분하고, 각 그룹 안에서 일련 번호를 부여하는 방법
- 10진 코드 : 그룹 분류 코드를 응용하여 0~9까지 10진 분할하고, 다시 그 각각에 대하여 10진 분할하는 방법을 필요한만큼 반복하는 도서 분류식 코드로 확장성이 용이함
- 연상 코드 : 코드화 대상 항목의 명칭이나 약호와 관계 있는 숫자나 문자, 기호 등을 이용하여 코드를 부여하는 방법
- 표의 숫자 코드 : 코드화 대상 항목의 성질, 물리적 수치를 그대로 코드에 적용시키는 방법
- 합성 코드 : 필요한 기능을 하나의 코드로 수행하기 어려운 경우 2개 이상의 코드를 조합하여 만드는 방법
2020년08월22일
자료 사전에서 자료의 반복을 의미하는 것은?
- =
- ( )
- { }
- [ ]
[문제 해설]
자료 사전 기호
- = : 정의
- + : 구성
- { } : 반복
- [ ] : 택일
- ( ) : 생략 가능
- ** : 주석
2020년06월06일
HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
- 상향식 소프트웨어 개발을 위한 문서화 도구이다.
- HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
- 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
- 보기 쉽고 이해하기 쉽다.
[문제 해설]
HIPO : 하향식 소프트웨어 개발을 위한 문서화 도구
- 시스템 분석 및 설계, 문서화 시 사용죄는 기법으로 입력, 처리, 출력 기능
- 체계적 문서관리로 기호, 도표 등을 사용하여 보고 이해하기 쉬움
- 기능과 자료의 의존 관계를 동시에 표현
- 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 존재하나, 꼭 3가지가 모두 모여야 HIPO Model이 되는 것은 아님
2020년08월22일
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?
- ISO/IEC 2196
- IEEE 19554
- ISO/IEC 12119
- ISO/IEC 14959
[문제 해설]
- ISO/IEC 9126 : 소프트웨어 품질 특성 및 척도에 대한 표준화
- ISO/IEC 14598 : 소프트웨어 제품 평가로 ISO/IEC 9126 사용을 위한 절차와 기본 상황 및 소프트웨어 평가 프로세스에 대한 표준 규정
- ISO/IEC 12119 : 패키지 소프트웨어 제품테스트 국제 표준
2021년08월14일
테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
- 스터브(Stub)와 드라이버(Driver)
- 입력 도메인 분석
- 랜덤(Random) 테스트
- 자료 흐름도
[문제 해설]
테스트 케이스 생성 도구
- 자료흐름도
- 기능 테스트
- 입력 도메인 분석
- 랜덤 테스트
※ 스터브와 드라이버는 통합 테스트 시 사용됨
스터브 : 하향식 테스트에 사용되는 테스트용 임시 모듈
드라이버 : 상향식 테스트에 사용되는 테스트 가동기
2020년09월26일
다음 설명과 관련 있는 트랜잭션의 특징은?
트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다. |
- Durability
- Isolation
- Consister
- Atomicity
[문제 해설]
트랜잭션의 특징
- 원자성(Atomicity) : 트랜잭션이 데이터베이스에 모두 반영되거나, 전혀 반영되지 않아야 한다는 것
- 일관성(Consistency) : 트랜잭션의 작업 처리 결과가 항상 일관성이 있어야 한다는 것
- 독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행되고 있는 경우 다른 트랜잭션 연산에 끼어들 수 없다는 것
- 지속성(Durablility) : 트랜잭션이 성공적으로 완료되었을 경우에 결과는 영구적으로 반영되어야 한다는 것
2021년05월15일
다음 관계 대수 중 순수 관계 연산자가 아닌 것은?
- 차집합(difference)
- 프로젝트(project)
- 조인(join)
- 디비전 (division)
[문제 해설]
관계 대수 연산의 종류
- 일반 집합 연산
- 합집합(union)
- 교집합(intersection)
- 차집합(difference)
- 카디션 프로덕트(cartesian product)
- 순수 관계 연산 : 관계 데이터베이스에 적용할 수 있도록 특별히 개발된 연산
- select
- project
- join
- division
2021년05월15일
다음 중 가장 약한 결합도(Coupling)는?
- Common Coupling
- Content Coupling
- External Coupling
- Stamp Coupling
[문제 해설]
결합도 : 어떤 모듈이 다른 모듈에 의존하는 정도를 나타낸 것으로 낮을수록 좋음
결합도의 종류 (아래로 갈수록 감소)
- 내용 결합도 (Context Coupling) : 하나의 모듈이 다른 모듈의 내부 동작을 수정하거나 내부 동작에 의존하는 상태
- 공통 결합도 (Common Coupling) : 두 개의 모듈이 같은 글로벌 데이터를 공유하는 상태
- 외부 결합도 (External Coupling) : 두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유하는 경우 발생
- 제어 결합도 (Control Coupling) : 하나의 모듈이 다른 모듈로 무엇을 해야하는지에 대한 정보를 넘겨줌으로꺼 다른 모듈의 흐름 제어
- 스탬프 결합도 (Stamp Coupling) : 모듈들이 데이터 구조를 공유하고, 서로 다른 일부만을 사용하는 경우
- 자료 결합도 (Data Coupling) : 모듈들이 파라미터 등을 통해 데이터를 공유하는 경우
2021년08월14일
192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 4개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이 때 Subnetting 된 네트워크 중 4번째 네트워크의 4번째 사용가능한 IP는 무엇인가?
- 192.168.1.192
- 192.168.1.195
- 192.168.1.196
- 192.168.1.198
[문제 해설]
서브넷 : IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크로 서브넷 마스크를 이용하여 만들어짐 (IP 주소에 서브넷 마스크를 AND 연산하면 Network ID가 됨)
서브넷 마스크 : IP 주소 체계의 Network ID와 Host ID를 분리하는 역할
각 클래스의 기본 서브넷 마스크
Class | 이진 표현 | 십진 표현 | 기본 서브넷 마스크 |
A Class | 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 0.0.0.0 ~ 127.255.255.255 | 255.0.0.0 |
B Class | 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 |
C Class | 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 |
※ 192.168.1.0/24에 붙은 /24는 서브넷 마스크의 bit 수를 나타냄
서브넷팅(subnetting) : IP 주소 낭비를 방지하기 위해 원번 네트워크를 여러 개의 서브넷으로 분리하는 과정으로 서브넷 마스크의 bit 수를 증가시키는 것을 의미함 이때 서브넷 마스크의 bit 수를 1씩 증가시키면 할당할 수 있는 네트워크가 2배수로 증가하고, 호스트 수는 2배수로 감소함
IP Subnet-zero : 호스트 IP가 전부 0인 192.168.1.0도 사용하겠다는 의미
2020년09월26일
4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수는?
페이지 참조 순서 : 1, 2, 3, 1, 2, 4, 5, 1 |
- 6회
- 7회
- 8회
- 9회
[문제 해설]
페이지 교체 알고리즘 : 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 시(페이지 부재) 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 방법
페이지 부재 : CPU에서 현재 요청한 페이지가 메모리에 없어 무효로 세팅되어 있는 경우로, 페이지를 디스크에서 읽어오는 과정에서 오버헤드가 발생하여 성능에 큰 영향을 미침
FIFO : 가장 먼저 들어온 페이지를 교체
넣으려는 페이지가 이미 주기억장치에 있는 경우 다시 적재할 이유가 없기 때문에 페이지 부재가 발생하지 않음
참조페이지 | 1 | 2 | 3 | 1 | 2 | 4 | 5 | 1 |
주기억장치 | 1 | 2 | 3 | 3 | 3 | 4 | 5 | 1 |
1 | 2 | 2 | 2 | 3 | 4 | 5 | ||
1 | 1 | 1 | 2 | 3 | 4 | |||
1 | 2 | 3 | ||||||
페이지부재 | o | o | o | x | x | o | o | o |
2021년08월14일
귀도 반 로섬(Guido van Rossum)이 발표한 언어로 인터프리터 방식이자 객체지향적이며, 배우기 쉽고 이식성이 좋은 것이 특징인 스크립트 언어는?
- C++
- JAVA
- C#
- Python
[문제 해설]
- C++ : AT&T 벨 연구소의 비야네 스크롭스트룹이 C언어 디반으로 1983년 발표하여 발전한 프로그래밍 언어
- JAVA : 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어
- C# : 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들어졌음
- Python : 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, 플랫폼에 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어
2021년05월15일
TCP 프로토콜과 관련한 설명으로 틀린 것은?
- 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
- 흐름 제어(Flow Control)의 기능을 수행한다.
- 전이 중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
- 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
[문제 해설]
TCP의 제어
- 흐름 제어 : 송신측과 수신측 사이의 데이터 처리 속도 차이를 제어하기 위한 기법
- 오류 제어 : 오류 검출과 재전송을 포함
- 혼잡 제어 : 송신측의 데이터 전달과 네트워크 데이터 처리 속도를 해결하기 위한 기법
Full Duplex : 한 개의 Port를 이용하여 upload/download가 가능한 방식
2020년08월22
UNIX에서 새로운 프로세스를 생성하는 명령어는?
- ls
- cat
- fork
- chmod
[문제 해설]
유닉스 명령어
- ls : 디렉토리나 파일 목록 출력
- cat : 파일 내용 출력
- fork : 새로운 프로세스 생성
- chmod : 파일이나 디렉토리에 대한 접근 권한 변경
2021년03월07일
크래커가 침입하여 백도어를 만들어 놓거나, 설정파일을 변경했을 때 분석하는 도구는?
- tripwire
- tcpdump
- cron
- netcat
[문제 해설]
- tripwire : 자신의 리눅스 프로그램을 외부의 크래커 공격과 내부의 악의적인 사용자의 공격으로부터 지켜내는 마지노선과 같은 역할을 하는 프로그램으로 시스템 내에 지정한 중요한 디렉토리와 파일에 대한 데이터베이스를 생성한 후 tripwire를 실행할 때 새로 생성된 데이터베이스와 비교하여 그 차이점을 보고함
- tcpdump : 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있도록 도와주는 소프트웨어
- cron : 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러로 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 사용
- netcat : TCP 또는 UDP를 사용하여 네트워크 연결을 읽고 쓰는 데 사용되는 컴퓨터 네트워킹 유틸리티
2021년05월15일
CBD(Component Based Development) SW개발 표준 산출물 중 분석 단계에 해당하는 것은?
- 클래스 설계서
- 통합 시험 결과서
- 프로그램 코드
- 사용자 요구사항 정의서
[문제 해설]
CBD(Component-Based Development) : 컴포넌트 기반 방법론으로 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
CBD 방법론의 개발 공정
- 요구사항 파악 : 요구사항 기술서, 용어 사전, 개념 모델, 유스케이스 모델
- 분석 및 설계 : 객체 모델, UI 설계서, 아키텍처 기술서, 인터페이스 명세서, 컴포넌트 명세서, 컴포넌트 설계서, 데이터베이스 설계서
- 구현 : 개발 표준 정의서, 플랫폼 종속 코드
- 테스트 : 테스트 계획서, 컴포넌트 테스트 보고서, 통합 테스트 보고서, 인수 테스트 보고서
2020년06월06일
IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법은?
- TearDrop
- Smishing
- Qshing
- Smurfing
[문제 해설]
서비스 공격 유형
- DoS (서비스 거부) : 표적이 되는 서버의 자원을 고갈시킬 목적으로 다수 공격자 or 시스템에서 대량의 데이터를 한 곳에 집중적으로 전송
- Ping of Death : Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격
- Smurfing : IP나 ICMP의 특성을 악용 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법
- SYN Flooding : 공격자가 가상의 클라이언트로 위장하여 3-way-handshake를 의도적으로 중단, 서버가 대기상태에 놓여 정상 서비스를 못하게 하는 공격 방법
- TearDrop : Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생 시킴
- Land : 패킷을 전송할 때 송 수신 IP주소를 모두 공격대상 IP주소로 하여 공격대상에게 전송하는 것, 공격대상은 송신 IP주소가 자신이기 때문에 자신에게 무한히 응답하게 됨
- DDoS(분산 서비스 거부) : 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행
※ Smishing : 문자 메시지(SMS)와 피싱(phishing)의 합성어로 2012년도에 국내에 처음 등장한 신종 금융사기로 문자 메시지를 이용하여 악성 앱이나 악성코드를 휴대전화에 유포한 후 휴대전화 소액결제 관련 정보를 가로챔
※ Qshing : 큐싱이란, QR코드와 피싱(Fishing)의 합성어로 QR코드를 통해 악성 링크로 접속을 유도하거나 직접 악성코드를 심는 금융범죄 기법
2020년08월22일
블록 암호화 방식이 아닌 것은?
- DES
- RC4
- AES
- SEED
[문제 해설]
블록 암호화 방식
- DES (Data Encryption Standard) : 대칭키 암호로 56개의 키 사용
- RC5 : 32, 64, 128 비트의 블록을 사용할 수 있는 암호화 방식
- AES (Advanced Encryption Standard) : 16, 24, 32바이트의 블록 크기를 사용 가능한 대칭키 암호화 방식
- SEED : 순수 국내 기술로 개발한 블록암호 알고리즘
- IDEA (International Data Encryption Algorithm) : 128비트 키, 64비트 블록 암호로 Feistel 구조 변형
2021년05월15일
라우팅 프로토콜인 OSPF(Open Shortest Path First)에 대한 설명으로 옳지 않은 것은?
- 네트워크 변화에 신속하게 대처할 수 있다.
- 거리 벡터 라우팅 프로토콜이라고 한다.
- 멀티캐스팅을 지원한다.
- 최단 경로 탐색에 Dijkstra 알고리즘을 사용한다.
[문제 해설]
라우팅 : 패킷을 전송하기 위해 송신측에서 목적지까지의 경로를 정하고 정해진 경로를 따라 패킷을 전달하는 과정
라우팅 프로토콜의 종류
라우팅 고정 여부
- Static Routing Protocol : 수동식, 사람이 일일이 경로를 입력, 라우터 부하경감, 고속 라우팅 가능
- Dynamic Routing Protocol : 라우터가 스스로 라우팅 경로를 동적으로 결정
- Interior Gateway Protocol : AS 내에서의 라우팅을 담당하는 라우팅 프로토콜
- RIP
- IGRP
- OSPF
- EIGRP
- Exterior Gateway Protocol : 서로 다른 AS사이에서 사용되는 라우팅 프로토콜
- BGP
- EGP
- Interior Gateway Protocol : AS 내에서의 라우팅을 담당하는 라우팅 프로토콜
2021년03월07일
전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고 에너지 이용효율을 극대화하는 전력망은?
- 사물 인터넷
- 스마트 그리드
- 디지털 아카이빙
- 미디어 빅뱅
[문제 해설]
스마트 그리드 : 전기의 생산, 운반, 소비 과정에 정보통신기술을 접목하여 공급자와 소비자가 서로 상호작용함으로꺼 효율성을 높인 지능형 전력망 시스템
디지털 아카이빙 : 지속적으로 보존할 가치를 가진 디지털 객체를 장기간 관리하여 이후의 이용을 보장하는 활동
미디어 빅뱅 : 미디어 산업 전체가 빅뱅과 같이 크고 빠르게 재편되는 상황
2021년05월15일
침입차단 시스템(방화벽) 중 다음과 같은 형태의 구축 유형은?
- Block Host
- Tree Host
- Screened Subnet
- Ring Homed
[문제 해설]
스크린 서브넷(Screen Subnet) : 외부 네트워크와 내부 네트워크 사이에 두는 완충적인 통신망
2020년09월26일
소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준은?
- ISO 14001
- IEEE 802.5
- IEEE 488
- SPICE
[문제 해설]
- ISO 14001 : 모든 산업 분야 및 활동에 적용할 수 있는 환경경영시스템에 관한 국제 규격
- IEEE 802.5 : 토큰링에 대한 표준
- IEEE 488 : 단거리 디지털 통신 서비스
- SPICE (Software Process Improvement and Capability Etermination) : 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로
공식 명칭은 ISO/IEC 15504