코딩,안되면 될때까지

2020년 기출문제 정리 본문

Study/정보처리기사

2020년 기출문제 정리

soo97 2022. 4. 25. 17:14
728x90
반응형

-2020년 1회 기출문제 정리-

 

1.xml

 

-웹 브라우저 간 HTML문법이 호환되지 않는 문제와 SGML의 복잡성을 해결하기 위하여 개발된 다목적

 마크업 언어이다.

-W3C에서 개발된 , 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업   언어이다.

<특징>

  • 유니코드 문자 : 텍스트 데이터 형식으로 유니코드를 사용하여 전 세계 언어를 지원한다.
  • XML 파서 : 대다두의 웹 브라우저가 해석을 위한 번역기(parser)을 내장하고 있다.
  • 마크업과 내용(Mark up and Content) : XML 문서의 문자들은 마크업과 내용으로 구분. 마크업은 "<"로 시작하여 ">"로 끝나는 태그를 의미하고 그외의 문자열은 내용에 해당
  • 엘리먼트(Element) : 마크업과 내용으로 이루어지는 하나의 요소를 의미

2.JSON

 

-속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 는 개방형 표준 포맷이다.

-비동기 처리에 사용되는 AJAX 에서 XML을 대체하여 사용되고 있다. 

-사람과 기계 모두 이해하기 쉬어며 용량이 적어 JSON이 XML을 대체해서 데이터 전송등에 많이 사용된다.

-일종의 데이터 포맷으로 단순히 데이터를 표시하는 표현 방법이다.

 

3. 릴리즈 노트

 

-어플리케이션 최종 사용자에게 전달되는 제품의 릴리즈 정보에 대한 문서

-릴리즈 노트 작성 항목

  • 머릿말/헤더(Header) : 릴리즈 노트 이름, 제품 이름, 버전번호, 릴리즈 일자, 노트버전 등
  • 개요 : 제품 및 변경에 대한 간략한 개요
  • 목적 : 릴리즈 노트의 목적에 대한 간략한 개요
  • 이슈요약 : 버그의 간단한 설명 및 릴리즈 노트 추가항목 요약
  • 재현 항목 : 버그 내용 및 버그 재현 항목 작성
  • 개선 내용 : 개선사항에 대한 간단한 설명
  • 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 영향도 설명
  • 소프트웨어 지원 영향도 : 버전 변경에 따른 소프트웨어 지원 프로세스 및 영향도 기술
  • 노트 : 소프트웨어,하드웨어 설치 항목,제품,문서를 포함한 업그레이드 항목 기술
  • 면책 조항 : 회사 표준 제품과 관련한 메시지, 불법 목제 방지등 고지사항
  • 연락처 : 사용자 지원 및 문의 연락처

5. 결합도/응집도

 

결합도(Coupling) : 모듈과 모듈 사이의 관련성의 정도, 결합도가 낮을 수록 모듈간 영향 감소, 결합도가 낮을 수록 좋                             은품질의 모듈

  • 자료 결합도(Data Coupling) : 모듈간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 상호작용이 발생
  • 스탬프 결합도(Stamp Coupling) : 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐 등이 전달되는 경우
  • 제어 결합도(Control Coupling) : 단순 처리할 대상인 값만 전달하는 것이 아니라 어떻게 처리해야 한다는 제어요소                                            가 전달 되는경우
  • 외부 결합도(External Coupling) :  외부로 선언한 데이터(변수)를 다른 모듈에서 참조할때의 경우, 외부에서 도입된                                             데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할때 발생
  • 공통 결합도(Common Coupling) : 모듈밖에 선언되어있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호                                              작용하는 경우
  • 내용 결합도(Content Coupling) : 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용하는 경우

