TCP/IP 기반 네트워크에서 동작하는 발행구독- 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜은?
1MLFQ
2MQTT
3Zigbee
4MTSP
정답 2번 · MQTT
핵심 해설
MQTT(Message Queuing Telemetry Transport)는 TCP/IP 위에서 동작하는 경량 발행/구독(Publish/Subscribe) 메시징 프로토콜이다. 발행자(Publisher)가 특정 토픽(Topic)으로 메시지를 보내면 브로커(Broker)가 그 토픽을 구독(Subscribe)한 클라이언트에게 전달하는 구조여서, 송수신자가 서로를 직접 알 필요가 없다. 헤더가 작고 QoS 0~2의 전달 보장 수준을 제공해 대역폭과 전력이 제한된 IoT·M2M 환경에 널리 쓰인다. 기본 포트는 1883(TLS 적용 시 8883)이다.
보기별 해설
1. MLFQ(Multi-Level Feedback Queue, 다단계 피드백 큐)는 운영체제의 CPU 스케줄링 기법이다. 여러 우선순위 큐를 두고 CPU를 오래 쓰는 프로세스를 하위 큐로 이동시키는 방식으로, 네트워크 메시징 프로토콜이 아니다.
2. MQTT는 TCP/IP 기반의 발행/구독형 경량 메시징 프로토콜이다. 브로커가 토픽 단위로 메시지를 중계하며 헤더 오버헤드가 작아 저전력·저대역폭 IoT 기기 통신에 표준처럼 사용된다.
3. Zigbee는 IEEE 802.15.4를 물리·MAC 계층으로 사용하는 근거리 저전력 무선 통신 규격이다. 홈 오토메이션·센서 네트워크용 하위 계층 통신 기술이며, TCP/IP 위의 발행/구독 메시징 프로토콜과는 계층이 다르다.
4. MTSP는 IoT 메시징 분야의 표준 용어가 아니다. 실체가 있는 발행/구독 프로토콜로 정의된 바가 없는 혼동용 보기이다.
정리
IoT 경량 프로토콜 — MQTT는 TCP 기반 발행/구독(브로커+토픽), CoAP은 UDP 기반 REST형. Zigbee는 IEEE 802.15.4 근거리 무선 규격, MLFQ는 CPU 스케줄링 기법.
#정보시스템구축관리#TCP/IP#네트워크
Q2
다음 설명에 해당하는 소프트웨어 개발 방법론은 무엇인가? ㆍ기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조 합하여 하나의 새로운 애플리케이션을 만드는 방법론이다. ㆍ컴포넌트의 재사용(Reusability)이 가능하여 시간과 노력 을 절감할 수 있다.
1구조적 방법론
2정보공학 방법론
3Agile 방법론
4CBD 방법론
정답 4번 · CBD 방법론
핵심 해설
CBD(Component Based Development, 컴포넌트 기반 개발) 방법론은 독립적으로 배포 가능한 소프트웨어 컴포넌트를 조립(assembly)해 새로운 애플리케이션을 만드는 개발 방법론이다. 이미 검증된 컴포넌트를 재사용하므로 개발 기간과 비용을 줄이고 품질을 확보할 수 있으며, 인터페이스를 통해서만 상호작용하므로 유지보수와 확장도 쉽다. 지문의 '컴포넌트를 조합', '재사용성으로 시간·노력 절감'이 곧 CBD의 정의이다. 대표 산출물로 컴포넌트 명세서와 인터페이스 명세서가 있다.
보기별 해설
1. 구조적 방법론은 1970년대에 정립된 프로세스 중심 방법론으로, 기능을 하향식으로 분할하고 자료흐름도(DFD)·자료사전(DD)·소단위 명세서로 표현한다. 프로그램 로직을 나누는 데 초점이 있어 컴포넌트 조립·재사용을 핵심으로 삼지 않는다.
2. 정보공학 방법론은 기업 전체의 정보 시스템을 데이터 중심으로 계획·분석·설계·구축하는 방법론이다. 전사적 정보전략계획(ISP)과 데이터 모델링(ERD)이 중심이며, 컴포넌트 조립 방식과는 다르다.
3. Agile 방법론은 짧은 반복(iteration)을 통해 동작하는 소프트웨어를 빠르게 인도하고 변화에 대응하는 방법론이다. XP·Scrum·Kanban 등이 속하며, 개발 절차·문화에 관한 것이지 컴포넌트 재사용 기법이 아니다.
4. CBD 방법론은 재사용 가능한 컴포넌트를 조합해 애플리케이션을 완성하는 방법론이다. 컴포넌트 재사용으로 개발 시간과 노력을 줄이고, 인터페이스 기반 결합으로 확장성과 유지보수성을 높인다.
CMMI(Capability Maturity Model Integration)의 단계적 표현(Staged Representation)은 성숙도 5단계로 구성된다. 1단계 초기(Initial) → 2단계 관리(Managed) → 3단계 정의(Defined) → 4단계 정량적 관리(Quantitatively Managed) → 5단계 최적화(Optimizing) 순이다. '반복(Repeatable)'은 CMMI의 전신인 CMM의 2단계 명칭으로, CMMI로 통합되면서 '관리(Managed)'로 바뀌었다. 따라서 CMMI 단계에 속하지 않는 것은 반복이다.
보기별 해설
1. 초기(Initial)는 CMMI 1단계로, 프로세스가 정의되어 있지 않아 결과가 개인의 역량과 상황에 좌우되는 무질서한 수준이다.
2. 관리(Managed)는 CMMI 2단계로, 프로젝트 단위로 요구사항·계획·형상 관리 등 기본 프로세스가 수립되어 유사 프로젝트에서 성공을 되풀이할 수 있는 수준이다.
3. 정의(Defined)는 CMMI 3단계로, 조직 표준 프로세스가 문서화되어 모든 프로젝트가 이를 재단(tailoring)해 적용하는 수준이다.
4. 반복(Repeatable)은 CMMI의 단계 명칭이 아니라 이전 모델인 CMM의 2단계 이름이다. CMMI에서는 같은 자리를 '관리(Managed)'가 대신하므로 CMMI 5단계 목록에는 들어가지 않는다.
정리
CMMI 5단계 — 초기 → 관리 → 정의 → 정량적 관리 → 최적화. '반복(Repeatable)'은 옛 CMM 2단계 명칭이다.
#정보시스템구축관리
Q4
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법은?
1Data Mining
2Wm-Bus
3Digital Twin
4Zigbee
정답 1번 · Data Mining
핵심 해설
데이터 마이닝(Data Mining)은 대용량 데이터에서 통계·기계학습 기법으로 숨어 있는 변수 간 상관관계와 규칙, 즉 유용한 패턴을 찾아내는 기술이다. 대표 기법으로 연관규칙(장바구니 분석), 분류(Classification), 군집(Clustering), 예측(회귀) 등이 있다. 지문의 '변수 사이의 상호 관계 규명', '일정한 패턴 발견'이 데이터 마이닝의 정의와 그대로 일치한다.
보기별 해설
1. Data Mining은 대량의 데이터에서 변수 간 관계와 규칙성을 통계·기계학습으로 추출해 의사결정에 활용하는 빅데이터 분석 기법이다. 연관규칙·분류·군집·예측이 대표 기법이다.
2. Wm-Bus(Wireless M-Bus)는 수도·가스·전력 계량기의 원격 검침(AMR)에 쓰이는 무선 통신 규격(EN 13757)이다. 검침 데이터 전송용 통신 기술이지 데이터 분석 기법이 아니다.
3. Digital Twin은 현실의 물리적 자산·공정을 소프트웨어로 동일하게 구현한 가상 모델이다. 시뮬레이션으로 사전 검증하는 개념이며, 데이터 속 패턴을 발굴하는 분석 기법과는 범주가 다르다.
4. Zigbee는 IEEE 802.15.4 기반의 근거리 저전력 무선 통신 규격이다. 센서 네트워크의 전송 수단일 뿐 분석 기법이 아니다.
정리
Data Mining = 대용량 데이터에서 변수 간 관계·패턴 추출(연관규칙·분류·군집·예측). 비교 — Digital Twin은 가상 복제 모델, Zigbee·Wm-Bus는 무선 통신 규격.
#정보시스템구축관리
Q5
다음 내용이 설명하는 스토리지 시스템은? ㆍ하드디스크와 같은 데이터 저장장치를 호스트버스 어댑 터에 직접 연결하는 방식 ㆍ저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성
1DAS
2NAS
3N-SCREEN
4NFC
정답 1번 · DAS
핵심 해설
스토리지 시스템은 연결 방식에 따라 DAS·NAS·SAN으로 나뉜다. DAS(Direct Attached Storage)는 저장장치를 서버의 호스트 버스 어댑터(HBA)에 케이블로 직접 연결하는 방식으로, 서버와 저장장치 사이에 네트워크 장비가 개입하지 않는다. 구성이 단순하고 속도가 빠르지만 연결된 서버만 사용할 수 있어 확장성과 공유성이 떨어진다. 지문의 '호스트버스 어댑터에 직접 연결', '중간에 네트워크 디바이스가 없어야 함'이 DAS의 정의이다.
보기별 해설
1. DAS(Direct Attached Storage)는 저장장치를 서버의 호스트 버스 어댑터에 직접 연결하는 방식이다. 네트워크를 거치지 않아 전송 속도가 빠르고 구성이 단순하지만, 해당 서버 외에는 공유가 어렵고 확장성이 낮다.
2. NAS(Network Attached Storage)는 저장장치를 LAN에 직접 연결해 여러 서버·클라이언트가 파일 단위(NFS·CIFS)로 공유하는 방식이다. 네트워크 디바이스를 경유하므로 '직접 연결'이라는 지문 조건에 어긋난다.
3. N-SCREEN은 하나의 콘텐츠를 TV·PC·스마트폰 등 여러 단말에서 끊김 없이 이어 볼 수 있게 하는 서비스 개념이다. 콘텐츠 소비 방식에 관한 용어이지 스토리지 연결 구조가 아니다.
4. NFC(Near Field Communication)는 13.56MHz 대역에서 약 10cm 이내의 초근거리 무선 통신을 하는 기술이다. 모바일 결제·태깅에 쓰이며 스토리지 시스템과 무관하다.
정리
스토리지 연결 방식 — DAS는 서버에 직접 연결(빠름, 공유 어려움), NAS는 LAN 연결 파일 공유, SAN은 전용 광채널 네트워크로 블록 단위 공유.
#정보시스템구축관리
Q6
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로실제, 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고자산, 최적화돌발사고, 최소화생산성, 증가 등 설계부터 제조서비스에, 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은? - 6
1최적화
2실행 시간
3디지털 트윈
4N-Screen
정답 3번 · 디지털 트윈
핵심 해설
디지털 트윈(Digital Twin)은 현실의 물리적 사물·설비·공정을 컴퓨터 안에 동일하게 구현한 가상 모델이다. 센서로 수집한 실제 데이터를 가상 모델에 반영해 상태를 감시하고, 가상 공간에서 시뮬레이션을 수행해 결과를 미리 확인한 뒤 현실에 적용한다. 이를 통해 자산 최적화, 돌발 사고 최소화, 생산성 증가 등 설계부터 제조·서비스에 이르는 전 과정의 효율을 높일 수 있다. 지문의 '물리적 사물과 동일한 가상 모델'이 곧 디지털 트윈이다.
보기별 해설
1. 최적화는 주어진 제약 조건에서 목적함수 값을 최대·최소로 만드는 일반적인 문제 해결 활동을 가리키는 말이다. 디지털 트윈이 가져오는 효과 중 하나일 뿐, 가상 모델 자체를 지칭하는 용어가 아니다.
2. 실행 시간(Run Time)은 프로그램이 적재되어 실제로 수행되는 시간 또는 그 시점을 뜻하는 용어이다. 물리 자산을 가상화한 모델과는 범주가 전혀 다르다.
3. 디지털 트윈은 물리적 자산·공정을 소프트웨어로 가상화한 쌍둥이 모델이다. 실시간 데이터를 연동해 시뮬레이션함으로써 사고를 예방하고 설계·제조·서비스 전 과정의 효율을 향상시킨다.
4. N-Screen은 하나의 콘텐츠를 여러 종류의 단말기에서 이어서 이용할 수 있게 하는 서비스 개념이다. 미디어 이용 방식에 관한 용어로 물리 자산의 가상 모델과 무관하다.
정리
Digital Twin = 물리 자산의 가상 쌍둥이 모델(실데이터 연동 + 시뮬레이션으로 사고 최소화·생산성 향상). N-Screen은 다중 단말 콘텐츠 연속 시청 개념.
#정보시스템구축관리
Q7
컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격은?
1Key Logger Attack
2Worm
3Rollback
4Zombie Worm
정답 1번 · Key Logger Attack
핵심 해설
키로거 공격(Key Logger Attack)은 사용자가 키보드로 입력하는 내용을 몰래 가로채 기록해 ID·패스워드·계좌번호 등 민감 정보를 탈취하는 공격이다. 소프트웨어형(후킹 프로그램)과 하드웨어형(키보드와 PC 사이에 끼우는 장치)이 있으며, 대응책으로 가상 키보드, 키보드 보안 프로그램, 다중 인증(MFA)이 쓰인다. 지문의 '키보드 움직임을 탐지해 개인 정보를 빼감'이 곧 키로깅이다.
보기별 해설
1. Key Logger Attack은 키보드 입력값을 후킹하거나 하드웨어로 가로채 기록함으로써 ID·패스워드 등을 탈취하는 공격이다. 가상 키보드와 키보드 보안 모듈이 대표적 대응책이다.
2. Worm(웜)은 숙주 파일 없이 스스로 복제해 네트워크를 통해 확산하는 악성코드이다. 자기 증식과 대역폭 소모가 특징이며 키 입력 가로채기를 정의로 삼는 공격은 아니다.
3. Rollback은 데이터베이스 트랜잭션이 실패했을 때 변경 내용을 취소하고 이전 일관 상태로 되돌리는 회복 연산이다. 공격 기법이 아니라 DBMS의 정상적인 트랜잭션 제어 명령이다.
4. Zombie Worm은 정보보안의 표준 공격 명칭이 아니다. 좀비(Zombie) PC는 봇넷에 감염되어 공격자의 명령을 수행하는 단말을 뜻하지만, 키 입력 탈취 공격을 가리키는 용어로 정의된 바는 없다.
정리
Key Logger = 키보드 입력 가로채 계정정보 탈취(SW 후킹형/HW 장착형). 비교 — Worm은 자기복제 확산 악성코드, Rollback은 DB 트랜잭션 취소 연산.
#정보시스템구축관리
Q8
기존 무선 랜의 한계 극복을 위해 등장하였으며대규모, 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신홈네트워킹공공, , 안전 등의 특수목적에 사용되는 새로운 방식의 네트워크 기술을 의미하는 것은?
1Mesh Network
2Virtual Private Network
3Local Area Network
4Software Defined Perimeter
정답 1번 · Mesh Network
핵심 해설
메시 네트워크(Mesh Network)는 기존 무선 LAN의 도달 거리·확장성 한계를 극복하기 위해 등장한 그물망 구조의 네트워크이다. 각 노드가 중계기 역할을 겸해 인접 노드끼리 다중 경로로 연결되므로, 노드를 추가하는 것만으로 커버리지가 확장되고 일부 노드가 고장 나도 우회 경로로 통신이 유지된다. 이러한 특성 덕에 대규모 디바이스 네트워크, 차세대 이동통신, 홈 네트워킹, 공공 안전망 등 특수 목적에 적합하다.
보기별 해설
1. Mesh Network는 노드들이 그물망 형태로 서로 연결되어 각 노드가 라우팅·중계를 담당하는 네트워크 기술이다. 다중 경로 덕분에 확장성과 장애 내성이 높아 대규모 디바이스 수용과 공공 안전망 구축에 활용된다.
2. Virtual Private Network(VPN, 가상 사설망)는 인터넷 같은 공중망 위에 터널링과 암호화를 적용해 논리적 사설망을 구성하는 보안 솔루션이다. 보안 통신 기법이지 무선 랜의 커버리지 한계를 넓히는 망 구성 기술이 아니다.
3. Local Area Network(LAN, 근거리 통신망)는 건물·구내 등 제한된 지역을 연결하는 전통적 네트워크 범주이다. 지문이 말하는 '기존 무선 랜의 한계를 극복한 새로운 방식'이 아니라 극복 대상 쪽에 해당한다.
4. Software Defined Perimeter(SDP, 소프트웨어 정의 경계)는 인증된 사용자에게만 자원을 노출하는 제로 트러스트 기반 접근통제 아키텍처이다. 접근 권한 통제 모델이지 대규모 디바이스용 망 구성 기술이 아니다.
정리
Mesh Network = 노드가 곧 중계기인 그물망 구조(확장성·장애 우회), 무선 LAN 한계 극복용. 비교 — VPN은 공중망 위 암호 터널, SDP는 제로 트러스트 접근통제.
#정보시스템구축관리
Q9
접근통제에 대한 설명으로 틀린 것은?
1데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
2데이터에 대해 통제함으로써 자원의 불법적인 접근 및 파괴를 예방한다.
3임의 접근통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
4역할기반 접근통제는 사용자의 역할에 따라 접근 권한을 부여 하는 방식이다.
정답 3번 · 임의 접근통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
핵심 해설
접근통제(Access Control)는 주체(Subject)가 객체(Object)에 접근하는 것을 정책에 따라 허용·제한해 자원의 불법 접근과 파괴를 예방하는 보안 기능이다. 정책은 크게 임의 접근통제(DAC), 강제 접근통제(MAC), 역할기반 접근통제(RBAC)로 나뉜다. DAC는 객체의 소유자가 자신의 재량으로 다른 주체에게 권한을 부여하는 방식이고, 주체와 객체에 부여된 보안 등급(Label)을 비교해 시스템이 강제로 접근을 결정하는 방식은 MAC이다. 따라서 임의 접근통제를 등급 비교 방식이라고 설명한 3번이 틀렸다.
보기별 해설
1. 데이터가 저장된 객체와 주체 사이의 정보 흐름을 제한한다는 설명은 접근통제의 기본 정의와 일치한다. 주체·객체·접근 권한이라는 3요소로 흐름을 통제하는 것이 접근통제이다.
2. 데이터에 대해 통제함으로써 자원의 불법 접근과 파괴를 예방한다는 설명은 접근통제의 목적을 정확히 서술한 것이다. 기밀성·무결성·가용성 보호가 그 취지이다.
3. 임의 접근통제(DAC)는 객체의 소유자가 자신의 판단으로 다른 사용자에게 접근 권한을 부여·회수하는 방식으로, SQL의 GRANT/REVOKE가 대표 예이다. 주체와 객체의 보안 등급(Label)을 비교해 시스템이 강제로 판단하는 것은 강제 접근통제(MAC)이므로 이 설명은 DAC와 MAC을 바꿔 놓은 것이다.
4. 역할기반 접근통제(RBAC)는 사용자 개인이 아니라 조직 내 역할(Role)에 권한을 부여하고 사용자를 역할에 할당하는 방식이다. 인사 이동이 잦은 조직에서 권한 관리 부담을 크게 줄여 준다는 설명은 옳다.
정리
접근통제 정책 — DAC(소유자 재량, GRANT/REVOKE) / MAC(보안 등급·레이블 비교, 시스템 강제) / RBAC(역할에 권한 부여).
#정보시스템구축관리
Q10
시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다이때. 암호 공격을 막기 위해 똑같은 패스워드 들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?
1Pass flag
2Bucket
3Opcode
4Salt
정답 4번 · Salt
핵심 해설
솔트(Salt)는 패스워드를 해시하기 전에 덧붙이는 사용자별 무작위 값이다. 같은 패스워드라도 솔트가 다르면 해시 결과가 달라지므로, 미리 계산해 둔 해시 대응표를 이용하는 레인보우 테이블 공격이나 사전 공격을 크게 어렵게 만든다. 솔트는 비밀이 아니어도 되며 해시값과 함께 저장한다. 지문의 '똑같은 패스워드가 다른 암호 값으로 저장되도록 추가되는 값'이 곧 솔트이다.
보기별 해설
1. Pass flag는 패스워드 해시 분야의 표준 용어가 아니다. 솔트처럼 해시 입력에 덧붙이는 값으로 정의된 개념이 없는 혼동용 보기이다.
2. Bucket(버킷)은 해시 테이블에서 해시 함수가 계산한 주소에 대응하는 저장 공간 단위이다. 자료구조 용어이며 패스워드 해시의 무작위 부가값과는 다르다.
3. Opcode(Operation Code, 연산 코드)는 기계어 명령어에서 수행할 연산의 종류를 지정하는 부분이다. CPU 명령어 형식 용어로 암호 저장과 무관하다.
4. Salt는 패스워드 해시 계산 시 사용자마다 다르게 덧붙이는 무작위 값이다. 동일한 패스워드도 서로 다른 해시값으로 저장되게 하여 레인보우 테이블·사전 공격을 무력화한다.
정리
Salt = 사용자별 랜덤값을 패스워드에 덧붙여 해시 → 동일 비밀번호도 다른 해시, 레인보우 테이블 공격 방어. 반복 해시로 시간을 늘리는 기법은 Key Stretching.
#정보시스템구축관리#암호화
Q11
소프트웨어 개발 프레임워크를 적용할 경우 기대효과로 거리가 먼 것은?
1품질 보증
2기술 종속성
3개발 용이성
4변경 용이성
정답 2번 · 기술 종속성
핵심 해설
소프트웨어 개발 프레임워크는 애플리케이션의 뼈대와 공통 기능을 미리 제공해, 개발자가 업무 로직에만 집중하도록 돕는 반제품 형태의 소프트웨어이다. 기대효과로는 개발 용이성, 변경 용이성, 품질 보증(검증된 아키텍처·공통 모듈 사용), 재사용성 향상, 유지보수 비용 절감 등이 있다. 반면 특정 프레임워크에 지나치게 의존하게 되는 기술 종속성은 프레임워크 도입의 단점이자 위험 요소이므로 기대효과와 거리가 멀다.
보기별 해설
1. 품질 보증은 프레임워크의 기대효과이다. 검증된 아키텍처와 공통 모듈을 재사용하므로 개발자 역량 편차로 인한 품질 저하를 줄일 수 있다.
2. 기술 종속성은 프레임워크의 대표적인 단점이다. 특정 프레임워크의 구조와 API에 맞춰 개발하다 보면 다른 기술로 전환하기 어려워지는 종속(Lock-in)이 생기므로 기대효과가 아니다.
3. 개발 용이성은 프레임워크의 기대효과이다. 인증·로깅·트랜잭션 같은 공통 기능이 이미 제공되어 개발자는 업무 로직 구현에만 집중할 수 있다.
4. 변경 용이성은 프레임워크의 기대효과이다. 표준화된 구조와 느슨한 결합(예: 의존성 주입) 덕분에 요구사항이 바뀌어도 영향 범위가 작아 유지보수가 쉬워진다.
정리
프레임워크 기대효과 — 개발 용이성·변경 용이성·품질 보증·재사용성·유지보수성 향상. 단점은 학습 곡선과 특정 기술 종속성(Lock-in).
#정보시스템구축관리
Q12
소프트웨어 개발 방법론 중 애자일(Agile) 방법론의 특징과 가장 거리가 먼 것은?
1각 단계의 결과가 완전히 확인된 후 다음 단계 진행
2소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
3환경 변화에 대한 즉시 대응
4프로젝트 상황에 따른 주기적 조정
정답 1번 · 각 단계의 결과가 완전히 확인된 후 다음 단계 진행
핵심 해설
애자일(Agile)은 짧은 반복 주기로 동작하는 소프트웨어를 인도하면서 요구사항 변화를 적극 수용하는 개발 방법론이다. 애자일 선언문은 '프로세스와 도구보다 개인과 상호작용', '문서보다 동작하는 소프트웨어', '계약 협상보다 고객과의 협력', '계획을 따르기보다 변화에 대응'을 가치로 삼는다. 반면 각 단계 결과를 완전히 확인한 뒤에야 다음 단계로 넘어가는 방식은 폭포수(Waterfall) 모형의 선형 순차적 특징이므로 애자일과 가장 거리가 멀다.
보기별 해설
1. 각 단계의 결과가 완전히 확인된 후 다음 단계로 진행한다는 것은 선형 순차 진행을 뜻하므로 폭포수(Waterfall) 모형의 특징이다. 반복적·점진적으로 진행하며 변화를 수용하는 애자일과 정반대이다.
2. 소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시는 애자일의 핵심 가치이다. '프로세스와 도구보다 개인과 상호작용'을 우선하며 일일 스탠드업 미팅, 페어 프로그래밍 등으로 구현된다.
3. 환경 변화에 대한 즉시 대응은 애자일의 특징이다. '계획을 따르기보다 변화에 대응하기'라는 원칙에 따라 반복 주기마다 요구사항 변경을 받아들인다.
4. 프로젝트 상황에 따른 주기적 조정은 애자일의 특징이다. 스프린트 회고(Retrospective)와 리뷰를 통해 계획과 프로세스를 반복 주기마다 재조정한다.
정리
애자일 = 짧은 반복·의사소통·변화 수용·주기적 조정. 단계별 완료 확인 후 다음 진행은 폭포수 모형의 특징이다.
#정보시스템구축관리
Q13
크래커가 침입하여 백도어를 만들어 놓거나설정, 파일을 변경했을 때 분석하는 도구는?
1tripwire
2tcpdump
3cron
4netcat
정답 1번 · tripwire
핵심 해설
tripwire는 시스템 파일과 디렉터리의 해시값·속성 정보를 기준 데이터베이스로 저장해 두고, 이후 상태와 비교해 변조 여부를 탐지하는 무결성 점검 도구이다. 크래커가 침입해 백도어를 심거나 설정 파일·시스템 바이너리를 변경하면 해시값이 달라지므로 즉시 탐지된다. 호스트 기반 침입탐지(HIDS)의 대표 도구로 분류된다.
보기별 해설
1. tripwire는 파일과 디렉터리의 해시·속성을 기준 DB와 대조해 변조를 탐지하는 무결성 점검 도구이다. 백도어 설치나 설정 파일 변경 같은 침입 흔적 분석에 사용되는 호스트 기반 침입탐지 도구이다.
2. tcpdump는 네트워크 인터페이스를 지나는 패킷을 캡처해 출력하는 패킷 분석 도구이다. 실시간 트래픽 분석용이며 파일 변조 여부를 판별하지는 못한다.
3. cron은 유닉스·리눅스에서 지정한 시각에 명령을 자동 실행하는 작업 스케줄러이다. 정기 작업 등록 도구이지 무결성 검사 도구가 아니다.
4. netcat(nc)은 TCP/UDP 연결을 임의로 만들어 데이터를 주고받는 네트워크 유틸리티이다. 포트 스캔이나 역방향 셸에 악용되기도 하는 통신 도구이지 변조 분석 도구는 아니다.
정리
tripwire = 파일 무결성 점검(해시 기준 DB 대조)으로 백도어·설정 변조 탐지. 비교 — tcpdump는 패킷 캡처, cron은 작업 스케줄러, netcat은 임의 TCP/UDP 연결 도구.
#정보시스템구축관리
Q14
다음 내용이 설명하는 것은? ㆍ블록체인(Blockchain) 개발 환경을 클라우드로 서비스 하는 개념 ㆍ블록체인 네트워크에 노드의 추가 및 제거가 용이 ㆍ블록체인의 기본 인프라를 추상화하여 블록체인 응용프 로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼
1OTT
2BaaS
3SDDC
4Wi-SUN 6
정답 2번 · BaaS
핵심 해설
BaaS(Blockchain as a Service)는 블록체인 개발·운영 환경을 클라우드 서비스 형태로 제공하는 플랫폼이다. 합의 알고리즘, 노드 관리, 네트워크 구성 같은 기본 인프라를 추상화해 주므로 사용자는 인프라를 직접 구축하지 않고도 블록체인 응용프로그램(스마트 컨트랙트, DApp)을 개발할 수 있다. 노드 추가·제거가 콘솔에서 간단히 이루어져 확장과 축소가 쉽다는 점이 지문의 설명과 일치한다.
보기별 해설
1. OTT(Over The Top)는 별도의 통신사 전용망 없이 인터넷망을 통해 방송·영상 콘텐츠를 제공하는 서비스이다. 미디어 서비스 형태를 뜻하는 용어로 블록체인 개발 플랫폼이 아니다.
2. BaaS(Blockchain as a Service)는 블록체인 인프라를 추상화해 클라우드로 제공하는 서비스이다. 노드 추가·제거가 쉽고, 개발자는 인프라 구축 없이 블록체인 응용프로그램을 만들 수 있다.
3. SDDC(Software Defined Data Center)는 서버·스토리지·네트워크 등 데이터센터 자원 전체를 가상화해 소프트웨어로 통합 제어하는 개념이다. 데이터센터 운영 아키텍처이지 블록체인 전용 서비스는 아니다.
4. Wi-SUN(Wireless Smart Utility Network)은 스마트그리드 검침 등에 쓰이는 저전력 장거리 무선 통신 규격이다. IoT 통신 기술이며 블록체인 클라우드 플랫폼과 무관하다.
정리
BaaS = 블록체인 개발환경을 클라우드로 제공(인프라 추상화, 노드 증감 용이). 비교 — SDDC는 데이터센터 전 자원의 소프트웨어 정의, OTT는 인터넷 기반 미디어 서비스.
#정보시스템구축관리
Q15
다음 설명에 해당하는 비용산정 기법은? ㆍ조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법이다. ㆍ가장 편리하고 신속하게 비용을 산정할 수 있으며의뢰, 자로부터 믿음을 얻을 수 있다. ㆍ개인적이고 주관적일 수 있다.
1전문가 감정 기법
2델파이 기법
3LOC 기법
4Putnam 모형
정답 1번 · 전문가 감정 기법
핵심 해설
소프트웨어 비용 산정 기법은 크게 하향식(전문가 감정, 델파이)과 상향식(LOC, 개발 단계별 인월수), 수학적 모형(COCOMO, Putnam, 기능점수)으로 나뉜다. 전문가 감정 기법은 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 하향식 기법으로, 가장 신속하고 편리하지만 전문가의 편견이 개입되어 주관적일 수 있다는 단점이 있다. 이 주관성을 보완하려고 조정자를 두고 익명 서면으로 여러 차례 의견을 수렴하는 것이 델파이 기법이다.
보기별 해설
1. 전문가 감정 기법은 경험 있는 전문가 두 명 이상에게 비용 산정을 맡기는 하향식 기법이다. 신속하고 의뢰자의 신뢰를 얻기 쉽지만 전문가의 편견과 주관이 개입될 수 있다는 한계가 있다.
2. 델파이 기법은 전문가 감정의 주관성을 보완하기 위해 조정자(중재자)를 두고 여러 전문가의 익명 의견을 반복 수렴해 합의에 이르는 하향식 기법이다. 지문에는 조정자나 반복 수렴 절차가 없으므로 해당하지 않는다.
3. LOC 기법은 원시 코드 라인 수를 낙관치(a)·기대치(m)·비관치(b)로 추정한 뒤 (a+4m+b)/6으로 예측치를 구하고, 이를 개발자 생산성으로 나눠 노력과 비용을 산정하는 상향식 기법이다. 전문가 의뢰가 아니라 코드량 측정에 근거한다.
4. Putnam 모형은 개발 주기 전체에 걸친 인력 투입량이 Rayleigh-Norden 곡선을 따른다고 보고 노력 분포를 추정하는 수학적 모형이다. 자동화 도구로 SLIM이 있으며, 전문가 판단에 의존하는 기법이 아니다.
정리
비용 산정 — 하향식: 전문가 감정(신속·주관적), 델파이(조정자+익명 반복으로 주관 보완). 상향식: LOC 기법 (a+4m+b)/6. 수학적 모형: COCOMO, Putnam(SLIM), 기능점수(FP).
#정보시스템구축관리#LOC
Q16
전자 칩과 같은 소프트웨어 부품즉, 블록모듈을( ) 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?
1합성 중심
2생성 중심
3분리 중심
4구조 중심
정답 1번 · 합성 중심
핵심 해설
소프트웨어 재사용 방법은 규모와 방식에 따라 합성 중심(Composition-Based)과 생성 중심(Generation-Based)으로 나뉜다. 합성 중심은 전자 칩처럼 이미 만들어진 소프트웨어 부품(블록, 모듈, 컴포넌트)을 조립해 소프트웨어를 완성하는 방식으로, 블록 구성 방법이라고도 한다. 반면 생성 중심은 추상화 형태로 명세된 것을 구체화해 프로그램을 자동으로 만들어 내는 방식으로 패턴 구성 방법이라 부른다. 지문의 '부품을 만들어 끼워 맞춘다'는 표현이 합성 중심에 해당한다.
보기별 해설
1. 합성 중심(Composition-Based)은 이미 개발된 소프트웨어 부품(블록·모듈)을 조립해 소프트웨어를 완성하는 재사용 방법으로, 블록 구성 방법이라고도 한다. 전자 칩을 끼워 맞추듯 부품을 결합한다는 지문 설명과 일치한다.
2. 생성 중심(Generation-Based)은 추상화 형태로 명세된 내용을 구체화해 프로그램을 자동 생성하는 재사용 방법으로, 패턴 구성 방법이라고도 한다. 부품을 조립하는 방식이 아니다.
3. 분리 중심은 소프트웨어 재사용 방법의 표준 분류 명칭이 아니다. 재사용은 합성 중심과 생성 중심 두 가지로 구분하므로 이 보기는 실체가 없는 혼동용 항목이다.
4. 구조 중심 역시 소프트웨어 재사용 방법의 표준 분류에 존재하지 않는 명칭이다. '구조적 방법론'과 혼동하기 쉬우나 재사용 분류와는 무관하다.
정리
소프트웨어 재사용 — 합성 중심(부품·블록 조립, 블록 구성 방법) / 생성 중심(명세를 구체화해 자동 생성, 패턴 구성 방법). 두 가지뿐이다.
#정보시스템구축관리
Q17
코드 오류로 발생할 수 있는 보안 약점 중 널 포인터(Null Pointer) 역참조가 발생하지 않도록 프로그래머가 수행해야 하는 일로 가장 옳은 것은?
1반환된 메모리에 접근할 수 없도록 주소를 저장하고 있는 포인 터를 초기화한다.
2변수 선언 시 할당된 메모리를 초기화한다.
3포인터를 이용하기 전에 널 값을 갖고 있는지 검사한다.
4자원 반환 코드가 누락되었는지 확인한다.
정답 3번 · 포인터를 이용하기 전에 널 값을 갖고 있는지 검사한다.
핵심 해설
널 포인터 역참조(Null Pointer Dereference)는 널(NULL) 값을 가진 포인터가 가리키는 메모리를 읽거나 쓸 때 발생하는 보안 약점으로, 프로그램 비정상 종료나 서비스 거부로 이어진다. 주로 메모리 할당 함수나 객체 반환 함수가 실패해 NULL을 돌려주었는데도 반환값을 확인하지 않고 사용할 때 생긴다. 따라서 근본 대응은 포인터를 사용하기 전에 NULL 여부를 검사하고, NULL이면 예외 처리 경로로 분기시키는 것이다.
보기별 해설
1. 반환된 메모리 주소를 저장한 포인터를 초기화하는 것은 해제 후 사용(Use After Free)이나 이중 해제를 막기 위한 조치이다. free 후 포인터에 NULL을 대입하는 대응이며 널 역참조 자체의 예방책은 아니다.
2. 변수 선언 시 할당된 메모리를 초기화하는 것은 초기화되지 않은 변수 사용으로 인한 예측 불가 동작과 정보 노출을 막기 위한 조치이다. 널 포인터 역참조의 직접적인 대응책과는 다르다.
3. 포인터를 이용하기 전에 널 값 여부를 검사하는 것이 널 포인터 역참조의 정확한 대응책이다. 메모리 할당·객체 반환 함수의 반환값이 NULL인지 확인한 뒤 사용하고, NULL이면 예외 처리로 분기시킨다.
4. 자원 반환 코드 누락 확인은 파일 핸들·소켓·메모리 등을 반납하지 않아 생기는 자원 누수(Resource Leak)를 막기 위한 조치이다. 포인터의 널 여부 검증과는 다른 약점을 다룬다.
정리
널 포인터 역참조 대응 = 사용 전 NULL 검사. 구분 — 사용 후 포인터 NULL 대입은 Use After Free, 변수 초기화는 미초기화 변수 사용, 반환 코드 확인은 자원 누수 대응.
#정보시스템구축관리#보안
Q18
시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은? ㆍ자신의 신원(Identity)을 시스템에 증명하는 과정이다. ㆍ아이디와 패스워드를 입력하는 과정이 가장 일반적인 예 시라고 볼 수 있다.
1Aging
2Accounting
3Authorization
4Authentication
정답 4번 · Authentication
핵심 해설
시스템 접근 과정은 식별(Identification) → 인증(Authentication) → 인가(Authorization) → 계정 관리·감사(Accounting)의 순서로 이루어진다. 이 중 인증(Authentication)은 주체가 주장한 신원이 실제로 본인임을 시스템에 증명하는 과정이다. 인증 수단은 알고 있는 것(패스워드), 가지고 있는 것(OTP 토큰·스마트카드), 자신의 특징(생체정보)으로 나뉘며, 아이디와 패스워드 입력이 가장 일반적인 예이다.
보기별 해설
1. Aging(에이징)은 운영체제 스케줄링에서 오래 대기한 프로세스의 우선순위를 점차 높여 기아(Starvation)를 방지하는 기법이다. 신원 증명 과정과는 범주가 다르다.
2. Accounting(계정 관리)은 사용자가 시스템 자원을 언제 얼마나 사용했는지 기록·과금·감사하는 단계이다. 접속 이후의 사용 내역 추적에 해당하며 신원을 증명하는 과정은 아니다.
3. Authorization(인가)은 인증을 마친 주체에게 어떤 자원에 어떤 연산을 허용할지 권한을 부여하는 단계이다. 신원 증명 다음에 오는 절차로, 증명 자체와 구분해야 한다.
4. Authentication(인증)은 주체가 제시한 신원이 본인임을 시스템에 증명하는 과정이다. 지식(패스워드)·소유(OTP·스마트카드)·존재(생체) 기반 수단이 있으며 아이디와 패스워드 입력이 가장 흔한 예이다.
정리
AAA 순서 — 식별(누구라고 주장) → 인증(본인임을 증명) → 인가(권한 부여) → 계정관리/감사(사용 내역 기록). Aging은 OS 스케줄링의 기아 방지 기법.
#정보시스템구축관리
Q19
프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?
1각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
2시간선(Time-Line) 차트라고도 한다.
3수평 막대의 길이는 각 작업의 기간을 나타낸다.
4작업들 간의 상호 관련성결정, 경로경계, 시간자원, 할당 등을 제시한다.
정답 4번 · 작업들 간의 상호 관련성결정, 경로경계, 시간자원, 할당 등을 제시한다.
핵심 해설
PERT(Program Evaluation and Review Technique) 차트는 작업(노드)과 작업 간 선후 관계(화살표)를 네트워크 형태로 표현해 일정을 관리하는 도구이다. 작업 간 상호 관련성과 의존 관계, 임계 경로(Critical Path), 여유 시간(Slack), 자원 할당을 파악할 수 있어 불확실한 프로젝트의 일정 추정에 적합하다. 각 작업 기간은 낙관치 a, 기대치(최빈치) m, 비관치 b를 이용해 (a+4m+b)/6으로 산정한다. 예컨대 a=2, m=5, b=14이면 (2+20+14)/6 = 6일이다. 반면 막대 도표로 시작·종료 시점을 표시하고 시간선 차트라고도 불리는 것은 간트(Gantt) 차트이다.
보기별 해설
1. 각 작업의 시작·종료 일정을 막대 도표로 표시한다는 설명은 간트(Gantt) 차트의 특징이다. PERT는 막대가 아니라 노드와 화살표로 이루어진 네트워크 형태로 표현한다.
2. 시간선(Time-Line) 차트라는 별칭은 간트 차트의 것이다. 가로축을 시간축으로 삼아 작업을 나열하기 때문이며, PERT 차트를 가리키는 이름이 아니다.
3. 수평 막대의 길이가 작업 기간을 나타낸다는 설명 역시 간트 차트의 특징이다. PERT 차트에는 길이로 기간을 나타내는 수평 막대가 없다.
4. 작업들 간의 상호 관련성과 경로 결정, 임계 경로, 소요 시간과 자원 할당을 제시한다는 설명이 PERT 차트의 특징이다. 작업의 의존 관계를 네트워크로 표현해 지연이 전체 일정에 미치는 영향을 분석할 수 있다.
정리
PERT = 노드·화살표 네트워크로 작업 간 의존관계·임계경로·자원 제시, 작업 기간은 (낙관치 a + 4×기대치 m + 비관치 b)/6. 간트 차트 = 수평 막대 도표, 시간선 차트.
#정보시스템구축관리
Q20
하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?
1Apnic
2Topology
3Sqoop
4SDB - 7 7 -
정답 3번 · Sqoop
핵심 해설
Sqoop(SQL to Hadoop)은 하둡(HDFS·Hive·HBase)과 관계형 데이터베이스 사이에서 대량 데이터를 일괄 전송하기 위한 아파치 프로젝트 도구이다. import 명령으로 RDBMS의 테이블을 HDFS로 가져오고, export 명령으로 HDFS의 데이터를 RDBMS로 내보내며, 내부적으로 MapReduce 작업을 생성해 병렬로 처리한다. 이름 자체가 SQL과 Hadoop의 합성어로 그 역할을 드러낸다.
보기별 해설
1. Apnic(APNIC, Asia Pacific Network Information Centre)은 아시아·태평양 지역의 IP 주소와 AS 번호를 할당·관리하는 지역 인터넷 등록기관(RIR)이다. 주소 자원 관리 기구이지 데이터 전송 도구가 아니다.
2. Topology(토폴로지)는 네트워크에서 노드와 링크가 연결된 물리적·논리적 구조를 뜻하는 용어이다. 버스·링·성형·망형 등의 형태를 가리키며 특정 소프트웨어 도구를 지칭하지 않는다.
3. Sqoop은 하둡과 관계형 데이터베이스 간 대량 데이터를 주고받도록 설계된 아파치 도구이다. import/export 명령을 MapReduce 작업으로 변환해 병렬 전송하며 이름은 SQL+Hadoop의 합성어이다.
4. SDB는 하둡 생태계의 표준 도구 명칭이 아니다. 데이터 전송 도구로 정의된 실체가 없으므로 혼동용 보기이다.
정리
하둡 생태계 — Sqoop은 RDBMS↔HDFS 정형 데이터 전송(import/export), Flume은 로그 등 비정형 스트리밍 수집, Hive는 SQL 질의, HBase는 NoSQL 저장소.