본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Developer_Study/정보처리기사

[정보처리기사] 예상 문제1

by 케리's 2023. 3. 6.

1. 아래는 관계 대수에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

 - 관계 대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 ( ① ) 정형 언어이다. 
 - 관계 대수 일반 집합 연산자 중 ( ② )은/는 R×S로 표현하고, R과 S에 속한 모든 튜플을 연결하여 만들어진 새로운 튜플로 릴레이션을 구성한다.
더보기

①절차적

②카티션 프로덕트


관계 대수

:  절차적 언어, 어떻게 유도하는가 (How), 순수관계연산자 (셀프조디), 일반집합연산자(합교차카)

 

관계 해석

: 비절차적언어 (프레디킷해석), 무엇을 얻을것인가?(What), 튜플 관계 해석, 도메인 관계 해석

 

(1) 일반 집합 연산자 : 합교차카

수학의 집합 개념을 릴레이션에 적용한 연산자

연산자 기호 표현 설명
합집합 (Union) R ∪ S 릴레이션 R과 S의 합집합을 반환
교집합 (Intersection) R ∩ S 레이션 R과 S의 교집합을 반환
차집합 (Difference) R ㅡ S 릴레이션 R과 S의 차집합을 반환
카티션프로덕트
(CARTESIAN Product)
× R × S R과 S에 속한 모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성
두 릴레이션의 가능한 모든 튜플의 집합
차수는 더하고 카디널리티는 곱해서 값을 구함

 

(2) 순수 관계 연산자 : 셀프조디

관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자

연산자 기호 표현 설명
셀렉트 (Select) σ R σ S 릴레이션 R에서 조건을 만족하는 투플들을 반환
프로젝트 (Project) π R π S 릴레이션 R에서 주어진 속성들의 값으로만 구성된 투플들을 반환
조인 (Join) ▷◁ R ▷◁ S 공통 속성을 이용해 릴레이션 R과 S들의 튜플들을 연결하여 만든 투플을 반환
디비전 (Divison) ÷ R ÷ S 릴레이션 S의 모든튜플 관련이 있는 릴레이션 R의 튜플들을 반환

 

 

 

 

 

 

 

2. 괄호( ) 안에 들어갈 용어를 쓰시오.

소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동은 형상 관리라고 한다.
형상 관리 절차 중 ( ① )은/는 소프트웨어 베이스라인의 무결성 평가와 베이스라인 변경 시 요구사항과 일치 여부 검토하는 단계이다.
또한 형상 관리를 효과적으로 수행하기 위해서는 형상관리 도구가 필요하다. 형상 관리 도구 중 ( ② )은/는 CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 형상을 관리하는 도구이다. 괄호( ) 안에 들어갈 가장 정확한 용어를 쓰시오.
더보기

①형상감사

②RCS(Revision Control System)


형상관리 절차 - 식통감기

절차 설명
형상 식별 형상관리 대상을 정의 및 식별하는 활동
추적성 부여를 위해 ID, 관리번호 부여
변경 관련 이슈 발생시 ID와 관리번호 이용 추적
형상 통제 형상 항목의 버전 관리를 위한 형상통제 위원회 운영
변경 요구관리, 변경 제어 형상 관리 등 통제지원
베이스라인에 대한 관리 및 형상 통제 수행 가능
형상 감사 소프트웨어 베이스라인의 무결성 평가
베이스라인 변경시 요구사항과 일치 여부 검토
형상 기록 소프트웨어 형상 및 변경 관리에 대한 각종 수행결과를 기록
형상결과보고서 작성

 

 

 

 

3. 다음 설명의 소프트웨어 버전 관리도구 방식을 쓰시오.

버전관리 자료가 원격저장소와 로컬저장소에 함꼐 저장되어 관리된다.
로컬 저장소에서 버전관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
대표적인 버전 관리 도구로 Git이 있다.
더보기

답) 분산 저장소 방식


 SW 형상관리 도구 유형 - 공클분

도구유형 설명
공유 폴더 방식
(RCS, SCCS)
매일 개발이 완료된 파일은 약속된 위치의 공유 폴더에 복사하는 방식
담당자 한명이 매일 공유폴더 파일을 자기 PC로 복사하고 컴파일하여 에러확인과 정상 동작 여부 확인
정상 동작일 경우 다음날 각 개발자들이 동작 여부 확인
클라이언트/서버방식 
(CVS, SVN)
중앙에 버전관리 시스템을 항시 동작시키는 방식
개발자들의 현재 작업 내용과 이전 작업내용 추적에 용이
서로 다른 개발자가 같은 파일을 작업했을때 경고 메시지 출력
분산 저장소 방식
(GIT)
로컬 저장소와 원격 저장소로 분리되어 분산 저장하는 방식
중앙의 저장소에서 로컬 파일을 복사한 순간 개발자 자신만의 로컬 조장소에 생성
개발 완료 후 수정한 다음 로컬 저장소에 우선적으로 커밋한 후 원격 저장소에 반영하는 방식

 

 

 

 

4. 관찰대상의 데이터에 변화가 발생하면 이 변화를 탐지하여 사용자에게 자동으로 내용이 갱신되고 디스플레이하는 프로그램이다. 이 프로그램을 개발하기 위해서 적용할 수 있는 디자인 패턴 유형을 영문 Full-name으로 쓰시오.

 

더보기

답) Observer


행위패턴 : 행 미인이 템옵 스테 비커 스트메체

패턴 설명
미디에이터
(Mediator)
'객체지향설계에서 객체의 수가 너무 많아지면 서로 간 통신을 위해 복잡해져서 객체지향에서 가장 중요한 느슨한 결합의 특성을 해칠 수 있기 때문에 이를 해결하는 방법으로 중간에 이를 통제하고 지시할 수 있는 역할을 하는 중재자를 두고, 중재자에게 모든것을 요구하여 통신의 빈도수를 줄여 객체 지향의 목표를 달성하게 해주는 디자인 패턴
'상호작용의 유연한 변경을 지원 
인터프리터
(Interpreter)
'언어의 다양한 해석, 구체적으로 구문을 나누고 그 분리된 구문의 해석을 맡는 클래스를 각각 작성하여 여러 형태의 언어 구문을 해석할 수 있게 만드는 디자인 패턴
'문법 자체를 캡슐화 하여 사용 (스크립팅 언어의 수학적 표현이나 명령 집합과 같은 간단한 언어나 표현을 해석)
이터레이터
(Iterator)
'컬랙션 구현방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 방법을 제공하는 패턴
' 내부구조를 노출하지 않고 복잡객체의 원소를 순차적으로 접근 가능하게 해주는 행위패턴
int[] list = {1, 2, 3, 4, 5}; 
IntegerList integerList = new IntegerList(list); 
Iterator iterator = integerList.getIterator(); 
while (iterator.hasNext()) {
System.out.println(iterator.next()); }
템플릿 메서드
(Template
Method)
'어떤 작업을 처리하는 일부분을 서브클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴
'일반적으로 상위클래스(추상)에는 추상메서드를 통해 기능의 골격 제공, 하위클래스(구체)의 메서드에는 세부 처리를 구체화하는 방식으로 사용
'코드의 양을 줄이고 유지보수를 용이하게 만드는 특징을 갖는 패턴
'상위 작업의 구조를 바꾸지 않으면서 서브클래스로 작업의 일부분을 수행
알고리즘의 단계를 정의하고 하위 클래스가 이러한 단계 중 일부에 대해 자체 구현을 제공할 수 있도록 하는 데 중점을 둡니다.
예를 들어, 커피와 차를 만드는 과정에서 물을 끓이는 과정이 필요합니다. 이 때, 물을 끓이는 과정은 커피와 차에서 모두 동일합니다. 이러한 경우에 템플릿 메서드 패턴을 사용하면 물을 끓이는 과정을 상위 클래스에 구현하고, 커피와 차에서는 각각의 특성에 맞게 하위 클래스에서 구현할 수 있습니다
옵저버
(Observer)
'한 객체의 상태가 바뀌면 그 객체에 의존하는 다른객체들에 연락이가고 자동으로 내용이 갱신되는 방법
'일대 다의 의존성을 가지며 상호작용하는 객체사이에서 가능하면 느슨하게 결합하는 패턴
스테이트
(State)
'객체의 상태를 캡슐화하여 클래스화 함으로써 그것을 참조하게 하는 방식으로 상태에 따라 다르게 처리할 수 있도록 행위 내용을 변경하여 변경시 원시코드의 수정을 최소화 할 수 있고 유지보수의 편의성도 갖는 디자인패턴
'객체의 상태에 따라 행위 내용을 변경
게임에서 캐릭터가 공격을 할 때, 캐릭터의 상태에 따라 공격 방식이 달라질 수 있습니다. 이 때, 스테이트 패턴을 사용하면 캐릭터의 상태를 클래스로 선언하고, 각각의 클래스에서는 해당 상태에서 할 수 있는 공격 방식을 메서드로 정의합니다
비지터
(Visitor)
'각 클래스 데이터 구조로 부터 처리기능을 분리하여 별도의 클래스를 만들어놓고 해당 클래스의 메서드가 각 클래스를 돌아다니며 특정작업을 수행하도록 만드는 패턴
'객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴
'특정 구조를 이루는 복합 객체의 원소 특성에 따라 동작을 수행할 수 있도록 지원하는 행위
커맨드
(Command)
'실행될 기능을 캡슐화 함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴
'하나의 추상 클래스에 메서드를 만들어 각 명령이 들어오면 그에 맞는 서브클래스가 선택되어 실행되는 특징을 갖는 패턴
'요구사항을 객체로 캡슐화
커맨드 패턴은 스타크래프트의 커맨드센터와 비슷합니다. 커맨드센터는 건물을 지을 때 필요한 자원을 생산하고, 건물을 지을 수 있는 기능을 제공합니다. 커맨드 패턴도 마찬가지로 실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴입니다.
스트레티지
(Strategy)
'알고리즘군을 정의하고(추상) 같은 알고리즘을 각각 하나의 클래스로 캡슐화 한 다음
필요할때 서로 교환해서 사용할 수 있게하는 패턴
'행위를 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해줌
'행위 객체를 클래스로 캡슐화해 동적으로 행위를 자유롭게 변환
'사용하는 알고리즘을 변경하여 런타임 시 개체의 동작을 변경할 수 있습니다.
Duck mallard =newDuck(newFlyWithWings());
mallard.performFly();
// outputs: "I'm flying with my wings!"
mallard.setFlyBehavior(
newFlyNoWay());
mallard.performFly();
// outputs: "I can't fly."