응집도(Cohesion) : 모듈 내부의 구성요소간 곤계의 밀접정도, 응집도가 높을수록 좋은 품질의 모듈 

 

  • 기능적 응집도(Functional Cohesion) : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행
  • 순차적 응집도(Sequential Cohesion) : 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용하는 경우
  • 통신적 응집도(Communication Cohesion) : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동이 모인                                                              경우
  • 절차적 응집도(Procedural Cohesion) : 모듈이 다수의 관련기능을 가질 때, 모듈 안의 구성요소들이 그 기능을 순차                                                   적으로 수행하는 경우
  • 시간적 응집도(Temporal Cohesion) : 연관된 기능이라기보다 특정 시간에 처리되어야 하는 활동들을 한 모듈에서                                                   처리하는 경우
  • 우연적 응집도(Coincidential Cohesion) : 모듈 내부의 각 구성 요소들이 연관이 없는 경우

7. 트랜잭션

 

데이터베이스에 행해지는 작업의 논리적인 수행 단위

 

1)원자성(Atomicity) : 트랜잭션은 분해가 불가능한 최소의 작업단위, 연산 전체가 처리되거나 전체가 처리되지 않아야                               함(All or Nothing/ Commit,Rollback)

 

2)일관성(Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 모순없이 일관성 있는 데이터베이스 상태를                                   보존

 

3)독립성(Isolation) : 트랜잭션이 실행 중에 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 할 수 없음

 

4)영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장

 

8.애플리케이션 성능 측정 지표

 

1)처리량(Throughput) : 일정시간내에 애플리케이션이 처리하는 일의 양(처리된 프로세스 수 / 시간)

 

2)경과(반환)시간(Turnaround Time) : 애플리케이션에 작업을 의뢰한 시간부터 응답이 도착할때까지 걸리는 시간

 

3)대기시간(Waiting Time) : 준비 큐에서 기다리는 시간 최소화

 

4)응답시간(Response Time) : 애플리케이션에 요청을 전달한 시간부터 응답이 도착할때까지 걸리는 시간

 

5)자원 사용률(Utilization) : 애플리케이션의 의뢰한 작업을 처리동안의 CPU 사용량, 메모리 사용량, 네트워크 사용등                                        자원 사용률

 

6)Failness : 프로세스별 자원 할당의 공정성

 

7)Deadline : 실시간 환경 등에서의 즉시 처리 한계 시간

 

9.비정규화

 

-정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 성능개선을 위하여 의도적으로 정규화 원칙을 위배하는 행위

 

-정규화된 테이블, 속성, 관계를 시스템의 성능 향상, 개발과 운영을 단순화 하기 위해 데이터 모델을 통합하는 프로세스

 

11.프로토콜

 

-서로 다른 기기들 간의 데이터 교환을 원할하게 수행할 수 있도록 표준화시켜 놓은 통신 규약이다. 

 

-기본 3요소

  • 구문(Syntax) : 데이터의 구조나 형태(포맷)를 정의, 16bit 정보 송신 시 앞의 8bit는 주소, 다음 8bit는 데이터로 정의
  • 시간(Timing) : 어떤 데이터를 보낼 것인지, 얼마나 빨리 보낼 것인지를 결정
  • 의미(Semantics) : 데이터의 각 부분이 무엇을 뜻하는지 알 수 있게 미리 정해 둔 규칙, 오류제어, 동기화, 흐름제어

 

12. DoS(Denial of Service-서비스 거부)공격 기법

 

-Bonk : 처음 패킷의 시퀀스 번호를 1로 보내고 다음에 보내는 패킷의 시퀀스 번호도 1로 조작해서 보내는 공격

 

-Boink : Bonk를 조작한 방법으로 처음에는 순서대로 시퀀스 번호를 순서대로 보내다가 중간부터 반복되는 시퀀스 번             호를 보내는 공격

 

-TearDrop : UDP를 이용하여 Bonk,Boink 보다 복잡하게 시퀀스 번호를 조작

 

-LAND : 패킷을 전송할때 출발지 IP주소와 목적지 IP주소를 똑같이 만들어서 공격대상에게 보내는 공격

 

 

