정보처리기사 기출문제 2020년 4회

Minkyung Park ·2022년 4월 11일
0

정보처리기사 문제

목록 보기
20/21

소프트웨어 설계

  1. XP(eXtreme Programming)의 기본원리로 볼 수 없는 것은?

① Linear Sequential Method(선형 순차 모델) ->폭포수 모형(waterfall model)
② Pair Programming
③ Collective Ownership
④ Continuous Integration

정답:1번
설명: 애자일 방법론 중 하나로, 비즈니스 상의 요구가 시시각각 변동이 심한 소규모 프로젝트에 적합한 개발 방법론
- 12개 정도의 구체적인 실천 방법(Practice) 을 정의

  • 짧은 주기(short term) 로 여러번 고객에게 납품 반복

  • 개발 문서 보다소스코드를, 조직적인 개발 보다는 개개인의 책임과 용기를 중시

  • Pair Programming = 하나의 작업을 2명의 프로그래머가 코딩.리뷰 공동 수행.

  • Collective (Code) Ownership = 시스템에 있는 소스코드는 팀의 모든 프로그래머가 언제라도 수정가능.

  • Continuous Integration = 상시 빌드 및 배포가 가능한 상태로 유지.

Whole Team(전체 팀), Small Releases(소규모 릴리즈)

Test-Driven Development(테스트 주도 개발), Continuous Integration(계속적인 통합)

Collective Ownership(공동 소유권), Pair Programming(짝 프로그래밍)

Design Improvement(디자인 개선) 또는Refactoring(리팩토링)
익스트림 프로그래밍
폭포수 모델
소프트웨어 생명 주기 모형


  1. 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?

① 객체 다이어그램(Object Diagram)
② 패키지 다이어그램(Package Diagram)
③ 상태 다이어그램(State Diagram)
④ 자료 흐름도(Data Flow Diagram)

정답:3번.
설명: 객체 모델링(Object Modeling)

  • 객체 다이어그램을 이용
  • 정보 모델링이라고도 함
  • 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정
  • 가장 중요하며 가장 선행되는 단계

동적 모델링(Dynamic Modeling)

  • 상태도를 이용
  • 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현

기능 모델링(Functional Modeling)

  • 자료 흐름도(DFD)를 이용
  • 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현
  • 어떤 데이터를 입력하면 어떤 결과를 구할 것인지 표현

설계 순서
1. 입출력 결정
2. 자료 흐름도 작성(기능 의존 관계를 서술)
3. 기능의 내용을 상세히 기술
4. 제약사항을 결정하고 최소화


  1. 다음 내용이 설명하는 객체지향 설계 원칙은?

-클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다.
-클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.

① 인터페이스 분리 원칙(ISP, Interface Segregation Principle)
② 단일 책임 원칙(SRP, Single Responsibility Principle)
③ 개방 폐쇄의 원칙(OCP, Open Closed Principle)
④ 리스코프 교체 의 원칙 -> 리스코프 치환 원칙(LSP, Liskov Substitution Principle)
정답:4번.
설명: 객체지향 설계 5원칙(SOLID)
단일 책임 원칙(SRP, Single Responsibility Principle)
-객체는 단 하나의 책임만 가져야 한다.

개방 폐쇄의 원칙(OCP, Open Closed Principle)
-소프트웨어의 요소는 기존의 코드에 대해 확장에는 열려있으나 변경에는 닫혀있어야한다.

리스코프 치환 원칙(LSP, Liskov Substitution Principle)
-프로그램의 객체는 정확성을 깨뜨리지 않으면서 하위 타입인 인스턴스로 바꿀 수 있어야한다.

인터페이스 분리 원칙(ISP, Interface Segregation Principle)
-인터페이스를 특정 클라이언트에 특화되도록 분리시키라는 설계 원칙.

의존관계 역전 원칙(DIP, Dependency Inversion Principle)
-추상화에 의존하고 구체화에 의존하지 말아야한다.

객체지향 설계 5원칙


  1. 코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?

① 순차 코드
② 10진 코드
③ 표의 숫자 코드
④ 블록 코드

정답:3번.
설명: 표의 숫자 코드 (Significant Digit Code)
대상 자료의 물리적인 수치 값. 즉, 중량, 면적, 용량, 거리, 광도 등을 코드에 적용시켜 코드화를 하는 방법.


  1. 그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되지 않는 것은?

① 객체 모델링
② 기능 모델링
③ 동적 모델링
④ 블랙박스 분석 모델링

정답:4번.
설명: 럼바우 분석 기법 (객동기)
-소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석(object-oriented analysis)기법.
순서는 객체 모델링, 동적 모델링, 기능 모델링 순으로 이루어짐.


  1. UML의 기본 구성요소가 아닌 것은?

① Things
② Terminal
③ Relationship
④ Diagram

