[2020 정보처리기사 실기] 2회 기출문제 정리 & 해설
1번 (5점)
다음 괄호 ( ) 안에 공통으로 들어갈 소프트웨어 개발 프로젝트 방법론을 의미하는 용어
( )은 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다. 이와 반대되는 개념이 전통적 개발 방법론이라 할 '워터풀(Waterfall) 방법'이다.
( )은 짧은 개발 주기를 가지고 프로젝트 계획 수립과 진행에 있어서 최초의 프로젝트 일정 계획에 매이지 않고 고객 중심으로 계획을 융통성 있게 변경한다. 단계별 문서 산출물 확인보다는 해당 소프트웨어 코딩이 제대로 동작하는지(code-oriented)고객에게 확인하는 과정을 꾸준히 진행한다.
( )은 프로젝트 진행 도중에 일부 결과물인 시제품을 고객에게 지속적이며 반복적으로 제공한다. 고객의 요구사항이 정확하게 반영되고 있는지 수시로 점검하게 된다.
답 : 애자일 방법론 또는 Agile 방법론 또는 애자일 또는 Agile (에자일 가능)
Tip
2장. 요구사항 확인 파트문제
# 애자일 (Agile) : 애자일 개발 방법론은 프로세스와 도구 중심이 아닌 개발 과정의 소통을 중요하게 생각하는 소프트웨어 개발 방법론으로 반복적인 개발을 통한 잦은 출시를 목표로 한다.
오답 피하기 : 프로토타이핑 모형(Prototyping) 은 소프트웨어 생명주기 모형 중 사용자의 요구사항을 정확히 파악하기 위하여 실제 개발될 시스템에 대한 시제품을 만들어 최종 결과물에 예측이 가능한 모형이다.
2번 (5점)
다음은 데이터베이스 설계의 순서이다. 빈 칸 ( ) 에 부합하는 용어를 보기에서 골라 순서대로 쓰시오.
요구사항 분석 -> ( ) -> ( ) -> ( ) -> 구현
<보기>
논리적 설계, 개념적 설계, 물리적 설계
답 : 개념적 설계 , 논리적 설계 , 물리적 설계
Tip
3장. 데이터 입 출력 구현 파트문제
이 문제는 거의 맞으라고 준 문제
3번 (5점)
HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 형태의 프로토콜로써 Encelope, Header, Body의 주요 3요소로 구성된 간접 연계 방식의 웹 서비스의 기본적인 메시지 전송 수단을 의미하는 용어를 쓰시오.
답 : SOAP 또는 Simple Object Access Protocol 또는 솝 프로토콜
Tip
4장. 통합 구현 파트문제
4번 (5점)
다음 괄호 ( )안에 공통으로 들어갈 가장 적절한 용어를 쓰시오.
소프트웨어 개발 과정에서 변경에 대비하기 위한 소프트웨어 ( )는 반드시 필요하다. ( )은 소프트웨어 품질 보증을 위한 주요한 요소이며, 주 임무는 변경의 통제이다. 소프트웨어 ( )(이)란 소프트웨어 개발 과정에서 발생하는 산출물의 변경 사항을 관리하기 위한 일련의 활동을 말한다. 소프트웨어 리사이클 기간 동안 개발되는 제품의 무결성을 유지하고 소프트웨어의 식별, 편성 및 수정을 통제하는 프로세스를 제공한다.실수의 최소화와 생산성의 최대화가 ( )의 궁극적인 목표라고 할 수 있다. 대표적인 ( )도구로는 CVS, Subversion , Clear Case 등이 있다.
답 : 형상 관리 또는 SCM 또는 Softwar Configuration Management
Tip
5장. 서버프로그램 구현 파트문제
Git을 안 낸 이유는 버전관리와 헷갈릴까봐 내지 않음.
오답피하기 : 형상관리에서 중요한 기술 중의 하나는 버전 제어 기술이다.
5번 (5점)
'비동기식 자바스크립트 XML'를 의미하는 용어로 클라이언트와 웹 서버 간에 XML 데이터를 내부적으로 통신하는 대화식 웹 애플리케이션의 제작을 위해 사용된다. 클라이언트의 요청에 의해 웹 서버에서 로딩된 데이터를 웹 브라우저의 페이지에 보여주기 위해 웹 페이지 전체를 '새로고침'할 필요 없이 즉, 새로운 HTML 페이지로 이동할 필요없이 현재 페이지에서 필요한 일부분만 로딩되도록 하는 웹 개발 기법을 의미하는 용어를 영문 약자(약어)로 쓰시오.
답 : AJAX
Tip
인터페이스 구현 파트 문제
# AJAX : Ajax는 Asynchronous JavaScript and XML의 약어로 자바 스크립트를 이용해서 비동기식으로 XML을 이용하여 서버와 통신하는 방식의 웹 애플리케이션 제작 기술을 의미한다.
6번 (5점)
UI (User Interface)는 사용자와 컴퓨터 상호 간의 소통을 원활히 할 수 있도록 도와주는 연계 작업을 뜻한다. 다음은 UI 설계 원칙 4가지 이다. 빈칸 괄호 ( )에 알맞은 용어를 쓰시오.
설계 원칙 | 설명 |
직관성 | 누구나 쉽게 이해하고 사용할 수 있어야 한다. |
( ) | 사용자의 목적을 정확하게 달성하여야 한다. |
학습성 | 누구나 쉽게 배우고 익힐 수 있어야 한다. |
유연성 | 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다. |
답 : 유효성
Tip
6장. 화면 설계 파트문제
7번 (5점)
다음은 테스트 자동화 도구 유형에 대한 설명이다. 괄호 ( ) 안에 공통으로 들어갈 가장 적합한 용어를 쓰시오.
테스트 자동화 도구는 휴먼 에러 (Human Error)를 줄이고, 테스트에 소요되는 비용과 시간을 절감하며, 테스트 품질을 향상할 수 있는 도구이다. 테스트 계획, 테스트 분석/설계, 테스트 수행, 테스트 통제 등의 테스트 활동 단계에 따라 다양한 테스트 도구들이 있다. ( ) 은 테스트 수행 단계의 자동화 도구로 만들어진 애플리케이션을 실행하지 않고 분석하는 방법이다. ( )은 대부분의 경우 소스코드에 대한 코딩 표준, 런타임 오류, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용한다. ( )은 테스트를 수행하는 사람이 작성된 소스코드에 대한 이해를 바탕으로 도구를 이용해서 분석하는 것을 말한다.
답 : 정적 분석 또는 정적 분석 도구 또는 Static Analysis Tools
Tip
7장. 애플리케이션 테스트 관리 파트문제
8번 ( 약술형 5점 )
아래 보기의 <학생> 테이블을 대상으로 <요구사항>을 적용하여 출력하는 SQL문을 작성하시오. (단, 이름 속성의 데이터는 문자형이고, 학번과 학년 속성의 데이터는 숫자형(int)이다.)
<학생>
학번 | 이름 | 학년 |
181101 | KKK | 1 |
171201 | HHH | 2 |
171302 | XXX | 3 |
161107 | YYY | 3 |
151403 | QQQ | 4 |
<요구사항>
1. <학생> 테이블에서 학년이 3학년, 4학년 학생의 학번과 이름을 검색하시오.
2. 단, 조건절 작성 시 in (value1, value2) 문법을 사용하여 작성하시오.
3. 실행 결과가 일치하더라도 <요구사항>을 적용하지 않은 SQL문을 작성하면 오답으로 간주합니다.
답 :
SELECT 학번, 이름
FROM 학생
WHERE 학년 IN(3,4);
Tip
8장. SQL응용 파트문제
9번 ( 약술형 5점 )
다음 주어진 <Student> 테이블의 name 속성에 idx_name를 인덱스명으로 하는 인덱스를 추가하는 SQL 명령문을 작성하시오.
<Student> 테이블
stid | name | grade | major | address |
1000 | 홍길동 | 1 | 컴퓨터공학 | 서울 |
2000 | 김철수 | 1 | 전기공학 | 경기 |
3000 | 이순신 | 2 | 전자공학 | 경기 |
4000 | 강희영 | 2 | 컴퓨터공학 | 경기 |
5000 | 임꺽정 | 3 | 전자공학 | 서울 |
답 :
CREATE INDEX idx_name ON student(name);
Tip
8장. SQL 응용 파트문제
10번 ( 약술형 5점 )
소프트웨어 보안의 취약점 중 하나인 SQL Injection (SQL 인젝션)에 대해 간략히 설명하시오.
답 : SQL Injection은 클라이언트(사용자)의 입력값 등 외부 입력값이 SQL 쿼리에 삽입되어 공격하는 것을 의미한다. SQL Injection은 공격자가 악의적으로 웹 사이트의 보안상 허점을 이용해서 특정 SQL 질의문을 전송하여 공격자가 데이터 베이스의 필요한 정보를 가져오는 공격 기법이다.
TIP
9장. 소프트웨어 개발 보안 구축 파트문제
11번 ( 약술형 5점 )
다음은 Python언어로 작성된 프로그램이다. 이를 시행한 출력결과를 쓰시오.
>>> aisa = {'한국', '중국', '일본'}
>>> aisa.add('베트남')
>>> aisa.add('중국')
>>> aisa.remove('일본')
>>> aisa.update(['홍콩','한국','태국'])
>>> print(asia)
답 : {'한국', '홍콩', '베트남', '태국' , '중국' } (순서 상관 x)
TIP
1장. 프로그래밍 언어 활용 파트문제
# Python 자료형
자료구조 | 중복 | 순서 |
리스트 [] | 허용 | 있음 |
튜플 () | 허용 | 있음 |
딕셔너리 {key:value} | key중복혀용x | 없음 |
집합{} | 허용x | 없음 |
# 집합(SET) 메소드
- add : 값 1개 추가
- update : 값 여러개 추가
- remove : 특정 값 제거
12번 ( 5점 )
다음에 제시된 Java 프로그램이 <처리결과>와 같이 결과를 출력해주고 있다. Java 프로그램의 밑줄 <?>에 들어갈 Java 표현을 대소문자를 구별하여 쓰시오.
class Parent{
void show(){
System.out.println("Parent");
}
}
class Child extends Parent {
void show(){
System.out.println("Child");
}
}
public class Exam {
public static void main(String[] args){
Parent pa = < ? > Child();
pa.show();
}
}
<처리결과>
Child
답 : new
TIP
1장. 프로그래밍 언어 활용 파트문제
자식 개체를 생성하여 부모 참조변수가 자식 참조변수를 가리키게 하는것 (가능함)
13번 ( 5점 )
다음은 Java로 작성된 프로그램이다. 이를 시행한 출력 결과를 쓰시오.
class A {
int a;
public A(int n){
a=n;
}
public void print(){
System.out.println("a="+a);
}
}
class B extends A{
public B(int n){
super(n);
super.print();
}
}
public class Exam{
public static void main(String[] args){
B obj = new B(10);
}
}
답 : a=10
TIP
1장. 프로그래밍 언어 활용 파트문제
14번 ( 약술형 5점 )
SQL 제어어는 관리자가 데이터의 보안, 무결성 유지, 병행제어, 회복 등을 하기 위해 사용하는 언어를 말한다. SQL 제어어의 종류에는 COMMIT, ROLLBACK, GRANT, REVOKE 등이 있다. 이 중 ROLLBACK 명령문에 대해 간략히 설명하시오.
답 : ROLLBACK 명령어는 데이터 베이스 내의 연산이 비정상적으로 종료되거나 정상적으로 수행되었다 하더라도 수행되기 이전 상태로 되돌리기 위해 연산 내용을 취소할 때 사용하는 명령어 말한다.
트랜잭션을 취소시키는 명령어로 메모리의 내용을 하드디스크에 저장하지 않고 버린다.
TIP
10장. 응용 SW 기초 기술 활용 파트문제
15번 ( 5점 )
네트워크 계층 (network layer, 3계층) 인 IP 계층에서 IP 패킷 단위로 '암호화', '인증', '키 관리'를 통해 보안성을 제공해주는 표준화된 기술을 무엇이라 하는지 쓰시오.
답 : IPSec 또는 IP Security Protocol
TIP
10장. 응용 SW 기초 기술 활용 파트문제
# IPSec : IPsec은 통신 세션의 각 IP 패킷을 암호화하여 인증하는 안전한 인터넷 프로토콜 통신을 위한 3계층 보안 프로토콜이다. IPv6을 기반으로 IPSec이 강화됨
오답 피하기 : SSL(Secure Socket Layer)은 HTTP 뿐만 아니라 TCP 프로토콜에 접목하여 보안성을 제공해주는 클라이언트/서버 기반의 프로토콜이다. (소켓 암호화)
16번 ( 약술형 5점 )
리눅스 커널 기반으로 동작하며 자바와 코틀린 언어로 개발된 핸드폰이나 소형기기에 사용되는 오픈소스 플랫폼인 모바일 운영체제가 무엇인지 쓰시오.
답 : 안드로이드 또는 안드로이드 운영체제
TIP
10장. 응용 SW 기초 기술 활용 파트문제
매우 쉬운 문제
17번 ( 약술형 5점 )
리눅스 서버에 a.txt 라는 파일이 있다. 다음 <조건>에 알맞은 명령문을 쓰시오.
<조건>
- 사용자에게는 읽기, 쓰기, 실행의 세 개의 권한을 모두 부여하고
- 그룹에게는 읽기, 실행 두 개의 권한을 부여하고
- 그룹 외 사용자에게는 실행 권한을 부여한다.
- 단, 한 줄로 명령문이 작성되어야하며, 아라비안 숫자를 이용하여 8진수로 권한을 부여한다.
답 : chmod 751 a.txt
TIP
10장. 응용 SW 기초 기술 활용 문제
# chmod 명령어 : 유닉스 또는 리눅스에서 파일이나 디렉터리에 대한 액세스 (읽기, 쓰기, 실행) 권한을 설정하는 명령어
a.txt의 권한 부여 명령문 : chmod 751 a.txt
a.txt의 권한 확인 명령문 : ls -l a.txt
18번 ( 5점 )
다음은 IP 인프라 서비스 관리 실무와 관련된 <실무 사례>에 대한 설명이다. 괄호 ( )안에 가장 적합한 용어를 한글 또는 영문으로 쓰시오.
<실무 사례>
귀하는 (주)한국아이티 보안관제실에서 정보시스템의 정보관리를 위해 모니터링을 담당하며 근무하고 있다. 정보시스템 운영 중 자연재해나 시스템 장애 등의 이유로 대고객 서비스가 불가능한 경우가 종종 발생한다. 이러한 위기 상황을 대비하기 위하여 이번에 최신의 백업 솔루션을 선정하여 데이터 보호 고도화 작업을 진행하려고 한다. 최신의 데이터 백업 솔루션을 도입하여 백업 시간을 대폭 단축하고 정보시스템 운영의 신뢰성을 도모하기 위해 데이터 백업 솔루션을 선정하는 일은 매우 중요하다.
데이터 백업(보호) 솔루션은 만일의 사대에 대비하여 시스템 내의 데이터 유실을 방지하고, 서비스의 연속성을 보장하는 목적을 가지고 어떤 상황에서도 계획된 ( )과 목표 복구 시점 (RPO : Recovery Point Objective)을 보장해야 할 수 있는 제품이어야한다. ( )은 시스템 장애와 같은 상황에서의 "비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상가동 될 때까지의 시간"을 의미하는 용어이다. RPO는 조직에서 발생한 여러 가지 재난 상황으로 IT 시스템이 마비 되었을 때 업무에 필요한 데이터를 여러 백업 수단을 활용하여 복구할 수 있는 기준점을 의미한다.
귀하가 선정한 데이터 백업 솔루션 DUMOK는 IP망을 통해 재해복구(DR)센터로 데이터를 복제하는 방식인 이용, 목표 복구시점 (RPO)으로 원상태에 근접한 복구가 가능하며, 최장 3시간 이내의 최단 ( )을 보장한다. 이번 데이터 백업 솔루션을 도입하여 간편한 재해복구 지원이 이루어질 수 있게 되었고 정보시스템의 신뢰성도 크게 향상하고 되었으며 화재, 지진 등의 대형 장애에도 서비스 연속성을 구현 할 수 있게 되었다.
답 : RTO (Recovery Time Objective)
Tip
12장. 정보처리 실무 일반 (기타) 문제
하지만, 17년 공개 2회 기출문제
맞으면 좋고 버리는 문제라 쫄 필요 x
19번 ( 5점 )
다음 디자인 패턴과 관련된 설명에 가장 부합하는 용어를 영문으로 쓰시오.
- 디자인 패턴은 유사한 문제를 해결하기 위해 설계들을 분류하고 각 문제 유형별로 가장 적합한 설계를 일반화하여 체계적으로 정리해 놓은 것으로 소프트웨어 개발에서 효율성과 재사용성을 높일 수 있다. GoF(Gang of Four)의 25개의 디자인패턴은 사용 목적에 따라서 생성 패턴, 구조 패턴, 행위 패턴으로 분류할 수 있다.
- 먼저, 생성 패턴은 객체를 생성하는 것과 관련된 패턴으로 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화하도록 하여 시스템 개발을 개발할 때 유연성을 높일 수 있다. 다음으로 구조 패턴은 클래스나 객체를 조합하여 더 큰 구조를 만드는 패턴으로 복잡한 형태의 구조를 갖는 시스템 개발을 쉽게 만들어주는 패턴이다. 마지막으로 행위 패턴은 반복적으로 사용되는 객체들의 상요작용을 패턴화한 것으로 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의해 주는 패턴이다.
- 디자인 패턴 중 ( )은 행위 패턴에 해당하며 1대 다(one-to-many)의 객체 의존관계를 정의한 것으로 한 객체가 상태를 변화시켰을 때, 의존관계에 있는 다른 객체들에게 자동으로 통지 알림이 전달되고 변경시킨다.
- ( )의 객체 간의 데이터 전달 방식은 푸시 방식과 풀 방식이 있으며, 기본적인 디자인의 원칙은 상호 작용하는 객체 사이에서는 가능하면 결합도를 느슨하게 디자인하여 사용해야 한다. 이는 느슨하게 결합(Loose coupling)하는 디자인을 사용하면 변경 사항이 생겨도 무난히 처리할 수 있는 유연한 객체지향 시스템을 구죽 할 수 있기 때문이다.
답 : Observer 또는 Observer Pattern
Tip
12장. 정보처리 실무 일반(기타) 문제
디자인 패턴 문제로 GoF 중요함
행위 패턴의 대표적 디자인 패턴 Oberver
20번 ( 5점 )
다음 신기술 동향과 관련된 설명에 가장 부합하는 용어를 영문 완전이름(Full-name)으로 쓰시오.
- ( )은 개방형 정부, 개방형 공공 데이터의 시대적 요구와 맞물려 있으며, 기존의 거대한 정보 생태계인 웹을 활용하고 웹 기술과 핵심 개념을 그대로 활용한다는 점에서 주목받고 있다.
- ( )의 주요 특징은 URI(Uniform Resource Identifier)를 사용한다는 점이다. 흔히 알고 있는 'URI(Uniform Resource Locator)' 과 비슷한 개념이다. URL이 특정 정보 자원의 종류와 위치를 가리킨다면, URI 는 HTTP 프로토콜을 동해 웹에 저장된 객채(식별자)를 가리킨다는 점에서 다르다.
- 웹 상에 존재하는 전세계 오픈된 정보를 하나로 묶는 RESTful한 방식이며, 링크 기능이 강조된 시맨틱 웹(Sevmantic Web)의 모형에 속한다고 볼 수 있다. 즉, ( )은 "시맨틱 웹을 실현시키기 위한 방법이자 기술적 접근점" 으로 볼 수 있다.
- ( )은 Linked Data 와 Open Data의 합성어이다. Linked Data가 정보 기술적인 면이 강한 반면 Open Data는 정보 문화적인 면이 강한 용어이다.
답 : Linked Open Data
Tip
12장. 정보처리 실무 일반(기타) 문제
신기술 LOD 에 관한 문제
'✏️ 2020 정보처리기사 실기 > 기출 정리' 카테고리의 다른 글
[2020 정보처리기사 실기] 1회 기출문제 정리 & 해설 (2) | 2020.10.13 |
---|