(3) 정보처리기사 2020년 4회차 기출(2020.09.26)

이하얀·2023년 4월 29일
0

📥 정보처리기사

목록 보기
3/13

📌2020년 09월 26일 CBT 기출문제

✅ 풀이 방식 : 1문제 풀고, 정답 체크(모르는 문제 틀림 표시)
✅ 평균 점수 : 62점
✅ 그 외 특별한 이슈 : 없음
✅ 참고 링크

😀 1과목 : 70점 (14/20)

  • XP 기본원리
    - Pair Programming(2명 공동작업)
    - Collective Ownership(공동책임)
    - continuous Integration(지속적통합 및 테스트)
    -> Linear Sequential Method -> 순차적 방법은 애자일이 X

  • XP 5원칙 : 단순성(Simplicity), 소통(Communication), 피드백(Feedback), 용기(Courage), 존중

  • CASE : S/W 라이프 사이클 전 단계의 연결, 그래픽 지원, 다양한 소프트웨어 개발 모형 지원
    -> 언어 번역은 지원 X

  • 캡슐화가 아닌 것 : 상속(상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미한다)

  • 객체지향 설계 원칙(SOLID)

    • 단일 책임 원칙(SRP) : 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함.
    • 개방 폐쇄의 원칙(OCP) : 소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다.
    • 리스코프 교체(치환)의 원칙(LSP) : 컴퓨터 프로그램에서 자료형 S가 자료형 T의 하위형이라면 필요한 프로그램의 속성(정확성, 수행하는 업무 등)의 변경 없이 자료형 T의 객체를 자료형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙
    • 인터페이스 분리 원칙(ISP) : 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙
    • 의존성 역전 원칙(DIP) : 의존 관계를 맺을 때 변화하기 쉬운 것보다 변화하기 어려운 것에 의존하라는 원칙
  • (문제)파이프 필터 형태의 소프트웨어 아키텍쳐 : 서브시스템이 입력데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.

    • 데이터 스트림 절차의 각 단계를 필터 컴포넌트로 캡슐화하여 파이프를 통해 데이터를 전송하는 패턴 ex) UNIX의 쉘
  • 디자인 패턴 사용 : 객체지향(절차형 언어 X)

  • UML 기본 구성 요소 : Things(사물), Relationship(관계), Diagram(다이어그램) -> 띵다리로 암기!!

    • Terminal은 X
  • 자료사전 의미

= 정의
+ 구성
[] 택일
{} 반복
() 생략가능
** 설명
  • 소프트웨어의 사용자 인터페이스 개발 시스템 기능 X : 소스 코드 분석 및 오류 복구
  • 요구사항 명세 기법에서 Z는 정형!(비정형X)
  • 요구 분석 과정 : 개발 비용이 가장 많이 소요되는 단계는 유지보수 단계!!
  • 애자일 방법론 : 모듈 중심 개발 X

