Certificate/정보처리기사

[COMCBT] 정보처리기사 2022년 03월 05일 필기 기출문제 리뷰

Walker_ 2024. 2. 23. 19:08

https://www.comcbt.com/

 

최강 자격증 기출문제 전자문제집 CBT

전자문제집, CBT, 컴씨비티, 씨비티, 기사, 산업기사, 기능사, 컴활, 컴퓨터활용능력, 1급, 2급, 워드, 정보처리, 전기, 소방, 기계, 사무자동화, 정보기기, 제과, 제빵, 한국사, 공무원, 수능, 필기,

www.comcbt.com

기출 문제 공부를 제공해주는 COMCBT 감사합니다.


 

[ 1과목 : 소프트웨어 설계 ]

5. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?

 

- 하향식 통합 테스트

- 깊이 우선 통합법, 넓이 우선 통합법 사용

- 테스트 초기 부터 사용자에게 시스템 구조 보여줄 수 있다

- 상위 모듈에서는 tc를 사용하기 어렵다

- 절차

 - 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁으로 대체 한다.

 - 깊이우선, 넓이 우선 등의 통합방식에 따라, 하위 모듈인 스텁들이 한번에 하나씩 실제모듈로 교체된다.

 - 모듈이 통합될 때 마다 테스트 실시

 - 새로운 오류가 발생하지 않음을 보증 하기 위해 회귀 테스트 실시

 

- 상향식 통합 테스트

- 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트 하는 방법

- 가장 하위  단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다

- 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터는 필요하다

- 절차

 - 하위 모듈을 클러스터로 결합

 - 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 드라이버 작성

 - 통합된 클러스터 단위로 테스터

 - 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동하여 결합하고, 드라이버는 실제 모듈로 대체

 

12. 개발 소요기간 계산방법

 - 총 라인 수 / 월간 평균 생산성 /  참여 프래그래머

 - ex) 36000 / 300 / 6 = 20개월

 

13. 클래스 설계원칙

- 단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐

- 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다

- 리스코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자로 사용할 때, 그 타입의 하위 타입도 문제 없이 작동해야 함

- 의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전시킴으로써 상위 계층이 하위 계층의 구현에서 독립

 

14. GoF 패턴

- 생성패턴

- 추상팩토리, 빌더, 팩토리메서드, 프로토타입, 싱글톤

 

- 구조패턴

- 어댑터, 브리지, 컴포지트, 데코레이터, 파사드, 플라이웨이트, 프록시

 

- 행위패턴

- 책임연쇄, 커맨드, 인터프리터, 중재자, 메멘토, 옵서버, 상태, 전략, 템플릿메서드, 방문자

 

[ 2과목 : 소프트웨어 개발 ]

 

21. 클린코드 원칙

 - 추상화 : 상위 클래스 : 프로그램 특성만 간략하게, 하위 클래스 : 세부적 내용 구현

 - 의존성(배제) : 다른 모듈에 미치는 영향을 최소화하여 코드 변경시 영향이 가지 않도록

 - 중복성(최소화) : 코드의 중복 최소

 - 가독성, 단순하게 작성

 

22. 테스트 종류

 - 테스트 스텁 : 일시적으로 필요한 조건만을 가지고 있는 테스트용 모듈

 - 테스트 슈트 : 시스템에 사용되는 테스트 케이스의 집합

 - 테스트 케이스 : 입력, 실행조건, 기대결과 등으로 만들어진 테스트 항목의 명세서

 

23. 스택

- LIFO 방식

- 큐 : FIFO

 

26. 정형 기술 검토

 - FTR 정형 기술 검토

 - 제품 검토, 의제 제한, 논쟁과 반박 제한, 문제영역 정확, 해결채 논하지 말 것, 참가자수 제한, 자원 시간 할당

   , 의미 있는 훈련 시행, 사전에 작성 메모 공유, 결과 재검토

 

27. 변환 작업

 - 마이그레이션 : 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 작업

 

35. 스택연산

 - LIFO 방식

 

38. ISO/IEC 25000

 - SW 품질 평가 통합 모델, SQuaRE로도 불림, 3개 표준을 통합한 모델

 

[ 3과목 : 데이터베이스 구축 ] 

 

41. 물리적 설계

- 어떤 인덱스를 만들 것인지에 대한 고려

