[정보처리기사] 기출오답(20200606)

Hyo Kyun Lee·2023년 1월 16일
1

정보처리기사

목록 보기
1/26
post-custom-banner

1. 데이터 흐름도(DFD)의 구성요소

데이터 흐름도(Data Flow Diagram) 구성요소에는 프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminal)이 있다.

데이터 사전(date dictionary)은 데이터 흐름도의 구성요소가 아니다.

2. GoF(Gang Of Four)의 디자인 패턴에서 행위 패턴에 속하는 것

  • 생성패턴 - 객체의 생성과 관련한 패턴
    → Builder, 작게 분리된 인스턴스를 건축하듯이 조합하여 객체 생성
    → Prototype, 원본 객체를 복제하는 방법으로 객체 생성

  • 구조패턴 - 클래스나 객체를 조합하여, 더 큰 구조로 만들 수 있게 하는 패턴
    → Bridge, 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성

  • 행위패턴 - 클래스나 객체들의 상호작용하는 방법, 방법 및 책임분배를 정의하는 패턴
    → Visitor, 각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성

3. 객체지향기법에서 부분-전체(part-whole), 부분(is a part of)의 관계로 설명하는 기법

  • 일반화 - is a, 클래스들 간의 개념적인 포함관계
  • 추상화 - 공통 성질을 추출하여 슈퍼 클래스로 설정, 객체 중심의 안정적인 모델 구축 가능(분석 초점의 명확화).
  • 캡슐화 - 속성과 메소드를 하나로 묶어 객체로 구성
  • 집단화 - 부분-전체(part-whole), 부분(is a part of)의 관계로 설명하는 관계적 연관성

4. 정렬된 N개의 데이터를 처리하는데 O(Nlog(2)N)의 시간을 소요하는 정렬 알고리즘

  • 선택정렬 - O(N^2)
  • 삽입정렬 - O(N^2)
  • 버블정렬 - O(N^2)
  • 합병정렬 - O(Nlog(2)N)

※ 시간 복잡도별 알고리즘 분류

  • O(1) : 상수형
    → 해시함수

  • O(logN) : 로그형
    → 이진탐색

  • O(N) : 선형
    → 순차탐색

  • O(NlogN) : 선형 로그형
    → 퀵정렬, 병합정렬

  • O(N^2) : 제곱형
    → 거품정렬, 선택정렬, 삽입정렬

5. White Box Testing에 대한 설명

  • Source Code의 모든 문장을 한번씩 수행함으로써 진행한다.
  • 모듈 안의 작동을 직접 관찰할 수 있다.
  • 산출물 각 기능별로 적절한 프로그램의 제어구조에 따라 선택, 반복 등의 부분들을 수행하여 논리적 경로를 점검한다.
  • Condition Testing, Loop Testing, Data flow Testing

※ 동작을 위한 Black Box Testing : Equivalnce Partitioning Testing, Boundary Value Testing, Cause-Effect Graphing Testing, Error Guessing, Comparison Testing

6. 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 하는 항목

  • 정확성, 신뢰성, 효율성, 무결성, 유연성, 이식성, 사용성, 상호운영성

※ 간결성은 개발자 관점의 고려항목이 아니다.

7. 인터페이스 검증 구현도구에 관한 설명

  • 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크
  • 각 테스트 대상 분산 환경에 데몬을 사용하여, 테스트 대상 프로그램을 통해 테스트 수행 및 통합하여 자동화하는 검증 도구

서비스 호출, 컴포넌트 재사용의 특징을 가지는 테스트 프레임 워크는 STAF이다.

  • Java, C++ 등 다양한 언어를 지원하는 단위 테스트 프레임워크
    → xUnit

  • FitNesse
    → 웹 기반 테스트케이스 설계, 실행, 결과 확인 등을 지원하는 테스트 프레임워크(협업 장점)

  • NTAF
    → FitNesse의 장점인 협업 기능과 STAF의 장점인 서비스 호출 및 컴포넌트 재사용을 통합한 Naver의 테스트 자동화 프레임 워크

  • Selenium
    → 다양한 브라우저 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임 워크

  • Watir
    → Ruby를 사용하는 애플리케이션 테스트 프레임 워크(인터프리터 방식의 객체 지향 스크립트 언어)

8. EAI의 구축 유형

EAI는 기업 내 각종 애플리케이션 및 플랫폼 간의 정보전달연계, 통합 등 상호연동을 가능하게 해주는 솔루션이다.

  • Point to Point : 가장 기본적인 application 통합 방식, 1:1 통합
  • Hub & Spoke : 단일 접점인 허브 시스템을 통해 데이터 전송하는 중앙 집중형 구축 방식
  • Message Bus : 애플리케이션 사이에 미들웨어를 두어 처리하는 방식
  • Hybrid : Hub & Spoke와 Message Bus를 혼합하는 방식