13. 소프트웨서 테스트 기본 7 원칙

 

1. 테스팅은 결함이 존재함을 밝히는 활동이다. : 결함이 발견되지 않아도 결함이 없다고 증명할 수 없음

 

2. 완벽한 테스팅은 불가능하다. : 무한 경로, 무한 입력값, 무한 시간이 소요되어 완벽하게 테스트할 수 없으므로 리스                                              크분석과 우선순위를 토대로 테스트에 집중할 것을 의미한다.

 

3. 테스팅은 개발초기에 시작해야 한다.

 

4. 결함집중(Defect Clustering) : 애플리케이션 결함은 소수의 특정한 모듈에 집중(파레토 법칙=80대 20 법칙)

 

5. 살충제 페러독스(Pesticide Paradox) : 동일한 테스트 케이스로 반복실행하면 결함을 발견할 수 없으므로 주기적으                                                       로테스트 케이스를 리뷰하고 개선해야한다.

 

6. 테스팅은 정황(Context)에 의존한다. : 정황과 비즈니스 도메인에 따라 테스트를 다르게 수행하여야 한다.

 

7. 오류-부재의 궤변(Absense of Errors Fallacy) : 이 세상에 어떠한 소프트웨어도 오류가 완벽하게 해소된 제품을 만들                                                                 어 낼 수 없다. 오류 100%제거가 아닌 일정수준 이하로 만드는 것

 

 

15. OSI 7계층

 

응용 계층(Application Layer) : 사용자와 네트워크 간의 응용서비스 연결, 데이터 생성

 

표현 계층(Presentation Layer) : 데이터의 형식 설정과 부호 교환, 암호화, 해독

 

세션 계층(Session Layer) : 응용 프로세스 간의 연결 접속 및 동기 제어

 

전송 계층(Transport Layer) : 프로세스 간 논리적 통신 서비스 제공, 패킷들의 전송유효 확인, 실패한 패킷은 재전송

                                     신뢰성 있는 통신 보장, 오류검출과 복구, 흐름제어

 

네트워크 계층(Network Layer) : 단말 간 시스템끼리 Data를 전송하기 위한 최선의 통신경로 선택을 제공

 

데이터링크 계층(Data Link Layer) : 인접 시스템간의 데이터 전송, 전송 오류 제어(Frame), 오류검출, 재전송, 흐름제어

 

물리계층(Physical Layer) : 통신회선으로 Data를 나타내는 '0'과 '1'비트의 정보를 회선에 내보내기 위한 전기적 변환이                                     나 기계적 작업을 담당

 

18. 데이터 마이닝

 

데이터 마이닝은 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 방법

 

대용량의 데이터 간 관계, 패턴, 추세를 발견하고 이를 의미있는 정보로 변환하여 기업의 의사결정에 활용하는 기술

 

 

-2020년 2회 기출문제 정리-

 

1. 재해복구 용어

 

  • DR(Disaster Recovery) : 정보시스템에 대한 비상 대비 체제 유지와 복구 계획(IT 중심)
  • BR(Business Recovery) : 기업의 연속성을 위한 핵심 업무등을 복구하기 위한 개념
  • RA(Risk Analysis) : 재해복구 시스템의 BIA를 수행하기 위해 재해 위험 요인 분석 기법
  • BIA(Business Impact Analaysis) : 재해 발생 시 영향을 미칠 수 있는 단위업무를 정의하고, 업무 중단 영향에 대한                                              정량적, 정성적 분석을 통해 복구 우선순위를 도출하는 과정

-BIA 핵심 도출 항목-

 

  • RSO : Recovery Scope Objective, 재해 발생시 복구되어야 할 업무들의 종류와 범위
  • RPO : Recovery Point Objective, 목표 복구 시점, 데이터 손실을 시간으로 환산한 개념
  • RTO : Recovery Time Objective, 시스템 복구까지 허용할 수 있는 최대 시간
  • RCO : Recovery Communication Objective, 통신 복구 목표, 네트워크 복구 수준
  • BCO : Backup Center Objective, 백업 센터 구축 및 관리 방법

