문서 읽는 데 109분 · 모의 3회 · 100문항

정보처리기사 필기 — 모의 3회 풀이

목차 106
전체 3회 중 3회 · 실전모의고사

Part Ⅰ 소프트웨어 설계 (문 001~020)

문 001. 다음 설명에 해당하는 시스템으로 옳은 것은?

수신한 연계 테이블, 파일 데이터를 수신 시스템에서 관리하는 데이터 형식에 맞게 변환하여 DB에 저장하거나 애플리케이션에서 활용할 수 있도록 제공한다.

  • ① 연계 서버
  • ② 중계 서버
  • ③ 송신 시스템
  • ④ 수신 시스템
정답 및 해설 보기

정답 ④

지문이 "수신한 데이터를 수신 시스템에서 관리하는 형식에 맞게 변환"한다고 명시한다. 즉 받은 데이터를 자신이 쓰기 좋은 형태로 바꿔 DB에 적재하거나 애플리케이션에 제공하는 주체는 수신 시스템이다.

데이터 연계 메커니즘:

단계 역할
송신 시스템 연계 데이터 생성·전송
중계 서버 데이터 매핑·전달(배달)
수신 시스템 자신의 형식으로 변환·적재

🔑 암기 "수신 시스템 형식에 맞게 변환 = 수신 시스템"

문 002. 다음 중 객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서 객체의 외부에서는 접근이 불가능하게 하는 개념은?

  • ① 정보은닉(Information Hiding)
  • ② 다형성(Polymorphism)
  • ③ 조직화(Organizing)
  • ④ 구조화(Structuralization)
정답 및 해설 보기

정답 ①

속성과 연산의 일부를 외부에서 접근하지 못하게 감추는 것이 정보은닉(Information Hiding)이다. 외부는 정해진 인터페이스로만 접근할 수 있다.

오답 정리:

보기 의미
다형성(Polymorphism) 하나의 인터페이스(메시지)로 여러 동작을 수행
조직화·구조화 객체지향의 정식 개념 용어가 아님(분산 보기)

🔑 암기 "감춘다(Hiding) = 정보은닉"

문 003. 다음 중에서 속성과 메소드로 정의되는 것을 의미하는 것은?

  • ① Class
  • ② Package
  • ③ Object
  • ④ Message
정답 및 해설 보기

정답 ③

속성(데이터)과 메소드(연산)를 하나로 묶어 실제로 가지고 있는 실체가 객체(Object)다. 클래스는 객체를 찍어내기 위한 설계도(틀)이고, 객체는 그 틀로 만들어진 실체(인스턴스)다.

💡 클래스 = 붕어빵 틀(설계도), 객체 = 틀에서 찍혀 나온 붕어빵(실체)

문 004. 다음 중 바람직한 소프트웨어 설계 지침이 아닌 것은?

  • ① 적당한 모듈의 크기를 유지한다.
  • ② 모듈 간의 접속 관계를 분석하여 복잡도와 중복을 높인다.
  • ③ 모듈 간의 결합도는 약할수록 바람직하다.
  • ④ 모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.
정답 및 해설 보기

정답 ②

좋은 설계의 대원칙은 복잡도와 중복을 낮추는 것이다. ②는 "복잡도와 중복을 높인다"라고 했으므로 바람직한 지침이 아니다.

🔑 암기 결합도는 약하게(낮게), 응집도는 강하게(높게), 복잡도·중복은 낮게