정답: 2번.
설명: UML(Unified Modeling Language)

  • 통합 모델링 언어
  • 시스템을 모델로 표현해주는 대표적인 모델링 언어
    사물(Things)구조, 행위,그룹,주석 등.
    관계(Relationships)의존 관계, 연관 관계, 일반화 관계 등.
    다이어그램(Diagrams)객체 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등.

  1. 소프트웨어의 상위설계에 속하지 않는 것은?

① 아키텍처 설계
② 모듈 설계
③ 인터페이스 정의
④ 사용자 인터페이스 설계

정답:2번.
설명: 모듈 설계는 하위에 속한다.


  1. 다음 중 자료사전(Data Dictionary)에서 선택의 의미를 나타내는 것은?
    ① [ ]
    ② { }
    ③ +
    ④ =

정답:1번
설명:
[ ] -> 선택.
{ } -> 반복.
+ -> 연결.
= -> 정의.
( ) -> 생략.


  1. 요구 사항 명세기법에 대한 설명으로 틀린 것은?

① 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
② 비정형 명세기법은 사용자의 요구를 표현할 때 ~~ Z 비정형~~ 명세기법을 사용한다. -> Z 정형 명세 기법.
③ 정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
④ 정항 명세기법은 비정형 명세기법에 비해 표현이 간결하다.

정답:2번.
설명: Requirement Specification

※ Requirement Specification은 때로는 '요구사항 명세서', 즉 문서 그 자체를 의미하기도 함

  • 요구사항 명세는 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미
  • 기능 요구사항을 빠짐없이 기술
  • 비기능 요구사항을 필요한 것만 기술
  • 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 사용될 수 있음

  1. 애자일 방법론에 해당하지 않는 것은?

① 기능중심 개발
② 스크럼
③ 익스트림 프로그래밍
④ 모듈중심 개발

정답:
설명: 애자일 방법론(Agile)
-절차나 문서보다 사람과 업무자체를 중요시하여 유연하고 신속한 개발을 추구하는 방법론.
특징

  • 절차와 도구보다 개인과 소통을 중요하게 생각한다.
  • 문서화보다는 소프트웨어가 잘 실행되는 것에 가치를 둔다.
  • 계획보다는 효과적인 변경 대응에 중심을 둔다.
  • 고객과의 피드백을 중요하게 생각한다.

① 기능중심 개발
② 스크럼
③ 익스트림 프로그래밍
④ 모듈중심 개발 -> FDD( Feature-Driven Development )

정답:1번.
설명:
익스트림 프로그래밍(Extreme Programing, XP) -> 의사소통, 단순성, 피드백, 자신감
애자일 개발 프로세스의 대표자로 애자일 개발 프로세스의 보급에 큰 역할을 하였다. 이 방법은 고객과 함께 2주 정도의 반복개발을 하고, 테스트와 우선 개발을 특징으로 하는 명시적인 기술과 방법을 가지고 있다.

백로그와 스프린트 -> 스크럼(SCRUM)
30일마다 동작 가능한 제품을 제공하는 스플린트를 중심으로 하고 있다. 매일 정해진 시간에 정해진 장소에서 짧은시간의 개발을 하는 팀을 위한, 프로젝트 관리 중심의 방법론이다.

기능 중심 개발 -> FDD( Feature-Driven Development )
feature마다 2주정도의 반복 개발을 실시한다. Peter Coad가 제창하는 방법론으로써, UML을 이용한 설계 기법과도 밀접한 관련을 가진다.

DSDM (Dynamic systems development method, DSDM) -> 동적 시스템 개발 방법
초기에 소프트웨어 개발 방법으로서 사용된 애자일 프로젝트 전달 프레임워크이다.1994년 처음 모습을 드러된 DSDM은 원래 고속 응용 프로그램 개발(RAD) 방식의 일부 원리를 제공하려고 했다. 나중 버전에서 DSDM 애자일 프로젝트 프레임워크가 개정되면서 소프트웨어 개발과 코드 작성에 주로 초점을 두는 대신, 프로젝트 관리, 솔루션 전달의 일반적인 접근 방식이 되었으며 IT가 아닌 프로젝트에서 사용될 수 있게 되었다.

Crystal -> 크리스탈
크리스탈은 일반적인 프로세스나 도구보다는 '사람'에게 더 많은 중점을 두는 방법론이다. 생명이 중요하지 않은 시스템에서 작업하는 최대 6/8명의 공동 배치 소프트웨어 개발자 팀에 적용하는 방식이다.
애자일 방법론


소프트웨어 개발


  1. EAI(Enterprise Application Integration) 구죽유형 중 Hybrid에 대한 설명으로 틀린 것은?

① Hub &Spoke와 Message Bus의 혼합방식이다.
② 필요한 경우 한 가지 방식으로 EAI구현이 가능하다.
③ 데이터 병목현상을 최소화할 수 있다.
④ 중간에 미들웨어를 두지 않고 각 애플리케이션을 point to point로 연결한다. -> point to point 방식에 대한 설명.

