본문 바로가기
T.I.L(Today I learned)/CS

220909 정보처리기사 실기 D-37

by Amy97 2022. 9. 13.
728x90

모의고사 16회

 

정적 테스트의 유형

동료 검토 Peer Review 2~3명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해 관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기범
워크 스루 Walk through 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 회의를 진행하는 형태러 리뷰를 통해 오류를 검출하고 문서화하는 기법
인스펙션 Inspection 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법

 

보안 공격 관련 용어

Malware 멀웨어 악의적인 목적을 위해 작성된 실행 가능한 코드로 악성코드 또는 악성 프로그램 등으로 불리고, 실행 가능한 코드에는 프로그램 매크로, 스트립트가 아니라 취약점을 이용한 데이터 형태로 표현
APT
Advanced Persistent Threat
특정 타킷을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격 기법으로 특수목적의 조직이 하나의 표적에 대해 다양한 IT 기술을 이용하여 지속적으로 정보를 수집하고 취약점을 분석하여 피해를 주는 공격 기법

 

애플리케이션 모니터링 툴(APM; Application Performance Management)

APM은 인터페이스의 동작이 잘 진행되는지 지속적으로 확인하기 위해서 사용하는 감시 도구로 데이터베이스, 웹 애플리케이션의 트랜잭션과 변숫값, 호출 함수, 로그 및 시스템 부하 등 종합적인 정보를 조회하고, 커넥션 풀(Connection Pool) 등 지속적인 모니터링이 필요한 자원을 효과적으로 관리하는 도구

 

UI 품질 요구사항

이식성 Portability 다른 플랫폼(운영체제)에서도 많은 추가 작업 없이 얼마나 쉽게 적용 가능한가에 대한 품질 기준
적용성 Adaptability 고려된 소프트웨어의 목적을 위해 제공된 수단이나 다른 조치 없이 특정 환경으로 전환되는 능력에 따른 소프트웨어 특성
설치성 Installability 특정 환경에 소프트웨어를 설치하는 데 필요한 노력의 정도에 따른 특성
대체성 Replaceability 특정 운용 환경 하에서 동일한 목적 달성을 위해 다른 소프트웨어를 대신 사용할 수 있는 능력

 

소프트웨어 개발 방법론

구조적 방법론
Structured Development
전체 시스템을 기능에 따라 나누어 개발하고, 이를 통합하는 분할과 정복 접근 방식의 방법론
프로세스 중심의 하향식 방법론
구조적 프로그래밍 표현을 위해 나씨-슈나이더만(Nassi-Shneiderman) 차트 사용

나씨-슈나이더만(Nassi-Shneiderman) 차트 특징
논리의 기술에 중점을 둔 도형식 표현 방법
연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현
조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는 데 적합
정보공학 방법론
Information Engineering Development
정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론
개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
객체지향 방법론
Object-Oriented Development
'객체'라는 기본 단위로 시스템을 분석 및 설계하는 방법론
복잡한 현실 세계를 사람이 이해하는 방식으로 시스템에 적용하는 방법론
객체, 클래스, 메시지를 이용
컴포넌트 기반 방법론
(CBD; Component Based Development)
소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
개발 기간 단축으로 인한 생산성 향상
새로운 기능 추가 쉬움(확장성)
소프트웨어 재사용이 가능
애자일 방법론
Agile Development
절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론
제품 계열 방법론
Product Line Development
특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론
임베디드 소프트웨어를 작성하는 데 유용한 방법론
영역 공학과 응용 공학으로 구분

영역 공학: 영역 분석, 영역 설계, 핵심 자산을 구현하는 영역
응용 공학: 제품 요구분석, 제품 설계, 제품을 구현하는 영역

 

규칙 기반 옵티마이저(RBO)

통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저

옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진이다

 

옵티마이저의 유형

비교 규칙 기반 옵티마이저(RBO) 비용 기반 옵티마이저(CBO)
개념 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행계획을 선택하는 옵티마이저 통계 정보로부터 모든 접근 경로를 고려한 질의실행 계획을 선택하는 옵티마이저
핵심 규칙(우선순위) 기반 비용(수행 시간) 기반
평가 기준 인덱스 구조, 연산자, 조건절 형태 등 레코드 개수, 블록 개수, 평균 행 길이, 컬럼 값의 수, 컬럼 값 분포, 인덱스 높이, 클러스터링 팩터 등
장점 사용자가 원하는 처리경로로 유도하기가 쉬움 옵티마이저의 이해도가 낮아도 성능보장 가능(기본 설정)

 