3. AJAX(Asynchronous JavaScript And XML)

 

비동기식 자바 스크립트 XML의 약자로 HTML만으로 표현하기 어려운 다양한 작업을 웹페이지에 구현해 사용자가 웹페이지와 자유롭게 상호작용할 수 있도록 하는 기술

 

별도 프로그램을 설치하거나 웹페이지를 다시 로딩하지 않고도 메뉴 등 화면의 객체를 자유롭세 움직이고 다룰 수 있다.

 

비슷한 기능을 하는 액티브x 나 플래시 등에 비해 가볍고, 속도가 빠르다.

 

7. 데이터제어어(DCL)

 

  • COMMIT : 수행된 결과를 실제 물리적 디스크로 저장
  • ROLLBACK : 명령 수행 실패를 의미하며 수행된 결과를 원복시킴
  • SAVEPOINT : 저장점 지정, 지정된 저장점부터 현재까지 일부만 ROLLBACK 가능
  • GRANT : 데이터베이스 사용자에게 사용 권한 부여
  • REVOKE : 데이터베이스 사용자에게 부여된 사용권한 취소

8. IPsec(Internet Protocol Security)

 

무결성과 인증을 보장하는 인증헤어(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜로 네트워크 계층인 인터넷 프로토콜(IP)에서 보안성을 제공해주는 표준화된 기술

 

9. 정적 분석 도구

 

애플리케이션을 실행하지 않고 , 소스코드에 대한 코딩표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용한느 도구

 

10. 옵저버 패턴(Observer Pattern)

 

객체 사이의 일대다의 의존관계를 정의해 두어 어떤 객체의 상태가 변할때 , 그객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 갱신되도록 설계

 

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 방식, 일대다의 의존성 정의

 

상태가 바뀌는 객체를 주체라고 하며 주체와 옵저버가 일대다의 의존성을 갖는다.

 

11. 안드로이드(Android)

 

구글이 공개한 개방형 운영체제로 리눅스의 커널위에서 동작, 자바와 코틀린으로 애플리케이션을 작성하며 휴대용 장치에서 주로 사용

 

운영체제와 미들웨어, 사용자 인터페이스 , 브라우저, 애플리케이션등으로 구성, 다양한 기능 제공

 

13. SOAP(Simple Object Access Protocol)

 

XML과 HTTP통신을 기반으로 하여 네트워크상에 존재한는 각종 컴포넌트 간 호출을 효율적으로  실현하기 위한 방법을 제시하는 규약

 

네트워크 상에서 Client와 Service간에 메시지를 요청하고 이에 응답해준느 방법을 제공

 

-특징-

표준 공개성, 유연성,  확장성, 분산 컴퓨팅, 독립성, 저용량 미들웨어

  • 기존 Remote Procedure Calls의 상호 운영성과 보안문제 해결
  • Application Layer 프로토콜의 TCP, UDP포트를 사용으로 인한 방화벽 제약을 SOAP의 HTTP프로토콜 사용으로 해결
  • 특정 HTTP Header를 방화벽의 필터링 부분에 보냄으로써 메시지의 통과여부를 가릴 수 있게 하는 방법으로 보안 문제 해결

14. SQL Injection

 

웹 응용 프로그램에 강제로 SQL구문을 삽입하여 내부 데이터베이스 서버의 데이터를 유츌 및 변조하고 관리자 인증을 우회하는 공격 기법

 

15. 사용자 인터페이스(UI)설계 원칙

 

-사용자 인터페이스(UI) : 사람과 사물 또는 시스템, 특히 기계, 컴퓨터 프로그램 사이에서 의사소통 할 수 있도록 일시                                   적,영구적인 접근을 목적으로 만들어진 물리적, 가상적 매개체를 뜻한다.

 

-설계원칙

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

 

16. chmod 명령어

 

r : 읽기 권한, 4

w : 쓰기 권한, 2

x : 실행 권한 , 1

 

chmod 사용자 그룹 그외 파일

 

chmod 751 a.txt : 사용자에게 읽기, 쓰기, 실행권한 부여, 그룹에게 읽기, 실행권한 부여, 그 외에 실행권한을 a.txt에                             부여

 

17. Linked Open Data

 

웹상에 존재하는 데이터를 개별 URI(Uniform Resource Identifier)로 식별하고 각 URI에 링크 정보를 부여하여 상호 연결된 웹을 지향하는 모델

 

전세계 오픈된 정보를 하나로 묶는 방식으로 link data와 open data의 합성어

 

-LOD의 4가지 원칙-

 

  • 개체 식별용 URI의 사용 : 다양한 사물(Things)의 식별자로 URI 사용
  • HTTP URI의 사용 : URI는 HTTP를 경유해 접근 가능
  • RDF의 사용 : 구조화된 데이터(RDF, SPARQL)를 사용하여 데이터가 연계 가능
  • 링크 정보의 부여 : 발전된 시멘틱 웹을 위해 링크 정보를 부여한는 것이 중요

20. 형상관리(Configuration Management)

 

개발 과정의 변화되는 사항을 관리하는 것으로 소프트웨어의 생산물을 확인하고 소프트웨어 통제, 변경상태를 기록하고 보관하는 일련의 관리작업을 말합니다.

 

형상관리 도구로는 CVS, Git, SVN등이 있다.

 

형상관리의 대상은 소스레벨과 수행형태인 컴퓨터 프로그램, 숙련자와 사용자를 목표로 한 컴퓨터 프로그램을 서술하는 문서, 프로그램 내에 포함된 자료구조 등이다.

 

개발과정의 산출물의 버전 관리와 변경관리 목적으로 개발 과정의 여러 방해 요인이 최소화 되도록 보증한다.

 

 

-2020년 3회 기출문제 정리-

 

2. EAI 구축유형

 

-EAI 개념-

 

EAI는 미들웨어를 이용하여 비즈니스 로직을 중심으로 기업내 애플리케이션을 통합하는 비즈니스 통합 솔루션이다. 

기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간의 정보에 대한 전달, 연계, 통합을 가능하게 한다.

 

-EAI 구축 유형-

 

1) point-to-point

 