정답: 4번.
설명:EAI (Enterprise Application Integration)
엔터프라이즈의 미들웨어를 인프라로 하여 다양한 이질적 기업환경(애플리케이션, 데이터, 플랫폼 및 네트워크 등)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 유기적인 시스템
EAI


  1. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은?

① pmd
② checkstyle
③ valance
④ cppcheck

정답: 3번.
설명:Source Code Quality Analysis; Source Code Quality Assurance; Source Code Quality Metric;
소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위한 과정

정적 분석

  • 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석.
  • 비교적 애플리케이션 개발 초기의 결함을 찾는데 사용되고, 개발 완료 시점에서는 개발된 소스코드의 품질을 검증하는 차원에서 사용.
  • 동적 분석 도구로는 발견하기 어려운 결함을 찾아내고, 소스코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석 가능.

정적 분석 도구:pmd, cppcheck, checkstyle, sonarQube, ccm, cobertuna.

동적 분석
작성한 소스코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결람 등을 분석.
동적 분석 도구: Avalanche, Valgrind.


  1. 검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?

① 디버깅 검사
② 형상 검사
③ 자료구조 검사
④ 알파 검사

정답: 4번.
설명:
검증 검사 기법


  1. 인터페이스 구현 검증 도구가 아닌 것은?

① ESB ->(Enterpise Service Bus) - 비지니스 내에서 서비스, 어플리케이션, 자원을 연결하고 통합하는 미들웨어
② xUnit
③ STAF
④ NTAF

정답:1번.
설명: 인터페이스가 정상적으로 문제없이 작동하는지 확인하는 도구로
xUnit, STAF, FitNesse, Selenium, watir 가 있다.


  1. 다음 트리에 대한 INORDER 운행 결과는?

① D B A E C F
② A B D C E F
③ D B E C F A
④ A B C D E F

정답: 1번.
설명: Inorder(중위) 순회: Left -> 루트노드(Root) -> Right
D -> B -> A -> E -> C -> F

  • Preoreder(전위) 순회: Root -> Left -> right
  • Postorder(후위) 순회: Left -> Right -> Root

  1. n 개의 노드로 구성된 무방향 그래프의 최대 간선수는?

① n-1
② n/2
③ n(n-1)/2
④ n(n+1)

정답:3번.
설명: 무방향 그래프(Undirected Graph)

  • wjdwjadl n개인 무방향 그래프에서 최대 간선 수 : n(n-1)/2

  1. 다음이 설명하는 테스트 용어는?
  • 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다.
  • 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.

① 테스트 케이스
② 테스트 시나리오
③ 테스트 오라클
④ 테스트 데이터

정답:3번.
설명: 테스트 케이스(Test Case): 테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서

테스트 시나리오(Test Scenario): 테스트 수행을 위한 여러 개의 테스트 케이스의 집합으로 테스트 케이스의 동작 순서를 기술한 문서이며, 테스트를 위한 절차를 명세한 문서

테스트 데이터(Test Data): 컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터의 집합으로서 프로그램의 기능을 하나씩 순번에 따라 확실하게 테스트할 수 있도록 조건을 갖춘 데이터


  1. 빌드 자동화 도구에 대한 설명으로 틀린 것은?

① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
② 빌드 자동화 도구는 지속적인 통합개발환경 에 서 유용하게 활용된다.
③ 빌드 자동화 도구에는 Ant, Gradle, Jenkins등이 있다.
④ Jenkins는 Groovy 기반으로 한 오픈소스로 안드로이드 앱 개발 환경에서 사용된다.

정답:4번.
설명: Jenkins는 Java기반의 오픈 소스로 가자 많이 활용된다.

  • Gradle:그루비(Groovy)를 기반으로 한 오픈 소스로서 안드로이드 앱 개발 환경에서 사용.

  1. 저작권 관리 구성 요소에 대한 설명이 틀린 것은?

① 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제 공하는 저작권자
콘텐츠 분배자(Contents Distributor): 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능 -> 패키저(Packager)에 대한 설명.
③ 클리어링 하우스(Clearing House) : 키 관리 및 라이선스 발급 관리
④ DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제

정답:2번.
설명: 콘텐츠 분배자(Contents Distributor) :암호화된 콘텐츠를 유통하는 곳이나 사람, 쇼핑몰 등으로 암호화된 콘텐츠 제공.


  1. 블랙박스 테스트 기법으로 거리가 먼 것은?

① 기초 경로 검사 -> 화이트 박스 테스트 기법
② 동치 클래스 분해
③ 경계값 분석
④ 원인 결과 그래프

정답: 1번.
설명:
* 블랙박스 테스트 동경원오비

  • 동치분할 검사(Equivalence Partitioning)
  • 경계값 분석(Boundary Value Analysis)
  • 원인-효과 그래프 검사(Cause-Effect Graphing Testing)
  • 오류예측검사(Fault Based Testing)
  • 비교검사(COmparison Testing)

