[COMCBT] 정보처리기사 2022년 03월 05일 필기 기출문제 리뷰
기출 문제 공부를 제공해주는 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. 테일러링
- 테이러링 : 프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업