TOPCIT 기출문제 풀이

최대한·2021년 10월 31일
2
post-thumbnail

학교에서 희망자에 한해 무료로 TOPCIT 응시를 가능하게 해줘서 준비할 겸 문제 풀이를 진행해봤습니다.

TOPCIT?

  • TOPCIT은 Test Of Practical Competency in IcT의 약어로 ICT 산업 종사자 및 SW 개발자가 비즈니스를 이해하고, 요구사항에 따른 과제를 해결하여 업무를 성공적으로 수행하는데 요구되는 기본적인 핵심 지식·스킬·태도의 종합적인 능력을 진단하고 평가하는 제도입니다.

TOPCIT 기출 문제를 풀면서 수업 시간에 배운 내용이 어느정도 나오는 것을 보고 IT 전공인 학생들이 한 번쯤은 공부하고 시험을 본다면 좋은 경험이 될 것이라 생각했습니다.

여기서 '비즈니스 이해'라는 부분으로 인해 비즈니스 개념이 부족한 저 같은 경우에는 생소한 단어 및 지식이 등장해서 당황하기도 했습니다.

시험 구성

시험 문제의 구성은 다음과 같습니다.
(출처: 나무위키)

  • 기술영역으로 소프트웨어 개발, 데이터 이해와 활용, 시스템 아키텍쳐, 정보보안이 총 565점
  • 비즈니스 영억으로는 IT 비즈니스 및 윤리, 테크니컬 커뮤니케이션 및 프로젝트 관리가 총 175점
  • 마지막으로 기술영역과 비즈니스 영역을 결합한 통합 영역이 260점으로 시험은 총 1000점 만점입니다.

기술 영역

시스템 아키텍쳐 객관식

Q. 최근 코로나-19 확산으로 인해 재택근무를 위한 환경으로 부각되고 있는 데스크톱 가상화 VDI Virtual Desktop Infrastructrue에 대한 설명으로 올바르지 않은 것은?

<보기>
① 사용자의 데스크톱은 입출력을 위한 장치로만 사용된다.
② 사용자의 업무수행을 위한 데이터, 문서 등은 데스크톱에 저장된다.
③ 서버에서 애플리케이션 실행결과가 데스크톱 환경에 이미지 형태로 전송된다.
④ 클라이언트, 세션관리자, 가상머신(VM), 스토리지 등의 논리적 계층 구조로 구성된다.

해설

②. 사용자의 업무수행을 위한 데이터, 문서 등은 데스크톱에 저장된다.

데스크톱 가상화 환경에서 사용자의 업무수행을 위한 애플리케이션, 데이터, 문서 등은 서버에 저장되고, 서버에서 실행된 애플리케이션 실행결과가 데스크톱 환경에 이미지 형태로 전송되어 사용자의 데스크톱은 입출력을 위한 장치로만 사용됨.

정보보안 단답형

Q. 다음 보기에서 ( ㄱ ) 공통적으로 들어갈 알맞은 용어를 적으시오.

<보기>

A 기업은 고객의 비밀번호의 안전한 관리를 일방향 암호화하여 저장하기로 한다.
하지만 고객의 비밀번호만 해쉬함수를 적용하여 저장,관리하게 되면 레인보우(Rainbow) 공격 등과 같은 취약하기 때문에 비밀번호에 ( ㄱ ) 값을 추가하여 해쉬 함수를 적용하고, ( ㄱ ) 값은 안전하게 보관하기로 결정했다.

해설

답: SALT

고객의 비밀번호 등의 안전한 관리를 위해 SHA-256이상의 안전한 해쉬 함수를 사용해야 하며, SALT 값과 같은 임의의 문자열을 추가하여 해쉬함수를 적용하고, 사용된 SALT 값은 안전하게 보관해야 한다

데이터 서술형

Q. 보기의 DDL (Data Definition Language) 문을 참고하여 아래 질문에 답하시오.

1) <보기>는 뷰 (view)를 생성하기 위한 DDL 문이다. 데이터베이스뷰의 개념에 대해 서술하시오.

<보기>

CREATEVIEW VIP고객(고객아이디, 고객성명, 핸드폰번호)
AS SELECT 고객아이디, 고객성명, 핸드폰번호
FROM 고객
WHERE 등급=’VIP’
WITHCHECK OPTION;