* 화이트박스 테스트 기조루데

  • 기초경로 검사(Basic Path Testing)
  • 조건 검사(Condition Testing)
  • 루프 검사(Loop Testing)
  • 데이터 흐름 검사(Data Flow Testing)

  1. 해싱함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식은?

① 제산법
② 폴딩법
③ 기수변환법
④ 숫자분석법

정답: 2번
설명: 해싱함수

  • 제산법(Dividion)
    키를 임의의 양의 정수로 나눈 나머지를 그 키의 레코드를 저장하는 주소로 결정하는 방법.

  • 폴딩(Folding)
    키를 여러 부분으로 나누고, 나누어진 각 부분의 값을 모두 더하거나 보수(XOR)를 취한 결과 값을 레코드 주소로 결정하는 방법.

  • 계수 분석(Digit Analysis)
    키 값을 구성하는 숫자의 분포를 파악하여 균등한 분포의 숫자를 선택하여 레코드 주소를 결정하는 방법.

  • 제곱법(Mid-Square)
    키값을 제곱한 값의 중간 부분 값을 선택하여 레코드 주소로 결정하는 방법.

  • 기수 변환(Radix Transformation)
    주어진 키 값을 다른 진법으로 변환하여 얻은 결과 값을 레코드 주소로 결정하는 방법.


데이터베이스 구축


  1. 다음 설명과 관련 있는 트랜잭션의 특징은?

트랜잭션의 연산은 모두 실행되거나, 모두 실행되지 않아야 한다.

① Durability -> 지속성, 영속성
② Isolation -> 격리성, 독립성
③ Consistency -> 일관성
④ Atomicity ->원자성

정답:4번.
설명: 실행되거나 -> commit
실행되지 않아야 한다 -> rollback


  1. 데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것은?

① CASE 분석
② 일치 분석
③ CRUD 분석
④ 연관성 분석

정답: 3번.
설명: Create생성, Read읽기, Update갱신, Delete삭제 ->CRUD


  1. 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은?

① 인덱스정규화
② 반정규화 = 역정규화
③ 집단화
④ 머징

정답: 2번.
설명: 정규화 테이블을 분리하는 것인데 그 조각 조각에 조인(join)이라는 연산이 발생한다.
반정규화 정의
데이터베이스 정규화 후 성능향상 , 개발 편의성등을 정규화 기법에 위배된 의도적 수행기법.


  1. 정규화의 필요성으로 거리가 먼 것은?

① 데이터 구조의 안정성 최대화
② 중복 데이터의 활성화 -> 반정규화 설명
③ 수정, 삭제 시 이상현상의 최소화
④ 테이블 불일치 위험의 최소화

정답: 2번.
설명: 정규화는 쪼개서 중복을 없애는 작업이다.


  1. 릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키는?

① 후보키
② 기본키
③ 슈퍼키 -> 유일성은 만족 O, 최소성 만족 X
④ 외래키

정답:3번.
설명: 후보키, 기본키,대체키 -> 유일성, 최소성 만족 시켜야한다.
유일성- 특정할 수 있는 것.
최소성- 나를 식별 할 수 있는 작은 것 쓸데없는 것을 뺀 것.


  1. 관계대수에 대한 설명으로 틀린 것은?

① 주어진 릴레이션 조작을 위한 연산의 집합이다.
② 일반 집합 연산과 순수 관계 연산으로 구분된다.
③ 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
④ 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 비절차적방법이다. -> 절차적방법

정답:4번.
설명: 관계대수는 절차적방법이다

  • 관계해석 ->비절차적방법

  1. 다음 SQL문의 실행 결과는?


① DB
② DB / DB
③ DB / DB / 운영체제
④ DB / 운영체제

정답: 3번.
설명: EXIST-안에 있는 것 뽑아서 출력
DISTICT- 중복제거 후 출력

  • SELECT * (전체) FROM 테이블
    WHERE
    AND/OR

GROUP BY 컬럼
HAVING SUM(곱)

ORDER BY 컬럼 ASC(오름차순) / DESC(내림차순)


  1. 데이터 모델에 표시해야 할 요소로 거리가 먼 것은?
    ① 논리적 데이터 구조
    ② 출력 구조
    ③ 연산
    ④ 제약조건

정답: 2번.
설명: 모델 그림 그리는 것.
데이터 모델

  • 논리적 데이터 구조
  • 연산
  • 제약 조건

  1. A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는?
    ① 24
    ② 12
    ③ 8
    ④ 9

정답: 1번.
설명:
A1 A2 A3
1 1 1
2 2 2
3 3
4

A1(3) X A2(2) =6
6 X A3(4) =24


  1. 데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?

① 저장 레코드 양식 설계
② 레코드 집중의 분석 및 설계
③ 접근 경로 설계
④ 목표 DBMS에 맞는 스키마 설계

정답: 4번.
설명: 목표 DBMS 는 논리 설계에서 하는 것이다.

