정보처리기사 필기 — 모의 3회 풀이
목차 106
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. 다음 트리에 대한 후위 순회 운행 결과는?

- ① 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 문에서 ( ) 안에 들어갈 내용으로 옳은 것은?
( ) 인사급여 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. 다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?
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씩 증가하다가 짝수가 되면 continue로 print를 건너뛰므로 홀수만 출력된다. 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 언어 프로그램이 실행되었을 때의 결과는?
#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) 프로그램이 실행되었을 때의 결과는?
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, 9range(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로 틀린 유형을 집중 공략하고, 에듀윌 온라인강의로 개념까지 정리하세요.