- 성능 향상을 위한 개념 스키마의 변경 여부 검토

- 레코드의 크기

- 파일과 구조 저장을 위한 최소한의 공간

- 빈번한 질의와 트랜잭션들의 수행 속도를 높이기 위한 고려사항 (응답시간, 처리공간 효율화, 트랜잭션 처리량)

 

43. 릴레이션 R

 - 정규화 단계 : 원부이 결다조

 - 1. 원자화

 - 2. 부분 함수 종속 제거

 - 3. 이행 함수 종속 제거

 - BCNF : 결정자 함수 종속

 - 4. 다치 종속성 제거

 - 5NF 조인 종속성 제거

 

47. 릴레이션

 - 카디널리티 = 행

 - 디그리 = 열

 - 카행 디열

 

50. 종속성 단계

 - A > B, B > C 일 때, A > C는 이행적 종속 관계

 

51. CREATE TABLE

 - PRIMARY KEY : 테이블의 기본 키를 정의 / 유일하게 테이블의 각 행을 식별

 - FOREIGN KEY : 참조 대상을 테이블로 명시 / 외래 키를 정의 / 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정

 - UNIQUE : 테이블 내에서 얻은 유일한 값을 갖도록 하는 속성

 - NOT NULL : 해당 컬럼은 NULL값을 포함하지 않도록 하는 속성

 - CHECK : 개발자가 정의하는 제약조건 / 참이어야 하는 조건을 지정

 - DEFAULT : 해당 필드의 기본값을 설정

 

52. SQL 명령어

 - DDL (정의어) : CREATE, ALTER, DROP

 - DML (조작어) : SELECT, INSERT, DELETE, UPDATE

 - DCL (제어어) : COMMIT, ROLLBACK, GRANT, REVOKE

 

58. 분산 데이터베이스

 - 분산 데이터베이스 구조 : 전역, 분할, 할당, 지역 스키마

 - 분산 데이터베이스 구성 요소 : 분산 처리기, 분산 데이터 베이스, 통신 네트워크, 분산 트랜잭션

 

60. 병행제어 목적

 - 여러 사용자들의 데이터베이스 공동 사용을 최대화

 - 사용자의 응답 시간 최소화

 - 데이터베이스 시스템의 활용도 최대화

 - 데이터베이스의 일관성 유지

 

[ 4과목 : 프로그래밍 언어 활용 ]

 

63. OSI 7계층

 - 1계층 : 물리계층

 - 2계층 : 데이터 링크 계층

 - 3계층 : 네트워크 계층

 - 4계층 : 전송 계층

 - 5계층 : 세션 계층

 - 6계층 : 표현 계층

 - 7계층 : 응용 계층

 

67. 프로토콜

 - ARP : IP 네트워크 상에서 IP 주소를 MAC 주소로 변환하는 프로토콜

 - ICMP : IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 들을 위한 제어 메시지를 관리하는 역할을 하는 프로토콜

 - PPP : 점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화시켜 전송하는 프로토콜

 

69. 상호배제 기법

 - 데커의 알고리즘

  - 프로세스가 두개 일 때 상호 배제를 보장하는 최초의 알고리즘

 - 램퍼드 알고리즘

  - 프로세스 n개의 상호 배제 문제를 해결한 알고리즘

 - 피터슨 알고리즘

  - 프로세스가 두개 일 때, 상호 배제를 보장, 데커의 알고리즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이, 더 간단 구현

 - 세마포어

  - 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 프로세스 혹은 스레드가 접근하는 것을 막아줌

 

71. 내부단편화

 - First Fit : 들어갈 수 있는 첫 번째 공간에 넣음

 - Best Fit : 내부 단편화가 가장 적게 남는 공간에 넣음

 - Worst Fit : 가장 큰 공간에 넣음

 

76. C언어 

 - strcat = 문자열끼리 이어붙힘

 

78. C언어 연산자

 - << : a << b : a를 b비트 만큼 왼쪽으로 이동하라는 뜻

 

80. UNIX 시스템의 쉘

 - 명령 해석 쉘 전달, 반복적인 명령 프로그래밍 기능, 초기화 파일로 사용자 환경 설정

 

[ 5과목 : 정보시스템 구축 관리 ]

 