닥터 스트레인지의 마법은 다양한 상황에서 다양한 마법을 사용할 수 있다는 것입니다. 이것은 스트레티지 패턴과 비슷합니다. 스트레티지 패턴은 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있고 이들이 필요할 때 교체할 수 있도록 함으로써 동일한 문제를 다른 알고리즘으로 해결할 수 있게 하는 디자인 패턴입니다.
메멘토
(Memento)
'클래스 설계 관점에서 객체의 정보를 저장할 필요가 있을때 적용하는 디자인 패턴
'Undo 기능을 개발할때 사용
'객체를 이전 상태로 복구시켜야하는경우, Undo 요청 가능
책임연쇄
(Chain of Responsibility)
'정적으로 어떤 기능에대한 처리의 연결이 하드코딩 되어있을때 기능처리의 연결 변경이 불가능한데 이를 동적으로 연결되어있는 경우에 따라 다르게 처리될 수 있도록 연결한 디자인 패턴
'한 요청을 2개이상의 객체에서 처리 (Java 에서의 try catch 문)

 

 

 

 

5. 다음에서 설명하는 시스템은 무엇인가?

- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템
- 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적하고, 공격기법의 정보를 수집하는 역할을 하는 시스템
더보기

답) 허니팟(Honeypot)


허니팟(honeypot)은 '해커를 잡는 덫’이라는 뜻의 용어로, 비정상적인 접근을 탐지하기 위해 의도적으로 설치해둔 시스템을 의미합니다
예를 들어, 네트워크 상에 특정 컴퓨터를 연결해 두고 해당 컴퓨터에 중요한 정보가 있는 것처럼 꾸며두면, 공격자가 해당 컴퓨터를 크래킹하기 위해 시도하는 것을 탐지할 수 있습니다

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (9과목) 소프트웨어 개발 보안 구축 - 1 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

6. 다음은 테스트에 대한 설명이다. 괄호( ) 안에 들어갈 테스트의 유형을 보기에서 골라 쓰시오.

• ( ① ) : 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법
• ( ② ) : 짧은 시간에 사용자가 몰릴 때 시스템의 반응을 측정하는 테스트 기법

| 보기 |

Recovery Testing, Security Testing, Generalization, Structure Testing, Regression Testing, Stress Testing, Spike Testing
더보기

①Regression Testing

②Spike Testing


테스트 목적에 따른 분류 - 회안성 구회병

분류 설명
회복테스트
(Recovery)
시스템에 고의로 실패를 유도하고 시스템의 정상적 복귀 여부를 테스트
안전테스트
(Security)
소스내 보안적인 결함을 미리 점검하는 테스트
성능테스트
(Performance)
응답시간, 반응속도, 처리량 등 측정하는 테스트
구조테스트
(Structure)
시스템의 내부 논리경로, 소스코드의 복잡도 테스트
회귀테스트
(Regression)
오류제거와 수정에의해 새로 유입된 오류가 없는지 확인하는 일종의 반복 테스트
병행 테스트
(Parallel)
변경된 시스템과 기존 시스템에 동일한 데이터 입력 후 결과 비교 

성능 테스트 상세 유형 - 부스스내

분류 설명
부하테스트
(Load)
시스템에 부하를 계속 증가시키면서 시스템의 임계점을 찾음 
스트레스테스트
(Stress)
임계점 이상의 부하를 가해 비정상적인 상황에서의 처리를 테스트
스파이크테스트
(Spike)
짧은 시간에 사용자가 몰릴 때 시스템의 반응 측정 테스트
내구성테스트
(Endurance)
오랜 시간동안 시스템에 높은 부하를 가해 테스트 

 

 

 

 

 

7. 아래는 상호배제를 해결하기 위한 기법이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

• ( )은/는 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 기법이다.
• 한 프로세스(또는 스레드)에서 ( )의 값을 변경하는 동안 다른 프로세스가 동시에 이 값을 변경해서는 안 된다.
• ( )은/는 P, V 연산을 기반으로 구현한다.

 

 

 

8. 아래는 저작권 관리 구성요소에 대한 설명이다. 각각이 설명하는 저작권 관리 구성 요소를 쓰시오.

① 저작권에 대한 사용 권한, 라이센스 발급, 사용량 관리 및 키 관리, 라이센서 발급 관리 등을 수행하는 도구
② 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 도구
더보기

클리어링 하우스

②패키저


 디지털 저작권 관리 (DRM; Digital Right Management)

저작권자가 배포한 디지털 콘텐츠가 저작권자가 의도한 용도로만 사용되도록 디지털 콘텐츠 관리 및 보호 기술

 

1) 디지털 저작권 관리 구성요소

구성요소 설명
콘텐츠 제공자
(Content Provider)
콘텐츠 제공하는 저작권자
콘텐츠 소비자
(Content Customer)
콘텐츠를 구매하여 사용하는 주체
콘텐츠 분배자
(Content Distributor)
암호화된 콘텐츠를 유통하는 곳이나 사람
클리어링 하우스
(Clearing House)
저작권에 대한 사용권한, 라이센스 발급, 암호화 된 키 관리, 사용량에 따른 결제 관리 등을 수행하는 곳
DRM 콘텐츠
(DRM Content)
서비스하고자 하는 암호화된 콘텐츠, 콘텐츠와 관련된 메타데이터 콘텐츠 사용 정보를 패키징하여 구성된 콘텐츠
DRM Controller 배포된 디지털 콘텐츠의 이용 권한을 통제
패키저
(Packager)
콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶은 도구
보안 컨테이너
(Security Container)
원본 콘텐츠를 안전하게 유통하기 위한 전자적 보안장치

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (12과목) 제품 소프트웨어 패키징 - 4 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

 

9. 상향식 비용 산정 기법 중 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법을 무엇이라고 하는지 쓰시오.

더보기

LOC(Line of Code)


코드라인수 (LoC; Lines of Code)

Loc 모형은 소프트웨어 각 기능의 원시코드라인수의 낙관치(가장 적은 라인 수), 중간치 (기대치, 평균 라인수) 비관치 (가장 많은 라인 수) 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식이다.

* 추정 LoC = (낙관치 + (4*중간치) + 비관치) / 6

 

 

 

 

10. 최근 클라우드 기반의 대용량 데이터를 다루는 기술이 다양하게 활용되고 있다. 아래는 클라우드와 빅데이터 관련 기술에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

• ( ① )은/는 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진으로 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어이다.
• ( ② )은/는 웹 사이트를 크롤링하여 구조화된 데이터를 수집하는 파이썬(Python) 기반의 애플리케이션 프레임워크이다.

 

 

 

 

11. 다음은 UML의 관계(Relationships)에 대한 설명이다. 괄호( ) 안에 공통적으로 들어갈 용어를 쓰시오.

• ( ) 관계는 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계이다.
• ( ) 관계는 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현한다.
• ( ) 관계는 포함되는 쪽(Part; 부분)에서 포함하는 쪽(Whole; 전체)으로 속이 빈 마름모를 연결하여 표현한다.
더보기

집합(Aggregation)


