관리 메뉴

피터의 개발이야기

[정처기 실기] 정보처리기능사 실기 - 2020년 2회 기출문제 본문

개발이야기/정보처리기사

[정처기 실기] 정보처리기능사 실기 - 2020년 2회 기출문제

기록하는 백앤드개발자 2024. 3. 11. 15:20
반응형

ㅁ 들어가며

ㅇ 기출문제를 풀어보고 관련된 내용을 정리하였다.

ㅇ 정보처리기능사 실기 - 2020년 2회 기출문제 

ㅇ 홍달샘- 정보처리기사 실기 2020년 2회 - 기출해설특강

 

 

1. 다음에서 설명하는 개발방법론은 무엇인지 적으시오.

고객의 요구사항 변화에 유연하게 대응하기 위해 일정한 주기를 반복하면서 개발하며 고객에게 시제품을 지속적으로 제공하며 고객의 요구사항이 정확하게 반영되고 있는지 점검한다. 폭포수 모형에 대비되는 유연한 방법론으로 비교적 소규모 개발 프로젝트에서 각광받고 있는 개발 방법론이다.
더보기

애자일

 

## 생명주기 모형의 종류

ㅇ 폭포수 모형:

  ㄴ 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수

ㅇ 프로토타입 모형:

  ㄴ 개발될 견본을 만들어 결과물을 예측하는 모형

ㅇ 나선형 모형:

  ㄴ 다중 폭포수 모형에 위험분석이 추가된 모형

  ㄴ 계획 -> 위험 -> 개발 -> 고객 평가

 

## 애자일 방법론

ㅇ XP(eXtreme Programing)

  ㄴ 의사소통, 단순, 피드백, 용기, 존중

  ㄴ 2주 단위의 빠른 개발, 테스트와 개발이 우선

ㅇ 스크럼(SCRUM)

  ㄴ 매일 15분 정도 회의

 

2. 다음은 데이터베이스 설계(모델링) 과정을 간략히 표현한 것이다. 괄호 안에 들어갈 내용을 순서대로 나열하시오.

요구사항 분석 -> (    ) -> (    ) -> (    ) -> 구현
더보기

 개념적 설계, 논리적 설계, 물리적 설계

 

##

개념적 설계: ERD

논리적 설계: 정규화, 트렌젝션 인터페이스

물리적 설계:

  ㄴ 성능을 고려하여 인덱스 생성, 파이션, 클러스터링, 뷰, 트리거, 프로시져를 생성.

  ㄴ 성능을 위해 반정규화과정을 거쳐 데이터의 통합, 중복을 허용하면서 데이터 일관성을 일부 포기한다.

 

3. 다음 괄호안에 들어갈 프로토콜의 이름을 적으시오.

일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다.(  )은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 되는데, (  )의 대표적 메시지 패턴은 원격 프로시져 호출(Remote Procedure Call:RPC) 패턴이 있다. 네트워크 노드에서 다른  쪽 노드로 메시지를 요청하고, 서버는 메시지를 즉시 응답하게 되는 형식이다. (  )는 XML을 이용해서 분산처리 환경에서 정보교환을 쉽게 할 수 있도록 도와준다.
더보기

SOAP

 

# 추가설명

UDDI= Swagger 서버에 해당, 설명서 도서관

WSDL= Swagger 단위 API의 설명과 유사

SOAP(XML)=RESTful(JSON) 실제 전송 프로토콜

 

# REST

- 자원을 이름으로 구분하여 상태, 정보를 주고 받는 것