모듈화(Modularity)

소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법

모듈화를 통해 분리된 시스템의 각 기능을 모듈이라고 한다

모듈화의 주요 기법

루틴 Routine 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임
메인 루틴 Main Routine 프로그램의 주요한 부분이며 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴
메인 루틴은 서브루틴을 호출
서브 루틴
 Subroutine
메인 루틴에 의해 필요할 때마다 호출되는 루틴

 

뷰(View)

하나 이상의 물리 테이블에서 유도되는 가상의 테이블, 논리 테이블로서 사용자에게(생성 관점 아닌 사용 관점에서) 테이블과 동일한 것 

뷰의 목적

뷰를 사용하는 주된 이유는 단순 질의어를 사용할 수 있기 때문이다

FROM 절에 있는 하나의 뷰를 통해 뷰를 구성하는 복수의 테이블을 대체하는 단순성에 그 의의가 있다

테이블의 중요 데이터 일부만을 제공할 수 있는 장단점이 있다

 

순수관계 연산자

[셀프조디] 셀렉트 / 프로젝트 / 조인 / 디비전

연산자 기호 표현 설명
셀렉트 Select δ(시그마) δ<조건>(R) 릴레이션 R에서 조건을 만족하는 튜플 반환
프로젝트 Project π(파이) π<리스트>(R) 릴레이션 R에서 주어진 속성들의 값으로만 구성된 튜플 반환
조인 Join ⋈(보타이) R⋈<조건>S 공통 속성을 이용해 R과 S의 튜플들은 연결해 만들어진 튜플 반환
디비전 Divison ÷(나누기) R÷S 릴레이션 S의 모든 튜플과 관련 있는 R의 튜플 반환

 

RARP(Reverse Address Resolution Protocol)

IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜

RARP는 네트워크 계층 프로토콜이다

주요 프로토콜

IP(Internet Protocol) 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는 데 사용하는 통신 프로토콜
ARP(Address Resolution Protocol) IP 네트워크 상에서 IP 주소를 MAC 주소(물리 주소)로 변환하는 프로토콜
RARP(Reverse Address Resolution Protocol) IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP 주소를 모르는 경우 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜
ICMP(Internet Control Message Protocol) IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜 메시지 형식은 8bit의 헤더와 가변 길이의 데이터 영역으로 분리
수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용
ICMP 프로토콜을 사용해서 ping 유틸리티의 구현을 통해 오류가 발생했음을 알리는 기능을 수행
IGMP(Internet Group Management Protocol)  인터넷 그룹 관리 프로토콜은 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜
IGMP 기능에는 그룹 가입, 멤버십 감시, 멤버십 응답, 멤버십 탈퇴가 있음
라우팅 프로토콜(Routing Protocol) 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정해주는 라우터 간의 상호 통신 프로토콜

 

대칭 키 암호화 방식

스트림(Stream) 암호 평문과 같은 길이의 키 스트림을 연속적으로 생성하여 평문과 이진 수열을 비트 단위로 XOR 연산, 암호문을 생성하는 대칭 키 암호화 기법
블록(Block) 암호 평문을 일정한 블록 단위로 나누어서 블록마다 암호화 과정을 수행하여 고정된 크기의 블록 단위의 암호문을 생성하는 대칭 키 암호화 기법

 

메모리 단편화 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상
내부 단편화 분할된 공간에 프로세스를 적재한 후 남은 공간으로 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 현상

 

중복 테이블 추가 기법

집계 테이블 추가 집계 데이터를 위한 테이블을 생성하고 각 원본 테이블에 트리거를 설정하여 사용하는 것으로 트리거의 오버헤드에 유의 필요
진행 테이블 추가 이력 관리 등의 목적으로 추가하는 테이블로 적절한 데이터양의 유지와 활용도를 높이기 위해 기본 키를 적절히 설정
특정 부분만을 포함하는 테이블 추가 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성

 

쿠버네티스(Kubernetes)

리눅스 재단에 의해 관리되는 컨테이너화 된 애플리케이션의 자동 배포, 스케일링 등을 제공하는 오픈 소스 기반의 관리 시스템

728x90

댓글