구분 설명
연관
(Association)
클래스가 서로 개념적으로 연결된 선
두 개 이상의 사물이 서로 관련되어 있는 상태
사물 사이를 실선으로 연결 (방향성은 화살표)
양방향 관계의 경우 화살표 생략
집합
(Aggregation)
하나의 객체에 여러개의 독립적인 객체들 구성
하나의 사물이 다른 사물에 포함 되어있는 관계
차와 엔진, 바퀴, 운전대 
복합(합성, 포함)
(Composition)
영구적이고 집합관계보다 더 강한 관계
집합관계의 특수한 형태로 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
일반화 (상속)
(Generalization)
하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
일반적 개념을 부모(상위)라고하고 구체적인 개념을 자식(하위)
의존
(Dependency)
하나의 클래스가 다른 클래스를 사용하는 관계
다른 클래스의 멤버함수 사용
사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
실체화
(Realization)
추상클래스나 인터페이스를 상속받아 자식클래스가 추상메서드를 구현할때 사용
사물이 할 수 있거나 해야하는 기능으로 서로 그룹화 할수 있는 관계를 표현

[출처] [2022년 제1회 기사 실기 출제예상 문제] (2과목) 화면 설계 - 7 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

 

12. 다음은 반 정규화 기법에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

• 테이블 분할 기법 중 집계 테이블 추가는 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의할 필요가 있다.
• 테이블 분할 기법 중 ( ) 추가는 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정한다.

 

 

더보기

진행 테이블


중복 테이블 추가 대량의 데이터들에 대한 집계함수 (GROUP BY, SUM 등)를 사용하여 실시간 통계 정보를 계산하는 경우에 효과적 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블 추가  
집계 테이블 추가
  1. 집계 테이블 유형
  • 단일 테이블의 GROUP BY
  • 여러 테이블의 조인 GROUP BY
2. 유의사항
  • 로우 수와 활용도를 분석하고 시뮬레이션을 통해서 그 효용성에 대한 면밀한 검토가 선행되어야 한다.
  • 집계 테이블에 단일 테이블 클러스터링을 한다면 집계 레벨을 좀더 낮춰 활용도를 높일 수 있는지를 검토해야 한다.
  • 클러스터링, 결합 인덱스, 고단위 SQL 을 활용하면 굳이 집계 테이블 없이도 양호한 수행 속도를 낼 수 있다. 이러한 부분도 사전 검토되어야 한다.
  • 집계 테이블을 다시 집계, 조인하면 추출할 수 있는지를 검토하여 지나친 집계 테이블을 만들지 않는 것이 좋다.
  • 추가된 집계 테이블을 기존 응용 프로그램이 이용할 수 있는지를 찾아 보정시키는 노력이 필요하다.
  • 데이터베이스 트리거의 오버헤드에 주의하고 데이터의 일관성 보장에 유의하여야 한다. 즉 집계 테이블과 원본 데이터는 일관성 유지가 매우 중요하다.
즉, 집계 데이터를 위한 테이블을 생성하고 각 원본 테이블에 트리거를 설정하여 사용하는 것으로 트리거의 오버헤드에 유의 필요

 
진행 테이블 추가
  1. 진행 테이블 추가 상황
  • 여러 테이블의 조인이 빈번히 발생하며 처리 범위도 넓은 경우
  • M:M 관계가 포함된 처리의 과정을 추적, 관리하는 경우 (트랜잭션 상태를 추적하기 위해)
  • 검색 조건이 여러 테이블에 걸쳐 다양하게 사용되며 복잡하고 처리량이 많은 경우
2. 유의사항
  • 데이터량이 적절하고 활용도가 좋아지도록 기본키를 선정
  • 필요에 따라 적절한 추출(Derived) 칼럼을 추가하여 집계 테이블의 역할도 하는 다목적 테이블을 구상
  • 다중 테이블 클러스터링이나 조인 SQL을 적절히 이용하면 굳이 진행 테이블을 만들지 않아도 양호한 수행 속도를 낼 수 있는 경우가 많다.
 
특정 부분만을 포함하는 테이블 추가 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성

 

 

 

 

13. 다음은 IPC(Inter-Process Communication) 주요 기법에 대한 설명이다. 괄호( ) 안에 공통적으로 들어갈 용어를 쓰시오.

- ( )은/는 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다.
- OSI 7 계층의 애플리케이션 응용계층(application layer)에 존재하는 네트워크 응용 프로그램들은 데이터를 송수신하기 위해
   ( )을/를 거쳐 전송 계층(trasport layer)의 통신망으로 전달함으로써 데이터를 송수신하게 된다.
더보기

답) 소켓(socket)


소켓(Socket)은 프로세스가 네트워크를 통해서 데이터를 주고받으려면 반드시 열어야 하는 창구 같은 것입니다소켓은 인터넷 소켓(Internet socket), 네트워크 소켓(network socket)이라고도 부릅니다
소켓은 프로세스가 드넓은 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 합니다

[출처] [2022년 제1회 기사 실기 출제예상 문제] (4과목) 통합 구현 - 9 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

14. 안전한 인터페이스를 구현하기 위해서는 보안 기술 적용이 무엇보다도 중요하다. 다음은 인터페이스 보안 구현 방안이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 중요 데이터가 보관된 데이터베이스는 암호화를 필수적으로 적용해야 한다.
데이터베이스 암호화 방식 중 ( ① )은/는 암·복호화 모듈이 DB 서버에 설치된 방식으로 DB 서버에 암·복호화, 정책 관리, 키 관리 등의 부하가 발생한다.
- 또한 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버 간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장, 443포트를 사용하는 보안 프로토콜인 ( ② )을/를 사용해서 중요 인터페이스 데이터의 안전한 전송을 수행해야 한다.
더보기

Plag-in방식

②SSL/TLS


데이터베이스 암호화 방식 (두음 : 애플티하)
- API 방식 : 애플리케이션
- Plug-in 방식 : DB
- TDE 방식 : DBMS
- Hybrid 방식 : API방식 Plug-in 방식

중요 인터페이스 데이터의 암호화 전송
- IP Sec : 3계층
- SSL/TLS : 4계층 7계층
- S-HTTP : 웹상

 

 

 

 

15. 데이터베이스 관리자가 권한을 부여하는 DCL 문을 작성하시오.

• 관리자가 인사담당자 고길동에게 ‘직원’ 테이블에 대해 INSERT할 수 있는 권한을 부여
• 대소문자를 구분하지 않음
더보기

답) GRANT INSERT ON 직원 TO 고길동;


DCL

데이터 제어어 - 그온투, 리온

DCL유형 동작 설명
GRANT 권한부여
GRANT select ON orders TO admin1
사용자에게 데이터베이스 대한 권한 부여
REVOKE 권한취소
REVOKE select ON orders FROM admin1
사용자에게 부여했던 권한 회수

 

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (7과목) SQL 응용 - 12 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

16. 다음은 응집도와 결합도에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우의 결합도이다.
- ( ② )은/는 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도이다.

 

더보기

① 공통 결합도(Common Coupling)
② 순차적 응집도(Sequential Cohesion)


1) 응집도 - 우논시절통순기 (기능적 응집도 좋음, 응집도가 높음)

모듈의 독립성을 나타내는 정도, 모듈 내부 구성요소간 연관 정도, 하나의 모듈은 하나의 기능을 수행할 수록 응집도가 높다.

유형 설명
우연적 응집도
(Coincidental Cohesion)
모듈 내부의 각 구성요소가 연관이 없을 경우
ex) 아무상관 없는 모듈끼리 모아둠
논리적 응집도
(Logical Cohesion)
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
ex) 비슷한 모듈끼리 모아둠
시간적 응집도
(Temporal Cohesion)
연관된 기능이라기 보다 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
ex) 같은 시간대에 일어나는 모듈을 모아둠
절차적 응집도
(Procedural Cohesion)
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우
ex) 모듈 내부의 기능이 순차적으로 수행되는 경우
통신적 응집도
(Communication Cohesion)
동일한 입, 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우 응집도
ex) 동일한 입력 동일한 출력을 모아둔것
순차적 응집도
(Sequential Cohesion)
모듈 내에서 한 활동으로 부터 나온 출력값을 다른 활동이 사용할 경우
ex) 출력값이 나왔으면 그 출력값을 입력값으로 사용하는것
기능적 응집도
(Functional Cohesion)
모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우 
ex) +함수의 기능을 하기위해 똘똘 뭉쳐져있음, + 말고는 아무것도 안함

 

2) 결합도 - 내공외제스자 (자료 결합도가 좋음, 자료 결합도는 낮음)

모듈 내부가 아닌 외부의 모듈과 연관도 또는 모듈간의 상호 의존성

유형 설명
내용 결합도
(Content Coupling)
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도
ex) 서로 얽혀있는 스파게티 코드일때
공통 결합도
(Common Coupling)
파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수 참조하고 전역 변수를 갱신하는 식으로 상호작용 하는 경우 결합도
ex) 전역 변수 참조할때
외부 결합도
(External Coupling)
두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우 결합도
ex) 외부의 있는 변수를 참조했을때  
제어 결합도
(Control Coupling)
단순 처리할 대상인 값만 전달되는게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우 결합도
ex) 제어 요소 전달 : f a(x, y, z) → if (x > 10) 일때 전달
스탬프 결합도
(Stamp Coupling)
모듈간의 인터페이스로 배열이나 오브젝트, 스트럭처 등 전달되는 경우
ex) 자료구조를 넘김 : int (*X) → 포인터 또는 [] 배열을 넘길때
자료 결합도
(Data Coupling)
모듈 간의 인터페이스로 값이 전달되는 경우
ex) 데이터 전달 : f a(int x) → a(10) 파라미터 전달

 

 

 

 