미들웨어를 두지 않고 애플리케이션과 직접  1:1로 연결하는 방식, 미들웨어 불필요, 빠른 적용 가능,비용 저렴,  재사용불가, 시스템 증가시 유지 보수 비용 증가

 

2) Hub & Spoke

 

애플리케이션 사이에 허브시스템을 두어 데이터를 중앙에서 전송하는 방식, 신규 애플리케이션 도입시 확장 편리,

유지 보수 및 확장 용이, 중앙허브 장애시 전체 영향

 

3) Message Bus

 

애플리케이션 사이에 미들웨어를 두어 데이터를 전송하는 방식, 어댑터가 각 서비스와 버스를 연결하므로 뛰어난 확장성 대용량 처리 가능, 초기 구축비용이 높음

 

4) Hybrid

 

Hub&Spoke와 Message Bus를 혼합한 방식 환경에 맞는 유연한 통합작업 가능, 초기구축비용 및 관리비용 높음

 

4. 소스코드 커버리지

 

1) 구문 커버리지(Statement Coverage)

 

프로그램 내에 있는 조건문이 적어도 한번은 실행하는 커버리지

조건문의 결과와 관계없이 구문이 실행된 개수로 계산

 

2)결정 커버리지 = 분기 커버리지(Decision Coverage = Branch Coverage)

 