🤔 2과목 : 55점 (11/20)

  • EAI(Enterprise Application Integration) 구축 유형 중 Hybrid : 중간에 미들웨어를 둔다!!

  • 정적 분석 도구 : pmd, cppcheck, SonerQube, ccm 등

    • valance : 동적 분석 도구 중 하나
  • 검증 검사 기법

    • 형상 검사 : 구성요소 목록 유지보수 모든 사항이 표현되었나 검사
    • 알파 검사 : 사용자가 개발자 앞에서 행하는 검사
    • 디버깅 검사 : 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산(버그) 찾아내고 그 원인 밝히고 수정하는 작업 과정
    • 자료구조 검사 : 자료형태, 변수 초기화, 자료 형태의 일관성 테스트
  • 삽입 정렬
    2번째 수를 기준으로 3개의 숫자를 비교(양쪽 다!)
    ex) 초기 자료 : 8 3 4 9 7
    -> 1회전 : 8 3 4 9 7 -> 3 8 4 9 7
    -> 2회전 :3 8 4 9 7 -> 3 4 8 9 7
    -> 3회전 : 3 4 8 9 7 -> 3 4 8 7 9 -> 3 4 7 8 9

  • 인터페이스 구현 검증 도구 : xUnit, STAF, FitNesse, NTAF, Selerium, Watir

    • ESB는 X
  • 소프트웨어 형상 관리에서 관리 항목 : 프로젝트 요구 분석서, 소스 코드, 운영 및 설치 지침서

    • 개발 비용 X
  • 스키마

    • 외부 스키마 : 개인 또는 응용 개발자 입장에서 보는 데이터베이스
    • 내부 스키마 : 물리적 저장 장치의 입장에서 본 데이터베이스 구조, 실제 데이터베이스에 저장될 레코드의 형식 정의, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등 나타냄.
    • 개념 스키마 : 모든 응용 프로그램 또는 사용자들이 필요로 하는 조직 전체 데이터베이스로 단 하나만 존재함.
  • 순회

    • 위 순회 : -> 왼 -> 오
    • 위 순회 : 왼 -> -> 오
    • 위 순회 : 왼 -> 오 ->
  • 그래프 최대 간선수

    • 무방향 : n(n-1)/2
    • 방향 : n(n-1)
  • 테스트 용어

    • 테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 정확하게 준수했는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
    • 테스트 시나리오 : 테스트 케이스를 적용하는 순서에 따라 여러 개의 테스트 케이스들을 묶은 집합
    • 테스트 오라클 : 테스트 결과가 참인지 거짓인지 판단하기 위해 사전에 정의된 참값을 입력해 비교하는 기법 및 활동, 참, 샘플링, 일관성 검사 존재
  • 저작권 관리 구성 요소

    • 콘텐츠 제공자 : 콘텐츠를 제공하는 저작권자
    • 콘텐츠 분배자 : 암호화된 콘텐츠를 유통하는 곳 또는 사람 패키저 - 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 묶어 암호화
    • 클리어링 하우스 : 키 관리 및 라이선스 발급 관리
    • DRM 컨트롤러 : 배포퇸 콘텐츠의 이용 권한을 통제
  • 해싱함수 방법

    • 폴딩법 : 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용
    • 제산법 : 레코드 키를 해시표로 나눈 나머지를 홈 주소로 사용
    • 기수변환법 : 키 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 높은 자릿수 절단, 다시 주소 범위에 맞게 조정
    • 숫자분석법 : 키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 선택

😢 3과목 : 45점 (9/20)

  • 트랜잭션 특징

    • Durability(연속성, 지속성)
      • 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함
    • Isolation(독립성, 격리성)
      • 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
    • Consistency(일관성)
      • 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
    • Atomicity(원자성)
      • 트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다.
  • CRUD 분석 : 생성, 읽기, 갱신, 삭제연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것

  • 반정규화 : 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법

  • E-R 다이어그램 기호

    • 사각형 : 개체
    • 타원 : 속성
    • 선 : 개체타입과 속성 연결
    • 마름모 : 관계 타입
  • UPDATE의 기본 형식 : UPDATE [테이블명] SET [열] = '변경할 값' WHERE [조건]

  • 슈퍼키 : 릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키

  • GRANT UPDATE ON STUDENT TO PARK; : DBA가 사용자 PARK에게 테이블 [STUDENT]의 데이터를 갱신할 수 있는 시스템 권한을 부여하고자 하는 SQL문

  • 관계 대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어

  • 51번 실행결과 다시 구해보기!

  • 권한 허가 : grant / 권한 회수 : revoke

  • 뷰에 대한 설명으로 틀린 것 : 뷰의 정의는 기본 테이블과 같이 ALTER문을 이용해 변경한다.
    -> 뷰의 정의를 변경하려면 뷰를 삭제하고 재생성해야한다.

  • 데이터 모델이 표시해야 할 요소 : 논리적 데이터 구조, 연산, 제약조건
    -> 출력 구조 X

  • 제 3정규형 -> 보이스코드 정규형으로 정규화하기 위한 작업 : 결정자가 후보키가 아닌 함수 종속 제거
    -> 암기 : 도(원자값) -> 부 -> 이 -> 결 -> 다 -> 조

  • 릴레이션에 존재할 수 있는 가능한 튜플의 최대 수 : 모두 곱해주자!!
    ex) A1 도메인 : 3개 값, A2 도메인 : 2개 값, A3 도메인 : 4개 값 -> 3X2X4 = 24

  • 릴레이션에서 구할 수 있는 것

  • 스키마 = 속성의 집합 = 열(세로)

  • 인스턴스 = 튜플의 집합 = 행,레코드(가로)

  • 속성의 개수 = 차수(열의 개수)

  • 튜플의 개수 = 카디날리티

  • 데이터웨어하우스의 기본적인 OLAP 연산이 아닌 것 : translate

🤔 4과목 : 65점 (13/20)

  • UNIX SHELL 환경 변수 출력하는 명령어 아닌 것? : configenv

  • 환경변수 출력 명령어(3)

    • printenv
    • env
    • setenv
  • OSI 7계층에서의 전송 계층 : 단말기 사이에 오류 수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층

  • 쉡 스크립트 의미

until who | grep wow
do
sleep 5
done