17. 다음은 스니핑 기법에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 스니핑(Sniffing)이란 해킹 기법으로서 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 훔쳐보는 것을 의미한다.
- 스니핑 기법 중 ( ① )은/는 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하여 네트워크 패킷을 스니핑하는 기법이다.
- ( ② )은/는 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법이다.
더보기

① 스위치 재밍(Switch Jamming)
② ARP 스푸핑(ARP Spoofing)


스위치 재밍(Switch Jamming)

스위치의 기능이 방해를 받아 더미 허브와 같이 동작하게 되는 것을 말합니다. 즉, 스위치가 전달받은 패킷을 해당 MAC 주소로만 전달하는 기능이 방해받아 모든 PC에 브로드케스트 전달을 하게 됩니다. 이렇게 되면 네트워크가 혼잡해지고 성능이 저하될 수 있습니다.

 

ARP 스푸핑(ARP Spoofing)

ARP 스푸핑(ARP spoofing)은 근거리 통신망(LAN)에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법입니다. 이 공격은 데이터 링크 상의 프로토콜인 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 발생합니다. ARP 스푸핑은 중간자 공격 기법 중 하나이며, 해커가 LAN을 통해 거짓된 ARP 메시지를 보내는 공격입니다.

 

 

18. 다음은 애플리케이션 성능 측정 지표에 대한 설명이다. 괄호( ) 안에 들어갈 용어을 보기에서 골라 쓰시오.

• ( ① ) : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
• ( ② ) : 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량을 총칭하는 용어

| 보기 |

Throughput, Response Time, Seek Time, Turnaround Time, Resource Usage, Performance Utility, Access Time
더보기

①  Turnaround Time (경과시간)
②  Resource Usage (자원 사용률)


처리량 throughput - 처리할 수 있는 트랜잭션 수, 시간당 페이지 수
응답시간 response time - 응답 출력이 개시될 때까지 시간, 메뉴가 나타나기까지 시간
경과시간 turnaround time - 트랜잭션 후 결과 출력이 완료할 때까지 시간
자원사용률 resource usage - 트랜잭션 동안 사용. CPU/메모리/네트워크 사용량

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (10과목) 애플리케이션 테스트 관리 - 15 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

19. 아래는 ​프로세스 상태 전이에 대한 용어 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 프로세스 상태전이 중 ( ① )은/는 준비 상태에 있는 여러 프로세스(Ready List) 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당하는 동작을 말한다.
- ( ① )가 수행되면 CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고 다음 프로세스의 PCB로 부터 문맥을 복원하는 ( ② )이/가 발생한다.
더보기

​1. 디스패치(Dispatch)
2. 문맥교환 (Context switching)


참고 : CPU 스케줄링의 프로세스 상태 전이도(state transition diagram) = 포로세스 5가지 상태 : 네이버 블로그 (naver.com)

 

관련 용어 설명
PCB
(Process Control Block)
특정한 프로세스를 관리할 필요있는 정보를 포함하는 운영체제 커널의 자료구조
운영체제가 프로세스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 데이터베이스
문맥교환
(Context Switching)
CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록 (PCB)에 저장하고 다음 프로세스의 PCB로부터 문맥을 복원하는 작업을 문맥교환이라고 한다.
디스패치
(Dispatch)
준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU 할당함
할당 시간 초과
(Timer Runout)
CPU를 할당받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 PCB 저장, CPU 반납 후 다시 준비상태로 전이됨, 타임슬라이스만료/ 선점시 타임아웃 발생
입출력발생
(Block)
실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 CPU를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이됨
깨움
(Wake Up)
어느 순간에 입출력이 종료되면 대기상태의 프로세스에게 입출력 종료사실을 wait/signal 등에 알려주고 준비상태로 전이됨

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (11과목) 응용 SW 기초 기술 활용 - 16 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

 

20. 아래는 ​제품 소프트웨어 패키징에 대한 내용이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 최종 사용자인 고객에게 개발 과정에서 정리된 상세 서비스 정보를 포함하여 제품의 수정, 변경, 개선하는 일련의 작업들에 대한 정보를 제공하는 문서이다.
 
- ( ① ) 작성 항목 중 문서 이름, 제품 이름, 버전 번호, 날짜, 참고 날짜, 버전 등의 정보가 들어가 있는 작성 항목은 ( ​ ② )이다.

 


21 . 다음은 UML의 관계(Relationships)를 나타내는 그림이다. 해당 그림에 가장 올바른 "관계의 유형"을 쓰시오.

 

 

 

더보기

1. 집합 관계 (Aggregation)
2. 실체화 관계 (Realization)


 

 

 

 

 

22. 다음은 User Interface 설계 도구 및 산출물에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 디자인, 사용방법설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형으로 시각적으로만 구성요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않는다.
 