해설

기본 테이블인 ‘고객’테이블에서 등급이 ‘VIP’인 고객의 고객 아이디, 성명, 핸드폰 번호를 추출하여 ‘VIP 고객’이라는 이름의 뷰를 생성한다.

“VIEW는 데이터베이스에서 하나 이상의 기본 테이블로부터 유도되어 물리적으로는 존재하지 않는 논리적 가상 테이블이다”

2) [보기]의 밑줄 친 부분의 의미에 대해 서술하시오

“ WITH CHECK OPTION; ”

해설

뷰를 생성할 때 WITH CHECK OPTION을 사용하면, 뷰를 생성할 때의 조건에 해당하는 (= 조건을 만족하는) 데이터에 대해서만 추가/변경/삭제가 가능하도록 제한한다.

소프트웨어 수행형

Q. [보기]의 클래스 다이어그램(Class Diag)을 참고하여 아래 질문에 답하시오.

1) [보기-A]를 [보기-B] 설계 변경에 적용한 리팩토링 기법을 설명하시오.

해설

상위 클래스 추출 (Extract Superclass)

여러 클래스에 공통으로 포함된 유사한 기능의 필드나 매서드를 추출하여 상위 클래스를 생성하고 공통 상위 클래스로 공유하도록 하는 리팩토링 기법

2) [보기-B]의 SavingAccount 추상 클래스를 JAVA 코드로 구현하시오

abstract class SavingAccount {
protected int period;
protected double rate;
protected double money;
public abstract double calcInterest();
}

비즈니스 영역

아래부터 등장하는 문제는 비즈니스 개념을 포함합니다.

SWOT 분석

Q. SWOT가 각각 무엇을 나타내는지 그 용어(영어 또는 한글)를 적으시오.

해설

Strength: 강점, Weakness: 약점, Opportunity: 기회, Threat: 위협의 머리글자를 모아 만든 단어로 경영 전략을 수립하기 위한 분석 도구이다. SW분야에선 주로 창업 아이템을 선정하거나 시장진입을 하기 전 SWOT 분석을 통해 전략을 세운다

생산성과 효율성

Q. 생산성을 평가하는 두가지 관점 중 효율성(Efficiency)과 효과성(Effectiveness)의 의미를 각각 기술하고, 효과성은 높지만 효율성은 낮은 한 가지 예를 소개하시오.

해설

효율성은 능률성이라고도 하며 투입에 대한 산출의 비율을 나타내는 용어

효율성을 높이기 위해서는 최소의 비용으로 최대의 효과를 추구해야 함.

효과성은 목표를 얼마나 달성하였는가와 관련됨.
목표에 달성이 얼마나 되었는지에 따라서 효과성이 결정됨.

예시) 집에서 나온 바퀴벌레를 잡기 위해 집 전체를 태워버리는 일.
바퀴벌레를 잡기 위한 목표에는 충분했지만, 집을 태워버리는 손해를 봤으므로 효과성은 높지만 효율성은 낮은 예 중 하나이다.

MM (Man-Month)

Q. 어떤 정보시스템 개발에 A, B, C 세 개의 팀이 참여. A팀은 전체 프로젝트 기간인 1년 낸내 참여. B팀은 초기 10개월, C팀은 후기 2개월만 참여. A팀, B팀, C팀의 인원이 각각 4명, 4명, 2명일 때, 이 정보시스템 개발에 소요된 MM(Man-Month)는 얼마인가?

Man-Month란 SW 공학에서 사용되는 용어로 어떤 프로젝트를 하는데 투입되는 인력자원을 시간단위로 표현하는 단위

1 Man-Month란 한 사람이 1개월 동안 작업하면 끝낼 수 있는 프로젝트란 의미이고, 10Man-Month란 10사람이 1개월 혹은 1사람이 10개월 동안 일해야 끝낼 수 있는 프로젝트를 의미. 이때 개발자의 능력은 모두 동일하다는게 전제.

따라서 (4x12) + (4x10) + (2x2) = 92Man-Month 이다.

profile
한국 사람입니다.

0개의 댓글