물리적 설계에서는 특정DBMS


  1. 한 릴레이션 스키마가 4개 속성, 2개 후보키 그리고 그 스키마의 대응 릴레이션 인스턴스가 7개 튜플을 갖는다면 그 릴레이션의 차수(degree)는?
    ① 1
    ② 2
    ③ 4
    ④ 7

정답:
설명: 차수 (컬럼)의 숫자

한 릴레이션 -하나의 테이블

카디널리티 (가로 줄) -7개


  1. 데이터웨어하우스의 기본적인 OLAP(on-line analytical processing) 연산이 아닌 것은?

① translate
② roll-up
③ dicing
④ drill-down

정답: 1번.
설명:OLAP(on-line analytical processing)
사용자가 어떤 데이터를 분석할 때 쓰는 것

  • 최종사용자가 직접 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식.
    • Roll-up
    • Drill-down
    • Prvoting
    • Slicing
    • Dicing

프로그래밍 언어 활용

  1. UNIX SHELL 환경 변수를 출력하는 명령어가 아닌 것은?

① configenv -> 이런 명령어는 없음
② printenv -> 환경변수 출력
③ env -> 환경변수 출력
④ setenv -> 환경변수 설정 및 출력

  • set -> 쉘변수 설정
  • export -> 환경변수 설정
  • unset -> 쉘변수 제거
  • unsetenv -> 환경변수 제거

정답: 1번.
설명: 환경변수: 시스템의 작업 환경을 조정하는 역활을 하는 변수
환경 변수를 출력 -> 모든 환경 변수를 출력 하는 것


  1. Java 프로그래밍 언어의 정수 데이터 타입 중 'long'의 크기는?

① 1byte -> byte
② 2byte -> short, char
③ 4byte -> int, float
④ 8byte -> long, double

정답: 4번.
설명: 데이터 타입 - 자료형
* C언어의 자료형
1byte -> byte, char
2byte -> short
4byte -> int, float, long
8byte -> double


  1. 운영체제에서 커널의 기능이 아닌 것은?

① 프로세스 생성, 종료
② 사용자 인터페이스
③ 기억 장치 할당, 회수
④ 파일 시스템 관리

정답: 2번.
설명: UNIX의 커널(Kernel)

  • UNIX 시스템의 중심부에 해당함
  • 주기억장치에 적재된 후 상주하면서 실행됨
  • 프로세스 관리, 기억장치 관리, 입.출력 관리, 파일 관리, 시스템 호출 인터페이스 등의 기능 담당
  • 대부분 C언어로 개발(C언어:90% + 어셈블리어:10%)되어 이식성과 확장성이 뛰어남

  1. 다음 쉘 스크립트의 의미로 옳은 것은?

until who | grep wow
do
sleep 5
done

① wow 사용자가 로그인한 경우에만 반복문을 수행한다.
② wow 사용자가 로그인할 때까지 반복문을 수행한다.
③ wow 문자열을 복사한다.
④ wow 사용자에 대한 정보를 무한 반복하여 출력한다.

정답:2번.
설명:
until -> ~일때 까지 (반복하여라)
do{
done}

  • 쉘 스크립트
  • 쉘(shell): 커널과 유저를 이어주는 명령어 해석기
    종류: BASH Shell, Bourne Shell, C Shell, Korn Shell
  • BASH Shell(배시 쉘): 리눅스의 표준 쉘
    • 반복문: for,while,until -> for,while 불만족시 stop!
    • 조건문: if...elif...else...if
    • 선택문: case
  • until~ do~ done: 조건이 만족할 때까지 반복구문 수행
  • who: 시스템에 현재 접속한 사용자 사용정보 출력
  • |(파이프, pipes): 좌측 프로그램의 출력을 우측 프로그램의 입력으로 보냄
  • grep: 지정된 정규표현식과 일치하는 행을 검색하여 출력
  • sleep: 주어진 시간(초)단위 만큼 대기

  1. 다음 자바 코드를 실행한 결과는?

int x=1, y=6;
while (y--) {
x++;
}
System.out.println("x=" +x+"y=" y);

① x=7 y=0
② x=6 y=-1
③ x=7 y=-1
④ Unresolved compilation problem 오류 발생