- ( ② )은/는 정책, 프로세스, 콘텐츠 구성, 와이어프레임(UI, UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물이다.
더보기

1. 목업 (Mockup)

2. 스토리보드(Storyboard)


1. 목업 (Mockup)

목업은 실물과 동일한 크기의 모형으로, 제품 양산과 출시 전 프로모션을 위해서, 설계 결과 확인을 위해, 또는 투자를 받기 위해 시연이 필요할 때 등 다양한 상황에서 사용합니다

 

2. 스토리보드(Storyboard)

스토리보드는 화면의 구성과 내용을 시각적으로 보여주는 것으로, 화면의 흐름을 보여줍니다. 즉, 사용자가 어떤 행동을 할 때 어떤 화면이 나타나는지를 보여주는 것입니다.

 

 

 

 

23. 관계 데이터베이스의 정규화에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

어떤 릴레이션에 R이 ( ① )이고, 릴레이션의 키가 아닌 속성 모두가 R의 어떤 키에도 이행적 함수 종속이 아닐 때 R은 ( ② )에 속한다.
더보기

1. 제 2정규화(2NF)
2. 제 3정규화 (3NF)


제3정규형은 데이터베이스 정규화의 세 번째 단계로, 다음 조건을 만족해야 합니다
1. 테이블이 제2 정규형을 만족하고,
2. 테이블 내의 모든 속성이 기본 키에만 의존하며, 다른 후보 키에 의존하지 않습니다.
즉, 제3정규형은 이행적 함수 종속 존재하지 않음을 요구합니다

 

 

 

 

24. 다음은 주요 연계 기술에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 직접 연계 방식 중 DB 연결 방식은 수신 시스템의 WAS에서 송신 시스템 DB로 연결하는 DB ( ① )을/를 생성하고 연계 프로그램에서 해당 DB ( ① ) 명을 이용하여 연결하는 방식이다.
- ( ② ) 기법은 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. 수신 시스템의 프로그램에서 ( ② ) 드라이버를 이용하여 송신 시스템 DB와 연결할 수 있다.

 

더보기

1. 커넥션 풀 (Connection Pool)
2. JDBC (Java Database Connectivity)


1. 커넥션 풀 (Connection Pool)

커넥션풀은 데이터베이스와 연결된 커넥션을 미리 만들어 놓고, 필요할 때마다 커넥션을 가져다 쓰고 반납하는 기법입니다1234. 이를 통해 커넥션 생성과 삭제에 따른 오버헤드를 줄일 수 있어 성능을 향상시킬 수 있습니다.

 

2. JDBC (Java Database Connectivity)

JDBC(Java DataBase Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API입니다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공합니다.

[출처] [2022년 제1회 기사 실기 출제예상 문제] (4과목) 통합 구현 - 21 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

25. EAI는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간의 정보를 전달, 연계, 통합이 가능하도록 해주는 솔루션이다. EAI 구축 유형 중 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식으로 허브 장애 시 전체 인터페이스의 장애를 일으키는 유형은 무엇인가?

 

더보기

허브앤 스포크 (Hub & Spoke)


EAI 구축유형 - 포허메하

구성요소 설명
포인트 투 포인트
(Point to Point)
가장 기초적인 애플리케이션 통합방법 1:1단순 통합
솔루션을 구매하지않고 개발자간의 커뮤티케이션을 통해 통합 가능
허브 앤 스포크
(Hub & Spork)
단일한 접점의 허브시스템을 통하여 데이터를 전송하는 중앙 집중 방식
허브 장애시 전체 장애 발생
메시지 버스
(Message Bus)
애플리케이션 사이 미들웨어(버스)를 두어 연계하는 미들웨어 통합방식
뛰어난 확장성과 대용량 데이터 처리가능
하이브리드
(Hybrid)
그룹내는 허브앤스포크, 그룹 간에는 메시지 버스 방식
그룹내 환경에 맞는 작업가능

 

 

 

 

 

26. 다음에서 설명하는 프로세스 스케줄링 기법은 무엇인지 쓰시오.

- 최소 작업 우선(SJF) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선순위를 판별한다.
- 우선순위 = 대기한 시간+서비스를 받을 시간/서비스를 받을 시간
더보기

HRN(Highest Response Ratio Next)


프로세스 스케줄링

프로세스 스케줄링 유형 설명  
선점형 스케줄링
(SRMM)
우선 순위가 높은 프로세스가 CPU를 점유하는 스케줄링
SRT
(Shortest Remaining Time First)
가장 짧은 시간이 소요되는 프로세스를 먼저 수행
CPU를 점유하고 있는 프로세스보다 남은 CPU 처리 시간이 짧은 프로세스가 준비 큐에 들어오면서 새로운 프로세스가 CPU를 선점할 수 있다.
RR
(Round Robbin)
프로세스는 같은 크기의 CPU할당
프로세스들에게 정해진 시간 할당량을 주고 그 시간안에 작업을 수행하게함
시간 할당량이 끝나면 다른 프로세스에게 CPU를 넘기고 맨 뒤에가서 다시 기다림
다단계 큐
(Multi Level Queue)
여러개의 큐를 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점
준비 큐를 여러개의 큐로 나누고 각 큐에 우선순위를 부여하는 스케줄링 방식
ex) 대화형 프로세스 , 장기 실행 배치 프로세스 각각 다른 그룹 배치
다단계 피드백 큐
(Multi Level Feedback Queue)
큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드로빈 스케줄링 기법 혼합
프로세스들이 큐를 갈아탈 수 있는 스케줄링 방식

비 선점형 스케줄링
(우기HSF)
한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU 점유 불가능한 스케줄링
우선순위
(Priority)
프로세스별 우선순위에 따라 CPU 할당
우선순위가 높은 프로세스가 먼저 CPU사용, 우선순위가 같은 프로세스는 FCFS방식 처리
기한부
(Deadline)
작업들이 명시된 기한 내에 완료되도록 계획
실시간 시스템에서 중요
HRN
(Highest Response Ratio Next)
대기중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법
프로세스의 우선순위를 CPU처리기간과 대기시간을 동시에 고려해 결정함
* 우선순위 = (대기시간+서비스시간)/서비스시간
SJF
(Shortest Job First)
가장 짧은 작업부터 수행, 평균 대기 시간 최소화, 기아현상 발생
FCFS
(First Come First Service)
프로세스가 대기 큐에 도착한 순서에 따라 CPU할당 = FIFO

[출처] [2022년 제3회 산업기사 실기 출제예상 문제] (1과목) 응용 SW 기초 기술 활용 - 20 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

27. 다음은 파이썬 프로그램이다. 실행결과를 쓰시오.

li = ['Korea', 'America', 'China']
a=0
str01 = ''

for i in li:
   for j in i:
      str01 += j[0]
      a = a + 1
      if a > 5:
         break

print('a :', a, ', str01 :', str01)
더보기

 a : 7, str01 : KoreaAC 


li = ['Korea', 'America', 'China']
a=0
str01 = ''

for i in li:
   for j in i:
      str01 += j[0]
      a = a + 1
      if a > 5:
         break

print('a :', a, ', str01 :', str01)

 

 

 

​28. ( ① )은/는 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다.
또한, ( ② )은/는 개발 과정의 각 단계의 산출물을 검토, 평가, 조정, 처리 등 변화를 통제하는 시점의 기준으로 ​( ① )의 대표적인 처리 기준을 제공해준다. 괄호( ) 안에 들어갈 용어를 쓰시오.

 

더보기

1. 형상관리(Configuration Management)
2. 베이스라인 (Baseline)


형상관리

소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동 

 

(1) 형상관리 절차 - 식통감기

절차 설명
형상 식별 형상관리 대상을 정의 및 식별하는 활동
추적성 부여를 위해 ID, 관리번호 부여
변경 관련 이슈 발생시 ID와 관리번호 이용 추적
형상 통제 형상 항목의 버전 관리를 위한 형상통제 위원회 운영
변경 요구관리, 변경 제어 형상 관리 등 통제지원
베이스라인에 대한 관리 및 형상 통제 수행 가능
형상 감사 소프트웨어 베이스라인의 무결성 평가
베이스라인 변경시 요구사항과 일치 여부 검토
형상 기록 소프트웨어 형상 및 변경 관리에 대한 각종 수행결과를 기록
형상결과보고서 작성

 

 

 

 

 

29. 다음은 DoS 공격에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

( ① ) 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화된 패킷을 처리하게 만드는 공격 방법이다.
( ② )은/는 패킷 전송 시 출발지 IP 주소와 목적지 IP 주솟값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.

 

더보기

1. 죽음의 핑 (PoD; Ping of Death)
2. 랜드어택 (Land Attack)


 DoS 공격 종류

SYN 플러딩 TCP 프로토콜의 구조적인 문제를 이용한 공격
서버의 동시 가용 사용자수를 SYN패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가게 하능 공격 
공격자는 ACK 를 발송하지 않고 계속 새로운 연결 요청을 하게되어 서버는 자원할당을 해지않고 자원만 소비하여 고갈됨
UDP플러딩 대량의 UDP 패킷을 만들어 임의의 포트번호로 전송하여 응답메시지를 생성하게하여 지속해서 자원을 고갈시키는 공격
ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기함
스머프 / 스머핑
(Smurf)
출발지 주소를 공격의 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
바운스 사이트라고 불리는 제3의 사이트를 이용해 공격
죽음의 핑
(PoD : Ping of Death)
ICMP패킷 (Ping)을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화가 발생하고 수신 측에서는 단편화된 패킷을 처리(재조합)하는 과정에서 많은 부하가 발생하거나 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격기법
랜드어택
(Land Attack)
출발지 IP와 목적지 IP를 같은 패킷주소로 만들어 보냄으로써 수신자가 자기자신에게 응답을 보내게 하여 시스템의 가용성 침해하는 공격기법
티어드롭
(Tear Drop)
IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신 시스템이 문제를 발생하도록 만드는 DoS 공격
공격자는 UP Fragment Offset 값을 서로 중첩되도록 조작하여 전송하고 이를 수신한 시스템이 재조합 하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 공격방식
해커는 대상 컴퓨터 시스템에 일련의 조각난 패킷을 보낸후 컴퓨터 시스템이 이러한 패킷을 수신하면 올바른 순서로 다시 조립하려고 시도한다.
그러나 패킷의 형식이 잘못되었기 때문에 이 프로세스로 인해 시스템이 과부하되고 컴퓨터가 충돌하거나 중지될 수 있다.
봉크/보잉크
(Bonk/Boink)
프로토콜의 오류제어를 이용한 공격기법, 시스템의 패킷 재 전송과 재조립이 과부하를 유발
ex) 봉크 : 같은 시퀀스 번호를 계속 보냄
보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성

죽음의핑(Ping of Death)은 규정 크기 이상의 ICMP 패킷으로 시스템을 마비시키는 공격을 말합니다. 반면, 티어드롭(TearDrop)은 IP 패킷을 조작하여 시스템을 마비시키는 공격입니다1. 죽음의핑은 ICMP 패킷을 이용하고, 티어드롭은 IP 패킷을 이용한다는 차이점이 있습니다

 

 

 

 

30. 다음은 테스트 관련 용어이다. 괄호( ) 안에 들어갈 용어을 보기에서 골라 쓰시오.

• ( ① ) : 테스트 오라클 종류 중 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클
• ( ② ) : 테스트 레벨 중 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호 작용을 검증하는 테스트 단계
더보기

1. 참 오라클 

2. 통합 테스트(Integration Test)


테스트 오라클 - 참샘휴일

테스트 결과가 올바른지 판단하기 위해 사전에 정의 된 참 값을 대입하여 비교하는 기법

참 오라클
(True)
모든 입력값에 대하여 기대하는 결과 제공하는 오라클
샘플링 오라클
(Sampling)
특정한 몇개의 입력 값에 대해서만 기대하는 결과를 제공하는 오라클
휴리스틱 오라클
(Heuristic)
특정 입력값에 대해 올바른 결과를 제공하고 나머지 값들에 대해서는 추정 (휴리스틱)으로 처리하는 오라클
일관성 검사 오라클
(Consistent)
애플리케이션 변경이 있을때 수행 전과 후의 결괏값이 동일한지 확인하는 오라클

 

 

테스트 레벨 종류 - 단통시인 