- HTTP Method(POST, GET, PUT, DELETE_ - CRUD 패턴 

 

4.  다음 보기에서 설명하는 것으로 가장 적절한 것은?

소프트웨어 개발 과정에서 산출물 등의 변경에 대비하기 위해 반드시 필요하다. 소프트웨어 리사이클 기간 동안 개발되는 제품의 무결성을 유지하고 소프트웨어의 식별, 편성 및 수정을 통제하는 프로세스를 제공한다. 실수를 최소화하고 생산성의 최대화가 궁극적인 목적이다. 관련 도구로는 CVS, SVN, Clear Case 등이 있다.
더보기

형상관리

 

# 형상관리절차

형상식별 - 형상통제 - 형상감사 - 형상기록

 

# 버전 관리 도구 분류

ㅇ 공유 폴더 방식

 - SCCS, RCS, PVCS

ㅇ 클라이언트/서버 방식

 - CVS, SVN, Clear Case

ㅇ 분산 저장소 방식

 - Git, GNU arch, Bazaar, Bitkeeper

 

5. 비동기식 자바스크립트를 이용하여 클라이언트와 웹서버 간에 XML 데이트를 통신하여 이용자의 웹 페이지 전체를 '새로고침'할 필요 없이, 현재 페이지에서 변경이 필요한 일부만 갱신할 수 있는 비동기 방식 처리 기술의 약어를 쓰시오.

더보기

AJAX

 

6. 다음은 UI 설계 원칙에 대한 설명이다. 괄호안에 들어갈 설계 원칙을 적으시오.

ㅇ 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 한다. 
ㅇ (        ): 사용자의 목적을 정확하게 달성하여야 한다. 
ㅇ 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다. 
ㅇ 유연성: 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.
더보기

유효성

 

# UI 설계 원칙

ㅇ 직관성

 - 화면의 버큰, 항목, 입력란 등 누구나 쉽게 이해하고 사용할 수 있음

ㅇ 유효성

 - 사용자의 목적 달성

ㅇ 학습성

 - 사용자가 쉽게 배울 수 있다.

ㅇ 유연성

- 사용자 요구사항을 잘 수용하며, 오류는 최소화

 

7. 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용하는 테스트 자동화 도구 유형은?

더보기

정적테스트, 정적분석

 

# 애플리케이션 테스트 유형 분류

ㅇ 프로그램 실행여부

 - 정적, 동적

 

ㅇ 테스트 기법

 - 화이트박스 테스트

 - 블랙박스 테스트: 원인효과, 비교, 동등분할, 경계값 

 

ㅇ 테스트에 대한 시각

 - 검증 테스트: 개발자

 - 확인 테스트: 사용자

 

ㅇ 테스트 목적

 - 회복테스트

 - 안전 테스트: 보안

 - 강도 테스트: 부하테스트

 - 성능 테스트: 자원활용

 - 구조 테스트: 프로그램 구조

 - 회귀 테스트: 수정 시 오류 발생 확인

 - 병행 테스트: 같이 테스트

 

ㅇ 테스트 기반

 - 명세 기반 테스트: 시간 많이 걸림. 요구사항 정의서 기반

 - 구조 기반 테스트: 

 - 경험 기반 테스트: QA의 경험을 바탕으로 테스트

 

8. 다음과 같은 "학생"테이블을 대상으로, 3학년과 4학년의 학번과 이름을 출력하는 SQL문을 작성하시오.

(단, in 구문을 반드시 사용할 것)

학번 이름 학년
1111 홍길동 1
2222 임꺽정 2
3333 유관순 3
4444 안중근 3
5555 홍범도 4
더보기

SELECT 학번, 이름

FROM 학생

WHERE 학년 IN (3,4);

 

9. 다음 주어진 student 테이블의 name 속성을 오름차순인 idx_name를 인덱스를 생성하는 SQL문을 작성하시오.

id name grade
1111 홍길동 1
2222 임꺽정 2
3333 유관순 3
4444 안중근 3
5555 홍범도 4
더보기

CREATE INDEX idx_name

ON student(name asc)

 

10. 소프트웨어 보안 취약점 중 하나인 SQL Injection에 대해 간략히 설명하시오.

더보기

웹 프로그램에 SQL 구문을 삽입하여, 서버의 데이터베이스를 공격할 수 있는 공격방식

 

11. SQL 제어어(DCL) 중 ROLLBACK 명령어 대해 간략히 설명하시오.

더보기

데이터베이스 내의 연산이 비정상적으로 종료되거나 정상수행이 되었다 하더라도 수행되기 이전의 상태로 되돌리기 위한 명령이다.

 

# 권한

GRANT 권한 부여

REVOKE 권한 회수

 

# 원자성을 위한 확정 및 원복

COMMIT: 연산완료 후 부분완료상태에서 데이터베이스에 확정

ROLLVBACK: 연산 중 오류가 발생하거나 정상완료되어도 데이터를 원복.

 

12. 네트워크 계층(Network Layer, 3계층)인 인터넷 프로토콜(IP) 계층에서 IP 패킷 단위의 '암호화', '인증', '키 관리'를 통해 보안성을 제공해 주는 통신규약을 쓰시오.

더보기

IPSec

 

# 응용 계층 보안

SSL, SHTTP

 

# IPSec의 헤더 프로토콜

ㅇ AH(Authentication Header)

 - 무결성을 보장하기 위한 프로토콜이며, IP 패킷이 전송중에 변조되지 않았음을 보장

 - 내용은 암호화 되지 않음

ㅇ ESP(Encapsulation Security Payload)

 - IP페이로드를 암호화하여 데이터 기밀성을 제공함으로써 제3자에게 데이터가 노출되는 것을 차단

 - 기밀성: 내용까지 암호화

 

13. 리눅스 커널을 기반으로 동작하며 자바의 코틀린 언어로 개발된, 모바일 기기에 주로 사용되는 오픈소스 플랫폼인 운영체제는 무엇인지 쓰시오.

더보기

안드로이드

 

14. 리눅스 운영체제에서 현재 디렉터리에 위치한 "a.txt"에 아래의 조건대로 권한을 부여하고자 한다. 실행해야 하는 명령어를 적으시오.

ㅇ 사용자에게 읽기,쓰기 실행 권한 부여
ㅇ 그룹에게 읽기, 실행 권한 부여
ㅇ 그 외에게 실행 권한 부여
ㅇ 한 줄의 명령어로 작성하며, 아라비안 숫자를 사용하여 8진수 권한으로 부여
더보기

chmod 751 a.txt

 

U       G       O

RWX RWX RWX 

1 1 1  1 0 1  0 0 1

7       5       1

 

15. 다음 보기는 네트워크 인프라 서비스 관리 실무 사례이다. 가장 적합한 용어를 한글 또는 영문으로 쓰시오.

A는 IT회사의 정보시스템 운영 중 자연재해나 시스템 장애 등의 이유로 대고객 서비스가 불가능한 경우가 종종 발생한다. 이를 대비하여 백업 및 복구 솔루션을 구축해야 한다. 이 용어는 비상상황 시 발생 했을 때에  “비상사태 또는 업무중단 시점으로부터 업무가 복구되어 다시 정상가동 될 때까지의 시간"을 의미한다. 
더보기

RTO(Recovery Time Objective) / 목표 복수 시간

 

RPO(Recovery Point Objective) / 복구 목표 시점

 - "업무 중단 시 각 업무에 필요한 데이터를 여러 백업 수단을 이용하여 복구할 수 있는 기준점

 

16. 다음에서 설명하는 소프트웨어 디자인 패턴을 영문으로 쓰시오.

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일 대 다(one-to-many) 의존성을 가지는 디자인 패턴. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합(Loose coupling)하는 디자인을 사용해야 한다.
더보기

Observer Patten

 

17. 다음에서 설명하는 용어를 적으시오.

ㅇ 저작권 표시 및 변경 허락 조건하에 재배포 가능한 링크 기반 개방형 데이터
ㅇ Linked data와 Open data가 협합된 합성어
ㅇ URI(Uniform Resource Identifier)를 사용
ㅇ RESTful 방식으로 볼 수 있으며, 링크 기능이 강조된 시멘틱 웹에 속하는 기술
더보기

Linked Open Data

 

# 시맨틱 웹

컴퓨터가 사람을 대신하여 정보를 읽고, 이해하고 가공하여 새로운 정보를 만들기 쉬운 차세대 웹 형태

ASIS: DIV h p

TOBE: section article footer-address

 

18. 다음 파이썬(Python) 스크립트의 실행 결과를 적으시오.

>>> asia={"한국", "중국", "일본"}
>>> asia.add("베트남")
>>> asia.add("중국")
>>> asia.remove("일본")
>>> asia.update(["홍콩", "한국", "태국"])
>>> print(asia)
더보기

{"한국", "중국", "베트남", "중국", "홍콩", "태국"}

 

{} = SET은 중복을 허용X, 순서 X

add 시 있으면 추가X

update 시 리스트도 하나씩 add

 

 

19.  다음에 제시된 자바(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();
    }
}

 

20. 다음 자바(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

 

반응형
Comments