결정 조건 내의 전체 조건식(결정포인트)에 대한 참/거짓을 적어도 한번은 수행하는 커버리지, 개별 조건식이 아닌 전체 조건식의 참/거짓 구분

 

3) 조건 커버리지(Condition Coverage)

 

결정 조건 내의 개별 조건식에 대한 참/거짓을 적어도 한번은 수행하는 커버리지

 

5. 소프트웨어 테스트 기법

 

1) 화이트 박스 테스트

 

소스코드이 논리적인 모든 경로를 검사하여 결함을 찾는 테스트 기법, 

기본경로 테스트, 루프 테스트, 데이터 흐름 테스트

 

2) 블랙박스 테스트

 

외부사용자 요구사항 명세를 보면서 테스트를 수행하며 주로 구현된 기능을 테스트 한다. 데이터 중심의 입출력 기준으로 수행하여 결함을 찾는 테스트 기법

 

동등 분할 테스트, 경계값 분석, 결정 테이블 테스트, 상태 전이 테스트, 유즈케이스 테스트, 분류트리 테스트

 

13. 생성자와 소멸자

 

1) 생성자(Constructor) : 객체를 생성할때 호출되는 메소드로 맴버변수를 초기화를 위해 정의한다.

2) 소멸자(Destructor) : 객체의 수명이 끝났을 때 객체를 제거하고 할당된 메모리 해제를 위해 정의한다.

 

-생성자의 종류-

 

기본 생성자(Default Constructor) : 프로그래머가 생성자를 만들지 않으면 컴파일러가 자동으로 만들어주는 생성자

 

매개변수 생성자(Paramterized Constructor) : 생성자안에 매개변수를 가지는 생성자.

 

복사 생성자(Copy Constructor) : 동일한 클래스의 다른 객체를 복사하여 초기화 하는 생성자

 

14. 스키마

 

데이터베이스의 전체적인 구조와 제약조건에 대한 명체를 기술.정의한 것을 말하며, 스킴이라고도 한다.

 

16. OSFP

 

대규모 네트워크를 안정되게 운영할 수 있는 표준 라우팅 프로토콜로 최적의 경로를 계산할때 SPF 또는 다익스트라 알고리즘을 이용하여 각 목적지까지의 경로를 계산하는 동적 라우팅 프로토콜

 

17. ICMP

 

TCP/IP에서 신뢰성 없는 비 연결형 프로토콜인 IP를 대신하여 송신 측으로 네트워크의 IP상태 및 에러 메시지를 전달해주는 프로토콜

 

18. 헝가리안 표기법

 

컴퓨터 프로그래밍의 변수명, 함수명등의 식별자 이름을 작성할 때, 데이터타입의 정보를 이름 접두어로 정하는 코딩의 규칙

예를 들어 인덱스 역할을 하는 int형 변수명을 inum으로 문자열 변수명을 strName으로 이름을 지정하는 표기법

 

19. 리펙토링(Refactoring)

 

외부동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로 소프트웨어 시스템을 변경하는 프로세스

 

겉으로 보이는 소프트웨어의 기능을 변경하지 않으면서 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 기법이다.

 

유지보수 및 소프트웨어 생산성 향상을 목적으로 기능을 변경하지 않고 내부적인 구조를 수정, 보완하여 가용성 및 가독성을 높이는 기법 의미

 

20. 프로토콜

 

서로 다른 시스템에 있는 두 개체간에 성공적으로 데이터를 전송하는 통신 규약

외교분야에서의 의례 또느 의정서를 의미하는 용어로서 컴퓨터가 메시지를 전달하고, 메시지가 제대로 도착했는지 확인하며, 도착하지 않았을  경우 메시지를 재전송하는 일련의 기법

728x90
반응형

'Study > 정보처리기사' 카테고리의 다른 글

정보처리기사 실기 후기  (9) 2022.05.09
정보처리기사 준비과정-실기  (4) 2022.04.19
Comments