단위 테스트 사용자 요구사항에 대한 단위 모듈, 서브 루틴 등을 테스트
목(Mock) 객체 객체 지향 프로그램에서 독립적인 컴포넌트 테스트를 위해 스텁의 객체지향 버전인 목객체 필요
더미 객체 : 객체만 필요ㅛ하고 기능까지 필요하지 않은경우
테스트 스텁 : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행
테스트 드라이버 : 테스트 대상 하위 모듈을 호출, 파라미터 전달, 모듈 테스트 수행 후 결과 도출
테스트 스파이 : 테스트 대상 클래스와 협력하는 클래스
가짜 객체 : 실제 협력 클래스의 기능을 대체해야 할 경우 생성
통합 테스트 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정 테스트
빅뱅 테스트
(비 점증적 방식)
모든 모듈을 동시에 통합 후 테스트 수행
드라이버, 스텁 없이 실제 모듈로 테스트
상향식 테스트
(점증적 방식)
최하위 모듈부터 점진적으로 상위 모듈과 함께 테스트
테스트 드라이버 필요
하향식 테스트
(점증적 방식)
최상위 모듈부터 하위모듈들을 통합하면서 테스트
테스트 스텁 필요
샌드위치 테스트
(점증적 방식)
상향식 + 하향식 테스트, 병렬 테스트 가능 
(테스트 드라이버, 스텁 필요)
시스템 테스트 개발된 소프트웨어가 정상적으로 수행되는지 검증하는 테스트
기능/비기능 테스트
인수 테스트 계약상의 요구사항이 만족되었는지 확인하기 위한 테스트
알파테스트 사용자가 개발자 환경에서 수행하는 테스트
베타테스트 실제 환경에서 일정 사용자에게 소프트웨어를 사용하게 하고 피드백을 받는 테스트

 


31. 다음은 테스트 관련 용어이다. 괄호( ) 안에 들어갈 용어을 보기에서 골라 쓰시오.

- ( ① )은/는 FCFS(FIFO)와 라운드 로빈 스케줄링 기법을 혼합한 것으로, 새로운 프로세스는 높은 우선순위를 가지고 프로세스의 실행시간이 길어질수록 점점 낮은 큐로 이동하고 마지막 단계는 라운드 로빈 방식을 적용하는 방식이다.
- ( ② )은/는 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원을 점유하는 방식이다.
더보기

1.다단계 피드백 큐 (Muli LevelFeedback Queue)
2 SJF (Shortest Job First)


프로세스 스케줄링

프로세스 스케줄링 유형 설명  
선점형 스케줄링
(SRMM)
우선 순위가 높은 프로세스가 CPU를 점유하는 스케줄링
SRT
(Shortest Remaining Time First)
가장 짧은 시간이 소요되는 프로세스를 먼저 수행
CPU를 점유하고 있는 프로세스보다 남은 CPU 처리 시간이 짧은 프로세스가 준비 큐에 들어오면서 새로운 프로세스가 CPU를 선점할 수 있다.
RR
(Round Robbin)
프로세스는 같은 크기의 CPU할당
프로세스들에게 정해진 시간 할당량을 주고 그 시간안에 작업을 수행하게함
시간 할당량이 끝나면 다른 프로세스에게 CPU를 넘기고 맨 뒤에가서 다시 기다림
다단계 큐
(Multi Level Queue)
여러개의 큐를 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점
준비 큐를 여러개의 큐로 나누고 각 큐에 우선순위를 부여하는 스케줄링 방식
ex) 대화형 프로세스 , 장기 실행 배치 프로세스 각각 다른 그룹 배치
다단계 피드백 큐
(Multi Level Feedback Queue)
큐마다 서로 다른 CPU시간 할당량을 부여, FIFO+라운드로빈 스케줄링 기법 혼합
프로세스들이 큐를 갈아탈 수 있는 스케줄링 방식

비 선점형 스케줄링
(우기HSF)
한 프로세스가 CPU를 할당 받으면 작업 종료 전까지 다른 프로세스는 CPU 점유 불가능한 스케줄링
우선순위
(Priority)
프로세스별 우선순위에 따라 CPU 할당
우선순위가 높은 프로세스가 먼저 CPU사용, 우선순위가 같은 프로세스는 FCFS방식 처리
기한부
(Deadline)
작업들이 명시된 기한 내에 완료되도록 계획
실시간 시스템에서 중요
HRN
(Highest Response Ratio Next)
대기중인 프로세스 중 현재 응답률이 가장 높은 것을 선택, 기아 현상 최소화 기법
프로세스의 우선순위를 CPU처리기간과 대기시간을 동시에 고려해 결정함
* 우선순위 = (대기시간+서비스시간)/서비스시간
SJF
(Shortest Job First)
가장 짧은 작업부터 수행, 평균 대기 시간 최소화, 기아현상 발생
가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유
FCFS
(First Come First Service)
프로세스가 대기 큐에 도착한 순서에 따라 CPU할당 = FIFO

[출처] [2022년 제1회 기사 실기 출제예상 문제] (11과목) 응용 SW 기초 기술 활용 - 28 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

32. ​​다음은 디자인 패턴에 대한 설명이다. 괄호( ) 안에 들어갈 디자인 패턴의 종류를 영어 Full-name으로 쓰시오.

- ( ① ) Pattern: 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴
​- (​ ② ) Pattern: 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴으로 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주어 상속의 대안으로 사용하는 디자인 패턴
더보기

1. Singleton
2. Decorator


생성패턴 : 생빌프로팩앱싱

패턴 설명
빌더
(Builder)
' 복잡한 인스턴스를 조립하여 만드는 구조, 복합 객체를 생성할 때 객체를 생성하는 방법과 객체를 구현하는 방법을 분리함으로써 동일한 생성 절차에서 서로다른 표현 결과를 만들 수 있는 디자인 패턴
' 생성과 표기를 분리해서 복잡한 객체를 생성 (.builder())
컴퓨터를 생산하는 과정에서 빌더 패턴을 사용할 수 있습니다. 빌더 패턴을 사용하면 컴퓨터를 생산하는 과정을 여러 단계로 나누어 각 단계마다 필요한 부품들을 추가하도록 할 수 있습니다. 이를 통해 컴퓨터 생산 과정이 단순화되고, 컴퓨터의 구성 요소들을 다양화할 수 있습니다.
프로토타입
(Prototype)
' 처음부터 일반적인 원형을 만들어놓고 그것을 복사한 후 필요한 부분만 수정하여 사용하는 패턴
' 기존 객체를 복제함으로써 객체를 생성 (.clone())

을 개발하는 과정에서 프로토타입 패턴을 사용할 수 있습니다. 게임에서 사용되는 캐릭터나 아이템 등의 객체들은 각각의 속성들을 가지고 있습니다. 이러한 객체들을 일일이 생성하는 것은 번거롭고 시간이 많이 소요됩니다. 이때 프로토타입 패턴을 사용하면 미리 만들어진 객체를 복제하여 새로운 객체를 생성할 수 있습니다. 이를 통해 게임 개발 과정이 단순화되고, 새로운 캐릭터나 아이템 등을 빠르게 만들 수 있습니다.
팩토리 메서드 
(Factory Method)
'상위 클래스에서 객체를 생성하는 인터페이스를 정의하고 하위 클래스에서 인스턴스로 생성하도록 하는방식
'상위클래스에서는 인스턴스를 만드는 방법만 결정하고, 하위 클래스에서 그 데이터의 생성을 책임지고 조작하는 함수들을 오버라이딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 특성을 갖는 패턴
'생성할 객체의 클래스를 국한하지 않고 객체를 생성

게임에서 캐릭터를 생성하는 과정에서 팩토리 메서드 패턴을 사용할 수 있습니다. 캐릭터는 각각 다른 속성을 가지고 있으며, 이러한 속성들은 캐릭터의 종류에 따라 달라집니다. 이때 팩토리 메서드 패턴을 사용하면 각각의 캐릭터를 생성하는 클래스를 별도로 만들어 객체 생성 코드를 분리할 수 있습니다. 이렇게 하면 새로운 캐릭터를 추가하거나 기존 캐릭터의 속성을 변경하는 것이 용이해집니다.
추상팩토리
(Abstract Factory)
'구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴
' 이 패턴을 통해 생성된 클래스에서는 사용자에게 인터페이스를 제공하고, 구체적인 구현은 Concreate Product 클래스에 이루어지는 특징을 갖는 패턴
' 동일한 주제의 다른 팩토리를 묶음
(ex,CarFactory - 부품생성 LuxuryCarFactory, EconomyCarFactory - 부품반환)
예를 들어, GUI 프로그램에서 버튼, 텍스트 박스, 라디오 버튼 등의 컴포넌트들은 모두 같은 테마로 디자인되어야 합니다. 이때 추상 팩토리 메서드 패턴을 사용하면 각각의 컴포넌트를 생성하는 클래스를 별도로 만들어 객체 생성 코드를 분리할 수 있습니다. 이렇게 하면 새로운 컴포넌트를 추가하거나 기존 컴포넌트의 디자인을 변경하는 것이 용이해집니다.
추상 팩토리 메서드 패턴은 팩토리 메서드 패턴을 확장하여 객체 간의 결합도를 낮추고 유연성을 높일 수 있습니다. 또한, 추상화된 객체를 생성하는 인터페이스를 제공함으로써 구체적인 클래스에 의존하지 않고 객체 생성 코드를 분리할 수 있습니다.
싱글톤
(Singleton)
'전역 변수를 사용하지 않고 객체 하나만 생성하도록 하며, 생성된 객체를 어디서든지 참조할 수 있도록 하는 디자인 패턴
'한 클래스에 한 객체만 존재하도록 제한

 

 

구조패턴 : 구브데퍼플프록컴어