Tree는 EAI 구축유형이 아니다.

9. 전위 순회

root를 가장 앞쪽에 둔다.

중위 순회는 가운데, 후위 순회는 가장 뒤쪽에 root를 위치한다.

10. 반정규화 유형 중 테이블을 추가하는 방법

  • 집계 테이블 추가 : sum, avg 계산을 미리 수행
  • 중복 테이블 추가 : 서버 분리 또는 업무 구별
  • 이력 테이블 추가 : 레코드 중복 저장
  • 부분 테이블 추가 : 접근 시도가 많은 자료만 모아두기
  • 진행 테이블 추가 : A에 접근할때 다수의 테이블을 거칠 경우 간소화

11. ISO/IEC 9126 소프트웨어 품질 특성 중 기능성(Functionality)의 하위 특성

  • 적합성
  • 정확성
  • 준수성
  • 보안성
  • 상호 운영성

학습성은 사용성(Usability)의 하위 특성이다.
ISO/IEC 9126의 하위 특성에는 기능성 신뢰성 사용성 효율성 유지보수성 이식성이 있다.

기능성 - 적합성 정확성 준수성 보안성 상호운영성
신뢰성 - 성숙성 결함허용성 복구성
사용성 - 이해성 학습성 운용성 준수성
효율성 - 시간반응성 자원효율성 준수성
유지보수성 - 분석성 변경성 안정성 시험성 준수성
이식성 - 적응성 설치성 공존성 대체성 준수성

12. tree의 차수와 단말 노드 수

트리의 차수 - 전체 트리에서 가장 큰 차수
단말 노드 수 - 자식이 없는 노드

13. 디지털 저작권 관리(DRM)의 기술 요소

  • 암호화, 키관리, 암호화 파일 생성
  • 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증

방화벽 기술은 디지털 저작권 관리 기술이 아니다.

14. 소프트웨어 형상관리

개발 과정에서 소프트웨어 변경사항을 최적의 비용으로 관리하는 것

15. 하향식 통합으로, 모듈간 통합 시험을 위해 일시적으로 필요한 조건을 가지고 임시로 제공되는 시험용 모듈

Stub

상향식 통합시 상위 모듈 역할을 하는 Test Driver를 이용한다.

16. DB의 논리적 설계 단계에서 수행하는 작업

현실세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있도록, 물리적 저장장치에 맞게 변환 및 논리적 자료 구조로 바꾸는 과정이다.

개념세계의 데이터 필드를 data type, data type간 관계 등의 논리적 구조와 데이터로 모델화한다.

개념 스키마를 평가하고 정제, DBMS에 따른 (종속적인) 논리적 스키마를 설계한다.

트랜잭션의 인터페이스, 테이블(RDBMS), RDBMS에 따른 스키마를 설계하거나 이를 평가 및 정제한다.

레코드 집중의 분석 및 설계는 물리적 설계 단계에서 수행하는 과정이다(데이터 구조화).
물리적 설계 단계

  • 논리적 구조로 표현한 데이터를 물리적 구조의 데이터로 변환
  • 데이터 베이스 파일의 저장 구조 및 액세스 경로 설정
  • 데이터가 컴퓨터에 저장되는 방법 및 구조를 묘사
  • 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근(저장)경로 설계
  • 기본적 데이터 단위는 record
  • 성능에 중대한 영향을 미치는 과정이다.

17. 분산 데이터베이스의 목표

  • 위치 투명성(Location Trasparency) - 데이터베이스의 실제 위치를 알 필요없이, DB의 논리적 명칭만으로도 액세스 가능

  • 중복 투명성(Replication Trasparency) - 데이터가 여러 곳에 중복되어 있더라도, 사용자는 마치 하나의 데이터만 있는 것처럼 동작 수행 가능(시스템은 여러 자료에 대해 자동으로 작업 수행)

  • 병행 투명성(Concurrency Trasparency) - 다수의 트랜잭션이 동시에 실행되더라도, 서로 간섭하거나 결과에 영향을 주지 않는다.

  • 장애 투명성(Failure Trasparency) - 트랜잭션, DBMS, 네트워크, 컴퓨터 장애가 발생하여도 데이터의 무결성을 보장할 수 있다(트랜잭션을 정확히 처리한다).

18. DML

SELECT도 DML이다.
DROP은 DDL이다.

19. DCL의 기능