정답: 4번.
설명: while (y--) { -> while 컴파일러 부분 오류
자바의 경우 while (조건식) {
조건식이 true false 판별해서 true일 때 진입을 한다.
while문에서 y--하면 판별식을 거칠때 에러가 난다.
while(y-- > 0){ 이라고 작성 해야 함.

  • C언어에서는 가능

  1. 다음 파이썬으로 구현된 프로그램의 실행 결과로 옳은 것은?

a=[0,10,20,30,40,50,60,70,80,90]
a[:7:2]

① [20, 60]
② [60, 20]
③ [0, 20, 40, 60]
④ [10, 30, 50, 70]

정답:3번.
설명: a[:7:2] -> # 리스트의 처음부터 인덱스를 2(간격으로)씩 증가시키면서 인덱스 6까지 가져옴.

  • ':7' 콜론이 앞에 있으면 앞에서 부터 라고 해석.
  • '7:' 숫자 뒤 콜론이 있으면 앞에 숫자 번째에서 부터 추출하라는 의미
    인덱싱 a[i] -> a 객체의 i번째 값 추출.
    슬라이싱 a[i:J:k] -> a객체의 i번째부터 j번째전까지 k간격으로 추출

[0, 20, 40, 60] 이 결과값.

파이썬 증가폭


  1. 공통모듈의 재사용 범위에 따른 분류가 아닌 것은?

① 컴포넌트 재사용
② 더미코드 재사용
③ 함수와 객체 재사용
④ 애플리케이션 재사용

정답:2번.
설명:공통 모듈

  • 공통 모듈은 정보 시스템 구축 시 자주 사용하는 기능들로서 재사용이 가능하게 패키지로 제공하는 독립된 모듈을 의미.

  • 분류: 함수와 객체의 재사용, 컴포넌트 재사용, 어플리캐이션 재사용

  • 더미코드(dummy code): 여분 코드로 테스트 코드나 검증 코드와 같은 코드를 의미


  1. 결합도(Coupling)에 대한 설명으로 틀린 것은?

① 데이터 결합도(Data Coupling)는 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.
② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.
④ 결합도(Coupling)는 두 모듈간의 상호작용, 또는 의존도 장도를 나타내는 것이다.

정답:1번.
설명: ~~데이터 결합도(Data Coupling)
~~는 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다. - 스탬프 결합도(stamp Coupling) 설명.


  1. 응집도의 종류 중 서로 간에 어떠한 의미 있는 연관관계도 지니지 않은 기능 요소로 구성되는 경우이며, 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우의 응집도는?

① Functional Cohesion
② Sequential Cohesion
③ Logical Cohesion
④ Coincidental Cohesion

정답:4번.
설명: Functional Cohesion -> 기능적 응집도
② Sequential Cohesion -> 순차적 응집도
③ Logical Cohesion -> 논리적 응집도
④ Coincidental Cohesion -> 우연적 응집도


  1. UDP 특성에 해당되는 것은?

① 데이터 전송 후, ACK를 받는다.
② 송신 중에 링크를 유지 관리하므로 신뢰성이 높다.
③ 흐름제어나 순서제어가 없어 전송속도가 빠르다.
④ 제어를 위한 오버헤드가 크다.

정답: 3번.
설명: ① 데이터 전송 후, ACK를 받는다. -> TCP 설명.
② 송신 중에 링크를 유지 관리하므로 신뢰성이 높다. -> 낮다.
③ 흐름제어나 순서제어가 없어 전송속도가 빠르다.
④ 제어를 위한 오버헤드가 크다. -> 낮다.


  1. 다음과 같은 세그먼트 테이블을 가지는 시스템에서 논리 주소(2, 176)에 대한 물리 주소는?

① 398
② 400
③ 1928
④ 1930

정답: 1번.
설명: 길이(바이트) -> 세그먼트의 크기
논리 주소(2, 176) 논리 주소의 첫자리(2)는 물리 주소를 말하는 것.
2번 세그먼트 번호의 시작 주소 222와 176을 더하면 398

  • 세그먼테이션(segmentation)
    각각의 크기인 논리적인 단위인 세그먼트로 가상기억장치를 관리 기법.
  • 물리주소(바이트) = 세그먼트의 시작주소 + 논리주소의 변위.

  1. TCP/IP에서 사용되는 논리주소를 물리주소로 변환시켜 주는 프로토콜은?

① TCP
② ARP
③ FTP
④ IP

정답:2번.
ARP
설명: 논리주소 ----------> 물리주소
IP주소 <----------- MAC주소
(32/128비트) RARP (48비트)


  1. C언어에서 구조체를 사용하여 데이터를 처리할 때 사용하는 것은?

① for
② scanf -> 입력함수
③ struct
④ abstract -> c언어에는 abstract 없다.

정답: 3번.
설명: 구조체는 자료형 int char(20) double


정보 시스템 구축관리

  1. 이용자가 인터넷과 같은 공중망에 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션은?

① ZIGBEE
② KDD
③ IDS
④ VPN

정답: 4번.
설명: ZIGBEE-저전력 라디오를 이용한 개인 통신망
KDD-한국의 무슨 협회
IDS-침입 탐지 시스템
VPN-가상 사설 통신망(네트워크 암호화)


  1. CMM(Capability Maturity Model) 모델의 레벨로 옳지 않은 것은?

① 최적단계
② 관리단계
③ 계획단계
④ 정의단계

정답:3번.
설명:CMM 모델(능력성숙도 모델)의 레벨

  • 초기 단계(initial) :표준화된 프로세스 없이 프로젝트 수행 결과 예측이 곤란한 조직.
  • 관리 단계(Managed):기본적인 프로세스 구축에 의해 프로젝트가 관리되고 있는 조직.
  • 정의 단계(Defined):세부표준 프로세스가 있어 프로젝트가 통제되는 조직
  • 정량적 관리 단계(Quantitatively Managed):프로젝트 활동이 정량적으로 관리 통제되고 성과예측이 가능한 조직.
  • 최적화 단계(Optimizing):지속적인 개선활동이 정착화되고 최적의 관리로 프로젝트가 수행되는 조직.

  1. 서비스 지향 아키텍처 기반 애플리케이션을 구성하는 층이 아닌 것은?

① 표현층
② 프로세스층
③ 제어 클래스층
④ 비즈니스층

정답: 3번.
설명:SOA(Service Oriented Architecture) 서비스 지향 아키텍처 계층

  • 표현 계층(Presentation Layer)
  • 프로세스 계층(Process Layer)
  • 서비스 계층(Service Layer)
  • 비즈니스 계층(Business Layer)
  • 영속 계층(Persistency Layer)

  1. 다음 내용이 설명하는 스토리지 시스템은?
  • 하드디스크와 같은 데이터 저장장치를 호스트버스 어댑터에 직접 연결하는 방식
  • 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결 하는 방식으로 구성

① DAS (Direct Attached Storage)
② NAS
③ N-SCREEN
④ NFC

정답:3번.
설명:NAS(Network Attached Storage): 서버와 저장장치가 네트워크로 연결된 저장장치.
N-SCREEN: PC,TV,휴대폰 등 여러 단말기로 같은 콘텐츠로 끊김없이 이용하는 체계.
NFC(Near Field Communication)근접 무선 통신: 10cm 이내의 가까운 거리에서 다양한 무선 데이터를 주고 받는 통신 기술.


  1. 소프트웨어 개발 프레임워크의 적용 효과로 볼 수 없는 것은?

① 공통 컴포넌트 재사용으로 중복 예산 절감
② 기술종속으로 인한 선행사업자 의존도 증대
③ 표준화된 연계모듈 활용으로 상호 운용성 향상
④ 개발표준에 의한 모듈화로 유지보수 용이

정답: 2번.
설명: 기술종속으로 인해서 선행사업을 시작한 사람들의 의존도가 증대되지 않고 오히려 재사용률이 높아지면서 더 개방적일 수 있다.


  1. SoftTech사에서 개발된 것으로 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구는?

① SREM
② PSL/PSA
③ HIPO
④ SADT

정답: 4번.
설명: 1.SREM(Software Requirements Enginering Methdology):TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것으로,RSL과 REVS를 사용하는 자동화 도구이다.(RSL/REVS)
2.PSL/PSA:미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구입니다.
3.HIPO(Hieracgy Input Process Output):하향식 소프트웨어 개발을 위한 문서화 도구입니다.
4.SADT(Structure Analysis and Design Technique): SoftTech사에서 개발된 것으로 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구입니다.


  1. 익스트림 프로그래밍 (eXtreme Programming)의 5가지 가치에 속하지 않는 것은?

① 의사소통
② 단순성
③ 피드백
④ 고객 배제

정답: 4번.
설명: 익스트림 프로그래밍 (eXtreme Programming)의 5가지 가치

  • 의사소통
  • 단순함
  • 피드백
  • 용기
  • 존중

  1. 소프트웨어 비용 추정모형(estimation models)이 아닌 것은?
    ① COCOMO
    ② Putnam
    ③ Function-Point
    ④ PERT

정답:4번.
설명: PERT는 프로젝트 일정 관리 기법.


  1. 공개키 암호화 방식에 대한 설명으로 틀린 것은?

① 공개키로 암호화된 메시지는 반드시 공개키로 복호화 해야 한다.
② 비대칭 암호기법이라고도 한다.
③ 대표적인 기법은 RSA 기법이 있다.
④ 키 분배가 용이하고, 관리해야 할 키 개수가 적다.

정답: 1번.
설명: 공개키 암호화 방식은 암호화와 복호화에 사용하는 키가 서로 다른 암호화 방식이다.


  1. 다음이 설명하는 다중화 기술은?
  • 광섬유를 이용한 통신기술의 하나를 의미함
  • 파장이 서로 다른 복수의 광신호를 동시에 이용하는 것으로 광섬유를 다중화 하는 방식임
  • 빛의 파장 축과 파장이 다른 광선은 서로 간섭을 일으키지 않는 성질을 이용함

① Wavelength Division Multiplexing
② Frequency Division Multiplexing
③ Code Division Multiplexing
④ Time Division Multiplexing

정답:1번.
설명:다중화

  • 하나의 통신 회선을 다수의 단말기가 공유할 수 있도록 하는 것, 자둥화를 위한 장치에는 다중화기, 집중화기, 공동 이용기.

다중화기 종류

  • TDM(Time Division Multiplexing)
  • 시분할(시간) 다중화기
  • 통신 회선의 대역폭을 일정한 시간 폭(Time slot)으로 나누어 여러 대의단말 장치가 동시에 사용할 수 있도록 한 것
  • 디지털 회선 주로 이용
  • STDM, ADTM

FDM(Frequency Division Multiplexing)

  • 주파수 분할 다중화기- 통신 회선의 주파수를 여러 개로 분할하여 여러 대의 단말장치가 동시에 사용할 수 있도록 한 것
  • 다중화기 중 주파수 대역폭을 다수의 작은 대역폭으로 분할 전송하는 방식
  • 간섭 방지 위한 보호 대역(Gurad Band)필요 -> 대역폭의 나비 초래
  • 저속의 비동기식전송, 멀티 포인트 방식, 아날로그 신호 전송 적합.

CDM(Code Division Multiplexing)

  • 코드 분할 다중화 방식
  • 무선 통신에서 가장 널리 사용, 도청과 간섭 방지가 가능하지만 잡음을 분리해야하는 오버헤드 발생 WDM
  • 파장 분할 다중화 방식
  • 빛의 파장을 제외하고 FDM방식과 동일
  • 초고속 대용량 전송 가능
  • 시스템 확장성, 유연성 우수

  1. 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격을 유발할 수 있는 취약점은?

① Ransomware
② Pharming
③ Phishing
④ XSS

정답:4번.
설명: 랜섬웨어 : 임의로 시스템을 잠그거나 혹은 데이터를 암호화하여 사용할 수 없게 한 다음 이를 빌미로 돈을 요구하는 기법.파밍 : 홈페이지 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한 다음 개인정보를 탈취하는 기법.

피싱 : 메일 등으로 공공기관이나 금융기관에서 보낸 것처럼 위장하여 사용자에게 계좌번호, 카드번호의 비밀번호를 빼내는 기법. 대표적으로 스미싱이 있습니다.


  1. 컴퓨터 운영체제의 커널에 보안 기능을 추가한 것으로 운영체제의 보안상 결함으로 인하여 발생 가능한 각종 해킹으로부터 시스템을 보호하기 위하여 사용되는 것은?

① GPIB
② CentOS
③ XSS
④ Secure OS

정답:4번.
설명:GPIB : EEE-488은 단거리 디지털 통신 버스이다..1960년대 후반 전자 측정 장비에 사용되었으며 지금도 사용되고 있다.
IEEE-488은 HP-IB(Hewlett-Packard Interface Bus)로서 개발되었으며, 보통 GPIB (General Purpose Interface Bus)로 불린다.

CentOS : 센트OS(영어: CentOS)는 센트OS 프로젝트에서 레드햇 제휴로 개발한 컴퓨터 운영 체제이다.

XSS : 웹 클라이언트가 제공하는 HTTP 쿼리 매개 변수 (예 : HTML 양식 제출)에서 적절하지 않고, 구문


  1. NS(Nassi-Schneiderman) chart에 대한 설명으로 거리가 먼 것은?

① 논리의 기술에 중점을 둔 도형식 표현 방법 아다.
② 연속, 선택 및 다중 선택, 반복 등의 제어논리 구조로 표현한다.
③ 주로 화살표를 사용하여 논리적인 제어구조로 흐름을 표현한다.
④ 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.

정답:3번.
설명: ③ 주로 화살표를 사용하여 논리적인 제어구조로 흐름을 표현한다. -> 직사각형을 포개어가는것으로 나타낸다.

  • 논리의 기술에 중점을 둔 도형을 이용한 표현 방법이다.
  • 그리기가 어렵다.(전문성이 있어야 잘 그린다)순차, 선택, 반복으로 표현한다.
  • 임의의 제어 이동이 어렵다.
  • goto구조가 어렵다.
  • 그래픽 설계 도구이다.
  • 상자 도표라고도 한다.
  • 프로그램으로 구현이 쉽다.
  • 이 복합되어 있는 곳의 처리를 명확히 식별하기에 적합하다.
  • if문이 여러개일 때 가능.

  1. 다음 내용에 적합한 용어는?
  • 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델이다.
  • Google에 의해 고안된 기술로써 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법을 제공한다.
  • 임의의 순서로 정렬된 데이터를 분산 처리하고 이를 다시 합치는 과정을 거친다.

① MapReduce
② SQL
③ Hijacking
④ Logs

정답: 1번.
설명: 맵리듀스(MapReduce)
맵(Map) : 데이터가 텍스트 형태로 입력되면 64KB 분할한다..텍스트 안에 단어를 분류하여 카운트한다.

리듀스(Reduce) : 각 텍스트에서 정리된 맵들을 결합하여 동일한 단어를 카운트한다.


  1. 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준에 대한 국제 표준은?

① ISO 14001
② IEEE 802.5
③ IEEE 488
④ SPICE

정답: 4번.
설명: SPICE(소프트웨어 처리 개선 및 능력 평가 기준)

  • 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준이다.
  • 공식 명칭은 ISO/IEC 15504이다.

0개의 댓글