패턴 설명
브릿지
(Bridge)
'기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴
'구현뿐만 아니라, 추상화된 부분까지 변경해야 하는경우 활용
검색 엔진 설계 방식이 있습니다. 검색 엔진에서는 검색 결과를 제공하는 부분과 검색 결과를 출력하는 부분을 분리하여 각자 독립적으로 변형할 수 있게 합니다. 이때 추상화된 검색 결과 클래스와 구체적인 검색 결과 클래스를 분리하고, 추상화된 검색 결과 클래스에서 구체적인 검색 결과 클래스를 참조하도록 합니다. 이렇게 하면 검색 결과를 제공하는 부분과 출력하는 부분을 독립적으로 확장 및 변경할 수 있으며, 새로운 검색 엔진이 추가되어도 기존 코드를 수정하지 않아도 됩니다1
데코레이터
(Decorator)
'기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴
' 기능 확장이 필요할 때 객체간의 결합을 통해 기능을 동적으로 유연하게 확잘할 수 있게 해주어 상속의 대안으로 사용하는 디자인 패턴
'객체의 결합을 통해 기능을 동적으로 유연하게 확장 (원래 코드를 수정하지 않고 기능 추가)

Coffee myCoffee = new Milk(new Sugar(new SimpleCoffee())); System.out.println("Cost of the coffee: $" + myCoffee.cost());
퍼사이드(Facade) '복잡한 시스템에 대하여 단순한 인터페이스를 제공함으로써 사용자와 시스템간 또는 다른 시스템과의 결합도를 낮추어 시스템 구조에 대한 파악을 쉽게 하는 패턴
' 오류에 대해 단위별로 확인할 수 있게 하며 사용자의 측면에서 단순한 인터페이스 제공을 통해 접근성을 높일 수 있는 디자인 패턴
쇼핑몰에서 주문을 처리하는 시스템을 구현한다고 가정해보겠습니다. 이 시스템은 주문 처리 서브시스템, 결제 처리 서브시스템, 배송 처리 서브시스템 등으로 구성될 수 있습니다. 이때, 각 서브시스템들은 다른 서브시스템들과 상호작용해야 합니다. 이때, 퍼사이드 패턴을 사용하면 각 서브시스템들은 퍼사이드 객체를 통해 상호작용하게 되며, 서브시스템들은 퍼사이드 객체만 알고 있으면 됩니다.
플라이웨이트(Flyweight) '다수의 객체로 생성될 경우 모두가 갖는 본질적인 요소를 클래스 화하여 공유함으로써 메모리를 절약하고 '클래스의경량화'를 목적으로 하는 디자인패턴
'여러개의 '가상인스턴스'를 제공하여 메모리 절감
(게임의 각 나무에는 참나무, 단풍나무 또는 소나무와 같은 유형과 크기, 위치 및 색상과 같은 속성 집합이 있습니다. 게임의 각 나무에 대해 별도의 개체를 만드는 대신 Flyweight 패턴을 사용하여 나무 유형을 나타내는 적은 수의 공유 개체를 만든 다음 이러한 개체를 여러 컨텍스트에서 사용할 수 있습니다.)
프록시(Proxy) '실체 객체에대한 대리객체' 실체 객체에 대한 접근 이전에 필요한 행동을 취할 수 있게 만듬
'미리 할당하지 않아도 상관없는 것들을 실제 이용할 때 할당하게 하여 메모리 용량을 아낄 수 있음
'실체 객체를 드러나지 않게하여 정보 은닉의 역할 수행
'특정 객체로의 접근을 제어하기 위한 용도로 사용
인터넷에서 이미지를 다운로드하는 경우, 프록시 객체는 이미지를 다운로드하고 캐싱합니다. 그러면 클라이언트는 이미지를 요청할 때마다 프록시 객체에서 이미지를 가져옵니다. 이렇게 하면 클라이언트가 이미지를 다운로드하는 데 필요한 시간과 대역폭을 줄일 수 있습니다. 
public void display() { if (realImage == null) { realImage = new RealImage(file); } realImage.display(); }
컴포지트(Composite) '객체들의 관계를 트리구조로 구성하여 부분-전체 계층을 표현하는 패턴
'사용자가 단일 객체와 복합객체로 모두 동일하게 다루도록 하는 패턴
'복합 객체와 단일 객체를 동일하게 취급
어댑터(Adapter) '기존에 생성된 클래스를 재 사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴
'상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두가지 형태로 사용됨
'인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움

예를 들어, 미국에서 만든 전기 제품을 한국에서 사용하려면 어댑터가 필요합니다. 이때 어댑터는 미국의 전기 플러그를 한국의 전기 콘센트에 맞게 변환해주는 역할을 합니다.
 
 
 
 
 

33. 다음은 클래스 다이어그램(Class Diagram)에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- 클래스 다이어그램의 구성 요소 중 (          ①         ) 은/는 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술한 것이다.

​​- 클래스 다이어그램의 접근 제어자 중 (​      ②      )은/는 동일 패키지/파생 클래스에서 접근 가능(protected)함을 표현할 때 사용한다.
더보기


​​① 속성(Attribute)
​​② #


https://gmlwjd9405.github.io/2018/07/04/class-diagram.html

[출처] [2022년 제1회 기사 실기 출제예상 문제] (2과목) 화면 설계 - 30 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

34. 다음은 논리적 데이터 모델링 유형에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )모델은 논리적 구조가 2차원 테이블 형태로 구성된 모델로 1:1, 1:N, N:M을 자유롭게 표현할 수 있다.
​​- (​ ② )모델은 논리적 구조가 트리 형태로 구성된 모델로 상하관계 존재하고, 1:N 관계만 허용한다.
더보기

1. 관계 데이터
2. 계층 데이터


논리적 데이터 모델 종류

종류 설명
관계 데이터 모델 • 논리적 구조가 2차원 테이블 형태
• 기본(PK)키와 참조하는 외래키(FK)관계 표현
• 1:1, 1:N, N:M 관계 자유롭게 표현
계층 데이터 모델 • 논리적 구조가 트리형태로 구성된 모델
• 상하관계 존재 (부모-자식)
• 1:N 관계만 허용
네트워크 데이터 모델 • 논리적 구조가 그래프 형태로 구성
• CODASYL DBTG 모델
•상위와 하위 레코드 사이에 다대다(N:M)관계 만족 구조 

 

 

 

 

35. 다음에서 설명하는 IT 기술을 쓰시오.

- 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발된 기술
- 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리 할 수 있는 기술
- 네트워크 장비의 펌웨어 업그레이드를 통해 사용자의 직접적인 데이터 전송 경로 관리가 가능하고, 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제를 처리할 수 있음
더보기

답 ) SDN (Software Defined Networking)


SDN과 관련된 기술로는 NFV(Network Function Virtualization), OpenFlow, VXLAN(Virtual Extensible LAN) 등이 있습니다1. 이들 기술은 모두 네트워크 가상화와 관련된 기술로, 네트워크를 더욱 효율적으로 관리할 수 있게 해주며, 네트워크 장비의 유지보수 비용을 줄일 수 있습니다1. 이해가 되셨나요?

 

SDN은 기존의 네트워크 인프라를 가상화하고 추상화하여 네트워크 리소스를 최적화하고 변화하는 비즈니스 요구, 애플리케이션 및 트래픽에 신속하게 대응할 수 있도록 하는 기술입니다. 예를 들어, 기존의 네트워크 인프라는 물리적인 스위치나 라우터 등으로 구성되어 있습니다. 이러한 물리적인 장비들은 일일이 관리해야 하며, 이로 인해 유지보수 비용이 증가할 수 있습니다. 하지만 SDN을 사용하면 네트워크 인프라를 가상화하여 관리할 수 있으므로, 유지보수 비용을 줄일 수 있습니다.

36. 다음은 정보보안과 관련된 내용이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- 정보보안 3요소 중에서 (       ①     )은/는 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성이다.
- 기업에서는 (        ①       )을/를 구현하기 위해서 다양한 보안 장비 및 유틸리티를 사용한다.
대표적인 유틸리티인 (        ②      )은/는 어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티이다.
더보기

1. 기밀성

2. TCP 레퍼 (TCP Wrapper)


SW 개발 보안 구성요소 - 무기가

3대요소 설명
무결성
(Integrity)
정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴 되지 않음 보장
기밀성
(Confidentiality)
인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출 차단하는 특성
가용성
(Avaliability)
권한을 가진 사용자가 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성

 

2. TCP 레퍼 (TCP Wrapper)

TCP Wrapper를 사용하면 특정 IP 주소나 도메인 이름에서 오는 요청만 허용하거나 거부할 수 있습니다.

예를 들어, hosts.allow와 hosts.deny 파일을 이용하여 특정 IP 주소나 도메인 이름에서 오는 요청을 제어할 수 있습니다.

ACL(Access Control List) 시스템은 네트워크에서 특정 IP 주소나 포트에 대한 접근을 제어하는 방법입니다.

TCP Wrapper는 ACL 시스템 중 하나로, 호스트 기반의 네트워크 ACL 시스템입니다.