-> wow 사용자가 로그인할 때까지 반복문 수행

  • 자바 코드 실행 결과
int x = 1, y =6;
while (y--) {
	x++;
}
System.println("x =" + x +"y =" +y);

-> 자바에서 while문은 조건 식의 결과 값이 Boolean이어야한다.
-> y--는 int형이므로 오류 발생!!
-> Unresolved compilation problem 오류 발생

  • 파이썬 코드 실행 결과
>>> a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> a[: 7 : 2]

-> a의 시작(0)부터 7-1=6까지 즉, a[0] ~ a[6]에서 2칸씩!!
-> 0, 20, 40, 60

  • 공통모듈의 재사용 범위에 따른 분류

    • 컴포넌트 재사용
    • 함수와 객체 재사용
    • 애플리케이션 재사용
      -> 아닌 것? : 더미코드 재사용(단위 테스트 시 아직 미개발된 모듈 대체시 사용)
  • TCP 흐름제어 기법 중, Stop and Wait
    -> 프레임이 손실되었을 때, 손실된 프레임 1개를 전송하고 수신자의 응답을 기다리는 방식으로 한 번에 프레임 1개만 전송할 수 있는 기법

  • 결합도

    • 스탬프 결합도 : 두 모듈이 매개변수로 자료를 전달 할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.(데이터결합도 X)
  • 응집도 순서(약 -> 강) : 우, 논, 시, 절, 교, 순, 기
    1. Coincidental(우연적) : 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되고 서로 달느 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능 수행

    1. Logical(논리적) : 논리적으로 유사한 기능을 수행하지만 서로의 관게는 밀접하지 않음
    2. Temporal(시간적) : 특정 시간에 실행되는 기능들을 모아 작성된 모듈
    3. Procedural(절차적) : 모듈 수행 요소들이 반드시 특정 순서대로 수행
    4. Communication(교환적) : 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능 수행
    5. Sequential(순차적) : 모듈 내의 한 요소의 출력 자료가 다음 요소의 입력 자료로 사용
    6. Functional(기능적) : 모듈 내 모든 요소들이 단일 기능 수행
  • 자바 접근 제어자 : public, protected, default, private

  • UDP 특성 : 흐름제어나 순서제어 없어 전송속도 빠름
    -> 신뢰성 이야기 나오면 무조건 TCP!!

  • C언어 구조체 : struct

  • PHP 사용 가능 연산자 : @, <>, ===
    -> 아닌 것? : #

😀 5과목 : 75점 (15/20)

  • VPN : 이용자가 인터넷과 같은 공중망에 사설망을 구축해 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

  • CMM 모델 레벨 -> 계획은 하지 않음!!

    • 초기 단계
    • 관리 단계
    • 정의 단계
    • 정량적 관리 단계
    • 최적화 단계
  • 서비스 지향 아키텍처 기반 애플리케이션 구성층(SOA) -> 제어클래스는 아님!!

    • 표현 계층
    • 프로세스 계층
    • 서비스 계층
    • 비즈니스 계층
    • 영속 계층
  • DAS
    -> 하드디스크와 같은 데이터 저장장치를 호스트 버스 어댑터에 직접 연결, 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성

  • SADT
    -> SoftTech사에서 개발된 것, 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구

  • 정보 접근 통제 정책 : MAC(강제), DAC(아이덴티티, 신분), RBAC(Role, 역할)

  • 다중화 기술

    • WDM(Wavelength Division Multiplexing) : 파장!!
    • TDM(Time Division Multiplexing) : 시분할(시간)
    • FDM(Frequency Division Multiplexing) : 주파수
    • CDM(Code Division Multiplexing) : 코드
  • 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격을 유발할 수 있는 취약점 -> XSS!!

  • CBD(Component Based Development)

    • 개발 기간 단축으로 인한 생산성 향상
    • 새로운 기능 추가가 쉬운 확장성
    • 소프트웨어 재사용 가능

- Secure OS
-> 컴퓨터 운영체제의 커널에 보안 기능을 추가한 것, 운영체제의 보안상 결함으로 인해 발생 가능한 각종 해킹으로부터 시스템 보호하기 위해 사용

  • NS(Nassi-Schneiderman) chart 아닌것 -> 주로 화살표를 사용하여 논리적인 제어구조로 흐름을 표현한다. ->이건 DFD 인듯?

  • 맵리듀스
    -> 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델
    -> Google에 의해 고안된 기술, 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법을 제공함
    -> 임의의 순서로 정렬된 데이터를 분산 처리하고 이를 다시 합치는 과정 거침

  • SPICE : 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준, 공식 명칭은 ISO/IEC 15504

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글