문 005. 다음 중 GoF(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?

  • ① Adapter Pattern
  • ② Decorator Pattern
  • ③ Factory Method Pattern
  • ④ State Pattern
정답 및 해설 보기

정답 ③

GoF 패턴은 생성(Creational)·구조(Structural)·행위(Behavioral)로 나뉜다. Factory Method는 객체 생성을 서브클래스에 위임하는 생성 패턴이다.

보기 분류
Adapter, Decorator 구조 패턴
State 행위 패턴
Factory Method 생성 패턴

🔑 암기 생성 패턴 = 추·빌·팩·프·싱(추상 팩토리·빌더·팩토리 메서드·프로토타입·싱글턴)

문 006. 다음 중 UML의 기본 구성 요소가 아닌 것은?

  • ① Things
  • ② Relationship
  • ③ Tuple
  • ④ Diagram
정답 및 해설 보기

정답 ③

UML의 기본 구성 요소는 사물(Things)·관계(Relationship)·다이어그램(Diagram) 세 가지다. Tuple(튜플)은 관계형 데이터베이스에서 행(Row)을 가리키는 용어로 UML과 무관하다.

⚠️ 함정 UML 문제에 'Tuple(튜플)'이 보이면 DB 용어이므로 정답 후보다.

문 007. UML 모델에서 연관 관계와 같이 한 클래스가 다른 클래스를 사용할 때 나타나고, 두 클래스 관계가 한 메소드의 실행 동안과 같이 매우 짧은 시간 동안만 존재하는 관계로 옳은 것은?

  • ① Dependency
  • ② Realization
  • ③ Generalization
  • ④ Association
정답 및 해설 보기

정답 ①

핵심 키워드는 "매우 짧은 시간 동안만 존재"다. 메소드의 매개변수·지역변수처럼 잠깐 사용하고 사라지는 관계가 의존(Dependency) 관계이며 점선 화살표로 표기한다.

관계 의미
Dependency(의존) 잠깐 사용(매개변수 등), 점선 화살표
Association(연관) 멤버 변수처럼 지속적으로 연결
Generalization(일반화) 상속(is-a) 관계
Realization(실체화) 인터페이스 구현

문 008. 소프트웨어의 사용자 인터페이스 개발 시스템(User Interface Development System)이 가져야 할 기능이 아닌 것은?

  • ① 소스 코드 개발과 디버깅 작업
  • ② 오류 처리와 오류 메시지 처리
  • ③ 도움과 프롬프트(Prompt) 제공
  • ④ 복구사용자 입력의 검증
정답 및 해설 보기

정답 ①

사용자 인터페이스 개발 시스템(UIDS)은 화면(인터페이스)을 관리하는 시스템으로, 입력 검증·오류 메시지 처리·도움말 제공·복구 등을 담당한다. 소스 코드 개발과 디버깅은 IDE·컴파일러를 통한 개발자의 핵심 로직 개발 영역이므로 UIDS의 기능이 아니다.

🔑 암기 UIDS는 '사용자와 만나는 문(인터페이스)'만 관리, 소스 코드 개발은 개발자 영역

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

  • ① 아키텍처 설계
  • ② 모듈 설계
  • ③ 자료구조 설계
  • ④ 알고리즘 설계
정답 및 해설 보기

정답 ①

설계는 상위 설계(큰 구조)와 하위 설계(상세)로 나뉜다. 아키텍처 설계는 시스템 전체 뼈대를 잡는 대표적인 상위 설계다.

구분 설계 항목
상위 설계 아키텍처·인터페이스·데이터 설계
하위 설계 모듈·자료구조·알고리즘 설계

🔑 암기 상위 설계 = 아·인·데(아키텍처·인터페이스·데이터)

문 010. 다음 중 독립적으로 특정 기능을 수행할 수 있게 만든 객체들의 묶음을 의미하는 것은?

  • ① Instance
  • ② Message
  • ③ Method
  • ④ Module
정답 및 해설 보기

정답 ④

"독립적으로", "기능을 수행", "묶음"이 핵심 키워드다. 하나의 부품처럼 떼어 쓸 수 있는 기능 단위 덩어리가 모듈(Module)이다.

보기 의미
Instance 클래스로 생성된 객체 하나
Message 객체 간 통신 수단
Method 객체가 수행하는 동작(함수)

문 011. 소프트웨어 개발 단계에서 요구분석 과정에 대한 설명으로 거리가 먼 것은?

  • ① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용 활 수 있다.
  • ② 사용자의 요구사항 분석은 열거가 쉽고, 예외적인 부분이 거의 없어서 용이하다.
  • ③ 자료 흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
  • ④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.
정답 및 해설 보기

정답 ②

사용자 요구사항은 모호하고 수시로 변하며 예외 상황이 매우 많아 분석이 어렵다. 그래서 요구분석은 소프트웨어 개발에서 가장 어렵고 중요한 단계로 꼽힌다. "열거가 쉽고 예외가 거의 없어 용이하다"는 ②는 현실과 반대이므로 거리가 멀다.

⚠️ 함정 소프트웨어 공학에서 "쉽다·단순하다·예외가 없다"류 서술은 대부분 오답이다.

문 012. 다음 중 UML 다이어그램에서 행위 다이어그램이 아닌 것은?

  • ① Sequence Diagram
  • ② State Diagram
  • ③ Class diagram
  • ④ Activity Diagram
정답 및 해설 보기

정답 ③

클래스 다이어그램은 시스템의 뼈대(정적 구조)를 보여주는 대표적인 구조(Structural) 다이어그램이다. Sequence·State·Activity는 동작(행위, Behavioral) 다이어그램이다.

🔑 암기 구조 다이어그램 = 클·객·컴·배·복·패(클래스·객체·컴포넌트·배치·복합체 구조·패키지). 나머지는 행위 다이어그램.

문 013. 다음 중 애자일 개발 방법론이 아닌 것은?

  • ① 익스트림 프로그래밍
  • ② COCOMO
  • ③ 스크럼
  • ④ 기능 주도 개발
정답 및 해설 보기

정답 ②

익스트림 프로그래밍(XP)·스크럼(Scrum)·기능 주도 개발(FDD)은 모두 애자일 개발 방법론이다. COCOMO는 보헴(Boehm)이 제안한 소프트웨어 비용 산정 모형으로 개발 방법론이 아니다.

🔑 암기 COCOMO = 비용 산정(견적) 모형

문 014. 요구사항 개발 프로세스의 순서로 옳은 것은?

텍스트
㉠ 도출(Elicitation)
㉡ 분석(Analysis)
㉢ 명세(Specification)
㉣ 확인(Validation)
  • ① ㉠ - ㉡ - ㉢ - ㉣
  • ② ㉠ - ㉢ - ㉡ - ㉣
  • ③ ㉠ - ㉣ - ㉡ - ㉢
  • ④ ㉠ - ㉡ - ㉣ - ㉢
정답 및 해설 보기

정답 ①

요구사항 개발 프로세스는 도출 → 분석 → 명세 → 확인 순으로 진행된다. 무엇을 원하는지 끌어내고(도출), 분석해 정리한 뒤(분석), 문서로 기술하고(명세), 제대로 됐는지 검토(확인)한다.

🔑 암기 도·분·명·확

문 015. 다음 중 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석 활동으로 옳은 것은?

  • ① 객체 모델링, 동적 모델링, 정적 모델링
  • ② 정적 모델링, 객체 모델링, 기능 모델링
  • ③ 동적 모델링, 기능 모델링, 정적 모델링
  • ④ 객체 모델링, 동적 모델링, 기능 모델링
정답 및 해설 보기

정답 ④

럼바우 분석 기법은 객체 모델링(Object) → 동적 모델링(Dynamic) → 기능 모델링(Functional) 3단계로 진행된다. '정적 모델링'은 럼바우 분석에 없는 용어이므로 이를 포함한 ①②③은 탈락한다.

단계 사용 모델
객체 모델링 객체 다이어그램
동적 모델링 상태 다이어그램
기능 모델링 자료 흐름도(DFD)

🔑 암기 객·동·기

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

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

정답 ③

정형(Formal) 명세 기법은 Z·VDM 같은 수학·논리 기반 표기로 요구를 정확하고 간결하게 표현한다. 따라서 "수학적인 원리를 이용하지 않는다"는 ③은 정형 명세의 정의와 정반대이므로 틀렸다. 비정형 명세 기법이 자연어를 기반으로 한다.

구분 표현 수단 특징
비정형 명세 자연어 작성·이해 쉬움, 모호함
정형 명세 수학·논리(Z, VDM 등) 정확·간결, 작성 어려움

⚠️ 함정 보기 ②는 원문에 "Z 비정형"으로, ④는 "정항"으로 인쇄돼 있다. Z는 대표적인 정형(formal) 명세 언어이므로 ②의 출제 의도는 "Z 정형 명세 기법"의 인쇄 오기로 보인다. 어느 쪽이든 가장 명백한 오답은 "수학적 원리를 이용하지 않는다"는 ③이다.

문 017. 다음 중 시스템의 구성 요소로 볼 수 없는 것은?

  • ① Maintenance
  • ② Feedback
  • ③ Input
  • ④ Control
정답 및 해설 보기

정답 ①

시스템의 5대 구성 요소는 입력(Input)·처리(Process)·출력(Output)·제어(Control)·피드백(Feedback)이다. 유지보수(Maintenance)는 시스템을 구축·운영한 뒤 수행하는 활동이지 시스템이 동작하는 기본 구성 요소가 아니다.

🔑 암기 시스템 구성 요소 = 입·처·출·제·피

문 018. 다음 중 자료 사전(Data Dictionary)에서 항목의 정의를 나타내는 것은?

  • =
  • { }
  • +
  • * *
정답 및 해설 보기

정답 ①

자료 사전에서 항목의 정의(is composed of)는 = 기호로 나타낸다.

기호 의미
= 정의(definition)
+ 연결(구성, and)
{ } 반복(iteration)
[ | ] 선택(택일, or)
( ) 생략(optional)
* * 주석(comment)

②는 반복, ③은 연결, ④ * *는 주석 기호다(주석은 * *로 감싼다). 항목의 정의를 뜻하는 기호는 ① =뿐이다.

문 019. 모듈들로 응집된 계층 단위로 SW를 구성하며 계층 간에 사용 가능의 관계로 표현되는 아키텍처 스타일은?

  • ① 클라이언트 서버 구조
  • ② 계층 구조
  • ③ MVC 구조
  • ④ 파이프 필터 구조
정답 및 해설 보기

정답 ②

"계층 단위로 구성하며 계층 간에 사용 관계로 표현된다"는 설명 그대로 계층 구조(Layered Structure)다. 상위 계층이 하위 계층의 기능을 사용하는 형태로, 운영체제가 대표적인 예다.

스타일 특징
계층 구조 층층이 쌓여 상위가 하위를 사용
MVC 구조 모델·뷰·컨트롤러로 분리
파이프 필터 데이터가 필터를 거쳐 흐름(UNIX 셸)

문 020. 유스케이스(Usecase)에 대한 설명 중 옳은 것은?

  • ① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
  • ② 액터는 대상 시스템과 상호작용하는 사람은 해당되지만, 시스템은 해당되지 않는다.
  • ③ 사용자 액터는 본 시스템과 연동되는 시스템이 아니라 역할 사용자이다.
  • ④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
정답 및 해설 보기

정답 ③

액터는 특정 사람이 아니라 역할(Role)이다. 사용자 액터는 시스템과 상호작용하는 '사람의 역할'을 가리키므로 ③이 옳다.

오답 정리:

보기 분석
개발자가 아니라 사용자의 요구를 추출·분석하는 데 사용
외부 시스템도 액터가 될 수 있음
연동은 양방향 상호작용을 포함 — 일방적 전달만 의미하지 않음

Part Ⅱ 소프트웨어 개발 (문 021~040)

문 021. 코딩이 끝난 후 설계의 최소 단위인 모듈에 초점을 두고 검사하는 단계이며, 독립 모듈의 완전성을 시험하는 것으로 옳은 것은?

  • ① 통합 테스트(Integration Test)
  • ② 단위 테스트(Unit Test)
  • ③ 시스템 테스트(System Test)
  • ④ 인수 테스트(Acceptance Test)
정답 및 해설 보기

정답 ②

"최소 단위", "모듈", "독립"이 핵심 키워드다. 모듈 하나의 완전성을 검사하는 단계가 단위 테스트(Unit Test)다. 테스트는 단위 → 통합 → 시스템 → 인수 순으로 범위가 커진다.

🔑 암기 단·통·시·인(단위→통합→시스템→인수)

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

  • ① pmd
  • ② checkstyle
  • ③ cppcheck
  • ④ Avalanche
정답 및 해설 보기

정답 ④

정적 분석 도구는 프로그램을 실행하지 않고 소스 코드 자체를 검사한다(pmd·checkstyle·cppcheck). Avalanche는 프로그램을 실제로 실행시켜 결함을 찾는 동적 분석 도구다.

🔑 암기 정적 = 실행 안 함(코드 검사), 동적 = 실행 중 검사

문 023. 공학적으로 잘된 소프트웨어(Well Engineered Software)의 설명 중 틀린 것은?

  • ① 소프트웨어는 편리성이나 유지보수에 점차 비중이 적어지고 있다.
  • ② 소프트웨어는 신뢰성이 높아야 한다.
  • ③ 소프트웨어는 사용자 수준에 맞게 직관적이고 사용하기 쉽게 제공해야 한다.
  • ④ 소프트웨어는 충분한 테스팅을 거쳐야 한다.
정답 및 해설 보기

정답 ①

소프트웨어 수명 주기 비용에서 유지보수가 차지하는 비중은 매우 크고 갈수록 중요해지고 있다. "유지보수에 점차 비중이 적어지고 있다"는 ①은 사실과 반대다.

⚠️ 함정 "유지보수가 중요하지 않다·비중이 줄어든다"류 서술은 대부분 오답이다.

문 024. 다음 설명에 해당하는 것은?

일반 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조이다.

  • ① 외부 스키마
  • ② 내부 스키마
  • ③ 개념 스키마
  • ④ 슈퍼 스키마
정답 및 해설 보기

정답 ①

"각 개인의 입장", "사용자·응용 프로그래머" 관점에서 보는 논리적 구조는 외부 스키마(서브 스키마)다.

스키마 관점
외부(External) 개별 사용자·응용 프로그래머 관점(서브 스키마)
개념(Conceptual) 조직 전체 관점, DB 전체 논리 구조
내부(Internal) 시스템(저장 장치) 관점, 물리적 구조

'슈퍼 스키마'는 존재하지 않는 용어다.

🔑 암기 외·개·내

문 025. 순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력한 후 출력한 결과로 불가능한 것은?

  • ① B, C, D, A
  • ② D, A, B, C
  • ③ C, B, A, D
  • ④ D, C, B, A
정답 및 해설 보기

정답 ②

스택은 후입선출(LIFO)이다. ② D, A, B, C는 D를 가장 먼저 꺼낸 시점에 스택 맨 위가 C인데, C·B를 건너뛰고 바닥의 A를 꺼낼 수 없으므로 불가능하다. 나머지는 push와 pop을 적절히 섞으면 만들 수 있다.

⚠️ 함정 "마지막에 넣은 원소를 먼저 꺼낸 뒤, 그 아래를 건너뛰고 바닥 원소가 나오는" 출력은 불가능하다.

문 026. 정렬된 N개의 데이터를 처리하는 데 평균 O(n²)의 시간이 소요되는 정렬 알고리즘은?

  • ① 합병 정렬
  • ② 버블 정렬
  • ③ 퀵 정렬
  • ④ 힙 정렬
정답 및 해설 보기

정답 ②

합병·퀵·힙 정렬은 평균 O(n log₂n)의 고급 정렬이다. 버블·삽입·선택 정렬은 평균 O(n²)이 걸리는 단순 정렬이며, 보기 중에는 버블 정렬이 해당한다.

🔑 암기 O(n²) = 버블·삽입·선택 / O(n log₂n) = 퀵·힙·합병

문 027. 클린 코드 작성 원칙에 대한 설명으로 틀린 것은?

  • ① 코드의 중복을 최대화한다.
  • ② 코드가 다른 모듈에 미치는 영향을 최소화하도록 작성한다.
  • ③ 누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
  • ④ 간단하게 코드를 작성한다.
정답 및 해설 보기

정답 ①

클린 코드의 핵심 원칙은 중복 제거(DRY, Don't Repeat Yourself)다. "중복을 최대화한다"는 ①은 원칙과 정반대이므로 틀렸다.

문 028. 다음 트리에 대한 후위 순회 운행 결과는?

후위 순회 대상 이진 트리 — A를 루트로 왼쪽 B, 오른쪽 C, B의 자식은 D, C의 자식은 E·F

  • ① ABDCEF
  • ② ABCDEF
  • ③ DBEFCA
  • ④ DBAECF
정답 및 해설 보기

정답 ③

후위 순회(Post-order)는 왼쪽 → 오른쪽 → 루트 순으로 방문한다. 트리는 A(루트)의 왼쪽이 B(자식 D), 오른쪽이 C(자식 E·F)다.

  • 왼쪽 서브트리(B): D → B
  • 오른쪽 서브트리(C): E → F → C
  • 루트: A

따라서 D → B → E → F → C → A = DBEFCA.

🔑 암기 후위 순회는 루트가 맨 마지막에 나온다 — 보기에서 A로 끝나는 것이 후보다.

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

  • ① n−1
  • ② n/2
  • ③ n(n−1)/2
  • ④ n(n−1)
정답 및 해설 보기

정답 ④

방향 그래프는 두 노드 사이에 서로 다른 두 방향의 간선이 가능하므로 최대 간선 수는 n(n−1)이다. 무방향 그래프는 같은 연결이 중복되므로 2로 나눈 n(n−1)/2가 된다.

🔑 암기 방향 그래프 = n(n−1), 무방향 그래프 = n(n−1)/2

문 030. 다음 중 테스트와 디버그의 설명으로 옳은 것은?

  • ① 둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다.
  • ② 테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다.
  • ③ 테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
  • ④ 둘 다 소프트웨어 오류의 발견, 수정과 무관하다.
정답 및 해설 보기

정답 ③

테스트는 오류를 발견(Find)하는 작업이고, 디버깅은 발견된 오류를 수정(Fix)하는 작업이다.

🔑 암기 테스트 = 찾기, 디버깅 = 고치기

문 031. 다음 중 버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?

  • ① 체크인(Check-In)
  • ② 롤백(Rollback)
  • ③ 형상 감사(Configuration Audit)
  • ④ 단위 테스트(Unit Test)
정답 및 해설 보기

정답 ①

작업한 파일을 저장소에 새 버전으로 등록·갱신하는 것이 체크인(Check-In)이며, Git에서는 커밋(Commit)이라고도 한다. 저장소에서 파일을 받아오는 것은 체크아웃, 이전 상태로 되돌리는 것은 롤백이다.

문 032. 프로그램이 설계 사양을 만족시키며 사용자가 원하는 대로 수행되고 있는 정도로 옳은 것은?

  • ① Portability
  • ② Efficiency
  • ③ Usability
  • ④ Correctness
정답 및 해설 보기

정답 ④

"설계 사양 만족", "원하는 대로 수행"은 정확성(Correctness)을 가리킨다.

품질 특성 의미
Correctness(정확성) 설계 사양대로 정확히 동작
Portability(이식성) 다른 환경으로 옮겨도 동작
Efficiency(효율성) 자원을 적게 사용
Usability(사용성) 사용하기 쉬움

문 033. EAI(Enterprise Application Integration) 구축 유형에서 1:1 방식으로 애플리케이션을 통합 수행하는 것은?

  • ① Message Bus
  • ② Point-to-point
  • ③ Hub & Spoke
  • ④ Hybrid
정답 및 해설 보기

정답 ②

1:1로 애플리케이션을 직접 연결하는 방식이 Point-to-point다.

유형 특징
Point-to-point 1:1 직접 연결(연결이 늘면 복잡해짐)
Hub & Spoke 중앙 허브가 모든 연계를 중재(중앙 집중)
Message Bus 미들웨어(버스)를 통해 연계(대용량에 유리)
Hybrid Hub & Spoke + Message Bus 혼합

문 034. 다음 중 큐를 이용한 연산과 거리가 먼 것은?

  • ① 너비 우선 탐색
  • ② 작업 스케줄링
  • ③ 트리의 Level 순회
  • ④ 깊이 우선 탐색
정답 및 해설 보기

정답 ④

큐(FIFO)는 너비 우선 탐색(BFS)·트리의 레벨 순회·작업 스케줄링에 쓰인다. 깊이 우선 탐색(DFS)은 스택(LIFO)이나 재귀 호출을 이용하므로 큐와 거리가 멀다.

🔑 암기 큐 = 너비(BFS)·레벨 순회, 스택 = 깊이(DFS)·재귀

문 035. 소프트웨어 패키징에 대한 설명으로 틀린 것은?

  • ① 패키징은 사용자 중심으로 진행한다.
  • ② 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다.
  • ③ 고객의 편의성을 위해 매뉴얼 및 버전 관리를 지속적으로 한다.
  • ④ 특정 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 및 해설 보기

정답 ④

소프트웨어 패키징은 다양한 사용자 환경(OS·하드웨어 등)에서 설치·사용할 수 있도록 진행한다. ④의 "특정 환경에서 사용이 가능하도록"은 다양한 환경을 지원해야 한다는 패키징 원칙과 어긋나 틀렸다. ①의 사용자 중심 진행은 옳은 설명이다.

문 036. 디지털 저작권 관리(DRM) 구성 요소가 아닌 것은?

  • ① Packager
  • ② DRM Controller
  • ③ Watermarking
  • ④ Contents Distributor
정답 및 해설 보기

정답 ③

DRM 시스템의 구성 요소(주체)는 패키저(Packager)·배포자(Contents Distributor)·DRM 컨트롤러(클리어링 하우스) 등이다. 워터마킹(Watermarking)은 저작권 보호에 쓰이는 기술이지 시스템을 구성하는 주체가 아니다.

💡 패키저·배포자·컨트롤러는 역할(주체), 워터마킹은 그들이 사용하는 기술(도구)

문 037. 다음 중 블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?

  • ① 내부의 논리적인 경로가 제대로 수행되지 않는 경우
  • ② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
  • ③ 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
  • ④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우
정답 및 해설 보기

정답 ①

블랙박스 테스트는 내부 구조를 보지 않고 입력·출력(기능) 중심으로 검사한다. ①의 "내부의 논리적인 경로"는 코드 내부 구조를 들여다봐야 알 수 있으므로 화이트박스 테스트의 영역이다.

🔑 암기 내부·경로·구조 = 화이트박스 / 기능·결과·경계값 = 블랙박스

문 038. 다음 자료를 버블 정렬을 이용하여 오름차순으로 정렬할 경우 Pass 3의 결과는?

8, 6, 7, 2, 5

  • ① 2, 5, 6, 7, 8
  • ② 6, 7, 2, 5, 8
  • ③ 2, 5, 8, 6, 7
  • ④ 6, 2, 5, 7, 8
정답 및 해설 보기

정답 ①

버블 정렬은 인접한 두 원소를 비교해 큰 값을 뒤로 보내며, 각 Pass마다 가장 큰 값이 뒤에 자리 잡는다.

단계 결과
초기 8, 6, 7, 2, 5
Pass 1 6, 7, 2, 5, 8
Pass 2 6, 2, 5, 7, 8
Pass 3 2, 5, 6, 7, 8

Pass 3의 결과는 2, 5, 6, 7, 8이다.

문 039. 다음 설명의 소프트웨어 버전 관리도구 방식으로 옳은 것은?

  • 버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다.
  • 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
  • 대표적인 버전 관리 도구로 Git이 있다.
  • ① 단일 저장소 방식
  • ② 공유 폴더 방식
  • ③ 분산 저장소 방식
  • ④ 클라이언트·서버 방식
정답 및 해설 보기

정답 ③

원격과 로컬 양쪽에 저장소가 함께 있고, 로컬에서도 버전 관리가 가능하며, 대표 도구가 Git인 방식은 분산 저장소 방식이다. 로컬에 저장소가 통째로 복사되므로 원격에 문제가 생겨도 작업을 이어갈 수 있다.

🔑 암기 Git = 분산 저장소 방식

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

  • ① xUnit
  • ② STAF
  • ③ watir
  • ④ Firewall
정답 및 해설 보기

정답 ④

xUnit(단위 테스트)·STAF(테스트 자동화 프레임워크)·watir(웹 애플리케이션 테스트 도구)는 모두 인터페이스 구현 검증 도구다. Firewall(방화벽)은 외부 침입을 막는 보안 장비로 검증 도구가 아니다.


Part Ⅲ 데이터베이스 구축 (문 041~060)

문 041. 다음 중 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 조건을 무엇이라 하는가?

  • ① 개체 무결성 제약 조건
  • ② 참조 무결성 제약 조건
  • ③ 도메인 무결성 제약 조건
  • ④ 속성 무결성 제약 조건
정답 및 해설 보기

정답 ③

속성 값이 정의된 도메인(허용 범위) 안의 값이어야 한다는 조건이 도메인 무결성 제약 조건이다.

무결성 대상 조건
개체 무결성 기본키 NULL 불가·중복 불가
참조 무결성 외래키 참조 값과 일치하거나 NULL
도메인 무결성 속성 값 정의된 도메인(범위) 내 값

'속성 무결성'은 표준 용어가 아니다.

문 042. 이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속(JD)을 제거해야 만족하는 정규형은?

  • ① 제3정규형
  • ② 제4정규형
  • ③ 제5정규형
  • ④ 제6정규형
정답 및 해설 보기

정답 ③

조인 종속(JD)을 제거해야 만족하는 정규형이 제5정규형(5NF)이다.

🔑 암기 정규화 순서 = 도·부·이·결·다·조(1NF 도메인 원자값 → 2NF 부분 종속 제거 → 3NF 이행 종속 제거 → BCNF 결정자 → 4NF 다치 종속 제거 → 5NF 조인 종속 제거)

문 043. 어떤 릴레이션에서 속성들의 부분 집합을 X, Y라 할 때, 임의의 튜플에서 X의 값이 Y의 값을 함수적으로 결정한다면, Y가 X에 함수적으로 종속되었다고 한다. 이 함수 종속의 표기로 옳은 것은?

  • ① Y→X
  • ② Y⊂X
  • ③ X⊂Y
  • ④ X→Y
정답 및 해설 보기

정답 ④

X가 Y를 결정하므로(X = 결정자) 화살표는 결정자 X에서 종속자 Y로 향한다. 따라서 X→Y로 표기한다.

🔑 암기 화살표는 결정자 → 종속자 방향

문 044. SQL 문에서 SELECT에 대한 설명으로 옳지 않은 것은?

  • ① FROM절에는 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다.
  • ② 검색결과에 중복되는 레코드를 없애기 위해서는 SELECT 명령 뒤에 'DISTINCT' 키워드를 사용한다.
  • ③ WHERE절은 GROUP BY절과 함께 사용되며, 그룹에 대한 조건을 지정한다.
  • ④ ORDER BY절은 특정 속성을 기준으로 정렬하여 검색할 때 사용한다.
정답 및 해설 보기

정답 ③

그룹에 대한 조건은 HAVING절이 지정한다. WHERE절은 그룹화하기 전 개별 행(Row)에 대한 조건을 지정하므로 ③이 옳지 않다.

🔑 암기 행 조건 = WHERE, 그룹 조건 = HAVING

문 045. 다음 중 SQL에서의 DDL문으로 옳은 것은?

  • ① INSERT
  • ② DELETE
  • ③ ALTER
  • ④ SELECT
정답 및 해설 보기

정답 ③

DDL(데이터 정의어)은 테이블 등 객체의 구조를 정의·변경·삭제하는 명령이다. ALTER가 DDL에 해당하며, INSERT·DELETE·SELECT는 데이터를 다루는 DML이다.

🔑 암기 DDL = CREATE·ALTER·DROP / DML = SELECT·INSERT·UPDATE·DELETE / DCL = GRANT·REVOKE

문 046. 릴레이션 R의 차수가 3이고 카디널리티가 7이며, 릴레이션 S의 차수가 5이고 카디널리티가 3일 때, 두 개의 릴레이션을 카티션 프로덕트한 결과의 새로운 릴레이션의 차수와 카디널리티는 얼마인가?

  • ① 15, 21
  • ② 15, 10
  • ③ 8, 21
  • ④ 8, 10
정답 및 해설 보기

정답 ③

카티션 프로덕트는 차수(속성 수)는 더하고 카디널리티(튜플 수)는 곱한다. 차수 = 3 + 5 = 8, 카디널리티 = 7 × 3 = 21이다.

🔑 암기 차수는 더하기(+), 카디널리티는 곱하기(×)

문 047. 다음 중 병행제어 기법의 종류가 아닌 것은?

  • ① 로킹 기법
  • ② 다중 버전 기법
  • ③ 타임 스탬프 기법
  • ④ 인월수 기법
정답 및 해설 보기

정답 ④

병행제어 기법에는 로킹·다중 버전·타임 스탬프·낙관적 검증 기법 등이 있다. 인월수(Person-Month)는 프로젝트 비용·노력 산정 단위로 병행제어와 무관하다.

문 048. 관계 데이터베이스에 있어서 관계 대수 연산의 순수 관계 연산이 아닌 것은?

  • ① 디비전(Division)
  • ② 카티션 프로덕트(Cartesian Product)
  • ③ 조인(Join)
  • ④ 프로젝트(Project)
정답 및 해설 보기

정답 ②

순수 관계 연산은 셀렉트·프로젝트·조인·디비전 네 가지다. 카티션 프로덕트는 합집합·교집합·차집합과 함께 일반 집합 연산에 속한다.

🔑 암기 순수 관계 연산 = 셀렉트·프로젝트·조인·디비전(셀·프·조·디)

문 049. 다음 SQL 문에서 ( ) 안에 들어갈 내용으로 옳은 것은?

SQL
(   ) 인사급여 SET 호봉 = 15 WHERE 성명 = '홍길동';
  • ① UPDATE
  • ② FROM
  • ③ INTO
  • ④ DELETE
정답 및 해설 보기

정답 ①

SET 절로 변경할 값을 지정하는 명령은 UPDATE다. UPDATE ~ SET ~ WHERE 구조로 특정 행의 값을 수정한다.

🔑 암기 UPDATE ~ SET / INSERT ~ INTO / DELETE ~ FROM

문 050. 데이터 속성 간의 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능한 이상 현상은?

  • ① 검색 이상
  • ② 삽입 이상
  • ③ 삭제 이상
  • ④ 갱신 이상
정답 및 해설 보기

정답 ②

원하지 않는 불필요한 정보를 함께 저장하지 않고서는 원하는 정보를 저장(삽입)할 수 없는 현상이 삽입 이상(Insertion Anomaly)이다.

이상 현상 내용
삽입 이상 불필요한 정보 없이는 원하는 정보 삽입 불가
삭제 이상 삭제 시 함께 보관하던 필요한 정보까지 삭제
갱신 이상 중복 데이터 일부만 갱신돼 불일치 발생

문 051. 다음 중 SQL문에서 HAVING을 사용할 수 있는 절은?

  • ① CHECK절
  • ② WHERE절
  • ③ ORDER BY절
  • ④ GROUP BY절
정답 및 해설 보기

정답 ④

HAVING은 GROUP BY로 묶은 그룹에 대한 조건을 지정하므로 GROUP BY절과 함께 사용한다.

🔑 암기 HAVING은 GROUP BY의 짝 — 그룹 조건 지정

문 052. 변경 및 삭제 작업의 오류를 대비하여 변경 대상의 레코드는 별도의 테이블에 복사하는 작업은?

  • ① COMMIT 연산
  • ② BACKUP 연산
  • ③ LOG 연산
  • ④ ROLLBACK 연산
정답 및 해설 보기

정답 ②

오류에 대비해 변경 대상 레코드를 별도 테이블에 복사해 두는 작업이 백업(Backup)이다. COMMIT은 트랜잭션 확정, LOG는 변경 이력 기록, ROLLBACK은 이전 상태로 되돌리는 작업이다.

🔑 암기 복사·별도 보관 = 백업 / 이력 기록 = 로그 / 취소·복구 = 롤백

문 053. 제1정규형(1NF)에서 제2정규형(2NF)이 되기 위한 조건은?

  • ① 결정자가 후보키가 아닌 함수 종속 제거
  • ② 이행적 함수 종속 제거
  • ③ 부분적 함수 종속 제거
  • ④ 원자값이 아닌 도메인 분해
정답 및 해설 보기

정답 ③

1NF에서 2NF로 가려면 부분 함수 종속을 제거한다. ②는 2NF→3NF, ①은 3NF→BCNF, ④는 비정규형→1NF 조건이다.

🔑 암기 2NF = 부분 함수 종속 제거

문 054. 데이터베이스에서 하나 이상의 테이블로부터 유도되어 만들어진 가상 테이블들을 의미하는 것은?

  • ① 트랜잭션
  • ② 뷰
  • ③ 튜플
  • ④ 카디널리티
정답 및 해설 보기

정답 ②

하나 이상의 테이블로부터 유도된 가상 테이블이 뷰(View)다. 트랜잭션은 작업 단위, 튜플은 행(Row), 카디널리티는 튜플 수를 뜻한다.

문 055. 다음 중 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업은?

  • ① Recovery
  • ② Commit
  • ③ Abort
  • ④ Restart
정답 및 해설 보기

정답 ①

손상된 데이터베이스를 이전의 정상 상태로 되돌리는 작업이 회복(Recovery)이다. Commit은 트랜잭션 완료, Abort는 중단, Restart는 재시작이다.

문 056. 학적 테이블에서 전화번호가 NULL 값인 학생명을 모두 검색할 때, SQL 구문으로 옳은 것은?

  • SELECT 학생명 FROM 학적 WHERE 전화번호 DON'T NULL;
  • SELECT 학생명 FROM 학적 WHERE 전화번호 != NOT NULL;
  • SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;
  • SELECT 학생명 FROM 학적 WHERE 전화번호 IS NULL;
정답 및 해설 보기

정답 ④

NULL은 등호(=)로 비교할 수 없고 IS NULL / IS NOT NULL로 판별한다. NULL인 값을 찾으므로 IS NULL을 쓴 ④가 옳다. ①·②는 존재하지 않는 문법이고, ③ IS NOT NULL은 NULL이 아닌 값을 찾으므로 조건이 반대다.

🔑 암기 NULL 판별 = IS NULL / IS NOT NULL (= NULL은 사용 불가)

문 057. E-R 다이어그램의 표기법으로 옳지 않은 것은?

  • ① 개체 타입 - 오각형
  • ② 속성 - 타원
  • ③ 관계 집합 - 마름모
  • ④ 개체 타입과 속성을 연결 - 선
정답 및 해설 보기

정답 ①

E-R 다이어그램에서 개체 타입은 사각형으로 표기한다. ①의 "오각형"이 틀렸다.

요소 기호
개체(Entity) 사각형
속성(Attribute) 타원
관계(Relationship) 마름모
연결

문 058. 다음 중 관계대수에 대한 설명으로 옳지 않은 것은?

  • ① 일반 집합 연산과 순수 관계 연산으로 구분된다.
  • ② 릴레이션 조작을 위한 연산의 집합으로 피연산자만 릴레이션이다.
  • ③ 원하는 릴레이션을 정의하는 방법을 제공하며 절차적 언어이다.
  • ④ 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
정답 및 해설 보기

정답 ②

관계대수는 폐쇄 성질(Closure)을 가져 피연산자뿐 아니라 연산의 결과도 릴레이션이다. "피연산자만 릴레이션이다"라고 한정한 ②가 옳지 않다. 관계대수는 연산의 순서를 명시하는 절차적 언어다.

🔑 암기 관계대수 = 절차적(How) / 관계해석 = 비절차적(What)

문 059. 로킹 단위(Locking Granularity)에 대한 설명으로 옳은 것은?

  • ① 로킹 단위가 크면 병행성 수준이 높아진다.
  • ② 로킹 단위가 크면 병행 제어 기법이 복잡해진다.
  • ③ 로킹 단위가 작으면 로크(lock)의 수가 많아진다.
  • ④ 로킹은 파일 단위로 이루어지며, 레코드와 필드는 로킹 단위가 될 수 없다.
정답 및 해설 보기

정답 ③

로킹 단위가 작을수록 잠가야 할 로크 수가 많아진다. 단위가 작으면 병행성은 높아지지만 제어가 복잡해지고, 단위가 크면 그 반대(병행성 낮음·제어 단순)다. 따라서 ③이 옳다.

로킹 단위 로크 수 병행성 제어
크다 적음 낮음 단순
작다 많음 높음 복잡

문 060. 다음 중 관계형 데이터베이스에서 기본키를 제외한 후보키들을 말하는 키(Key)는?

  • ① 후보키
  • ② 대체키
  • ③ 슈퍼키
  • ④ 외래키
정답 및 해설 보기

정답 ②

후보키 중에서 기본키로 선정되지 않은 나머지 키가 대체키(Alternate Key)다.

성질
슈퍼키 유일성 있음, 최소성 없음
후보키 유일성 + 최소성
기본키 후보키 중 선정된 1개
대체키 후보키 − 기본키

Part Ⅳ 프로그래밍 언어 활용 (문 061~080)

문 061. 다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?

Python
a = 0
while a < 10:
    a = a + 1
    if a % 2 == 0: continue
    print(a)
  • ① 1 3 5 7 9
  • ② 2 4 6 8
  • ③ 1 3 5 7
  • ④ 2 4 6 8 10
정답 및 해설 보기

정답 ①

continue는 이후 코드를 건너뛰고 반복 조건으로 되돌아간다. a가 1씩 증가하다가 짝수가 되면 continueprint를 건너뛰므로 홀수만 출력된다. a가 10이 되면 짝수라 건너뛰고 조건(10 < 10)이 거짓이라 종료한다. 이 코드의 출력은 1 3 5 7 9다.

문 062. 다음 중 JAVA에서 우선순위가 가장 낮은 연산자는?

  • ① --
  • ② %=
  • ③ &
  • ④ &&
정답 및 해설 보기

정답 ②

대입 연산자(=, %= 등)는 모든 연산자 중 우선순위가 가장 낮다. 단항(--)·비트(&)·논리(&&) 연산을 모두 수행한 뒤 마지막에 결과를 변수에 대입하기 때문이다.

🔑 암기 우선순위: 단항 > 산술·비트·논리 > 대입

문 063. 운영체제의 디스크 스케줄링 기법에 대한 설명으로 옳은 것은?

  • ① FCFS(First-Come-First-Served)는 현재의 판독/기록 헤드 위치에서 대기 큐 내 요구들 중 탐색 시간이 가장 짧은 것을 선택하여 처리하는 기법이다.
  • ② N-Step-SCAN은 대기 큐 내에서 디스크 암(disk arm)이 외부 실린더에서 내부 실린더로 움직이는 방향에 있는 요구들만을 처리하는 기법이다.
  • ③ C-LOOK은 디스크 암(disk arm)이 내부 혹은 외부 트랙으로 이동할 때, 움직이는 방향에 더 이상 처리할 요구가 없는 경우 마지막 트랙까지 이동하지 않는 기법이다.
  • ④ SSTF(Shortest-Seek-Time-First)는 각 요구 처리에 대한 응답 시간을 항상 공평하게 하는 기법이다.
정답 및 해설 보기

정답 ③

C-LOOK은 LOOK 계열로, 진행 방향에 더 이상 처리할 요청이 없으면 디스크 끝(마지막 트랙)까지 가지 않고 방향을 바꾼다. 따라서 ③이 옳다.

오답 정리:

보기 오류
① FCFS 도착 순서대로 처리한다(탐색 시간이 짧은 것 우선은 SSTF 설명)
② N-Step-SCAN 요청을 여러 그룹(N개)으로 나눠 처리한다
④ SSTF 탐색 시간이 짧은 요청을 우선 처리해 먼 요청에 기아가 생길 수 있어 공평하지 않다

문 064. C 언어에서 변수로 사용할 수 없는 것은?

  • ① data0205
  • ② char
  • ③ _a12sub
  • ④ int01
정답 및 해설 보기

정답 ②

char는 C의 예약어(자료형)이므로 변수 이름으로 쓸 수 없다. 나머지는 문자·숫자·언더바(_) 조합이고 예약어가 아니라 사용할 수 있다(int01은 예약어 int와 다른 식별자다).

🔑 암기 예약어(char·int·for·if 등)는 식별자로 사용 불가

문 065. 다음 C 언어 프로그램이 실행되었을 때의 결과는?

c
#include <stdio.h>
int main(void) {
    int n=6;
    int* pt=NULL;
    pt=&n;
    printf("%d", &n+*pt-*&pt+n);
    return 0;
}
  • ① 0
  • ② 4
  • ③ 8
  • ④ 12
정답 및 해설 보기

정답 ④

*&pt&*가 서로 상쇄되어 pt(= &n)와 같다. 식은 &n + 6 − &n + 6이 되고, 왼쪽부터 계산하면 같은 주소끼리의 포인터 뺄셈 (&n + 6) − &n은 요소 개수 6이 된다. 여기에 n(6)을 더해 결과는 12다. 이 코드의 출력은 12다.

💡 *& 또는 &*가 이어지면 서로 상쇄된다.

문 066. CID 표기로 203.241.132.82/25과 같이 사용되었다면, 해당 주소의 서브넷 마스크는?

  • ① 255.255.255.0
  • ② 255.255.255.128
  • ③ 255.255.255.224
  • ④ 255.255.255.248
정답 및 해설 보기

정답 ②

/25는 앞에서부터 비트 1이 25개라는 뜻이다. 앞 24비트는 255.255.255가 되고, 마지막 옥텟은 첫 비트만 1(10000000 = 128)이므로 서브넷 마스크는 255.255.255.128이다.

🔑 암기 /24 = .0, /25 = .128, /26 = .192

문 067. 다음 중 교착상태가 발생할 수 있는 조건이 아닌 것은?

  • ① Mutual Exclusion
  • ② Hold and Wait
  • ③ Preemption
  • ④ Circular Wait
정답 및 해설 보기

정답 ③

교착상태의 4대 발생 조건은 상호 배제(Mutual Exclusion)·점유와 대기(Hold and Wait)·비선점(Non-Preemption)·환형 대기(Circular Wait)다. ③ Preemption(선점)은 자원을 뺏을 수 있다는 의미로, 교착상태가 성립하려면 오히려 비선점이어야 한다. 따라서 선점은 발생 조건이 아니다.

🔑 암기 교착상태 4조건 = 상호 배제·점유와 대기·비선점·환형 대기(상·점·비·환)

문 068. 여덟 개의 페이지(0~7페이지)로 구성된 프로세스에 네 개의 페이지 프레임이 할당되어 있고, 이 프로세스의 페이지 참조 순서는 [보기]와 같다. 이 경우 LRU 페이지 교체 알고리즘을 적용할 때 페이지 적중률(Hit Ratio)은 얼마인가? (단, [보기]의 숫자는 참조하는 페이지 번호를 나타내고, 최초의 페이지 프레임은 모두 비어있다고 가정한다.)

1, 0, 2, 2, 2, 1, 7, 6, 7, 0, 1, 2

  • ① 5 / 12
  • ② 6 / 12
  • ③ 7 / 12
  • ④ 8 / 12
정답 및 해설 보기

정답 ①

LRU는 가장 오래 사용되지 않은 페이지를 교체한다. 프레임 4개로 12회 참조를 추적하면 적중 5회, 부재 7회다.

  • 부재(7회): 처음 채울 때 1·0·2, 이후 7·6·0·2
  • 적중(5회): 2·2·1·7·1

따라서 적중률은 5 / 12다.

문 069. 교착상태의 해결 방법 중 교착상태 발견 후 환형대기를 배제시키거나 자원을 중단하는 메모리 할당 기법은?

  • ① Detection
  • ② Avoidance
  • ③ Recovery
  • ④ Prevention
정답 및 해설 보기

정답 ③

"발견 후" 환형대기를 배제하거나 자원을 중단(회수)해 교착상태를 푸는 단계가 회복(Recovery)이다.

해결 방법 의미
Detection(발견) 교착상태 발생 여부를 탐지
Avoidance(회피) 위험 상태를 피해 자원 할당(은행원 알고리즘)
Recovery(회복) 발견된 교착상태를 자원 중단·프로세스 종료로 해제
Prevention(예방) 4대 조건을 미리 차단

문 070. 다음 중 가장 약한 결합도(Coupling)는?

  • ① Common Coupling
  • ② Data Coupling
  • ③ External Coupling
  • ④ Stamp Coupling
정답 및 해설 보기

정답 ②

결합도는 약할수록 좋다. 데이터(자료) 결합도는 필요한 데이터만 매개변수로 주고받는 가장 약한 결합도다.

🔑 암기 결합도 강→약 = 내·공·외·제·스·자(내용·공통·외부·제어·스탬프·자료) — 가장 약한 것은 자료 결합도

문 071. 교착상태가 발생하는 필요조건에 해당하지 않은 것은?

  • ① 상호 배제(mutual exclusion)
  • ② 점유와 대기(hold and wait)
  • ③ 비환형 대기(non-circular wait)
  • ④ 비선점(non-preemption)
정답 및 해설 보기

정답 ③

교착상태의 필요조건은 상호 배제·점유와 대기·비선점·환형 대기(Circular Wait)다. ③ 비환형 대기(Non-Circular Wait)는 환형 대기가 아니라는 뜻으로, 오히려 교착상태를 막는 조건이므로 발생 조건이 아니다.

⚠️ 함정 발생 조건은 '환형 대기'다. '비(non)환형 대기'는 한 글자 차이로 정반대이니 주의.

문 072. 프레임워크(Framework)에 대한 설명으로 옳은 것은?

  • ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 불가능하다.
  • ② 소프트웨어 개발 시 다형성(Polymorphism)을 통해 확장이 가능하다.
  • ③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
  • ④ 모듈화(Modularity)가 불가능하다.
정답 및 해설 보기

정답 ②

프레임워크는 기본 골격을 제공하는 반제품으로, 다형성을 이용해 기능을 재정의·추가하며 확장할 수 있으므로 ②가 옳다. ① 재사용을 위해 쓰므로 재사용 가능, ③ 아키텍처는 설계 개념이고 프레임워크는 구현체라 다름, ④ 모듈화가 잘 되어 있다.

문 073. 다음 중 페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?

  • ① 기억장소 이용 효율이 증가한다.
  • ② 페이지 맵 테이블의 크기가 감소한다.
  • ③ 내부 단편화가 감소한다.
  • ④ 입·출력 시간이 늘어난다.
정답 및 해설 보기

정답 ②

페이지 크기가 작아지면 페이지 개수가 많아지므로 이를 관리하는 페이지 맵 테이블의 크기는 오히려 커진다. 따라서 "감소한다"는 ②가 옳지 않다. 페이지가 작아지면 내부 단편화는 줄고 기억장소 이용 효율은 높아지지만, 입·출력 횟수가 늘어 입·출력 시간은 증가한다.

🔑 암기 페이지 작아짐 → 개수 많아짐 → 페이지 맵 테이블 커짐

문 074. C 언어의 구조체(Structuer)에 관한 설명 중 틀린 것은?

  • ① 구조체에 속하는 변수를 멤버(Member)라고 부른다.
  • ② 서로 다른 자료형의 변수들을 하나의 이름으로 묶어 하나의 단위로 참조가 가능하다.
  • ③ 구조체와 구조체 변수의 선언을 동시에 할 수 없다.
  • ④ 구조체에 속한 변수를 참조하기 위해 연산자 “.”을 사용한다.
정답 및 해설 보기

정답 ③

C 언어에서는 구조체를 정의하면서 동시에 구조체 변수를 선언할 수 있다. 따라서 "동시에 할 수 없다"는 ③이 틀렸다. 구조체는 서로 다른 자료형을 하나로 묶고(②), 그 멤버(①)는 점(.) 연산자로 참조한다(④).

문 075. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?

Python
print(list(range(5, 10)))
print(list(range(0, 10, 3)))
print(list(range(-10, -100, -30)))
  • [5,6,7,8,9] [0,3,6,9] [-10,-40,-70]
  • [6,7,8,9,10] [0,3,6,9,10] [-30,-60,-90]
  • [5,6,7,8,9] [0,3,6,9,] [10,40,70]
  • [6,7,8,9,10] [0,3,6,9,10] [30,60,90]
정답 및 해설 보기

정답 ①

range(시작, 끝, 간격)은 끝 번호를 포함하지 않는다.

  • range(5, 10) → 5, 6, 7, 8, 9
  • range(0, 10, 3) → 0, 3, 6, 9 (다음은 12라 제외)
  • range(-10, -100, -30) → -10, -40, -70 (다음은 -100이라 제외)

세 출력을 모두 만족하는 것은 ①이다.

🔑 암기 range는 끝 번호 바로 앞에서 멈춘다(끝 번호 미포함)

문 076. 다음 중 가장 강한 응집도(Cohesion)는?

  • ① Sequential Cohesion
  • ② Procedural Cohesion
  • ③ Logical Cohesion
  • ④ Functional Cohesion
정답 및 해설 보기

정답 ④

응집도는 강할수록 좋다. 기능적 응집도(Functional Cohesion)는 모듈이 하나의 기능만 수행하는 가장 강한 응집도다.

🔑 암기 응집도 약→강 = 우·논·시·절·통·순·기(우연적·논리적·시간적·절차적·통신적·순차적·기능적)

문 077. FIFO 페이지 교체 알고리즘을 사용하는 가상메모리에서 프로세스 P가 다음과 같은 페이지 번호 순서대로 페이지에 접근할 때, 페이지 부재(Page-Fault) 발생 횟수는? (단, 프로세스 P가 사용하는 페이지 프레임은 총 4개이고, 빈 상태에서 시작한다)

1 2 3 4 5 2 1 1 6 7 5

  • ① 6회
  • ② 7회
  • ③ 8회
  • ④ 9회
정답 및 해설 보기

정답 ③

FIFO는 가장 먼저 들어온 페이지를 먼저 교체한다. 빈 상태에서 시작하므로 처음 채우는 1·2·3·4도 모두 페이지 부재에 포함된다.

  • 부재(8회): 1·2·3·4(초기), 이후 5·1·6·7
  • 적중(3회): 2·1·5

따라서 페이지 부재는 8회다.

문 078. 페이지 교체(Page Replacement) 알고리즘이 아닌 것은?

  • ① LRU(Least Recently Used)
  • ② FIFO(First-In-First-Out)
  • ③ Optimal
  • ④ LUF(Least Used First)
정답 및 해설 보기

정답 ④

페이지 교체 알고리즘에는 LRU·FIFO·Optimal·LFU(Least Frequently Used)·NUR 등이 있다. ④ LUF(Least Used First)는 존재하지 않는 용어다. 사용 빈도가 가장 낮은 것을 교체하는 알고리즘은 LFU다.

⚠️ 함정 LFU(Frequently)를 LUF로 철자만 바꿔 낸 함정이다.

문 079. 다음 중 TCP 프로토콜과 관련한 설명으로 틀린 것은?

  • ① IP 주소를 이용하여 출발지와 목적지를 나타낸다.
  • ② 흐름 제어(Flow Control)의 기능을 수행한다.
  • ③ 전이중(Full Duplex) 방식의 양방향 가상회선을 제공한다.
  • ④ 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
정답 및 해설 보기

정답 ①

IP 주소로 출발지와 목적지를 식별하는 것은 IP(네트워크 계층)의 역할이다. TCP(전송 계층)는 포트(Port) 번호로 어떤 응용 프로그램으로 보낼지를 식별하므로 ①이 틀렸다. TCP는 흐름 제어·전이중 통신을 제공하며, 응답을 함께 실어 보내는 피기배킹(Piggybacking)도 가능하다.

문 080. 다음 중 B Class에 속하는 IP address는?

  • ① 200.168.30.1
  • ② 10.3.2.14
  • ③ 225.2.4.1
  • ④ 172.16.98.3
정답 및 해설 보기

정답 ④

IP 주소 클래스는 첫 번째 옥텟으로 구분한다. B Class는 128~191이다. ④ 172는 128~191 사이이므로 B Class다.

클래스 첫 옥텟 범위
A 0 ~ 127 (② 10)
B 128 ~ 191 (④ 172)
C 192 ~ 223 (① 200)
D 224 ~ 239 (③ 225, 멀티캐스트)

Part Ⅴ 정보시스템 구축관리 (문 081~100)

문 081. 다음 중 소프트웨어 비용 추정 모형(Estimation Models)이 아닌 것은?

  • ① 개발 단계별 인월수(MM)기법
  • ② Putnam
  • ③ 델파이식 산정
  • ④ PERT
정답 및 해설 보기

정답 ④

비용 추정 모형에는 인월수(MM)·Putnam·COCOMO·델파이·기능점수(FP)가 있다. PERT는 작업의 순서와 소요 시간을 따지는 일정 관리 기법으로 비용 추정 모형이 아니다.

🔑 암기 비용 산정 = 인월수·Putnam·COCOMO·델파이·FP / 일정 관리 = PERT·CPM

문 082. 기밀성을 강조하는 모델이며, 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위한 접근 제어 모델은?

  • ① Clark-Wilson Integrity Model
  • ② PDCA Model
  • ③ Bell-Lapadula Model
  • ④ Chinese Wall Model
정답 및 해설 보기

정답 ③

기밀성을 강조하고 군대식 보안 등급(상하 관계)으로 정보를 보호하는 접근 제어 모델이 Bell-LaPadula Model이다. Biba·Clark-Wilson은 무결성 중심, Chinese Wall은 이해 충돌 방지 모델이다.

🔑 암기 기밀성·군대 = Bell-LaPadula / 무결성 = Biba·Clark-Wilson

문 083. 다음 중 서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는데 사용하는 도구는?

  • ① nmap
  • ② mkdir
  • ③ ftp
  • ④ type
정답 및 해설 보기

정답 ①

서버의 열린 포트를 스캐닝해 보안 취약점을 찾는 대표 도구가 nmap(Network Mapper)이다. mkdir(폴더 생성)·ftp(파일 전송)·type(파일 내용 출력)은 보안 스캐닝 도구가 아니다.

문 084. 공개키 암호화 방식에 대한 설명으로 옳지 않은 것은?

  • ① 공개키 암호화 방식은 암호화, 복호화에 서로 다른 키를 사용한다.
  • ② 공개키 암호화 방식은 비밀키(또는 대칭키) 암호화 방식에 비해 암호화 속도가 빠르다.
  • ③ 공개키 암호화 방식은 알고리즘과 공개키를 알아도 개인키를 알아내는 것이 매우 어렵다.
  • ④ 대표적인 공개키 암호화 방식의 알고리즘으로 RSA 방식이 있다.
정답 및 해설 보기

정답 ②

공개키(비대칭키) 암호화는 두 개의 키로 복잡한 수학 연산을 수행하므로 대칭키(비밀키) 방식보다 속도가 느리다. "공개키가 더 빠르다"는 ②가 옳지 않다. 공개키는 암·복호화에 서로 다른 키를 쓰고(①), 공개키로 개인키를 알아내기 어려우며(③), 대표 알고리즘은 RSA다(④).

🔑 암기 대칭키 = 빠름 / 공개키 = 느림(키 2개·수학 연산)

문 085. 해시(Hash) 기법에 대한 설명으로 틀린 것은?

  • ① 고정된 길이의 입력 데이터를 받아 임의의 길이의 해시 값으로 변환한다.
  • ② 주로 메시지의 무결성 보장을 위해 사용한다.
  • ③ 대표적인 해시 알고리즘으로 HAVAL, SHA-1 등이 있다.
  • ④ 해시 함수는 일방향 함수(One-way function)이다.
정답 및 해설 보기

정답 ①

해시 함수는 임의 길이의 입력을 받아 고정 길이의 해시 값으로 변환한다. ①은 "고정된 입력 → 임의의 길이"로 반대로 서술해 틀렸다. 해시는 무결성 보장에 쓰이고(②), 대표 알고리즘으로 HAVAL·SHA-1이 있으며(③), 일방향 함수다(④).

🔑 암기 해시 = 임의 길이 입력 → 고정 길이 출력 · 무결성 · 일방향

문 086. Secure OS의 보안 기능으로 거리가 먼 것은?

  • ① 안전한 경로
  • ② 임의적 접근 통제
  • ③ 객체 재사용 방지
  • ④ 고가용성 지원
정답 및 해설 보기

정답 ④

Secure OS의 보안 기능에는 안전한 경로·접근 통제(MAC/DAC)·객체 재사용 방지 등이 있다. 고가용성(High Availability) 지원은 무중단 운영을 위한 가용성 요소로, Secure OS의 보안 기능과는 거리가 멀다.

문 087. 시스템 또는 소프트웨어를 구성하는 각각의 컴포넌트를 만들고 조립해 또 다른 컴포넌트나 소프트웨어를 만드는 특징을 갖는 것은?

  • ① 구조적 개발 방법론
  • ② 객체지향 개발 방법론
  • ③ 정보공학 방법론
  • ④ CBD 방법론
정답 및 해설 보기

정답 ④

컴포넌트를 만들어 조립함으로써 또 다른 컴포넌트·소프트웨어를 만드는 방법론이 CBD(Component Based Development, 컴포넌트 기반 개발)다.

💡 "컴포넌트·조립·재사용" = CBD

문 088. 다음 중 ISO 12207 표준의 기본 생명주기의 주요 프로세스에 해당하지 않는 것은?

  • ① 개선 프로세스
  • ② 개발 프로세스
  • ③ 획득 프로세스
  • ④ 유지보수 프로세스
정답 및 해설 보기

정답 ①

ISO/IEC 12207의 기본(Primary) 생명주기 프로세스는 획득·공급·개발·운영·유지보수다. 개선(Improvement) 프로세스는 조직 생명주기 프로세스에 속하므로 기본 프로세스가 아니다.

🔑 암기 기본 프로세스 = 획득·공급·개발·운영·유지보수(획·공·개·운·유)

문 089. ㉠, ㉡에 들어갈 네트워크 보안 공격을 바르게 연결한 것은?

( ㉠ )은(는) TCP 연결 설정을 위한 3-way handshaking 과정에서 half-open 연결 시도가 가능하다는 취약성을 이용하는 공격 방식이다.

( ㉡ )은(는) 서버와 클라이언트가 TCP 통신을 하고 있을 때, RST 패킷을 보내고 시퀀스 넘버 등을 조작하여 연결을 가로채는 공격 방식이다.

  • ① ㉠ SYN 플러딩, ㉡ IP 스푸핑
  • ② ㉠ SYN 플러딩, ㉡ 세션 하이재킹
  • ③ ㉠ ARP 스푸핑, ㉡ IP 스푸핑
  • ④ ㉠ ARP 스푸핑, ㉡ 세션 하이재킹
정답 및 해설 보기

정답 ②

㉠ 3-way handshaking의 half-open 연결을 악용해 서버 자원을 고갈시키는 공격은 SYN 플러딩이다. ㉡ TCP 통신 중 RST 패킷과 시퀀스 넘버 조작으로 연결을 가로채는 공격은 세션 하이재킹이다.

🔑 암기 half-open = SYN 플러딩 / 연결 가로채기 = 세션 하이재킹

문 090. 코드의 기입 과정에서 원래 '12536'으로 기입되어야 하는데 '72536'으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?

  • ① Addition Error
  • ② Omission Error
  • ③ Sequence Error
  • ④ Transcription Error
정답 및 해설 보기

정답 ④

'12536'에서 한 자리(1→7)만 잘못 기입된 것은 한 문자를 틀리게 적은 필사 오류(Transcription Error)다.

오류
Transcription(필사) 1→7 (한 자리 오기)
Transposition(전위) 12→21 (순서 바뀜)
Omission(생략) 123→13 (빠짐)
Addition(첨가) 123→1234 (더해짐)

문 091. 다음 중 SPICE 모델의 프로세스 수행 능력 수준의 단계별 설명이 틀린 것은?

  • ① 2단계 - 미완성 단계
  • ② 3단계 - 확립 단계
  • ③ 4단계 - 예측 단계
  • ④ 5단계 - 최적화 단계
정답 및 해설 보기

정답 ①

SPICE(ISO/IEC 15504)의 수행 능력 수준은 0~5의 6단계다. 0단계가 불완전(미완성) 단계이고 2단계는 관리 단계이므로 "2단계 - 미완성"이라고 한 ①이 틀렸다.

단계 명칭
0 불완전(Incomplete)
1 수행(Performed)
2 관리(Managed)
3 확립(Established)
4 예측(Predictable)
5 최적화(Optimizing)

🔑 암기 0단계가 불완전, 2단계가 관리

문 092. 원격지 호스트 서버에 접근하기 위해 사용하는 프로토콜은?

  • ① GRID
  • ② TELNET
  • ③ GPN
  • ④ MQTT
정답 및 해설 보기

정답 ②

원격지 호스트 서버에 접속해 명령을 수행하는 프로토콜이 TELNET이다(보안을 강화한 것이 SSH). MQTT는 IoT용 경량 메시지 프로토콜, GRID는 여러 컴퓨터를 묶어 쓰는 분산 컴퓨팅 기술이다.

문 093. 소프트웨어 생명주기 모형 중 나선형 모델에 대한 설명으로 틀린 것은?

  • ① 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
  • ② 개발 순서는 계획 및 정의, 위험 분석, 공학적 개발, 고객 평가 순으로 진행된다.
  • ③ 비교적 소규모 시스템에 적합하다.
  • ④ 계획, 위험 분석, 개발, 평가의 개발 주기가 반복적으로 수행된다.
정답 및 해설 보기

정답 ③

나선형(Spiral) 모델은 위험 분석을 반복하며 진행해 비용·시간이 큰 대규모 시스템에 적합하다. 따라서 "소규모 시스템에 적합하다"는 ③이 틀렸다. 위험 관리를 목적으로 하며(①), 계획·위험 분석·개발·평가 주기를 반복한다(④).

🔑 암기 나선형 = 위험 분석 반복 · 대규모 적합

문 094. 오픈 소스를 기반으로 하는 분산 컴퓨팅 플랫폼인 아파치(Apache) 하둡(Hadoop) 기반의 프로젝트는?

  • ① 타조(Tajo)
  • ② 원 세그(One Seg)
  • ③ 포스퀘어(Foursquare)
  • ④ 텐서플로(TensorFlow)
정답 및 해설 보기

정답 ①

하둡(Hadoop) 위에서 SQL로 대용량 데이터를 조회하는 빅데이터 웨어하우스 프로젝트가 타조(Tajo)다(국내 개발자 주도). One Seg는 일본의 모바일 방송 기술, Foursquare는 위치 기반 SNS, TensorFlow는 머신러닝 라이브러리다.

문 095. 스위칭 환경에서 스니핑(Sniffing)을 수행하기 위한 공격으로 옳지 않은 것은?

  • ① ARP 스푸핑(Spoofing)
  • ② ICMP 리다이렉트(Redirect)
  • ③ 메일 봄(Mail Bomb)
  • ④ 스위치 재밍(Switch Jamming)
정답 및 해설 보기

정답 ③

스위칭 환경에서 스니핑을 하려면 스위치를 속이는 ARP 스푸핑·ICMP 리다이렉트·스위치 재밍 등을 사용한다. 메일 봄(Mail Bomb)은 대량 메일로 서버를 마비시키는 서비스 거부(DoS) 공격으로 스니핑 기법이 아니다.

문 096. 침입 탐지 시스템(IDS: Intrusion Detection System)과 관련한 설명으로 틀린 것은?

  • ① 오용(Misuse) 침입 탐지 기법은 Signature Base나 Knowledge Base라고도 불리며 이미 발견되고 정립된 공격 패턴을 입력해두었다가 탐지 및 차단한다.
  • ② NIDS(Network-Based Intrusion Detection System)는 운영체제에 설정된 사용자 계정에 따라 어떤 사용자가 어떤 접근을 시도하고 어떤 작업을 했는지에 대한 기록을 남기고 추적한다.
  • ③ NIDS(Network-Based Intrusion Detection System)로는 대표적으로 Snort가 있다.
  • ④ 외부 인터넷에 서비스를 제공하는 서버가 위치하는 네트워크인 DMZ(Demilitarized Zone)에는 IDS가 설치될 수 있다.
정답 및 해설 보기

정답 ②

운영체제 로그와 사용자 계정 활동을 기록·추적하는 것은 HIDS(호스트 기반 IDS)다. ②는 그 설명에 NIDS라는 이름을 붙여 틀렸다. NIDS는 네트워크 패킷을 감시하며 대표적으로 Snort가 있다(③).

🔑 암기 NIDS = 네트워크 패킷(Snort) / HIDS = 호스트 OS 로그·계정

문 097. 다음 중 계획, 분석, 설계 및 구축에 정형화된 기법들을 상호 연관성 있게 통합, 적용하는 데이터 중심 방법론은?

  • ① 객체지향 개발 방법론
  • ② CBD 방법론
  • ③ 정보공학 방법론
  • ④ 구조적 개발 방법론
정답 및 해설 보기

정답 ③

데이터를 중심으로 계획·분석·설계·구축의 정형화된 기법을 통합 적용하는 방법론이 정보공학 방법론이다. 구조적 방법론은 프로세스 중심, 객체지향은 객체 중심이다.

🔑 암기 데이터 중심 = 정보공학 / 프로세스 중심 = 구조적

문 098. IEEE 802.15.4를 기반으로 하며, 저속/저전력의 무선망을 위한 기술은?

  • ① MLFQ
  • ② MQTT
  • ③ Zigbee
  • ④ SDS
정답 및 해설 보기

정답 ③

IEEE 802.15.4 기반의 저속·저전력 근거리 무선망 기술이 Zigbee다. MQTT는 메시지 프로토콜, MLFQ는 CPU 스케줄링 기법, SDS(Software Defined Storage)는 소프트웨어 정의 스토리지다.

문 099. 다음 알고리즘 중 공개키 암호 알고리즘에 해당하는 것은?

  • ① ElGamal 알고리즘
  • ② SEED 알고리즘
  • ③ DES 알고리즘
  • ④ AES 알고리즘
정답 및 해설 보기

정답 ①

공개키(비대칭키) 암호 알고리즘에는 ElGamal·RSA·ECC 등이 있다. SEED·DES·AES는 대칭키(비밀키) 알고리즘이므로 공개키에 해당하는 것은 ElGamal이다.

🔑 암기 공개키 = RSA·ElGamal·ECC / 대칭키 = DES·AES·SEED·ARIA

문 100. 생명주기의 각 단계별로 노력을 산정하여 전체 비용을 예측하는 방식으로 비용을 산정하는 기법은?

  • ① Effort Per TASK 기법
  • ② 전문가 감정 기법
  • ③ 델파이 기법
  • ④ LOC 기법
정답 및 해설 보기

정답 ①

생명주기 각 단계(Task)별로 노력(Effort)을 산정해 전체 비용을 예측하는 기법이 Effort Per TASK 기법이다. LOC는 코드 라인 수로 산정하고, 전문가 감정·델파이는 전문가의 판단에 의존한다.


이 회차 한 장 요약

과목 빈출·핵심 함정·주의 다시 볼 문항
Ⅰ 소프트웨어 설계 무결성·정보은닉·UML 구성요소·요구공학 순서(도분명확)·럼바우(객동기) "쉽다·예외 없다"류는 오답(011)·정형 명세=수학(016) 016(원문 오기), 020
Ⅱ 소프트웨어 개발 테스트 단계(단통시인)·스택/큐·정렬 시간복잡도·블랙/화이트박스·Git=분산 스택 출력 불가(025)·블랙박스는 내부 경로 못 봄(037) 025, 028, 037, 038
Ⅲ 데이터베이스 구축 무결성 3종·정규화 순서(도부이결다조)·관계대수 순수연산·SQL 절·키 종류 WHERE vs HAVING(044·051)·= NULL 불가(056)·관계대수 폐쇄성(058) 044, 056, 058
Ⅳ 프로그래밍 언어 활용 연산자 우선순위·포인터 상쇄·range 끝번호 미포함·교착상태 4조건·페이지 교체 선점은 교착 조건 아님(067·071)·페이지 작아짐→맵 테이블 커짐(073)·LUF는 없음(078) 065, 068, 077
Ⅴ 정보시스템 구축관리 비용 vs 일정(PERT)·보안 모델(기밀성=Bell-LaPadula)·SPICE 6단계·공개키 vs 대칭키 공개키는 느림(084)·SPICE 0단계가 불완전(091)·NIDS vs HIDS(096) 089, 091, 096
전체 목록 실전모의고사
이 회차를 끝까지 풀었어요 🎉 정보처리기사 필기 더 둘러보기 →

합격까지

정보처리기사, 약점 과목이 보이나요?

초개인화 학습앱 Klue로 틀린 유형을 집중 공략하고, 에듀윌 온라인강의로 개념까지 정리하세요.