무향향수

[정보처리기사] 실기 기출문제 용어 정리 본문

자격증/정보처리기사

[정보처리기사] 실기 기출문제 용어 정리

튼튼한장 2024. 10. 25. 16:17

응집도와 관련해서 응집도가 높은 순으로 나열하시오.

기능 > 교환 > 시간 > 우연


❓응집도

응집도는 명령어나 호출문 내부 요소들이 서로 관련있는 정도, 즉 *모듈이 독립적인 기능으로 구성됐는지 정도를 의미한다.

 

*모듈

프로그램을 구성하는 시스템을 기능 단위로 독립적인 부분으로 분리한 것이다.
단순히 규모가 큰 것을 작게 여러 개로 나눈 조각이 아니라, 하나 이상의 논리적인 기능을 수행하기 위한 명령어들의 집합이라 할 수 있다.
모듈은 독립적인 프로그램 그 자체일 수도 있고 함수나 메서드일 수도 있다.
모듈이 되려면 다른 것들과 구분될 수 있는 독립적인 기능을 가져야하고 유일한 이름을 사용해야 한다.
그리고 다른 프로그램이나 또 다른 모듈에서 호출하여 사용할 수도 있어야 한다.
모듈 자체로서 재사용될 수도 있고 독립적으로 컴파일이 가능해야 한다는 중요한 특징을 포함해야 한다.
따라서 모듈은 다양한 형태로 존재할 수 있는데 용도가 비슷한 함수나 추상화된 자료, 객체, 메서드 등이 이에 해당한다.

응집도가 강할수록 독립적인 모듈


기능적 응집도

모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도

순차적 응집도

모듈 내 하나의 활동으로부터 나온 출력 데이터를 그 다음 활동의 입력 데이터로 사용할 경우의 응집도

교환적 응집도

동일한 입력과 출력을 사용해 서로 다른 기능을 수행하는 구성 요소들이 모였을 경우의 응집도

절차적 응집도

모듈의 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도 

시간적 응집도

특정 시간에 처리되는 몇 개의 기능을 모아 하나의 모듈로 작성할 경우의 응집도

논리적 응집도

유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도

우연적 응집도

모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도


사회공학

사회 공학은 컴퓨터 보안에 있어서, 인간 상호작용의 깊은 신뢰를 바탕으로 사람들을 속여 정상 보안 절차를 깨트리기 위한 비기술적 시스템 침입 수단을 의미한다.


다크 데이터

다크 데이터는 특정 목적을 가지고 데이터를 수집하였으나 이후 활용되지 않고 저장만 되어있는 대량의 데이터를 의미한다.
미래에 사용될 가능성을 고려하여 저장 공간에서 삭제되지 않고 보관되어 있으나, 이는 저장 공간의 낭비뿐만 아니라 보안 위험을 초래할 수도 있다.

 


SIEM
Security Information & Event Management

다양한 장비에서 발생하는 로그 및 보안이벤트를 통합하여 관리하는 보안 솔루션으로, 방화벽, IDS, IPS, 웹 방화벽, VPN 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리함으로써 비용 및 자원을 절약할 수 있는 특징이 있다.
또한 보안 솔루션 간의 상호 연동을 통해 종합적인 보안 관리 체계를 수립할 수 있다.

Trustzone

하나의 프로세서 내에 일반 어플리케이션을 처리하는 일반 구역과 보안이 필요한 애플리케이션을 처리하는 보안구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술

Typosquatting

네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 것을 URL Hijacking, typosquatting이라고 한다.
유명 사이트들의 도메인을 입력할 때 발생할 수 있는 온갖 도메인 이름을 미리 선점해놓고 이용자가 모르는 사이에 광고 사이트로 이동하게 한다.

 

Single Sign On 

한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템을 말한다.
개인의 경우, 사이트에 접속하기 위해 아이디와 패스워드는 물로 이름, 전화번호 등 개인정보를 각 사이트마다 일일이 기록해야 하던 것이 한 번의 작업으로 끝나므로 불편함이 해소되며, 기업에서는 회원에 대한 통합관리가 가능해 마케팅을 극대화시킬 수 있다는 장점이 있다.


스케줄링에 대한 설명

SJF(Shortest Job First) 스케줄링은 준비 상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법이다. 가장 적은 평균 대기 시간을 제공하는 최적의 알고리즘이지만, 실행 시간이 긴 프로세스는 실행 시간이 짧은 프로세스에게 할당 순위가 밀려 무한 연기 상태가 발생할 수 있다.

RR(Round Robin)은 시분할 시스템을 위해 고안된 방식으로, 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당 받지만, 각 프로세스는 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨 주고 준비 상태 큐의 가장 뒤로 배치된다. 할당되는 시간이 작을 경우 문맥 교환 및 오버헤드가 자주 발생되어 요청된 작업을 신속히 처리할 수 없다.

Shortest Remaining Time (SRT)는 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행시간을 요구하는 프로세스에게 CPU를 할당하는 기법으로 시분할 시스템에 유용하다. 준비 상태 큐에 있는 각 프로세스의 실행 시간을 추적하여 보유하고 있어야 하므로 오버헤드가 증가한다.


UML

시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체 지향 모델링 언어로 사물, 관계, 다이어그램으로 이루어져 있다.

 

관계 해석

Relational Calculus
관계 해석은 관계 데이터의 연산을 표현하는 방법으로, 관계 데이터 모델의 제안자인 코드가 수학의 술어 해석에 기반을 두고 관계 데이터베이스를 위해 제안했다.
원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 원하는 정보를 정의할 때 계산 수식을 사용한다.
튜플 해석식을 사용하는 튜플 관계 해석과 도메인 해석식을 사용하는 도메인 관계 해석으로 구분된다.


암호화 알고리즘

암호화 알고리즘은 패스워드, 주민번호, 은행계좌와 같이 중요한 정보를 보호하기 위해 평문을 암호화된 문자으로 만드는 절차 또는 방법을 의미한다.
스위스의 라이와 메시는 1990년 PES를 발표하고, 이후 이를 개선한 IPES를 발표하였다.
IPES는 128 비트의 Key를 사용하여 63비트 블록을 암호화하는 알고리즘이며 현재는 IDEA라고 불린다.
Skipjack은 국가 안전 보장국에서 개발한 암호화 알고리즘으로 클리퍼 칩이라는 IC칩에 내장되어 있다. 80비트의 Key를 사용하여 64비트 블록을 암호화하며, 주로 전화기와 같은 음성 통신 장비에 삽입되어 음성 데이터를 암호화한다.


VPN

VPN은 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.
암호화된 규격을 통해 인터넷망을 전용선의 사설망을 구축한 것처럼 이용하므로 비용 부담을 줄일 수 있다.
VPN을 사용하면 두 장치 및 네트워크 사이에 암호화된 보안 터널이 생성되며, 터널에 사용되는 프로토콜에 따라 SSL VPN과 IPSec VPN으로 불린다.


인수테스트

인수테스트는 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법이다.
1) 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법으로, 실제 업무를 가지고 사용자가 직접 테스트한다.
2) 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법으로, 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록한다.

 

베타테스트

베타 테스트 Beta Test: 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법으로, 실제 업무를 가지고 사용자가 직접 테스트한다.

 

알파테스트

알파 테스트 Alpha Test: 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법으로, 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록한다.


Regression Test

통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트이다.
이미 테스트된 프로그램의 테스팅을 반복하는 것이다.
수정한 모듈이나 컴포넌트가 다른 부분에 영향을 미치는지 오류가 생기지 않았는지 테스트하여 새로운 오류가 발생하지 않았음을 보증하기 위해 반복 테스트한다.