DCL, 데이터 제어 언어는 DB 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 하기 위해 사용하는 관리(control) 언어이다.

데이터의 논리적, 물리적 구조를 정의하는 언어는 DCL이다.

20. 1NF -> 2NF

1NF - 원자값
2NF - 부분함수종속제거(완전 함수 종속 관계)
3NF - 이행함수종속제거
BCNF - 결정자 함수 종속
4NF - 다중값(다치) 종속성 제거
5NF - 조인 종속성 제거

21. IPv6

  • 128bit 주소공간
  • 인증 및 보안 기능 추가
  • IPv6 확장 헤더를 통한 네트워크 기능 확장에 용이
  • 패킷 크기를 임의의 큰 크기로 설정할 수 있다.

IPv4의 패킷 크기가 64KByte로 고정되어 있다.

22. TCP/IP 중 전송계층 프로토콜

  • HTTP/HTTPS/FTP/STMP : 7계층(응용계층)
  • TCP : 4계층(전송계층)

HTTP - Hyper Text Transfer Protocol
FTP - File Transfer Protocol
SMTP - Simple Mail Transfer Protocol
TCP - Transmission Control Protocol

23. 한 모듈 사이의 결합도(Coupling)

  • 결합도가 낮으면 시스템 유지 및 보수 작업이 쉽다.
  • 모듈간 결합도를 약하게 하면, 모듈 독립성이 향상된다.
  • 결합도 순서 : 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용

※ 한 모듈내 처리요소들 간의 기능적인 연관관계는 응집도이다.

24. IPv6 주소체계

  • 유니캐스트, 멀티캐스트, 애니캐스트

IPv4 - 유니캐스트, 멀티캐스트, 브로드캐스트

25. TCP/IP 네트워크 체계에서 IP주소를 MAC주소로 변환하는 프로토콜

ARP이다(※ IP주소를 다시 TCP/IP주소로 변환하는 프로토콜은 RARP).

  • UDP - 비연결형 서비스, 실시간 전송 네트워크에서 사용
  • ARP - TCP/IP에서 IP주소를 MAC Address로 변환(논리주소를 물리주소로)
  • TCP - 양방향 연결형 서비스를 제공, 가상 회선 연결 상태의 서비스 제공, 스트릿 위주 패킷을 전달한다.
  • ICMP - IP와 조합하여, 통신 중 발생하는 오류처리와 전송경로 변경 등을 위한 제어 메시지 관리
  • IGMP - 멀티캐스트를 지원하는 호스트, 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용한다.

26. 스크립트 언어

스크립트 언어는 서버 스크립트, 클라이언트 스크립트 언어로 분류한다.
javascript, Python, PHP, Basic(VB), JSP, ASP, Shell Script 등.

27. CMM(Capability Maturity Model) 모델의 레벨

초기(initial) - 관리(반복, Repeatable) - 정의(Defined) - 정량적 관리(Manage) - 최적화(Optimize)

28. 크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경하였을때 분석하는 도구

TripWire이다(MD5, CRC-32, SHA 등의 알고리즘을 사용한다).

  • Aide : TripWire를 대체할 수 있는 도구로, 파일의 무결성을 검사하는데 사용한다.
  • sXid - MD5 checksum을 사용하여, suid 및 sgid 파일상 추적 루트키트가 설치되었는지 검사한다(Cron 작업 형태로 수행한다 → 자동으로 파일을 추적하고 경고)
  • Claymore : 침입탐지 및 무결성 모니터링 도구로 Cron table을 사용하여, 주기적으로 파일 시스템의 변조유무를 확인하고 변조시 관리자에게 메일로 통보한다.
  • Samhain : 시스템의 무결성을 검사하는 도구로, SHA-1 hash 값을 비교하여 변경탐지시 사용자에게 경고하는 도구이다.
  • Fcheck : 유닉스 파일 시스템의 변조유무를 점검하기 위한 도구, PERL script 도구로 syslog 및 console 등으로 관리자에게 파일 시스템 변화를 통보한다(tripwire와 비슷하지만 설치와 운영이 보다 쉽다).

※ Cron : 작업 예약 스케쥴러
※ 백도어 : 일반적인 인증을 통과, 원격접속 보장, plaintext로의 접근 보장 등의 행동을 들키지 않고 수행하는 과정을 일컫는다.

29. 테일러링(Tailoring)의 내부 기준

프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업(개발 방법론의 맞춤형 적용).

  • 내부적 요건 : 목표환경, 요구사항, 프로젝트 규모, 고객 요구사항, 납기/비용
  • 외부적 요건 : 국제표준 품질기준, 법적 제약사항 등
post-custom-banner

0개의 댓글