TCP Wrapper를 대체할 수 있는 방법으로는 iptables나 firewalld 같은 방화벽 프로그램을 사용하는 것이 있습니다.

또한, 최신 리눅스 배포판에서는 TCP Wrapper 대신 네트워크 단위의 접근 통제, 서비스 자체적인 ACL이 지원되고 있기 때문에 TCP Wrapper의 사용은 지양됩니다.

 

[출처] [2022년 제1회 기사 실기 출제예상 문제] (9과목) 소프트웨어 개발 보안 구축 - 33 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

37.  다음에서 설명하는 라우팅 프로토콜을 쓰시오.

- AS 내에서 사용하는 거리 벡터(Distance-Vector) 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
- 경로 선택 매트릭은 홉 카운트(Hop Count)이고, 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용
- 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신
더보기

RIP(Routing Information Protocol)


라우팅 프로토콜은 라우터 간 통신 방식을 규정하는 통신 규약입니다.

라우터는 패킷을 전송할 때 목적지 주소를 보고 패킷을 전송할 방향을 결정합니다.

이때 라우팅 프로토콜을 사용하면 라우터들이 서로 정보를 교환하여 목적지까지 가장 효율적인 경로를 찾아서 패킷을 전송할 수 있습니다

라우팅 프로토콜

구분 종류 설명
내부
라우팅 프로토콜
(IGP; Interior Gateway Protocol)
RIP
(Routing Infomaiton Protocol)
AS(자율시스템) 내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 내부라우팅 프로토콜
최초의 라우팅 프로토콜, 벨만-포드알고리즘, 15홉 제한 
인접한 라우터와 경로 정보를 주기적으로 교환
OSPF
(Open Shortest Path First)
RIP의 단점 개선, 최단 경로를 찾는 프로토콜,
링크상태 알고리즘 (다익스트라 알고리즘), 홉 제한 없음
최단 경로 우선 알고리즘을 사용하여 최적의 경로 결정
IGRP
(Interior Gateway Routing Protocol)
거리벡터방식의 내부라우팅 프로토콜, RIP보다  확장성 좋고 여러개 경로를 지원 (시스코사 장비에서만 사용)
EIGRP
(Enhanced IGRP)
IGRP 기능 향상시킨 라우팅 프로토콜, 거리벡터방식 + 링크상태방식을 결합한 하이브리드 프로토콜 (시스코사 사유프로토콜 - 일부 기능은 개방형)
외부
라우팅 프로토콜
(EGP; Exterior Gateway Protocol)
BGP
(Border Gate Way Protocol)
AS 상호간에 경로를 교환하기 위한 라우팅 프로토콜, 거리벡터알고리즘
BGP는 TCP 포트 179번을 통해 유니캐스트를 이용하여 라우팅 정보를 전송

 

 

38. 다음은 접근 통제 관련 내용이다. 괄호( ) 안에 들어갈 용어를 보기에서 골라서 쓰시오.

- ( ① ) : 객체나 객체 내의 데이터에 대한 접근을 요청하는 능동적인 개체(행위자)
- ( ② ) : 자신의 신원을 시스템에 증명하는 과정이며 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
- ( ③ ) : 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법
[보기]
​Subject, Object, Access, Identification, Authentication, Authorization, DAC, MAC, RBAC
더보기

​① Subject
​​​​​② Authentication
​​​​​③ RBAC​​


(1) 접근 통제 기법 - 식인인책

유형 설명
식별 (Identification) 자신이 누구라고 시스템에 밝히는 행위
객체에게 주체가 자신의 정보를 제공하는 활동
인증 (Authentication) 주체의 신원을 검증하기 위한 활동
주체의 신원을 객체가 인정해주는 행위
인가(Authorization) 인증된 주체에게 접근을 혀용하는 활동
특정 업무를 수행할 권리를 부여하는 행위
책임추정성
(Accountability)
주체의 접근을 추적하고 행동을 기록하는 활동
식별, 인증, 인가, 감사 개념을 기반으로 수립

 

(2) 서버 접근 통제 유형 - DMRB

유형 설명 비교
임의적 접근통제
(DAC; Discretionary
Access Control)
시스템에 대한 접근을 사용자 그룹 신분 기반으로 제한하는 방법
DAC에서 사용자는 자원과 관련된 ACL(Access Control List)이 수정됨으로써 자원에 대한 권한을 부여 
권한부여 - 데이터소유자
접근결정 - 신분
정책변경 - 변경용이
장점 - 구현용이, 유연함
강제적 접근통제
(MAC; Mandatory Access Control)
시스템 정보의 허용등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템에 대한 접근을 제한하는 방법
MAC에서 사용자들은 자원에 대한 권한을 관리자로 부터 부여
관리자만이 시스템 자원에 대한 권한을 할당할 수 있음
권한부여 - 시스템
접근결정 - 보안등급
정책변경 - 고정적(변경어려움)
장점 - 안정적, 중앙집중적
역할기반 접근 통제
(RBAC; Role Base -)
중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직내 맡은 역할에 기초하여 자원에 대한 접근을 제한하는 방법
RBAC에서 자원에 대한 접근은 사용자에게 할당된 역할에 기반
권한부여 - 중앙관리자
접근결정 - 역할
정책변경 - 변경용이
장점 - 관리용이

 

 

 

38-1. 다음은 보안 암호 알고리즘에 대한 설명이다. 괄호( ) 안에 들어갈 암호화 알고리즘 종류를 쓰시오.

- ( ① ) : 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘으로 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit 암호문 블록으로 암호화하는 대칭키 알고리즘
- ( ② ) : 유한체 위에서 정의된 타원곡선 군에서의 이산대수 문제에 기초한 암호화 알고리즘으로 RSA보다 키의 비트 수를 적게하면서 동일한 성능을 제공하는 하는 비대칭키 암호화 알고리즘
더보기

1. SEED
2. ECC(Eliptic Curve Cryptography)


종류 설명
DES 
(Data Encryption Standard)
블록크기 64bit, 키 길이 56bit 인 페이스텔구조, 미국 연방 표준국(NIST) 암호화 알고리즘
AES DES  대체, 3DES의 성능 문제를 극복하기 위해 개발, 미국 표준 기술 연구소 
SEED 한국 인터넷 진흥원(KISA) 개발
ARIA 경량 환경 및 하드웨어에서 효율성 향상을 위해 개발, 국가정보원 + 산학연구협회가 개발
IDEA 스위스 연방기술 기관에서 개발
LFSR 선형 되먹임 시프트 레지스터
디피-헬만 최초의 공개키 알고리즘, 이산대수
RSA MIT 수학교수가 고안, 소인수분해 수학적 알고리즘
ECC RSA암호방식 대안, 타원곡선암호
ELGamal 이산대수 계산이 어려운 문제를 기본 원리로 함
MD5 MD4개선, 프로그램이나 파일의 무결성 검사에 사용
SHA-1 NSA에서 미 정부 표준으로 지정, DSA사용
SHA-256/384/512 256비트의 해시값을 생성하는 해시함수
HAS-160 국내 표준 서명 알고리즘을 위해 개발된 해시함수,  MD5 장점 + SHA-1장점

 [출처] [2022년 제1회 기사 실기 출제예상 문제] (9과목) 소프트웨어 개발 보안 구축 - 36 (수제비- IT 커뮤니티 (정보처리기사,빅데이터분석기사 등)) | 작성자 수제비쌤

 

 

 

 

39. 데이터 모델의 구성요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은 무엇인가?

더보기

연산(Operation)


Structure 구조 : 데이터의 구조

- 정적 성질, 개체 타입과 이들 간의 관계를 명세함

 

Operation 연산 : 데이터의 성질

- 개체 인스턴스를 처리하는 작업에 대한 명세

- 데이터 조작 기법

 

Constraint 제약조건 : 데이터의 논리적 제약

- 구조로부터 파생, 의미적 제약

- 데이터 조작의 한계를 표현한 규정

 

 

 

40. 다음은 프로젝트 일정 관리에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 시간선(Time-line) 차트라고 하고, 작업이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한 일정표는 ( ① ) 차트이다.
- 프로젝트에 필요한 전체 작업의 상호관계를 표시하는 네트워크로 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 알 수 있는 것은 ( ② ) 차트이다.
더보기

​​① 간트(GANTT)
​​​​​② 퍼트(PERT)


간트 차트와 PERT 차트는 프로젝트 관리에서 사용되는 시각화 도구입니다.

간트 차트는 막대 그래프로 표시되고 PERT 차트는 흐름 차트로 표시됩니다.
간트 차트는 프로젝트 일정을 시각적으로 보여주며, 작업의 시작과 종료 시간, 작업의 진행 상황 등을 한눈에 파악할 수 있습니다.
반면 PERT 차트는 프로젝트 일정을 계획하고 관리하기 위한 도구로 사용됩니다. PERT 차트는 프로젝트의 작업들 간의 선후관계를 나타내며, 각 작업이 얼마나 걸리는지와 작업이 완료되기까지 얼마나 많은 시간이 필요한지를 보여줍니다1.

댓글