83. 시스템 공격

 - Parsing : 하나의 프로그램을 런타임 환경이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미함

 - LAN Tapping : Lan신호 공격

 - Switch Jamming : 스위치의 기능이 방해 받아 정상 동작을 하지 못해 스위치가 더미 허브처럼 작동하게 되는 것

 - FTP Flooding : TCP의 취약점을 이용한 DoS 공격으로 다량의 SYN 패킷을 보내 백로그큐를 가득 채우는 공격

 

85. 취약점 관리

 - 무결성 검사

 - 응용 프로그램의 보안 설정 및 패치 적용

 - 중단된 프로세스와 닫힌 포트가 아니라, 활성화된 프로세스와 열린 포트 중심으로 확인

 - 불필요한 서비스 및 악성 프로그램의 확인과 제거

 

86. V모델

 - V모델 : 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나. 코딩 단계에서 왼쪽으로 꺾여 알파벳 V자 모양

 - 검증 단계 : 요구사항 분석 > 시스템 설계 > 아키텍처 설계 > 모듈 설계

 

87. 블루투스 공격

 - 블루버그 : 블루투스 장비 사이의 취약한 연결 관리를 악용한 공격

 - 블루스나프 : 블루투스와 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보 열람

 - 블루재킹 : 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것

 - OOP : 블루투스 장치끼리 인증 없이 정보를 간편하게 교환하기 위하여 개발됨

 

88. Dos

 - Ping Of Death : 정상 크기보다 큰 ICMP 패킷을 작은 조각으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법

 - Smurf : 브로드캐스트를 활용해 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격

 - SYN Flooding : 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것 처럼 속여 다른 사용자가 이용하지 못하게 함

 - Land : 패킷 전송 시 출발지 IP 주소와 목적지 IP 주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격방법

 

90. IT 기술

 - StackGuard : 스택 상에 일정한 주소번지에 프로그램에 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크후 종료법

 - Docker : 컨테이너 응용프로그램의 배포를 자동화하는 오픈소스 엔진

 - Cipher Container : 자바에서 암호화 복호화 기능을 제공하는 컨테이너

 - Scytale : 암호화 기법으로 단순하게 문자열의 위치를 바꾸는 방법

 

91. 간트차트

 - 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝나야 하는 지를 한 눈에 볼 수 있도록 해준다.

 - 자원 배치 계획에 유용하게 사용된다.

 - CPM 네트워크로부터 만드는 것이 가능하다.

 - 수평 막대의 길이는 각 작업에 필요한 기간을 나타낸다.

 

92. 기술

 - Li-Fi : 스펙트럼의 빛을 이용한 5세대 이동 통신 기술

 - Scrapy : 파이썬 기반의 웹크롤러 프레임워크, 가볍고 빠르고 확장성이 좋음

 - SBAS : GPS의 오차를 보정해 신뢰성과 안정성을 높인 기법

 - CrawlCat : 구글에서 개발한 웹 크롤링 도구로, 웹사이트를 탐색하고 페이지의 구조와 링크를 파악하여 데이터를 수집함

 

94. FAT, NTFS

 - FAT : DOS때부터 사용되던 윈도우의 파일 시스템, 저용량에 적합, 호환성 좋음, 최대 4기가 저장

 - NTFS : 새로 개발된 윈도우 파일 시스템, 보안이 뛰어남, 대용량 저장 가능 안정성 뛰어남

 

95. DES

 - 7비트마다 오류 검출을 위한 정보가 1비트씩 들어가기 때문에 실질적 56(64)비트

 - AES : 128, 192, 256 비트

 

96. umask

 - 유닉스에서 파일이나 디렉터리의 초기 권한을 설정할 때 사용하는 값으로 파일의 경우 666에서 umask를 뺀 값을, 디렉터리일 경우 777

에서 umask를 뺀 값을 초기 권한으로 갖습니다.

 

97. 로그 파일

 - wtmp : 성공한 로그인, 로그아웃 정보를 담고 있는 로그파일

 - utmp : 현재 로그인 사용자 상태 정보를 담고 있는 로그파일

 - btmp : 실패한 로그인 정보를 담고 있는 로그파일

 - last log : 마지막으로 성공한 로그인 정보를 담고있는 로그파일

 

100. 테일러링

 - 테이러링 : 프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업