0장필수 계산 공식 모음›
DB 기본 계산
- 카디널리티 vs 차수(Degree) - 카디널리티=튜플(행) 수, 차수=속성(컬럼) 수. 서로 절대 헷갈리지 말 것.
- 튜플 최대 수 = 각 속성 도메인 값 개수를 모두 곱한 값 (예: 3×2×4=24)
- 교차곱(Cartesian Product) - 차수=두 릴레이션 차수의 합, 카디널리티=두 릴레이션 카디널리티의 곱
- Division 연산 - R에서 S의 속성값을 모두 가진 튜플을 추출한 뒤, S가 가진 속성을 제외한 나머지 속성만 남김
숫자로 직접 따라가기 - 학생 릴레이션 예시로 카디널리티·차수 세어보기
| 학번 | 이름 | 학년 | 전공 |
|---|---|---|---|
| 2021001 | 김하나 | 2 | 컴퓨터공학 |
| 2021002 | 이도현 | 3 | 정보통신 |
| 2021003 | 박서연 | 1 | 소프트웨어 |
| 카디널리티(행 수)=3 (튜플 3개) / 차수(열 수)=4 (속성 4개: 학번·이름·학년·전공) | |||
숫자로 직접 따라가기 - 속성 3개, 각 도메인 값 개수 3×2×4로 튜플 최대 수 계산
| 속성 | 도메인(가능한 값) | 도메인 크기 |
|---|---|---|
| 학년 | {1, 2, 3} | 3 |
| 성별 | {남, 여} | 2 |
| 전공 | {컴공, 정통, 소프트, 산업} | 4 |
| 튜플 최대 수 = 3 × 2 × 4 | 24 | |
숫자로 직접 따라가기 - R(차수2, 카디널리티2) × S(차수1, 카디널리티3) 교차곱
| 사번 | 이름 |
|---|---|
| 1 | 철수 |
| 2 | 영희 |
| 부서 |
|---|
| 기획 |
| 개발 |
| 영업 |
| 사번 | 이름 | 부서 |
|---|---|---|
| 1 | 철수 | 기획 |
| 1 | 철수 | 개발 |
| 1 | 철수 | 영업 |
| 2 | 영희 | 기획 |
| 2 | 영희 | 개발 |
| 2 | 영희 | 영업 |
| 총 6개 튜플 (2×3), 차수 3 (2+1) | ||
기억장치 배치 전략
- First Fit - 들어갈 수 있는 첫 번째 빈 영역에 배치
- Best Fit - 들어갈 수 있는 가장 작은(단편화 최소) 빈 영역에 배치
- Worst Fit - 가장 큰(단편화 최대로 남는) 빈 영역에 배치
- 내부 단편화 = 배치된 빈 영역 크기 − 실제 필요 크기
숫자로 직접 따라가기 - 빈 영역 [15K, 23K, 22K, 21K]에 17K 프로그램을 배치할 때 전략별 차이
| 영역1 | 영역2 | 영역3 | 영역4 |
|---|---|---|---|
| 15K | 23K | 22K | 21K |
| 전략 | 선택 과정 | 배치 영역 | 내부 단편화 |
|---|---|---|---|
| First Fit | 순서대로 검사 - 15K(17K 미만이라 불가) → 23K(가능) → 즉시 선택 | 23K | 23-17=6K |
| Best Fit | 배치 가능한 영역(23K, 22K, 21K) 중 가장 작은 것 선택 | 21K | 21-17=4K |
| Worst Fit | 배치 가능한 영역(23K, 22K, 21K) 중 가장 큰 것 선택 | 23K | 23-17=6K |
정렬 알고리즘 진행 패턴
- 버블 정렬 - 인접한 두 값을 비교해 교환, 한 회전마다 최댓값이 끝으로 이동
- 선택 정렬 - 남은 값 중 최솟값을 찾아 해당 회전의 맨 앞 위치와 교환
- 삽입 정렬 - 두 번째 값부터 그 앞쪽과 비교하며 삽입 위치를 찾아 삽입
- 세 알고리즘 모두
O(n²)- 힙·퀵·합병 정렬은O(n log n)과 헷갈리지 말 것
숫자로 직접 따라가기 - 배열 [5, 2, 4, 1] 오름차순 정렬 (세 알고리즘 모두 같은 배열로 비교)
| 단계 | 비교 내용 | 배열 상태 |
|---|---|---|
| 시작 | - | [5, 2, 4, 1] |
| 1회전 | 5·2 비교 → 5>2 교환 | [2, 5, 4, 1] |
| 5·4 비교 → 5>4 교환 | [2, 4, 5, 1] | |
| 5·1 비교 → 5>1 교환 → 5 확정 | [2, 4, 1, 5] | |
| 2회전 | 2·4 비교 → 2<4 유지 | [2, 4, 1, 5] |
| 4·1 비교 → 4>1 교환 → 4 확정 | [2, 1, 4, 5] | |
| 3회전 | 2·1 비교 → 2>1 교환 → 2 확정 | [1, 2, 4, 5] |
| 정렬 완료 (4개 원소 → n-1=3회전) | [1, 2, 4, 5] | |
| 단계 | 탐색·교환 내용 | 배열 상태 |
|---|---|---|
| 시작 | - | [5, 2, 4, 1] |
| 1회전 | [5,2,4,1] 중 최솟값 1 탐색 → idx0(5)과 교환 | [1, 2, 4, 5] |
| 2회전 | 남은 [2,4,5] 중 최솟값 2 → 이미 맨 앞, 교환 없음 | [1, 2, 4, 5] |
| 3회전 | 남은 [4,5] 중 최솟값 4 → 이미 맨 앞, 교환 없음 | [1, 2, 4, 5] |
| 정렬 완료 (4개 원소 → n-1=3회전) | [1, 2, 4, 5] | |
| 단계 | 비교·삽입 내용 | 배열 상태 |
|---|---|---|
| 시작 | [5]는 정렬된 것으로 간주, 나머지 2,4,1 대기 | [5, 2, 4, 1] |
| 2번째 값 삽입 | 2 vs 5 → 2<5라 5를 뒤로 밀고 맨 앞에 삽입 | [2, 5, 4, 1] |
| 3번째 값 삽입 | 4 vs 5 → 밀림 / 4 vs 2 → 4>2라 정지, 2 뒤에 삽입 | [2, 4, 5, 1] |
| 4번째 값 삽입 | 1 vs 5,4,2 순서로 비교 → 전부 밀림, 맨 앞에 삽입 | [1, 2, 4, 5] |
| 정렬 완료 | [1, 2, 4, 5] | |
운영체제 · 메모리
- CPM 임계경로(Critical Path) = 여러 경로 중 소요 기일이 가장 긴(최장) 경로
- 세그먼트 물리주소 변환 = 세그먼트 시작주소 + 변위(offset)값
- 페이지 교체 알고리즘 - FIFO: 가장 먼저 적재된 페이지부터 교체 / LRU: 가장 오랫동안 참조되지 않은 페이지를 교체. 프레임 개수만큼 표를 그려 참조열을 순서대로 추적하면 부재 횟수를 셀 수 있음
- umask 계산 - 파일 기본권한 666 − umask = 실제 파일 권한 / 디렉터리 기본권한 777 − umask = 실제 디렉터리 권한
- SSTF 디스크 스케줄링 - 현재 헤드 위치에서 가장 가까운 트랙 요청부터 순서대로 처리
숫자로 직접 따라가기 - 참조열 2,3,2,1,5,2,4,5,3,2 / 프레임 3개, FIFO와 LRU 페이지 부재 비교
| 순서 | 참조값 | 적중/부재 | 프레임 상태 |
|---|---|---|---|
| 1 | 2 | 부재 | [2] |
| 2 | 3 | 부재 | [2, 3] |
| 3 | 2 | 적중 | [2, 3] |
| 4 | 1 | 부재 | [2, 3, 1] |
| 5 | 5 | 부재 (가장 먼저 들어온 2 교체) | [3, 1, 5] |
| 6 | 2 | 부재 (가장 먼저 들어온 3 교체) | [1, 5, 2] |
| 7 | 4 | 부재 (가장 먼저 들어온 1 교체) | [5, 2, 4] |
| 8 | 5 | 적중 | [5, 2, 4] |
| 9 | 3 | 부재 (가장 먼저 들어온 5 교체) | [2, 4, 3] |
| 10 | 2 | 적중 | [2, 4, 3] |
| 총 부재 7회 / 적중 3회 | [2, 4, 3] | ||
| 순서 | 참조값 | 적중/부재 | 프레임 상태 |
|---|---|---|---|
| 1 | 2 | 부재 | {2} |
| 2 | 3 | 부재 | {2, 3} |
| 3 | 2 | 적중 (2가 최근 사용으로 갱신) | {2, 3} |
| 4 | 1 | 부재 | {1, 2, 3} |
| 5 | 5 | 부재 (가장 오래 안 쓰인 3 교체) | {1, 2, 5} |
| 6 | 2 | 적중 (2가 최근 사용으로 갱신) | {1, 2, 5} |
| 7 | 4 | 부재 (가장 오래 안 쓰인 1 교체) | {2, 4, 5} |
| 8 | 5 | 적중 (5가 최근 사용으로 갱신) | {2, 4, 5} |
| 9 | 3 | 부재 (가장 오래 안 쓰인 2 교체) | {3, 4, 5} |
| 10 | 2 | 부재 (가장 오래 안 쓰인 4 교체) | {2, 3, 5} |
| 총 부재 7회 / 적중 3회 (이 예시에서는 FIFO와 결과 동일) | {2, 3, 5} | ||
숫자로 직접 따라가기 - umask 022일 때 파일·디렉터리 실제 권한 계산
| 구분 | 소유자(owner) | 그룹(group) | 기타(other) | 결과 |
|---|---|---|---|---|
| 파일 기본권한 | 6 | 6 | 6 | 666 |
| umask | -0 | -2 | -2 | 022 |
| 파일 실제 권한 | 6 | 4 | 4 | 644 |
| 구분 | 소유자(owner) | 그룹(group) | 기타(other) | 결과 |
|---|---|---|---|---|
| 디렉터리 기본권한 | 7 | 7 | 7 | 777 |
| umask | -0 | -2 | -2 | 022 |
| 디렉터리 실제 권한 | 7 | 5 | 5 | 755 |
네트워크 서브네팅
- CIDR 서브넷 마스크 -
/n표기 시 1이 n개, 나머지는 0 (예: /27 → 255.255.255.224) - FLSM 서브네팅 - N개의 서브넷으로 나눌 때 2ⁿ≥N을 만족하는 최소 n비트를 네트워크 비트로 추가 사용, 나머지 비트가 호스트 비트
ip subnet-zero는 서브넷 부분이 모두 0인 네트워크도 사용하겠다는 의미. broadcast 주소=해당 대역의 마지막 주소
숫자로 직접 따라가기 - 200.1.1.0/24를 6개 서브넷으로 나누기
| n | 2ⁿ | 6개 서브넷 커버 여부 |
|---|---|---|
| n=1 | 2 | 2 < 6 → 부족 |
| n=2 | 4 | 4 < 6 → 부족 |
| n=3 | 8 | 8 ≥ 6 → 충족, n=3 확정 (네트워크 비트 3개 추가 차용) |
| 서브넷 | 네트워크 주소 | 사용 가능 범위 | 브로드캐스트 |
|---|---|---|---|
| 1 | 200.1.1.0/27 | .1 ~ .30 | 200.1.1.31 |
| 2 | 200.1.1.32/27 | .33 ~ .62 | 200.1.1.63 |
| 3 | 200.1.1.64/27 | .65 ~ .94 | 200.1.1.95 |
| 4 | 200.1.1.96/27 | .97 ~ .126 | 200.1.1.127 |
| 5 | 200.1.1.128/27 | .129 ~ .158 | 200.1.1.159 |
| 6 | 200.1.1.160/27 | .161 ~ .190 | 200.1.1.191 |
| n=3으로 만든 8개 서브넷 중 6개만 사용 (나머지 200.1.1.192/27, 200.1.1.224/27은 예비) | |||
테스트 · 소프트웨어공학 계산
- 경계값 분석 - 구간이 나뉘는 경계값과 경계값±1을 입력값으로 선정 (예: 0~59/60~79/80~100 구간이면 -1,0,59,60,79,80,100,101)
- 노력(인월) = 개발기간 × 투입인원 = 총LOC / 인당 월평균 생산 라인 수
- 생산성 = LOC / 노력(인월) · 개발기간 = 노력(인월) / 투입인원
- SJF - 실행시간이 가장 짧은 프로세스부터 처리
- HRN 우선순위 = (대기시간 + 서비스시간) / 서비스시간, 값이 클수록 우선순위 높음
- McCabe 순환복잡도 - (내부 영역 수 + 외부 영역 1) 또는
V(G) = 간선수 − 노드수 + 2, 두 방법 결과는 동일해야 함
숫자로 직접 따라가기 - 대기시간·서비스시간이 다른 프로세스 3개의 HRN 값 비교
| 프로세스 | 대기시간 | 서비스시간 | 계산 | HRN |
|---|---|---|---|---|
| P1 | 5 | 20 | (5+20)/20 | 1.25 |
| P2 | 10 | 5 | (10+5)/5 | 3.0 |
| P3 | 15 | 10 | (15+10)/10 | 2.5 |
| 우선순위(HRN 높은 순): P2(3.0) > P3(2.5) > P1(1.25) | ||||
숫자로 직접 따라가기 - 노드 5개, 간선 6개인 흐름도의 순환복잡도 계산
| 간선 수 | 노드 수 | 계산 | V(G) |
|---|---|---|---|
| 6 | 5 | 6 - 5 + 2 | 3 |
| 내부 영역 수 | 외부 영역 | 계산 | V(G) |
|---|---|---|---|
| 2 | 1 | 2 + 1 | 3 |
| 두 공식 모두 V(G)=3으로 일치 (간선 6개, 노드 5개, 닫힌 내부영역 2개인 흐름도 기준) | |||
트리 · 그래프
- 트리 순회 - Preorder(전위): Root→Left→Right / Inorder(중위): Left→Root→Right / Postorder(후위): Left→Right→Root. 서브트리를 하나의 노드처럼 묶어서 순서대로 풀면 실수 없음
- 트리 차수(Degree) = 가장 자식이 많은 노드의 자식 수 · 단말 노드 = 자식이 하나도 없는 노드
- 그래프 최대 간선 수 - 무방향 =
n(n-1)/2, 방향 =n(n-1) - DFS - 자식 노드를 우선 방문, 더 갈 곳 없으면 방문 안 한 형제/상위로 되돌아가 탐색
- 전위식→후위식 변환 - 피연산자 2개+연산자를 괄호로 묶은 뒤, 연산자를 피연산자 뒤(오른쪽)로 옮기고 괄호 제거
- Postfix 연산 계산 - 피연산자 2개+뒤따르는 연산자 1개를 묶어 반복 계산 (예:
3 4 * 5 6 * +→ (3*4)+(5*6) = 42)
숫자로 직접 따라가기 - 후위표기식 3 4 * 5 6 * + 스택 트레이스
| 순서 | 읽은 토큰 | 처리 | 스택 상태 |
|---|---|---|---|
| 1 | 3 | push | [3] |
| 2 | 4 | push | [3, 4] |
| 3 | * | pop 4, pop 3 → 3×4=12 → push | [12] |
| 4 | 5 | push | [12, 5] |
| 5 | 6 | push | [12, 5, 6] |
| 6 | * | pop 6, pop 5 → 5×6=30 → push | [12, 30] |
| 7 | + | pop 30, pop 12 → 12+30=42 → push | [42] |
| 최종 결과 = 42 | [42] | ||
- fan-in / fan-out - 모듈로 들어오는 화살표 수 = fan-in, 나가는 화살표 수 = fan-out
기타
- 스택 Push/Pop 순서 - 실제로 손으로 추적해봐서 특정 출력 순서가 가능한지 검증(더 나중에 들어온 것을 나중에 꺼내지 않고는 그 이전 것을 꺼낼 수 없음)
- 외래키 판별 - 두 릴레이션의 공통 속성 중, 기본키가 아닌 일반 속성으로 존재하는 릴레이션 쪽이 외래키를 참조
- 관계형 모델 3요소 - Relation(릴레이션=테이블 개수) / Attribute(속성=컬럼 개수) / Tuple(튜플=행 개수)
- 이진 검색 비교 횟수 - 매번 (첫값+끝값)/2로 중간값을 구해 비교, 범위를 절반씩 좁혀가며 몇 번째에 찾는 값과 일치하는지 셈
숫자로 직접 따라가기 - A,B,C를 그 순서로 push할 때 나올 수 있는 pop 순서인지 검증 (개념 이해용 예시, 실제 기출문제 아님)
| 단계 | 연산 | 출력 | 스택 상태 |
|---|---|---|---|
| 1 | push A | - | [A] |
| 2 | push B | - | [A, B] |
| 3 | pop | B | [A] |
| 4 | push C | - | [A, C] |
| 5 | pop | C | [A] |
| 6 | pop | A | [] |
| 출력 순서 B, C, A - 가능한 순서 | |||
| 단계 | 연산 | 출력 | 스택 상태 |
|---|---|---|---|
| 1 | push A | - | [A] |
| 2 | push B | - | [A, B] |
| 3 | push C | - | [A, B, C] |
| 4 | pop → C 출력 (목표 순서와 일치) | C | [A, B] |
| 5 | 다음 목표는 A인데 스택 맨 위는 B - B를 먼저 꺼내지 않고는 A를 꺼낼 수 없음(순서 위반) | ✗ | [A, B] |
| C, A, B 순서는 불가능 - B보다 아래 있는 A를 먼저 꺼낼 방법이 없음 | |||
숫자로 직접 따라가기 - 정렬 배열 [3, 7, 12, 18, 24, 31, 45, 52, 68, 77]에서 68 찾기
| 비교 횟수 | low | high | mid=(low+high)/2 | mid 값 | 비교 결과 |
|---|---|---|---|---|---|
| 1회 | 0 | 9 | 4 | 24 | 24 < 68 → low=mid+1=5 |
| 2회 | 5 | 9 | 7 | 52 | 52 < 68 → low=mid+1=8 |
| 3회 | 8 | 9 | 8 | 68 | 68 = 68 → 발견 |
| 총 3회 비교 만에 발견 (원소 10개인 배열은 최악의 경우에도 약 ⌈log₂10⌉=4회 이내로 찾을 수 있음) | |||||
1과목소프트웨어 설계›
개발 방법론 · 생명주기 모형
- 폭포수 모형 - 순차적, 단계별 산출물 명확하나 이전 단계로 돌아가기 어려워 개발 중 요구사항 반영이 쉽지 않음
- 나선형(Spiral) 모형 - 계획수립 → 위험분석 → 개발및검증 → 고객평가를 반복 수행, 대규모·고위험 시스템에 적합
- 프로토타이핑 모형 - 요구사항이 불분명할 때 적합, 의뢰자가 완성 전 모형을 보고 요구사항을 반영 가능, 구현 단계의 골격이 될 수 있음
- V모델 - 요구분석·설계 각 단계를 테스트 단계와 1:1로 연결(폭포수 모델의 변형)
- 애자일 방법론 - 스크럼, XP, Lean, ASD, 크리스탈, FDD, DSDM, DAD / 절차·도구보다 개인과 소통, 문서보다 실행되는 SW, 계획보다 변화 대응에 가치
- XP 5대 가치 - 의사소통, 단순성, 피드백, 용기, 존중 (정형분석 아님) - 잦은 변화에도 팀이 유연하게 대응하도록 돕는 가치들
- XP 실천방법 - 짝 프로그래밍, 공동 코드 소유, 테스트 주도 개발, 전체 팀, 계속적 통합, 리팩토링, 소규모 릴리즈, 지속적 자동화 테스트 수행 - 자주 통합하고 자주 확인해 결함을 초기에 줄이는 것이 핵심
- CBD(컴포넌트 기반 개발) - 기존 컴포넌트 조합으로 재사용성↑, 개발기간 단축 (하향식 구조적 설계는 CBD 아니라 구조적 방법론 특징)
- 럼바우(Rumbaugh) 분석 - 객체 모델링 → 동적 모델링 → 기능 모델링 순 (정적 구조를 먼저 정한 뒤 동작 변화, 마지막으로 처리 흐름을 분석하는 순서)
- 객체 모델링: 객체·속성·연산 식별, 관계 규정 → 다이어그램
- 동적 모델링: 시간 흐름에 따른 상태 변화 → State Diagram
- 기능 모델링: 처리 과정 표현 → DFD 주로 활용
- Coad-Yourdon 방법 - E-R 다이어그램으로 객체 식별 → 구조/주체 정의 → 속성/관계 정의 → 서비스 정의
- Jacobson(OOSE) - Use-Case를 강조하는 객체지향 분석 방법론
- CMMI 성숙도 5단계 - 초기(Initial) → 관리(Managed) → 정의(Defined) → 정량적 관리(Quantitatively Managed) → 최적화(Optimizing) ("반복"은 해당 없음)
- SPICE 프로세스 능력 수준 - 0~5의 6단계(불완전-수행-관리-확립-예측-최적화)
- 테일러링(Tailoring) - 프로젝트 특성에 맞게 방법론·절차·산출물을 조정, 예상되는 변화를 고려해야 함. 내부 기준=목표환경/요구사항/프로젝트 규모/보유 기술
요구사항 분석
- 요구 분석은 SW 개발의 실질적 첫 단계, 요구사항 검증을 아무리 철저히 해도 모든 문제를 발견한다고 단정할 수 없음
- 요구사항은 예외가 많고 모호하며 개발 중에도 계속 변함
- 기능적 요구사항=시스템이 "무엇을 하는지" / 비기능적 요구사항=성능·보안·품질·안정성("3초 이내 응답"처럼 성능 관련은 비기능)
- 요구사항 명세 - 정형 명세(Z 기법 등, 수학적 표기, 표현 간결) vs 비정형 명세(자연어 서술)
- 요구사항 관리 도구 - 비용편익분석, 변경추적, 영향평가 담당 (성능 비교는 성능테스트 도구 역할)
설계 원칙(SOLID) · 결합도/응집도
- SOLID - SRP(단일 책임) · OCP(개방-폐쇄: 확장에 열려있고 변경에 닫혀있음) · LSP(리스코프 치환: 하위타입은 상위타입으로 치환 가능해야 함) · ISP(인터페이스 분리: 사용하지 않는 메소드에 의존 금지) · DIP(의존 역전) → 5개 원칙 모두 '변경에 유연하고 재사용 쉬운 설계'가 목적
- 결합도(모듈 간 상호 의존도) 약함→강함: 자료 < 스탬프 < 제어 < 외부 < 공통 < 내용 - 모듈끼리 서로 알아야 하는 정보의 범위가 넓어질수록 결합도가 강해짐
- 자료 결합도: 단순 값 전달
- 스탬프 결합도: 자료구조 형태 통째로 전달
- 제어 결합도: 제어신호로 상대 모듈 논리 제어
- 공통 결합도: 전역 데이터 공유
- 내용 결합도: 다른 모듈 내부를 직접 참조(가장 나쁨)
- 응집도(모듈 내부 요소 간 관련도) - 우연적(관련 없음, 가장 낮음) < 시간적 < 절차적 < 통신적 < 순차적 < 기능적(가장 높음) - 내부 요소들이 하나의 목적을 위해 얼마나 밀접하게 뭉쳐 있는지로 순서가 정해짐
- 좋은 설계 = 결합도는 낮게, 응집도는 높게
객체지향 핵심 개념
- 클래스 - 유사 객체들의 공통 속성·연산을 묶어 표현하는 데이터 추상화 단위 / 인스턴스 - 클래스에 속한 개별 객체
- 캡슐화 - 데이터+함수를 하나로 묶고 필요한 인터페이스만 노출(정보 은닉과 밀접). "상위 속성을 하위가 물려받음"은 캡슐화가 아니라 상속
- 다형성 - 오버라이딩(상위 메소드를 하위에서 재정의) vs 오버로딩(메소드명은 같고 매개변수 개수·타입을 다르게 구현)
- 메시지 - 객체에게 행위를 지시하는 명령
- 집단화(Aggregation) - 부분-전체(Part-Whole) 관계 / 일반화(Generalization) - 상위-하위 개념 관계 / 의존 관계 - 한 클래스 변경이 다른 클래스에 영향
UML
- 구조적(정적) 다이어그램 - Class, Object, Component, Deployment, Composite Structure, Package → 시스템의 정적인 구성 요소와 관계를 표현
- 행위(동적) 다이어그램 - Use Case, Sequence, Communication, State, Activity, Interaction Overview, Timing → 시간 흐름에 따른 동작·상호작용을 표현
- 시퀀스 다이어그램 - 객체 간 메시지 교환을 시간 흐름에 따라 표현(구성요소: 액터·객체·생명선·실행상자·메시지 - "확장"은 구성요소 아님)
- 상태(State) 다이어그램 - 하나의 객체가 가진 상태와 상태 변화 표현 시퀀스와 서로 바꿔 서술하면 오답
- 유스케이스 다이어그램 - 사용자 요구 분석에 사용, 액터=시스템과 상호작용하는 모든 외부 요소(사람+외부시스템), 확장 관계=조건 만족 시에만 수행
아키텍처 · 디자인 패턴
- 파이프-필터 - 서브시스템이 입력→처리→다음 서브시스템으로 결과 전달을 반복, 필터 간 이동 시 오버헤드 발생함
- MVC - Model(핵심 기능·데이터), View(사용자에게 보여줌), Controller(Model에 명령해 상태 변경)
- GoF 패턴 3분류
- 생성 패턴: Singleton, Factory Method, Abstract Factory, Builder, Prototype
- 구조 패턴: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
- 행위 패턴: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
- Singleton - 인스턴스가 하나만 생성됨을 보장 · Factory Method - 객체 생성 인터페이스만 정의, 실제 인스턴스화는 서브클래스가 결정
DFD · HIPO · N-S Chart · 코드 설계
- DFD 구성요소 - Process(원), Data Flow(화살표), Data Store(평행선 두 줄), Terminator(사각형) - Data Dictionary는 DFD 구성요소가 아니라 별도 보완 도구
- HIPO - 하향식 개발 문서화 도구, 가시적 도표/총체적 도표/세부적 도표 3종
- N-S Chart(Nassi-Schneiderman) - 논리 기술 중심 도형 표현, 화살표나 GOTO 사용하지 않음, 순차·선택·반복 구조로 표현
- 코드 종류 - 순차코드(일련번호), 블록코드(공통 성질별로 구간을 나눠 부여), 연상코드(원래 명칭을 연상할 수 있게 기호화), 표의숫자코드(물리적 수치 그대로 사용)
- 자료 사전 기호 -
[ ]선택 ·{ }반복 ·( )생략 ·+연결 ·=정의
UI 설계
- 사용자 중심으로 설계(개발자 중심 아님), 오류/경고는 사용자가 쉽게 인지하도록(소리·색 활용) 전달, 심미성보다 사용성 우선
- 직관성 - 누구나 쉽게 이해·사용 가능해야 함 / 일관성 유지가 조작방법 다양화보다 중요
- NUI - 멀티터치·제스처 등 자연스러운 신체 동작 인식(GUI/CLI와 구분) / CLI - 텍스트 명령어 기반
2과목소프트웨어 개발›
자료구조
- 선형 구조 - 배열, 리스트, 스택, 큐, 데크 / 비선형 구조 - 트리, 그래프 (원소 간 순서관계가 1:1이면 선형, 계층·다중관계면 비선형)
- 스택(Stack) - LIFO, Top 포인터 1개, 응용분야=함수호출 순서 제어·인터럽트 처리·수식 계산·후위표기법·재귀호출·DFS. Underflow=Top이 0일 때 삭제 시도, Overflow=가득 찬 상태에서 삽입 시도
- 큐(Queue) - FIFO, Front/Rear 2개 포인터 (먼저 들어온 순서를 지켜야 하는 프로세스 스케줄링·버퍼링에 사용)
- 트리 - 노드+선분, 사이클 없음, 계층 구조 / 이진 탐색 트리는 편향되면 최악의 검색효율(O(n))
- 해싱 함수 종류 - 제산법(키를 테이블 크기로 나눈 나머지 사용), 제곱법(Mid-Square, 키를 제곱한 값의 중간 비트 추출), 폴딩법(키를 여러 부분으로 나눠 합산), 기수변환법(키의 진법을 변환), 대수적 코딩법(다항식 연산으로 주소 생성), 숫자분석법(키의 특정 자릿수만 추출), 무작위법(난수로 주소 생성)
- 연결 리스트 - 삽입·삭제 쉬움, 포인터 추가공간 필요, 검색은 순차 탐색이라 배열보다 느림
정렬 · 검색 알고리즘
O(n log n): 합병정렬(Merge), 퀵정렬(Quick), 힙정렬(Heap) /O(n²): 버블, 선택, 삽입 (분할정복으로 비교 횟수를 줄이는지가 두 그룹을 가르는 핵심)- 퀵 정렬 - 피벗 기준 분할정복, 최악의 경우 n(n-1)/2회 비교 (피벗이 한쪽으로 치우칠 때 최악, 무작위 데이터면 평균 O(n log n))
- 이진 검색 - 정렬된 데이터 필요, 비교마다 대상 절반으로 감소 / 선형 검색 - 정렬 여부 무관하게 순차 탐색
- 알고리즘 설계 기법 - 분할정복(문제를 나눠 해결 후 합침), 동적계획법(하위 문제 결과를 저장해 재사용), 탐욕(Greedy, 매 순간 최선을 선택하나 전체 최적은 보장 못함), 백트래킹(막히면 되돌아가 다른 경로 탐색)
테스트
- 화이트박스 테스트 - 내부 논리 구조 점검, 기초경로검사·제어구조검사·조건검사·루프검사·데이터흐름검사
- 블랙박스 테스트 - 입출력 중심, 동치분할·경계값분석·원인효과그래프·오류예측·비교검사 경계값 분석은 블랙박스! 화이트박스로 착각 주의
- 스텁(Stub) - 하향식 통합시험에서 미개발 하위 모듈을 대신 / 드라이버(Driver) - 상향식 통합시험에서 상위 모듈을 대신(헷갈리면 오답)
- 테스트 vs 디버깅 - 테스트=오류를 찾는 작업, 디버깅=찾은 오류를 수정하는 작업
- 검증(Verification) - 개발자 관점, 명세 준수 여부 / 확인(Validation) - 사용자 관점, 요구 충족 여부
- 테스트 오라클 - 참(Total, 모든 케이스) · 샘플링(일부만) · 휴리스틱(추정) · 일관성검사(전후 비교)
- 알파 검사 - 개발자 장소에서 사용자+개발자 함께 통제된 환경 / 베타 검사 - 사용자 실제 환경에서 사용자 단독(필드 테스팅)
- 단위테스트 - 개별 모듈의 알고리즘·계산식 오류 발견 / 통합테스트 - 모듈 간 상호작용 오류 발견
- 파레토 법칙 - 오류의 80%는 전체 모듈의 20%에서 발견(결함 집중)
- 강도(Stress) 테스트 - 과부하 상태에서도 정상 작동 확인 / 회복테스트 - 고의 실패 후 정상 복귀 확인
- McCabe 순환복잡도, 코드 인스펙션은 정적 테스트 기법(실행 없이 검토)
결함 / 검토 기법
- 워크스루 - 비공식적 검토, 사전 배포 후 짧은 회의로 오류 조기 검출 / 인스펙션 - 공식적 검토, 개발자 제외한 전문가가 수행 둘은 동일 개념 아님
- 정형 기술 검토(FTR) - 의제·참가자 수 모두 제한 (짧은 시간에 집중적으로 검토해 효율을 높이기 위함)
빌드 · 형상관리
- 빌드 자동화 도구 - Ant, Maven, Gradle, Jenkins(Java 기반 CI 도구) 형상관리 도구 아님에 주의
- 형상관리(SCM) 도구 - Git, CVS, Subversion(SVN), Mercurial, RCS
- 형상관리 항목 - 소스코드, 요구분석서, 설치지침서 등 산출물(프로젝트 개발비용 자체는 형상관리 항목 아님)
- 체크인(Check-In) - 저장소에 새 버전으로 갱신 / 형상 통제 - 변경 요구를 검토 후 기준선(Baseline)에 반영
인터페이스 · 미들웨어
- 미들웨어 - 이기종 환경 연결, 위치 투명성 제공, DB/RPC/MOM/TP-Monitor/ORB/WAS 등
- MOM - 비동기 메시지 큐 기반, 이기종 분산 시스템 동기화에 사용
- EAI 구축 유형 - Point-to-Point(1:1 직접 연결, 단순하나 확장성 낮음), Hub&Spoke(중앙 허브가 각 시스템과 연결), Message Bus(ESB, 공통 버스로 메시지 전달해 확장성 높음), Hybrid(Hub&Spoke+Message Bus 혼합)
- AJAX - JS+XML로 비동기 통신 / STAF - 분산 환경 테스트 자동화 프레임워크
- 인터페이스 구현 검증 도구 - xUnit, STAF, FitNesse, NTAF, Selenium, watir
소프트웨어 패키징 · DRM · 클린코드
- 패키징은 사용자 중심(개발자 중심 아님), 이기종 연동·암호화 고려, 매뉴얼은 사용자 기준 작성
- DRM 구성요소 - 콘텐츠 제공자(저작권자), 콘텐츠 분배자, 클리어링 하우스(키관리·라이선스 발급), DRM 컨트롤러(이용 권한 통제), 패키저(메타데이터와 함께 배포단위로 묶는 역할 - 콘텐츠 분배자와 혼동 주의)
- 클린 코드 원칙 - 가독성, 단순성, 의존성 최소화, 중복성 최소화, 추상화(하위에서 상세 구현)
3과목데이터베이스 구축›
기본 개념
- 도메인(Domain) - 애트리뷰트가 가질 수 있는 원자값들의 집합
- 릴레이션 특성 - 튜플 간 순서 없음, 속성 간에도 순서 없음, 튜플은 모두 상이(중복 없음), 모든 속성값은 원자값
- 차수(Degree)=속성(컬럼) 수, 카디널리티(Cardinality)=튜플(행) 수
- 슈퍼키 - 유일성 O, 최소성 X / 후보키 - 유일성+최소성 모두 O / 기본키 - 후보키 중 선택 / 외래키 - 다른 릴레이션의 기본키를 참조
정규화
- 이상현상(Anomaly) 3가지 - 삽입 이상, 삭제 이상, 갱신 이상(모두 데이터 중복이 원인) "검색 이상", "종속 이상"은 존재하지 않는 용어 - 함정으로 자주 나옴
- 정규화는 논리적 설계 단계에서 수행(개념적 설계 이전 아님), 데이터 구조 안정성 최대화·중복 최소화·이상현상 최소화가 목적
- 1NF: 모든 속성이 원자값 / 2NF: 1NF + 부분함수종속 제거(완전함수종속) / 3NF: 이행적 함수종속 제거 / BCNF: 모든 결정자가 후보키 - 뒤로 갈수록 더 세밀한 함수 종속 문제까지 제거하는 단계
- 이행적 함수 종속 - A→B, B→C이면 A→C (3NF에서 제거 대상이 되는 종속 형태)
- 반정규화 - 성능 향상·개발운영 단순화 목적으로 중복·통합·분리 수행
E-R 모델 · 무결성
- E-R 모델 - 개체=사각형, 관계=마름모, 속성=타원(원), 연결=선(삼각형 아님)
- 개체 무결성 - 기본키는 Null·중복 불가 / 참조 무결성 - 외래키 변경 시 참조 릴레이션 기본키도 함께 변경되어야 함 / 도메인 무결성 - 속성은 정의된 도메인 값만
관계 연산
- 순수 관계 연산자 - Select(σ), Project(π), Join(▷◁), Division(÷) - Cartesian Product는 일반 집합 연산자(순수 관계 연산자 아님), 각각 행 선택·열 추출·결합·몫 연산 수행
- 관계대수=절차적(연산 순서 명시) vs 관계해석=비절차적(원하는 정보만 정의) 서로 바꿔 서술하면 오답. ∀=모든것에 대하여, ∃=존재
SQL
- DDL: CREATE, ALTER, DROP / DML: SELECT, INSERT, UPDATE, DELETE / DCL: GRANT, REVOKE, COMMIT, ROLLBACK - DDL=구조 정의, DML=데이터 조작, DCL=권한·트랜잭션 제어
- SELECT DISTINCT - 중복 제거 / SELECT(DISTINCT 없이) - 중복 미제거, WHERE 없으면 전체 행 반환
- UNION - 중복 제거 합집합 / UNION ALL - 중복 유지 합집합 / INTERSECT - 교집합 - 결합 대상 SELECT문끼리 컬럼 개수·데이터타입이 일치해야 함(Union-compatible)
- NULL 비교는
IS NULL/IS NOT NULL만 가능(= NULL불가) BETWEEN a AND b- a·b 포함 이상~이하 범위 (BETWEEN a OR b는 문법 오류)- LIKE 와일드카드 -
%A%=포함,A%=시작,%A=끝 GRANT ~ TO/REVOKE ~ FROM전치사 방향 주의HAVING은GROUP BY와 함께 그룹 조건 지정(WHERE는 그룹화 전 행 필터, HAVING은 그룹화 후 집계결과 필터)- DELETE(WHERE 없이) - 데이터만 삭제, 테이블 구조는 남음(DROP TABLE과 다름) / TRUNCATE - 스키마 유지, DELETE보다 빠르지만 ROLLBACK 불가
뷰 · 인덱스 · 트랜잭션
- 뷰(View) - 물리적으로 존재하지 않는 가상 테이블, 독립적 인덱스 불가, 삽입·갱신·삭제에 제약 있음
- 트리거(Trigger) - 삽입/갱신/삭제 이벤트 발생 시 자동 수행되는 절차형 SQL - 애플리케이션 코드 없이 DB 차원에서 무결성 유지·로그 기록을 자동화
- 인덱스 - 사용자가 CREATE/DROP으로 생성·제거 가능, 검색 속도 향상이 목적(단 갱신 시 오버헤드 발생)
- 트랜잭션 특성(ACID) - 원자성(Atomicity, all-or-nothing) · 일관성(Consistency) · 격리성(Isolation) · 지속성(Durability) - 각각 부분실행·모순 데이터·동시실행 간섭·커밋 후 데이터 손실을 방지하기 위함
- Commit/Rollback이 보장하는 특성 = 원자성
- 병행제어 기법 - 로킹(Locking), 타임스탬프 순서, 낙관적(최적 병행수행 검증) 기법, 다중버전 기법 - 트랜잭션 충돌 빈도·환경에 따라 적합한 기법이 달라짐
- 로킹 단위가 크면→병행성 낮아지고 오버헤드는 줄어듦 / 로킹 단위가 작으면→병행성 높아지고 오버헤드(락 개수) 증가
- 회복(Recovery) - 장애로 손상된 DB를 정상 상태로 복구 / 즉각 갱신 기법은 로그(log) 필요 - 로그에 남은 변경 전후 값으로 UNDO/REDO를 수행하기 위함
분산 DB
- 목표 - 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성(각각 위치·중복·동시접근·장애를 사용자가 의식하지 않아도 됨을 의미)
- 구성요소 - 분산 처리기, 분산 데이터베이스, 통신 네트워크 - 각 지역 DB를 네트워크로 연결해 하나의 시스템처럼 동작시키는 구성
4과목프로그래밍 언어 활용›
공통 프로그래밍 개념
- 연산자 우선순위(대략) - 단항 > 산술 > 시프트(
<<,>>) > 관계(<,<=,>=,>) > 등가(==,!=) > 비트 > 논리(&&,||) > 조건(?:) > 대입 - 배열은 함수에 참조(주소)로 전달됨(원본이 함께 바뀜) - Java/C 공통
C 언어
- 포인터-배열 별칭 - 포인터에 배열 대입 시 같은 메모리 공유,
*(p+n)=p[n] - 2차원 배열 포인터 -
p[1]은 두 번째 "행"의 시작주소, 개별 요소는 다시 역참조 필요 static지역변수 - 일부만 초기화해도 나머지는 자동 0 초기화(일반 지역 배열은 쓰레기값)- 문자 리터럴은 아스키코드로 연산됨 (
'A'+1= 66) switch-case- break 없으면 다음 case까지 흘러내려감(fall-through)break는 가장 가까운 반복문/switch 하나만 탈출scanf는 주소 전달 필요:scanf("%d", &n)- 변수명 - 숫자로 시작 불가,
_로 시작 가능 stdlib.h(문자열↔수치 변환, atoi 등) ·string.h(문자열 처리) ·math.h(삼각함수 등) ·stdio.h(표준 입출력) - 헤더 기능 서로 바꾸면 오답malloc()- 원하는 byte 수만큼 동적 할당,free()로 해제, 실패 시 NULL 반환
Java
- 배열/객체는 참조로 전달, 메서드 내에서 바꾸면 원본도 바뀜
- 문자열
+연산은 왼쪽→오른쪽 순차 평가(괄호로 숫자 먼저 묶으면 숫자 연산) length는 배열의 속성(괄호 없음), 문자열은length()(메소드)do~while은 조건이 처음부터 거짓이어도 무조건 1회 실행- 전위 증가(
++x)는 먼저 증가 후 대입, 후위 증가(x++)는 대입 후 증가 - while/if 조건식은 반드시 boolean이어야 함(C처럼 정수 조건 불가)
&&,||,!논리연산자는 boolean(1/0) 반환char는 한 글자만 저장(여러 문자는 String)- 예외(Exception)는 실행 시간 중 발생하는 오류만 해당(컴파일 문법 오류는 예외 아님)
Python
- 슬라이싱
[시작:끝:증가값]- 끝 인덱스 미포함, 증가값 생략 시 1 range(n+1)은 0~n 포함(n+1개),range(n)은 0~n-1continue는 다음 회차로,break는 반복문 자체 탈출(구분 주의)elif사용(else if 아님)input().split(구분자)+map(int, ...)- 구분자로 나눈 뒤 일괄 형변환self- 인스턴스 메서드에서 자기 자신 속성 접근 시 첫 인자로 필요print(a, b)는 기본 구분자가 공백
Shell
until은 조건이 참이 될 때까지(거짓인 동안) 반복(while과 반대)export한 변수는 하위 프로세스까지 전달되는 전역 환경변수, export 없으면 현재 쉘 로컬 변수
운영체제
- 커널(Kernel) - 프로세스·기억장치·파일·입출력 관리, 프로세스 간 통신 담당 / 쉘(Shell)은 명령어 해석기(관리 기능 아님)
- 프로세스 vs 스레드 - 스레드는 프로세스 내 실행 흐름의 단위(경량 프로세스), 한 프로세스가 여러 스레드를 가짐
- 사용자 수준 스레드 - 커널 모드 전환 없이 교환 가능해 오버헤드 적음 / 커널 수준 스레드 - 커널 접근·독립적 스케줄링 가능
- 스케줄링 - SJF(실행시간 짧은 순), HRN((대기+서비스)/서비스, 값 클수록 우선순위 높음, SJF의 기아현상 보완), SSTF(현재헤드에서 가까운 트랙 우선)
- 페이지 교체 - FIFO(가장 먼저 적재된 것 교체), LRU(가장 오래 미참조 것 교체), OPT(향후 가장 오래 사용 안 될 것 교체, 이론상 최적), LFU(참조 횟수 가장 적은 것 교체), NUR(참조·변형비트로 최근 사용여부 근사 판단)
- 스레싱(Thrashing) - 페이지 교체 시간이 프로세스 수행시간보다 커지는 현상(대응: 충분한 프레임 제공)
- 지역성(Locality) - 시간 지역성(루프·스택·서브루틴), 공간 지역성(인접 페이지 참조)
- 세마포어 - P/V 연산으로 상호배제 구현
- 교착상태 4대 필요조건 - 상호배제(자원 배타적 점유), 점유와대기(자원 보유한 채 추가 자원 요청), 비선점(강제로 자원 뺏을 수 없음), 환형대기(프로세스들이 원형으로 자원을 요청)
- 파일 디스크립터(FCB) - 사용자가 직접 참조 불가, open 시 보조기억장치→주기억장치로 이동
네트워크
- OSI 7계층 PDU - 응용/표현/세션=메시지, 전송=세그먼트, 네트워크=패킷, 데이터링크=프레임
- 네트워크 계층 - 라우팅, 논리주소(패킷) / 데이터링크 계층 - 프레임 전송, 오류·흐름 제어(인접 노드 간)
- TCP - 전송(트랜스포트) 계층, 헤더 20~60byte, 윈도우 최대 65,535byte(2¹⁶-1)
- UDP - 비연결형, 흐름·순서 제어 없어 빠름
- ARQ 종류 - Stop-and-Wait(프레임 하나 보내고 ACK 받은 후 다음 전송), Go-back-N(오류난 지점부터 이후 프레임 전부 재전송), Selective-Repeat(오류난 프레임만 선택적으로 재전송), Adaptive(전송 효율에 따라 프레임 길이를 동적 조절)
- IPv4 - 32비트, A~E 5클래스 / IPv6 - 128비트, 유니캐스트·멀티캐스트·애니캐스트 3방식(브로드캐스트 없음), 헤더 40octet 고정, IPv4보다 빠름·자동주소설정 지원
- RIP - 거리 벡터, 최대 홉수 15, IGP / OSPF - 링크 상태(Link-State), Dijkstra 알고리즘
- IPSec - 양방향 암호화 지원. ESP=인증+무결성+기밀성, AH=인증+무결성(기밀성 없음)
- Well-known 포트 - HTTP=80, HTTPS=443, Telnet=23, DNS=53, SSH=22, SNMP=161, TFTP=69
- ARP - 논리(IP)주소→물리(MAC)주소 변환
- 네트워크 장비 - 리피터(신호 재생), 브리지/스위치(2계층, MAC), 라우터(3계층, 경로 선택)
- MQTT - IoT 경량 발행-구독(Pub/Sub) 메시징 프로토콜(TCP/IP 기반, Broker 경유)
5과목정보시스템 구축관리›
비용 산정
- COCOMO(보헴) - Organic(조직형, 5만 라인 이하 소규모), Semi-Detached(반분리형, 30만 라인 이하 중규모), Embedded(내장형, 규모 제한 없이 하드웨어·실시간 제약 강함) UFP는 기능점수법 개념이라 COCOMO와 무관
- LOC 기법 - 낙관치·기대치·비관치로 예측치 산출, 개발기간=총라인수/(투입인원×인당생산성)
- Putnam 모형(Rayleigh-Norden 곡선 기반) / SLIM(Putnam 기초 자동화 도구)
- 비용 산정 하향식 - 전문가 감정(경험자 2인 이상, 신속하나 주관적), 델파이 기법(다수 전문가 반복 수렴, 체계적) / 상향식 - LOC, 개발단계별 인월수(세부 작업 단위로 산정 후 합산) / 수학적 - COCOMO, Putnam, Function Point(공식에 대입해 자동 산정)
프로젝트 관리 기법
- PERT - 작업 간 상호관련성·결정경로·경계시간·자원할당 제시(예정시간이 불확실한 신규 프로젝트에 적합, 낙관치·기대치·비관치 3점 추정)
- 간트 차트 - 막대그래프로 일정 표시, 막대 길이=작업 소요 기간(인원수 아님), CPM으로부터 생성 가능
- CPM - 임계경로(최장경로) 기반 일정 관리(소요시간이 확정적인 반복 프로젝트에 적합)
- 위험관리(Risk Analysis) - 위험 요소를 사전에 인식·분석·예측·대비하는 활동
신기술 키워드
- 하둡(Hadoop) - 오픈소스 분산 컴퓨팅 플랫폼, 빅데이터 저장·처리
- MapReduce - 대용량 데이터 분산처리 프로그래밍 모델(구글 고안)
- Sqoop - 하둡↔관계형DB 데이터 전송 도구
- 디지털 트윈 - 물리적 자산을 소프트웨어로 가상화, 자산 최적화·사고 최소화
- SDN - 네트워크 제어부/데이터전달부 분리해 소프트웨어로 제어
- SAN - 광채널 스위치로 이기종 저장장치를 네트워크로 통합 / DAS - 저장장치를 직접 연결(네트워크 미개입)
- BaaS - 블록체인 개발환경을 클라우드로 제공(직접 인프라 구축 없이 블록체인 앱 개발 가능)
- N-Screen - PC·TV·모바일에서 콘텐츠 끊김 없이 이용
- PaaS-TA - 국내 개방형 클라우드 컴퓨팅 플랫폼(정부 주도 개발, 특정 벤더 종속 없이 사용 가능)
- Docker - 컨테이너 배포 자동화 오픈소스 엔진
- 데이터 마이닝 - 대량 데이터에서 변수 간 상호관계·패턴 규명
- Mashup - 여러 서비스를 조합해 새 서비스 생성
- 소프트웨어 정의 스토리지(SDS) - 가상화로 스토리지 자원을 소프트웨어로 관리
보안
- 정보보안 3대 요소 - 기밀성, 무결성, 가용성(+ 부인방지)
- 접근통제 - DAC(임의적, 소유자 재량) / MAC(강제적, 보안등급 비교) / RBAC(역할 기반)
- 대칭키(개인키) 암호화 - DES, SEED, AES, ARIA, IDEA - 키 교환 필요, 속도 빠름
- 비대칭키(공개키) 암호화 - RSA - 공개키로 암호화, 개인키로 복호화, 인증·전자서명에 활용
- 해시 알고리즘(단방향, 암호화와 다름) - MD4, MD5, SHA 시리즈, N-NASH, SNEFRU
- Salt - 동일 패스워드도 다른 해시값으로 저장되게 하는 값(레인보우테이블 공격 방어)
- DoS 공격 - Ping of Death(조각화된 큰 패킷), Smurf(브로드캐스트 악용), SYN Flooding(연결자원 고갈), Land(출발지=목적지 IP 위조)
- 세션 하이재킹 탐지 - 비동기화 상태·ACK Storm·패킷 유실 증가 탐지(공격자가 정상 세션을 가로챌 때 나타나는 이상 징후)
- IDS - 오용 탐지(Signature 기반, 알려진 패턴) vs 이상 탐지(Anomaly, 평균 상태 기준 이상행위 감지)
- Tripwire - 파일 무결성 검사 도구 / TCP Wrapper - 접속 인가 여부 점검 접근제어 유틸리티
- XSS(악성 스크립트 삽입) · SQL Injection(DB 조작) · 웜(Worm)(숙주 없이 스스로 전파)
- Key Logger Attack - 키 입력 탈취 / Switch Jamming - 위조 MAC으로 스위치를 더미허브처럼 작동시킴
- 인증(신원 증명) vs 인가(권한 부여) 구분 필수
1과목 · 소프트웨어 설계
종류순서114 에서 확보
- 소프트웨어 공학 기본 원칙 - 품질 높은 상품 개발 → 지속적 검증 시행 → 명확한 기록 유지 → 효율적 인력 투입
- 시스템 구성 요소 - 입력 → 처리 → 출력 → 제어 → 피드백
- 현행 시스템 파악 절차 - 시스템 구성 파악 → 기능 파악 → 인터페이스 파악 → 아키텍처 구성 파악 → 소프트웨어(DBMS·OS) 구성 파악 → 하드웨어 구성 파악 → 네트워크 구성 파악
- GoF 생성 패턴 5종 - 추상 팩토리 → 빌더 → 팩토리 메소드 → 프로토타입 → 싱글톤
- GoF 구조 패턴 7종 - 어댑터 → 브리지 → 컴포지트 → 데코레이터 → 퍼싸드 → 플라이웨이트 → 프록시
- GoF 행위 패턴 11종 - 책임연쇄 → 커맨드 → 인터프리터 → 반복자 → 중재자 → 메멘토 → 옵서버 → 상태 → 전략 → 템플릿메소드 → 방문자
- 디자인 패턴 구성 요소 - 문제 및 배경 → 실제 적용 사례 → 재사용 가능한 샘플 코드
- 추상화 유형 - 과정 추상화 → 자료 추상화 → 제어 추상화
- UML 구조적(정적) 다이어그램 6종 - 클래스 → 객체 → 컴포넌트 → 배치 → 복합체 구조 → 패키지
- UML 행위(동적) 다이어그램 7종 - 유스케이스 → 순차 → 커뮤니케이션 → 상태 → 활동 → 상호작용 개요 → 타이밍
- 시퀀스 다이어그램 구성 요소 - 액터 → 객체 → 생명선 → 실행 상자 → 메시지
- ISO/IEC 9126 품질 특성 - 기능성 → 신뢰성 → 사용성 → 효율성 → 유지보수성 → 이식성 (기능성 하위: 적합성 → 정확성 → 상호운용성 → 보안성 → 호환성)
- 소프트웨어 아키텍처 품질 속성(3측면) - 시스템 측면 → 비즈니스 측면 → 아키텍처 측면
- 애자일 기반 개발 모형 - 스크럼 → XP → 칸반 → Lean → 크리스탈 → ASD → FDD → DSDM → DAD
- 상위 CASE 도구 주요 기능 - 모델 간 모순 검사 → 모델 오류 검증 → 자료흐름도 작성
- CASE 원천 기술 - 구조적 기법 → 프로토타이핑 → 자동 프로그래밍 → 정보 저장소 기술 → 분산 처리 기술
- XP 실천 방법(Practice) 8종 - 짝 프로그래밍 → 공동 코드 소유 → 테스트 주도 개발 → 전체 팀 → 계속적 통합 → 디자인 개선 → 리팩토링 → 소규모 릴리즈
- XP 5가지 핵심 가치 - 의사소통 → 단순성 → 용기 → 존중 → 피드백
- 유스케이스 구성요소 간 관계 - 연관 → 포함 → 확장 → 일반화
- 코드의 기능 - 식별 → 분류 → 배열 → 표준화 → 간소화
- SOLID 원칙(약어 풀이) - SRP(단일 책임) → OCP(개방-폐쇄) → LSP(리스코프 치환) → ISP(인터페이스 분리) → DIP(의존 역전)
- 미들웨어 종류 - DB → RPC → MOM → TP-Monitor → ORB → WAS
- 럼바우 분석 기법 3모델 - 객체 모델링 → 동적 모델링 → 기능 모델링
- 모바일 NUI 제스처 - Tap → Double Tap → Drag → Pan → Press → Flick → Pinch
- DBMS 분석 시 고려사항 - 가용성 → 성능 → 기술 지원 → 상호 호환성 → 구축 비용
- UML 기본 구성 요소 - 사물(Things) → 관계(Relationships) → 다이어그램(Diagram)
- 요구사항 분석 단계 필요 기술 - 청취·인터뷰 질문 → 분석과 중재 → 관찰 및 모델 작성
- 소프트웨어 설계 단계 - 상위 설계(아키텍처·DB·인터페이스 설계) → 하위 설계(컴포넌트·자료구조·알고리즘 설계)
- 사용자 인터페이스 개발 시스템 기능 - 입력 검증 → 에러 처리 → 도움 제공
- DFD 표기 기호 - 프로세스(원) → 자료 흐름(화살표) → 자료 저장소(평행선) → 단말(사각형)
- 플랫폼 성능 특성 분석 측정 항목 - 응답시간 → 가용성 → 사용률
- 소프트웨어 재사용 장점 - 시간·비용 단축 → 품질 향상 → 생산성 향상 → 실패 위험 감소 → 지식 공유 → 문서 공유
- 데이터 모델 표시 요소 - 구조(Structure) → 연산(Operation) → 제약 조건(Constraint)
- 공통 모듈 재사용 규모 분류 - 함수와 객체 → 컴포넌트 → 애플리케이션
- CBD SW 개발 표준 단계별 산출물 - 분석(요구사항정의서·유스케이스명세서·요구사항추적표) → 설계(클래스·UI·컴포넌트·인터페이스·아키텍처 설계서 등) → 구현(프로그램코드·단위시험결과서·DB생성스크립트) → 시험(통합·시스템시험결과서·지침서 등)
- 테일러링 개발 방법론 내부 기준 - 목표 환경 → 요구사항 → 프로젝트 규모(비용·인력·기간) → 보유 기술(프로세스·방법론·산출물·구성원 능력)
- SOA 기반 애플리케이션 구성 계층 - 표현 계층 → 업무-프로세스 계층 → 서비스 중간 계층 → 애플리케이션 계층 → 데이터 저장 계층
- ISO/IEC 12207 생명주기 프로세스 분류 - 기본 생명주기(획득·공급·개발·운영·유지보수) → 지원 생명주기(품질보증·검증·확인·검토·감사·문서화·형상관리·문제해결) → 조직 생명주기(관리·기반구조·훈련·개선)
잘못된문장197 에서 확보
- 파이프-필터 아키텍처 - 데이터 통로인 파이프와 컴포넌트인 필터로 구성되며, 단방향 및 양방향 모두 구현 가능하고 필터 간 이동 시 오버헤드가 발생한다.
- 마스터-슬레이브 아키텍처 - 주로 실시간 시스템에서 사용. 마스터는 연산·통신·조정을 책임지고 슬레이브를 제어하며, 슬레이브도 데이터 수집 등의 기능을 수행할 수 있다(기능이 제한되는 것은 아님).
- 순차(시퀀스) 다이어그램 vs 상태 다이어그램 - 시퀀스 다이어그램은 객체들 사이의 메시지 교환(시간 흐름에 따른 동적 상호작용)을 나타내고, 상태 다이어그램은 하나의 객체가 가진 상태와 그 변화에 따른 동작 순서를 나타낸다. 둘 다 동적 다이어그램이며 시퀀스 다이어그램은 교류(Interaction) 다이어그램의 한 종류다.
- 하향식 vs 상향식 설계 - 하향식은 인터페이스가 이미 정의되어 있어 통합 검사가 간단하지만, 낮은 레벨의 데이터 구조 세부사항은 설계 초기 단계에는 필요하지 않다. 상향식은 인터페이스가 성립되어 있어야만 기능 추가가 쉽다.
- 워크스루 vs 인스펙션 - 워크스루는 동료/개발자 그룹이 수행하는 비공식적 검토(사용사례 명세, 설계 다이어그램, 코드, 테스트 케이스 등에 적용), 인스펙션은 개발자가 제외된 상태에서 전문가가 수행하는 공식적 검토로 워크스루를 발전시킨 형태다. 둘은 동일한 것이 아니다.
- 정형 명세 vs 비정형 명세 - Z 명세 기법은 비정형이 아니라 정형 명세 기법의 한 종류다. 정형 명세는 수학적 원리·표기법을 사용해 비정형 명세보다 표현이 간결하다.
- 메시지 지향 미들웨어(MOM) - 즉각적 응답이 필요한 온라인 업무보다는 이기종 분산 시스템 간 데이터 동기화에 주로 사용되며, 비동기 방식 통신과 메시지 큐를 지원한다.
- EAI 구축 유형 - Hybrid - Hub&Spoke와 Message Bus의 혼합 방식으로, 버스와 허브를 미들웨어로 두어 애플리케이션을 연결하며 데이터 병목을 최소화한다(각 애플리케이션을 미들웨어 없이 Point to Point로 직접 연결하는 것이 아님).
- DRM 구성요소 세부 역할 - 콘텐츠 분배자(Contents Distributor)는 암호화된 콘텐츠를 유통하는 주체이고, 콘텐츠를 메타데이터와 함께 배포 단위로 묶는 기능은 별도의 패키저(Packager)가 담당한다.
- GoF 패턴 분류 예시 - Strategy(전략) 패턴은 알고리즘을 캡슐화해 상호 교환 가능하게 만드는 행위(Behavioral) 패턴이며, 인스턴스를 복제하여 사용하는 것은 생성 패턴인 Prototype 패턴이다.
- 프레임워크 vs 라이브러리 - 라이브러리는 사용자 코드가 직접 호출하고 제어권도 사용자 코드가 갖지만, 프레임워크는 사용자 코드를 프레임워크가 호출하며 제어 흐름이 반대로 동작한다(IoC, Inversion of Control). 프레임워크는 모듈화가 잘 되어 있어 확장이 가능하며 소프트웨어 아키텍처와는 다른 개념이다.
- SPICE 프로세스 능력 수준 6단계 - 불완전(0) → 수행(1) → 관리(2) → 확립(3) → 예측(4) → 최적화(5). 수준7은 존재하지 않는다.
- CBD(컴포넌트 기반 개발) - 개발 기간 단축, 재사용성·확장성 향상이 특징이며, 분할과 정복(Divide and Conquer) 방식의 하향식 설계나 1960년대까지 주로 쓰인 방법론은 CBD가 아니라 구조적 방법론이다.
- N-S(Nassi-Schneiderman) 차트 - 논리 기술 중심의 도형 표현 방법으로 GOTO나 화살표를 사용하지 않는다(화살표로 흐름을 표현하는 것은 흐름도/Flowchart).
- HIPO - 하향식 소프트웨어 개발을 위한 문서화 도구이며, 가시적 도표·총체적 도표·세부적 도표 3종으로 구성된다.
- 나선형(Spiral) 모델 절차 - 계획 수립 → 위험 분석 → 개발 및 검증(공학적 개발) → 고객 평가의 4단계를 반복 수행한다(한 번만 수행하는 것이 아님).
- V모델 - Perry가 제안했으며 요구사항→분석→설계→구현의 각 단계를 대응하는 테스트 단계와 연결하여 V자 형태로 표현, 폭포수 모델의 변형이다.
- UI 설계 세부 지침 - 오류/경고 메시지는 소리·색을 활용해 사용자가 쉽게 인지하도록 전달해야 하며, 치명적 오류일수록 사용자가 확실히 알 수 있게 해야 한다. 심미성보다 사용성을 우선한다.
키워드259 에서 확보
- 목업(Mockup) / 스토리보드(Storyboard) / 유스케이스(Usecase) - UI 설계 도구 3종. 목업은 실제 화면과 유사한 정적 모형(시각적 배치만, 미구현), 스토리보드는 화면 설계·정책·프로세스 흐름을 정리한 산출물이다.
- GUI/CLI/CUI/NUI/OUI - 사용자 인터페이스 종류. CLI(Command Line Interface)는 명령 문자열 입력 방식, NUI(Natural User Interface)는 멀티터치·제스처 등 자연스러운 움직임을 인식하는 인터페이스다.
- Coad-Yourdon / Booch / Jacobson / Wirfs-Brocks 방법 - 럼바우 외 객체지향 분석(OOA) 방법론들. Coad-Yourdon은 E-R 다이어그램으로 객체의 행위(정적+동적)를 모델링하며 객체식별→구조식별→주체정의→속성/관계정의→서비스정의 순으로 진행한다.
- 자료 사전(Data Dictionary) 기호 - `=`(정의), `+`(연결/구성), `( )`(생략 가능), `[ ]`(선택), `{ }`(반복), `**`(주석).
- UML 스테레오 타입 표기 - << >> (길러멧) 기호로 확장 모델의 스테레오 타입 객체를 표현한다.
- 협약(Contract)에 의한 설계 - 컴포넌트 오퍼레이션의 선행조건·결과조건·불변조건을 명세하는 설계 기법.
- 디자인 패턴 구체 이름 - Singleton(인스턴스 1개만 보장), Factory Method(서브클래스가 인스턴스화 결정, Virtual-Constructor 패턴), Adapter, Observer, Visitor, Bridge, Decorator, Prototype 등 GoF 패턴의 실제 명칭과 용도.
- FEP(전위처리기) - 입력 데이터를 CPU가 처리하기 전에 미리 처리해 CPU 부담을 줄여주는 프로그램/하드웨어.
- 코드 설계 종류 - 순차 코드(일련번호), 블록 코드, 연상 코드, 표의 숫자 코드(중량·면적 등 물리적 수치 이용), 10진 코드.
- 미들웨어 구체 종류 - TP Monitor(트랜잭션 감시·제어), RPC(원격 프로시저를 로컬처럼 호출), ORB, MOM, WAS. "미들웨어/EAI"라는 범주명 아래 실제 세부 종류와 역할 구분이 필요.
- 소켓(Socket) 기술 - 포트를 할당하고 클라이언트 요청 시 연결을 담당하는 내외부 송수신 연계 기술.
- 연계 시스템 구성요소 - 송신 시스템(연계 테이블/파일 생성·발송), 중계 서버, 수신 시스템.
- Component vs Module vs Class - Component는 인터페이스를 통해서만 접근 가능한 독립적·재사용 단위(넓은 의미의 재사용 단위)로 Module/Class와 구분됨.
- Refactoring - 겉보기 동작 변화 없이 내부 구조를 개선해 이해와 유지보수를 쉽게 하는 작업.
2025-1회 에서 확보
- 워크스루 vs 인스펙션 - 둘 다 정적 검토 기법이지만 동일한 절차가 아님. 워크스루는 검토자들에게 자료를 미리 배포하고 진행자 없이 자유롭게 논의하는 형식, 인스펙션은 정형화된 절차와 체크리스트로 결함을 검출하는 공식 검토.
- UML State Diagram vs Sequence Diagram - State Diagram은 하나의 객체가 가진 상태와 상태 변화(전이)를 표현하고, Sequence Diagram은 여러 객체 간의 메시지 교환 순서를 표현한다. 시험에서 이 둘의 정의가 서로 바뀐 오답 선지로 자주 출제됨.
- 순차 코드(Sequence Code) - 코드 설계 기법 중 발생 순서에 따라 일련번호를 부여하는 방식.
- 파이프-필터 아키텍처 - 서브시스템(필터)이 입력 데이터를 받아 처리하고 결과를 파이프를 통해 다음 서브시스템으로 넘겨주는 과정을 반복하는 구조. (계층 구조·MVC 구조와 구별)
2025-2회 에서 확보
- 럼바우(Rumbaugh) 분석 절차 순서 - 객체 모형 → 동적 모형 → 기능 모형 순으로 진행(순서 자체가 시험 포인트).
- UI 종류 구분(NUI/OUI/GUI/CLI) - NUI(Natural User Interface)는 멀티터치·동작인식 등 자연스러운 신체 움직임 인식 인터페이스.
- HIPO 차트 3요소 - 가시적 도표(Visual Table of Contents), 총체적 도표(Overview Diagram), 세부적 도표(Detail Diagram)로 구성.
- DFD 표기 오류 함정 - Data Store는 삼각형이 아니라 열린 사각형(양쪽 선), Terminator가 사각형.
- SOLID와 SSO 구분 - SSO(Single Sign On)는 SOLID 5원칙(SRP/OCP/LSP/ISP/DIP)에 속하지 않는 인증 개념(자주 나오는 오답 함정).
- 객체지향 분석 방법론별 특징 매칭 - Jacobson=Use-Case 강조, Rumbaugh=객체/동적/기능 모델, Booch=미시적+거시적 개발 프로세스, Coad-Yourdon=E-R 기반 데이터 모델링.
- 데이터 결합도 vs 스탬프 결합도 함정 - 매개변수가 "자료 구조 형태"로 전달되면 스탬프 결합도이며, 단순 값 전달이 데이터 결합도(문제 지문이 실제로는 스탬프 결합도 설명).
- GoF 패턴 3분류 - 생성(Singleton·Builder·Factory·Prototype·Abstract Factory), 구조(Adapter·Bridge·Proxy·Composite·Decorator·Facade), 행위(Observer·State·Strategy 등).
- UML 다이어그램 구조/행위 분류 - 배치(Deployment)·클래스·컴포넌트 다이어그램은 구조(Structural), 유스케이스·시퀀스·활동·상태 다이어그램은 행위(Behavioral).
2025-3회 에서 확보
- 결합도 강도 순서(약함→강함) - Data → Stamp → Control → Common → Content 순으로 결합도가 강해진다(암기 필수 순서).
- HIPO 차트 3종류 - 가시적 도표(Visual Table of Contents), 총체적 도표(Overview Diagram), 세부적 도표(Detail Diagram)로 구성되며 HIPO는 하향식(top-down) 문서화 도구다.
- N-S(Nassi-Schneiderman) Chart - 화살표를 사용하지 않고 도형만으로 논리 제어 구조(순차/선택/반복)를 표현하는 방식이다.
- 인터페이스 분리 원칙(ISP) - 클라이언트가 자신이 사용하지 않는 메소드/인터페이스에 의존하지 않도록 인터페이스를 분리해야 한다는 SOLID 원칙 중 하나.
- 미들웨어의 투명성 - 미들웨어는 사용자가 내부 동작(정보 교환 방법 등)을 몰라도 되도록 위치 투명성 등을 제공해야 한다(내부 동작을 쉽게 확인시키는 것은 미들웨어 목적이 아님).
- DFD 표기 요소 - Process=원, Data Flow=화살표, Terminator=사각형이며 Data Store는 삼각형이 아니라 열린 사각형(평행선)으로 표기한다.
2과목 · 소프트웨어 개발
종류순서114 에서 확보
- 소프트웨어 설치 매뉴얼 기본 항목 - 소프트웨어 개요 → 설치 관련 파일 → 설치 아이콘 → 프로그램 삭제 → 관련 추가 정보
- 화이트박스 테스트 세부 기법 - 기초 경로 검사 → 조건 검사 → 루프 검사 → 데이터 흐름 검사
- 블랙박스 테스트 세부 기법 - 동치 분할 검사 → 경계값 분석 → 원인-효과 그래프 검사 → 오류 예측 검사 → 비교 검사
- 형상관리 주요 기능 - 저장소 → 가져오기 → 체크아웃 → 체크인 → 커밋 → 동기화
- 반정규화(중복 테이블 추가) 유형 - 집계 테이블 추가 → 진행 테이블 추가 → 특정 부분 포함 테이블 추가
- 테스트 케이스 자동 생성 도구 방법 - 자료흐름도 → 기능 테스트 → 입력 도메인 분석 → 랜덤 테스트
- 스택 응용 분야 - 함수 호출 순서 제어 → 인터럽트 처리 → 수식 계산·표기법 → 컴파일러 언어 번역 → 서브루틴 복귀주소 저장
- 스택을 이용한 연산 - 재귀 호출 → 후위(Postfix) 표기법 → 깊이 우선 탐색
- 자료구조 분류 - 선형 구조(배열·리스트·스택·큐·데크) → 비선형 구조(트리·그래프)
- 소스 코드 품질 분석 도구 - 정적 분석(pmd·cppcheck·SonarQube·checkstyle·ccm·cobertura) → 동적 분석(Avalanche·Valgrind)
- 인터페이스 보안(네트워크 영역) 기술 - IPSec → SSL → S-HTTP
- xUnit 계열 단위 테스트 도구 - JUnit → CppUnit → NUnit → HttpUnit
- 클린 코드 작성 원칙 - 가독성 → 단순성 → 의존성 배제 → 중복성 최소화 → 추상화
- DRM(디지털 저작권 관리) 기술 요소 - 암호화 → 키 관리 → 암호화 파일 생성 → 식별 기술 → 저작권 표현 → 정책 관리 → 크랙 방지 → 인증
- 소프트웨어 재공학 장점 - 수명 연장 → 기술 향상 → 개발 기간 단축 → 오류 감소 → 비용 절감 → 위험 부담 감소
- 테스트 케이스 기본 항목 - 입력 데이터 → 테스트 조건 → 예상 결과
- 개발 환경 빌드 자동화 도구 - Ant → Maven → Gradle → Make → Jenkins
- EAI 구축 유형 - Point-to-Point → Hub & Spoke → Message Bus(ESB) → Hybrid
- 인터페이스 구현 검증 도구 - xUnit → STAF → FitNesse → NTAF → Selenium → watir
- 단위 테스트로 발견 가능한 오류 - 알고리즘 오류 → 무한 반복문 사용 → 잘못된 계산 수식 (모듈 간 상호작용 오류는 통합 테스트 영역)
- 소프트웨어 개발 프레임워크 기대 효과 - 품질 보증 → 개발 용이성 → 변경 용이성 → 시스템 복잡도 감소
잘못된문장197 에서 확보
- 테스트 스텁 vs 테스트 드라이버 - 스텁은 상위(제어) 모듈이 호출하는 하위 모듈을 대체하는 가상 모듈(상향식 통합에서 필요), 드라이버는 테스트 대상 모듈을 호출하는 상위 모듈을 대체하는 가상 모듈(상향식 통합 테스트에서 사용)이다.
- 검증(Verification) vs 확인(Validation) - 검증은 개발자 관점에서 소프트웨어가 명세서대로 만들어졌는지 점검하는 것, 확인은 사용자 관점에서 고객의 요구사항에 맞게 구현되었는지 확인하는 것이다.
- 테스트 오라클 종류 - 샘플링 오라클(일부 케이스만 결과 제공), 참(True) 오라클(모든 케이스에 대해 기대 결과 제공), 휴리스틱 오라클(일부는 실제값, 나머지는 추정), 일관성 검사 오라클(변경 전후 결과 비교).
- 형상관리 도구 vs 빌드 자동화 도구 - 형상관리 도구는 Git, CVS, Subversion, Mercurial 등이며, Ant·Maven·Gradle·Jenkins는 빌드 자동화 도구다. Jenkins는 Java 기반 서버형 CI 도구이고, Groovy 기반 태스크 단위 실행은 Gradle의 특징이다.
- 형상 통제 절차 - 형상 목록 변경 요구는 즉시 수용하는 것이 아니라, 검토를 거쳐 기준선(Baseline)에 반영되도록 조정하는 과정이다. Chief Programmer Team은 형상관리와 무관한 개발팀 구성 방식이다.
- 화이트박스 vs 블랙박스 테스트 기법 구분 - 경계값 분석(Boundary Value Analysis)은 블랙박스 테스트 기법이며, 화이트박스는 프로그램 구조(제어 흐름)를 고려해 논리적 경로를 검증한다.
- 큐/스택 자료구조 - 큐는 선형 자료구조이며 FIFO, Front/Rear 2개의 포인터를 갖는다(스택이 아니라 큐의 특징). 스택은 LIFO이며 삽입/삭제가 한쪽 끝(Top)에서만 이루어진다.
- 이진 검색 vs 선형 검색 - 이진 검색은 정렬된 데이터에서 절반씩 줄여가며 검색하고 피보나치 수열과는 무관하다(피보나치 수열을 이용하는 것은 피보나치 검색). 선형 검색은 정렬 여부와 무관하게 순차적으로 비교한다.
- 힙 정렬 시간복잡도 - 평균과 최악 모두 O(nlog₂n)이다.
- 클린 코드 원칙 상세 - 추상화는 상위 클래스/메소드/함수에서 특성을 간략히 나타내고 상세 구현은 하위 클래스/메소드/함수에서 담당한다. 의존성 원칙은 다른 모듈에 미치는 영향을 최소화하는 것이다.
- IDE 기능 - Compile - 고급 언어로 작성한 프로그램을 컴퓨터가 이해하는 저급(기계어) 언어로 변환하는 기능(반대 방향 아님).
- 소스 코드 정적 분석 - 코드를 실행하지 않고 소프트웨어적 방법(pmd, cppcheck 등 도구)으로 오류·비정상 패턴을 찾는 활동이다(하드웨어적 방법이 아님).
키워드259 에서 확보
- 테스트 기본 원칙 3종 - 살충제 패러독스(같은 테스트 반복 시 새 결함을 찾지 못함), 결함 집중(파레토 법칙), 오류-부재의 궤변(결함 없어도 사용자 요구 불만족이면 무의미), 완벽한 테스팅은 불가능.
- 해싱 함수 종류 - 제산법, 폴딩법(키를 나눠 더하거나 XOR), 기수 변환법, 숫자 분석법(대표적 해싱 주소 산출 방식).
- 인터페이스 구현 검증 도구 - STAF(분산 환경 데몬 기반 테스트 자동화), xUnit, FitNesse, NTAF, Selenium, Watir 등.
- CRUD 분석 - 생성·읽기·갱신·삭제 연산으로 프로세스-테이블 매트릭스를 만들어 트랜잭션을 분석하는 기법.
- Alien Code - 오래되었거나 문서·개발자가 없어 유지보수가 매우 어려운 프로그램.
- 버전 관리 방식 3종 - 단일 저장소 방식, 공유 폴더 방식, 클라이언트·서버 방식, 분산 저장소 방식(Git, 로컬+원격 동시 저장). 도구로는 RCS(동시 수정 방지·변경 추적)도 알아둘 것.
- DRM(디지털 저작권 관리) 구성요소 - Packager(콘텐츠를 메타데이터와 묶어 배포 단위 생성), DRM Controller, Contents Distributor, Contents Provider(콘텐츠 제공 저작권자), Clearing House(라이선스 발급/관리). Data Warehouse는 DRM 구성요소 아님(오답 함정).
- 소프트웨어 재공학 활동 - 역공학, 분석, 재구성, 이식(다른 OS/HW 환경에서 사용 가능하도록 변환).
- 소프트웨어 재사용 방법 - 합성 중심(블록/모듈을 끼워 맞춤), 생성 중심.
- 요구사항 검토 방법 구분 - 동료검토(작성자가 설명하고 이해관계자가 들으며 결함 발견) vs 워크스루(사전 배포 후 짧은 회의로 결함 조기 발견) vs 인스펙션(전문 검토 그룹이 상세 조사) - 세 방법의 절차 차이를 혼동하지 않아야 함.
- 테스트 오라클 종류 - 참(True) 오라클, 샘플링 오라클, 휴리스틱 오라클, 일관성 검사 오라클.
- 구조적 요구분석 자동화 도구 - SADT(SoftTech사, 블록 다이어그램), PSL/PSA, SREM, HIPO.
- 이진 탐색 트리의 최악 성능 - 편향(치우친) 트리가 되면 O(N)까지 성능이 저하되어 트리 구조 중 최악의 검색 효율을 가질 수 있음(AVL/2-3/레드-블랙 트리와 대비).
- 테스트 종류 구분 - 강도(Stress) 테스트(과부하 시 정상 작동 여부) vs 회복 테스트(고의 실패 유도 후 복귀 확인) vs 성능 테스트 vs 보안 테스트의 목적 차이.
2025-1회 에서 확보
- 정적 분석 도구 목록 - pmd, cppcheck, checkstyle은 실제 존재하는 정적 분석 도구. "valMeter"는 존재하지 않는 가상의 도구명(함정 선지)으로 자주 출제됨.
- Pareto 법칙(파레토 법칙) - 소프트웨어 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 경험 법칙. (Brooks 법칙=인월 신화, Boehm 법칙=비용 관련과 구분)
- Selection Sort PASS별 계산 - 초기상태 8,3,4,9,7에서 PASS 1은 최솟값 3을 맨 앞으로, PASS 2는 남은 구간 최솟값 4를 두 번째로 이동하는 식으로 진행되며, 실제 PASS 횟수 계산 문제로 출제됨.
- 빌드 자동화 도구 특징 구분 - Gradle은 Groovy 기반 DSL로 태스크 단위 실행이 특징. Jenkins는 CI/CD 서버(Java 기반)이며 "Groovy 기반, 안드로이드 앱 전용"이라는 서술은 Gradle 특징을 Jenkins에 잘못 결합한 함정.
- 소프트웨어 형상관리 항목 - 요구사항 정의서, 설계서, 소스코드, 운영·설치 지침서 등이 대상이며 "프로젝트 개발 비용"은 형상관리 항목이 아님.
- EAI 구축 유형 4가지 구분 - Point-to-Point(미들웨어 없이 애플리케이션 직접 연결), Hub&Spoke(중앙집중형), Message Bus/ESB(미들웨어 경유 분산), Hybrid(Hub&Spoke+Message Bus 혼합). "미들웨어 없이 point to point로 연결"은 Hybrid가 아니라 Point-to-Point 유형 설명임에 유의.
- 인터페이스 구현 검증 도구 - STAF, watir, xUnit, FitNesse, Selenium 등이 해당. "Foxbase"는 과거 PC용 DB 관리 프로그램으로 인터페이스 검증 도구가 아니다(함정).
- NS Chart(Nassi-Schneiderman Chart) - 화살표나 GOTO문을 사용하지 않고 박스(사각형) 형태로 논리를 표현하는 것이 핵심 특징. 연속·선택·반복 구조 표현에 적합.
2025-2회 에서 확보
- EAI 구축 유형 4가지 - Point-to-Point, Hub & Spoke, Message Bus, Hybrid(4가지 중 'Tree'는 해당 없음, 자주 나오는 오답 함정).
- 저작권 관리 구성요소 세분화 - 콘텐츠 제공자/분배자/클리어링 하우스(키관리·라이선스 발급)/DRM 컨트롤러(이용권한 통제)/패키저(메타데이터 결합, 콘텐츠 분배자와 혼동 주의).
- DRM 기술 요소 - 암호화, 키 관리, 크랙 방지, 워터마킹, 인증 등이며 방화벽은 DRM 요소가 아님.
- 인터페이스 보안 네트워크 솔루션 - IPSec, SSL, S-HTTP는 보안 프로토콜이지만 SMTP는 메일 전송 프로토콜로 해당 없음.
- 정렬 알고리즘 시간복잡도 그룹 - O(NlogN): 합병(Merge)·퀵·힙 정렬 / O(N²): 버블·선택·삽입 정렬.
- 블랙박스 vs 화이트박스 기법 구분 - 경계값 분석·동치 분할은 블랙박스, 조건 검사·기초 경로 검사·루프 검사는 화이트박스.
- 스택 push/pop 가능 시퀀스 판별 - LIFO 특성상 특정 출력 순서(예: C,B,A,D)는 push/pop 조합으로 물리적으로 불가능할 수 있음(직접 트레이스 필요).
- FTR(정형 기술 검토) 지침 - 의제 제한, 논쟁·반박 제한, 문제 영역 명확화, "참가자 수는 제한한다"(제한하지 않는다가 아님).
2025-3회 에서 확보
- ISO/IEC 9126 기능성(Functionality) 하위특성 - 적합성, 정확성, 상호운용성, 보안성, 준수성 5가지이며, 학습성(Learnability)은 사용성(Usability)의 하위특성이다.
- 해싱 함수 종류 vs 충돌 해결법 구분 - 제곱법, 숫자분석법, 제산법 등은 해싱 함수(주소 계산 방법)이고, 개방주소법(Open Addressing)은 충돌 발생 시 해결 기법으로 별개 개념이다.
- 코드 인스펙션 - 프로그램을 실행하지 않고 읽으며 결함·코딩표준 준수 여부를 검토하는 정적 테스트 기법이다(동적 테스트 아님).
- 테스트 오라클 4종류 - 참(True) 오라클, 샘플링 오라클, 휴리스틱 오라클, 일관성 검사 오라클로 구분된다.
- 형상 관리 역할 - 버전 이력 접근, 배포본 관리, 소스 수정 제한, 동시 개발 지원이 핵심 역할이며 "개발비용의 효율적 관리" 자체는 형상관리 고유 역할이 아니다.
- 단위 테스트의 한계 - 모듈 간 비정상적 상호작용으로 인한 오류는 단위 테스트가 아닌 통합 테스트에서 발견된다.
3과목 · 데이터베이스 구축
종류순서114 에서 확보
- E-R 다이어그램 기호 - 사각형(개체) → 마름모(관계) → 타원(속성) → 이중타원(다중값 속성) → 밑줄타원(기본키) → 선(연결)
- 관계대수 순수 관계 연산자 - Select(σ) → Project(π) → Join(▷◁) → Division(÷) (Cartesian Product는 일반 집합 연산자로 구분)
- 병행제어 기법 세부 종류 - 로킹 기법 → 타임 스탬프 순서 기법 → 낙관적(검증) 기법 → 다중 버전 기법
- 분산 데이터베이스 투명성 4종 - 위치 투명성 → 중복 투명성 → 병행 투명성 → 장애 투명성
- 물리 데이터 파티션 유형 - 범위 분할 → 해시 분할 → 조합 분할 → 목록 분할 → 라운드로빈 분할
- 해싱 함수 종류 - 제산법 → 제곱법 → 폴딩법 → 기수 변환법 → 대수적 코딩법 → 숫자 분석법 → 무작위법 (개방 주소법은 충돌 해결 기법으로 구분)
- SQL 명령어 분류(DDL/DML/DCL) - DDL(CREATE·ALTER·DROP) → DML(SELECT·UPDATE·INSERT·DELETE) → DCL(COMMIT·ROLLBACK·GRANT·REVOKE·SAVEPOINT)
- SQL 집계 함수 - COUNT → SUM → AVG → MAX → MIN → STDDEV → VARIANCE
잘못된문장197 에서 확보
- DB 설계 3단계별 작업 구분 - 개념적 설계(DBMS 독립적, E-R 다이어그램 산출)→논리적 설계(목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계, 논리적 구조로의 매핑, 정규화·스키마 평가 및 정제)→물리적 설계(저장 레코드 양식/레코드 집중 분석/접근 경로 설계). 정규화는 개념적 설계 이후 논리적 설계 단계에서 수행한다.
- E-R 다이어그램 표기 정정 - 개체(Entity)=사각형, 관계(Relationship)=마름모, 속성(Attribute)=타원으로 표현한다.
- 무결성 규정 vs 보안 - "허가받지 않은 사용자의 갱신으로부터 DB를 보호"하는 것은 무결성 규정이 아니라 보안(Security)에 대한 설명이다. 무결성 규정의 대상은 도메인·키·종속성 등이다.
- 병행제어의 목적 - 데이터베이스 공유의 "최대화"이며, 최소화가 아니다. (시스템 활용도 최대화, 응답시간 최소화, 일관성 유지도 목적)
- DELETE vs DROP vs TRUNCATE - DELETE는 조건절 없이도 테이블 구조는 남기고 레코드만 삭제(DROP TABLE과 동일 효과 아님). TRUNCATE는 DELETE보다 빠르게 데이터를 제거하지만 ROLLBACK으로 복구할 수 없다(DELETE는 ROLLBACK 가능).
- 분산 데이터베이스 구성요소 - 분산 처리기, 분산 데이터베이스, 통신 네트워크로 구성된다(P2P 시스템·단일 데이터베이스가 아님). 위치·중복·병행·장애 투명성을 목표로 한다.
- 관계대수 vs 관계해석 - 관계대수는 절차적 언어(원하는 결과를 구하기 위한 연산 순서를 명시), 관계해석은 수학의 프레디킷 해석에 기반한 비절차적 언어(원하는 정보가 무엇인지만 정의)다. 관계대수로 표현한 식은 관계해석으로도 표현 가능하다.
- 시스템 카탈로그(데이터 사전) - 일반 사용자도 SQL로 내용을 조회할 수 있지만, 사용자가 직접 갱신할 수는 없다(DBMS가 스스로 생성·유지).
- 인덱스 생성/삭제 명령어 - CREATE INDEX로 생성, DROP INDEX로 삭제한다(ADD·DELETE가 아님). 사용자가 DDL로 생성·변경·제거할 수 있다(시스템이 자동 생성해 변경 불가한 것이 아님).
- 트랜잭션 ACID와 명령어 매핑 - Commit/Rollback 명령어가 직접 보장하는 특성은 원자성(Atomicity)이다(일관성이 아님).
- 로킹 단위와 병행성의 관계 - 로킹 단위가 커지면 병행성 수준(공유도)은 낮아지고 오버헤드는 감소하며, 로킹 단위가 작아지면 반대로 공유도는 높아지고 오버헤드는 증가한다.
- CREATE TABLE의 한계 - 속성의 NOT NULL·기본키·CHECK 제약조건은 정의할 수 있지만, 속성의 타입 변경은 CREATE TABLE로 할 수 없다(ALTER TABLE 필요).
- DCL의 기능 - 데이터 보안, 무결성 유지, 병행 수행 제어이며, 논리적·물리적 데이터 구조 정의는 DDL의 기능이다.
- 뷰(View) - 저장장치에 물리적으로 존재하지 않는 가상 테이블이며, 기본 테이블에 비해 삽입·삭제·갱신에 제약이 따른다.
키워드259 에서 확보
- 3단계 스키마 - 개념 스키마(DB 전체 정의: 개체·관계·제약조건·접근권한·무결성 규칙), 내부 스키마(물리적 저장 구조·레코드 형식·순서), 외부 스키마(사용자 관점의 뷰).
- 함수 종속 표기 및 이행적 함수 종속 - X→Y 표기법, 이행적 함수 종속(A→B, B→C이면 A→C).
- 정규화 단계별 조건 상세 - 2NF(부분 함수 종속 제거=완전 함수 종속), 3NF(이행적 함수 종속 제거), BCNF(모든 결정자가 후보키), 4NF(다치 종속 제거), 5NF(조인 종속 제거).
- 파티셔닝 방식 - Range Partitioning(범위 기준), Hash Partitioning, List Partitioning, Composite Partitioning.
- 트랜잭션 상태 5단계 - Active(활동)→Partially Committed(부분 완료, 아직 DB 미반영)→Committed(완료) 또는 Failed→Aborted(철회, Rollback 실행).
- 참조 무결성 옵션 - CASCADE(부모 삭제 시 자식도 자동 삭제), SET-NULL, RESTRICTED.
- 동시성 제어(직렬화) 기법 - 로킹 기법, 타임 스탬프 기법(트랜잭션 처리 순서를 미리 정함), 검증 기법.
- 회복 기법 - 로그 필요 여부 - 즉각 갱신 기법은 로그(log)가 반드시 필요.
- 분산 데이터베이스 목표(투명성) - 장애 투명성, 병행 투명성, 위치 투명성, 중복 투명성.
- 고가용성 솔루션(HACMP) - 공유 디스크 중심 클러스터링으로 2개 서버를 연결해 안정성을 높이는 이중화 방식.
2025-1회 에서 확보
- DCL vs DDL 기능 구분 - DCL은 데이터 보안·무결성 유지·병행수행 제어 담당, 논리적/물리적 데이터 구조 정의는 DDL의 기능임.
- 로킹 단위와 오버헤드·공유도 관계 - 로킹 단위가 작아질수록 병행성(공유도)은 증가하지만 로킹 오버헤드도 함께 증가한다(감소가 아님). 반대로 로킹 단위가 커지면 오버헤드는 감소하지만 병행성은 낮아짐.
- E-R 다이어그램 기호 - 마름모=관계 타입, 사각형=개체 타입, 타원=속성, 선=연결. "삼각형"은 E-R 다이어그램 표준 기호에 존재하지 않음.
- 뷰(VIEW)의 삽입·갱신·삭제 제약 - 뷰는 기본 테이블과 달리 삽입·갱신·삭제 연산 시 제약사항이 따른다(제약 없이 자유롭게 가능하지 않음).
- CREATE TABLE에 포함되지 않는 기능 - NOT NULL, 기본키, CHECK 제약조건은 CREATE TABLE에서 정의 가능하나, 속성(컬럼)의 타입 변경은 ALTER TABLE의 역할.
- 분산 데이터베이스 시스템 구성 요소 - 분산 처리기, 분산 데이터베이스, 통신 네트워크, 전역(분산) 스키마 등으로 구성되며 "P2P 시스템, 단일 데이터베이스"는 표준 구성요소가 아님.
2025-2회 에서 확보
- 함수 종속 추론 규칙(Armstrong 공리) 명칭 - 반사 규칙, 이행 규칙(X→Y, Y→Z이면 X→Z), 분해 규칙, 결합 규칙 등 규칙별 명칭 구분.
- 관계대수 순수 관계연산자 vs 일반 집합연산자 - 순수 관계연산자: Select, Project, Join, Division / 일반 집합연산자: Union, Intersection, Difference, Cartesian Product(문제에서 자주 순수 연산자로 오인).
- 로킹 단위(Locking Granularity)와 병행성 관계 - 로킹 단위가 크면 병행성 수준↓·관리(오버헤드)는 쉬워짐, 작으면 병행성↑·관리 복잡·로크 수↑ (반대로 암기하면 오답).
- UNION vs UNION ALL - UNION ALL은 중복 제거 없이 모든 행을 그대로 합침(정렬·중복제거 없음).
- 관계해석 논리 기호 - ∀(전칭 정량자, 모든 것에 대하여), ∃(존재 정량자, 어떤 것이 존재하여).
- DELETE와 DROP TABLE 차이 함정 - WHERE 없는 DELETE는 모든 행을 지우지만 테이블 구조 자체는 남음(DROP TABLE과 동일 효과 아님 - 자주 나오는 오답 문장).
- Degree vs Cardinality - Degree=속성(열)의 수, Cardinality=튜플(행)의 수.
- 뷰(View)는 자체 인덱스를 가질 수 없음 - 실제 데이터를 저장하지 않는 가상 테이블이므로 인덱스 생성 불가(뷰 장점 문제의 단골 오답).
- 물리적 설계 vs 논리적 설계 구분 - "목표 DBMS에 맞는 스키마 설계"는 논리적 설계 단계 소관이며 물리적 설계(저장 레코드 양식, 접근 경로, 레코드 집중 분석)와는 별개.
- 슈퍼키 vs 후보키 구분 - 슈퍼키=유일성만 만족(최소성 불만족), 후보키=유일성+최소성 모두 만족.
2025-3회 에서 확보
- 보이스/코드 정규형(BCNF) - 릴레이션의 모든 결정자(Determinant)가 후보키이면 그 릴레이션은 BCNF에 속한다.
- 시스템 카탈로그 - DBMS가 스스로 생성·유지하는 특별한 테이블 집합이며, 사용자가 SQL로 직접 갱신할 수 없다(무결성 유지를 위해 DBMS가 자동 관리).
- 속성(attribute) 관련 용어 구분 - 속성의 수는 "차수(Degree)"라 하고, "Cardinality"는 튜플(레코드)의 수를 의미한다(자주 혼동되는 지엽 포인트).
- 뷰(View)의 갱신 제약 - SQL로 뷰를 만들어도 뷰에 대한 삽입·갱신·삭제 연산에는 제약 사항이 존재한다(제약 없다는 설명은 오답).
- 물리적 설계 vs 논리적 설계 구분 - 저장 레코드 형식·순서·접근 경로 설계는 물리적 설계이고, 트랜잭션 인터페이스 설계·데이터 타입 간 관계 표현은 논리적/개념적 설계 영역이다.
- 관계대수 vs 관계해석 - 관계대수는 연산의 순서를 명시하는 절차적(procedural) 언어이고, "무엇을 원하는지만 기술하는 비절차적 방법"은 관계해석(Relational Calculus)의 특징이다.
4과목 · 프로그래밍 언어 활용
종류순서114 에서 확보
- C 언어 연산자 분류 - 산술(+,-,*,/,%) → 비트(&,^,|,~,<<,>>) → 대입(=) → 조건(?:)
- bash 쉘 스크립트 제어문 - 반복문(for·while·until) → 조건문(if·case)
- Java 출력 메소드 - print() → println() → printf()
- PHP 연산자 - +,-,*,/,%,@,< >,=,==,===
- 커널(Kernel)의 기능 - 프로세스 관리 → 기억장치 관리 → 파일 관리 → 입출력 관리 → 프로세스 간 통신 → 데이터 전송·변환 (사용자 인터페이스는 쉘의 역할)
- 운영체제 구성 - 제어 프로그램(감시·작업관리·데이터관리) → 처리 프로그램(언어번역·서비스)
- UNIX/LINUX 환경 변수 표시 명령어 - set → env → printenv → setenv
- 스크립트 언어 분류 - 서버용(ASP·JSP·PHP·Python·Perl·Ruby) → 클라이언트용(JavaScript·VBScript)
- 프로세스 상태 6단계 - 제출 → 접수 → 준비 → 실행 → 대기(보류·블록) → 종료
- WAS(웹 애플리케이션 서버) 종류 - Tomcat → GlassFish → JBoss → Jetty → JEUS → Resin → WebLogic → WebSphere
- OLAP 연산 종류 - Roll-up → Drill-down → Drill-through → Drill-across → Pivoting → Slicing → Dicing
- IPv6 주소 체계 - 유니캐스트 → 멀티캐스트 → 애니캐스트 (Broadcast 없음)
- OSI 데이터 링크 계층 프로토콜 - HDLC → LAPB → LLC → MAC → LAPD → PPP
- TCP/IP 전송 계층 프로토콜 - TCP → UDP → RTCP
- 프로그래밍 언어 선정 기준 - 친밀감 → 언어 능력 → 처리 효율성 → 프로그램 구조 → 이식성 → 과거 개발 실적 → 대상 업무 성격 → 컴파일러 이용 가능성
잘못된문장197 에서 확보
- C/파이썬 변수명 규칙 세부 - C 언어: 예약어(else 등)는 변수명으로 사용 불가, 특수문자(-,+,*,/)나 공백 사용 불가. 파이썬: 변수명 중간에 공백 사용 불가.
- malloc() 함수 - 사용자가 입력한 Byte(비트가 아님) 단위로 메모리를 동적 할당하며, free()로 해제하고, 할당 실패 시 NULL을 반환한다.
- JAVA 예외(Exception) - 실행 중에 발생하는 오류만 예외로 처리되며, 문법(컴파일) 오류는 실행 자체가 안 되므로 예외 처리 대상이 아니다. char 자료형은 문자 한 글자만 저장한다.
- UNIX 특징 - Multi-User와 Multi-Tasking을 모두 지원한다. 쉘(Shell)은 명령어 해석기이며, 프로세스·기억장치·입출력 관리는 커널(Kernel)의 기능이다. export는 환경 변수를 설정/변경하는 명령어다.
- 페이지 크기와 트레이드오프 - 페이지 크기가 작아지면 기억장소 이용 효율은 증가하고 내부 단편화는 감소하지만, 입출력 시간(페이지 부재 빈도)은 늘어나고 페이지 맵 테이블의 크기는 커진다.
- 스레싱(Thrashing) 발생 조건 - 프로세스의 실제 처리 시간보다 페이지 교체(교환)에 소요되는 시간이 더 많아질 때 발생한다.
- 지역성(Locality) 구분 - 시간 지역성은 반복문·스택·부프로그램 호출과 관련, 공간 지역성은 한 페이지 참조 후 인접 페이지를 참조할 가능성이 높음을 의미한다.
- 프로세스 vs 스레드 - 스레드가 프로세스 내에서 실행되는 작업의 단위("경량 프로세스")이며, 한 프로세스는 여러 스레드를 가질 수 있다. 문맥 교환(Context Switching)은 이전 프로세스의 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정이다.
- 라이브러리 구분 - 표준 라이브러리는 언어가 기본 제공(별도 설치 불필요), 외부 라이브러리는 별도 파일 설치가 필요하다. 모듈=개별 파일, 패키지=모듈들을 모은 폴더.
- RIP vs OSPF 라우팅 프로토콜 - RIP는 IGP·거리 벡터 방식(Bellman-Ford, 홉 카운트 기준, 최대 홉 수 15). OSPF는 링크 상태 방식(Dijkstra 알고리즘 사용, 멀티캐스팅 지원, 네트워크 변화에 신속히 대처)이며 거리 벡터 방식이 아니다.
- IPv6 세부 스펙 - 128비트(16비트씩 8부분, 16진수·콜론 구분) 주소체계, 헤더는 40옥텟 고정 길이, 유니캐스트·멀티캐스트·애니캐스트 3방식 지원(브로드캐스트 없음), IPv4보다 전송 속도가 빠르고 보안 확장 헤더로 보안이 강화되었으며 자동 주소설정이 가능하다.
- IP 프로토콜 특징 - 헤더 체크섬만 제공(데이터 체크섬은 제공 안 함), Best Effort 원칙, 패킷 분할/병합 기능, 비연결형 서비스.
- TCP 헤더 스펙 - 기본 헤더 20~60byte, 옵션 포함 시 최대 100byte까지 확장 가능. 윈도우 최대 크기는 65,535(2¹⁶-1)byte(32767bit 아님). 프레임 단위 전송·오류 제어는 TCP가 아니라 데이터 링크 계층(HDLC, LAPB, LLC, MAC 등)의 역할이다.
- 네트워크 계층 vs 데이터링크 계층 PDU - 네트워크 계층의 PDU는 패킷(Packet), 데이터 링크 계층의 PDU는 프레임(Frame)이다.
- IPSec 구성요소 - 암호화·복호화가 모두 가능한 양방향 암호 방식이며, ESP는 발신지 인증·데이터 무결성·기밀성을 모두 보장하고 AH는 발신지 인증과 무결성을 보장한다(기밀성은 AH 대상 아님). Tunnel/Transport 모드로 구분.
- SSH(Secure Shell) - 기본 네트워크 포트는 22번(220번 아님)이며 전송 데이터를 암호화하고, 공개키를 서버에 등록해 키 기반 인증을 수행한다.
- Secure OS 보안 기능 - 식별 및 인증, 임의적/강제적 접근 통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소 등이며 고가용성 지원은 포함되지 않는다.
- XDMCP - GUI 환경을 구축한 UNIX/LINUX에서 서버-클라이언트 간 GUI 관리자(XDM)와 통신하는 프로토콜이며, DBMS 보안 정책 도구가 아니다.
- 해시(Hash) vs 공개키 암호화 - 해시는 임의 길이 입력을 고정 길이로 변환하는 일방향 함수(HAVAL, SHA-1 등)이며, 공개키 암호화의 키 생성과는 무관하다(공개키는 소인수분해·이산대수 등을 이용).
- 공개키 암호 키 개수 공식 - n명이 공개키 암호를 사용할 경우 2n개의 키가 필요하다(암호화는 상대의 공개키, 복호화는 자신의 비밀키 사용). 대칭키 암호는 비밀키를 공유해야 하므로 키 교환이 필요하지만 속도는 빠르다.
- 스트림 암호화 방식 - 비트/바이트/단어 단위로 순차 암호화하는 대칭키 방식이며 RC4가 대표적이다. 해시 암호화(블록 단위)와는 무관하다.
- DES 블록 크기 - 64비트 블록 단위로 암호화하는 대칭키 알고리즘이다.
- IP 주소 클래스 범위 - C 클래스 주소 범위는 192.0.0.0 ~ 223.255.255.255이다.
- SQL Injection 특성 - 웹 애플리케이션과 DB 연동 부분에서 발생하며, DBMS 종류에 따라 접근 방법이 달라지므로 공격 기법이 모두 동일하지는 않다.
키워드259 에서 확보
- TCP 흐름제어/혼잡제어 기법 - Stop and Wait(프레임 1개 전송 후 응답 대기), Sliding Window, Slow Start, Congestion Avoidance.
- MAC 접속 제어 방식 - CSMA/CD(IEEE 802.3 유선 LAN), CSMA/CA(무선 랜, 충돌 회피용 임의 대기+확인신호).
- IEEE 802.11 워킹그룹 표준 - 802.11e(QoS 강화, MAC 지원 기능 채택)를 비롯해 802.11a/b/g와 구분.
- 가상기억장치 구현 기법 - Paging(고정 크기 블록) vs Segmentation(가변 크기 블록).
- Working Set - 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합(스래싱 방지와 연관).
- 교착상태 해결 기법 - 은행원 알고리즘 - Detection/Avoidance/Recovery/Prevention 중 은행원 알고리즘(Banker's Algorithm)은 회피(Avoidance) 기법에 해당.
- 상호 배제 - Semaphore(P/V 연산) - P(S): S감소 대기, V(S): S증가로 임계구역 접근을 제어. Dekker/Lamport/Peterson 알고리즘과 구분.
- OSI 세션 계층 역할 - 두 응용 프로세스 간 통신 제어 구조 제공, 연결의 생성·관리·종료를 위해 토큰 사용.
- 파장분할다중화(WDM) - 광섬유에서 서로 다른 파장의 광신호를 동시에 전송하는 다중화 기술(FDM/CDM/TDM과 구분).
- Spanning Tree Algorithm - 브리지/LAN 구성 시 루프(폐회로)를 형성하지 않도록 연결을 설정하는 알고리즘.
- Java 자료형 크기 - long은 8byte (int 4byte, short 2byte, byte 1byte와 비교 암기).
- Python 시퀀스 타입 - list(가변)와 달리 tuple은 불변(immutable) 시퀀스 타입.
- C 라이브러리 함수 - atoi()(문자열→정수), atof(), stdlib.h(수치·문자열 변환 함수군, string.h와 구분).
- Garbage Collector - JAVA에서 참조를 잃은 힙 객체를 자동 제거하는 메모리 관리 모듈.
2025-1회 에서 확보
- IPv6 패킷 헤더 고정 길이 - IPv6 기본 헤더는 40옥텟(바이트)의 고정 길이를 가진다. "32 octet"으로 서술되면 오답(함정 수치).
- CIDR /22 서브넷 마스크 계산 - /22 = 255.255.252.0 (상위 22비트가 네트워크부).
- 시간 구역성 vs 공간 구역성 예시 - 시간 구역성(Temporal Locality) 예: 루프, 서브루틴, 스택 연산. 공간 구역성(Spatial Locality) 예: 배열 순회. 이 둘을 구분하는 문제가 자주 출제됨.
- 세그먼테이션 물리주소 계산 - 논리주소(세그먼트번호, 오프셋)에서 물리주소 = 해당 세그먼트의 시작주소 + 오프셋 (오프셋이 세그먼트 길이를 초과하면 addressing fault).
- 파일 디스크립터(FCB) 저장 위치 - 평소 보조기억장치에 저장되어 있다가 파일이 open되면 주기억장치로 이동한다(반대로 서술되면 오답). 사용자가 직접 참조할 수 없음.
- Java while(int) 컴파일 에러 - Java는 C와 달리 int를 boolean으로 암묵적 변환하지 않으므로 `while(y--)`처럼 조건식에 정수를 그대로 쓰면 컴파일 에러(Unresolved compilation problem)가 발생한다.
- C 포인터 산술 함정 패턴 - `&n + *pt - *&pt + n`처럼 pt = &n인 상황에서 `&n`과 `*&pt`(=pt)가 같은 주소이므로 산술적으로 상쇄되어 `*pt + n`만 남는 식의 계산 문제가 출제됨.
2025-2회 에서 확보
- ARQ(자동 반복 요청) 방식 종류 - Stop-and-wait ARQ, Go-back-N ARQ, Selective-Repeat ARQ 3종이며 "Non-Acknowledge ARQ"는 존재하지 않는 용어.
- OSI 7계층별 PDU 명칭 - 전송 계층=세그먼트(Segment), 네트워크 계층=패킷(Packet), 데이터링크=프레임(Frame), 세션/표현/응용 계층=메시지(Message).
- 시간 지역성 vs 공간 지역성 - 시간 지역성=반복·스택·부프로그램 관련, 공간 지역성=인접 페이지 참조 가능성.
- 스레싱(Thrashing) 발생 조건 - 페이지 교체(교환)에 소요되는 시간이 프로세스 실제 수행 시간보다 클 때 발생(반대로 서술하면 오답).
- 사용자 수준 스레드 vs 커널 수준 스레드 - 사용자 수준 스레드의 장점은 커널 모드 전환 없이 스레드 교환이 가능해 오버헤드 감소(반대로 커널 접근 동시성은 커널 수준 스레드의 특징).
- 페이지 교체 알고리즘 종류 - OPT, LRU, LFU, FIFO, NUR(Not Used Recently/Clock 유사) 등이며 "SCF"는 존재하지 않는 용어.
- 배치 프로그램 수행 주기 분류 - 정기 배치, 이벤트성 배치(조건 충족 시에만 수행), On-Demand 배치 3종.
- Java 예외(Exception) vs 오류(Error) 구분 - 문법 오류(컴파일 에러)는 예외가 아니며, 예외는 실행 시간 중 발생하는 오류(배열 인덱스 초과, 파일 부재 등).
- FIFO 페이지 교체 알고리즘 계산 - 프레임 3개 기준으로 참조열을 직접 큐 형태로 트레이스해 페이지 부재 횟수를 세는 계산 문제 유형(암기가 아닌 직접 시뮬레이션 필요).
2025-3회 에서 확보
- IPv4-IPv6 전환 기술 3가지 - 듀얼 스택, 터널링, 헤더 변환이 해당되며 "라우팅"은 전환 기술이 아니다.
- HRN(Highest Response-ratio Next) 스케줄링 - 우선순위 계산식 = (대기시간+서비스시간)/서비스시간이며, 값이 클수록(대기시간이 길수록) 우선순위가 높다. SJF의 약점(무한 대기)을 보완한 기법이다.
- 기억장치 배치전략 Worst Fit - 가장 큰 빈 공간에 프로그램을 적재하는 전략으로, 남는 공간(단편화)이 커질 수 있다. 예: 20K/16K/8K/40K 중 17K 적재 시 40K를 선택해 23K가 단편화로 남는다.
- 프로세스 vs 스레드 - 스레드가 프로세스 내에서 실행되는 흐름의 단위이며, 스레드마다 독립된 실행 스택(Stack)을 가진다("스레드에 실행 스택이 없다"는 설명은 오답).
- 빌드 도구 구분 - Ant, Maven, Gradle은 빌드 도구이고, Kerberos는 네트워크 인증 프로토콜로 빌드 도구가 아니다.
5과목 · 정보시스템 구축관리
종류순서114 에서 확보
- 취약점 관리 방법 - 무결성 검사 → 보안 설정·패치 적용 → 동작 중인 프로세스·열린 포트 확인 → 로그 분석 → SetUID 파일 검사
- Secure OS 보안 기능 - 식별 및 인증 → 임의적 접근 통제 → 강제적 접근 통제 → 객체 재사용 보호 → 완전한 조정 → 신뢰 경로 → 감사 기록 축소
- 기능 점수(FP) 모형 비용 산정 요인 - 입력 양식 → 출력 보고서 → 명령어(질의수) → 데이터 파일 → 외부 인터페이스
- 해시(Hash) 알고리즘 종류 - SHA 시리즈 → MD4 → MD5 → N-NASH → SNEFRU
- LOC 기법 예측치 산출 항목 - 낙관치 → 비관치 → 기대치
- 세션 하이재킹 탐지 방법 - 비동기화 상태 탐지 → ACK Storm 탐지 → 패킷 유실·재전송 증가 탐지 → 예상치 못한 접속 리셋 탐지
- 테일러링 내부 기준 vs 외부 기준 - 내부(목표환경·요구사항·프로젝트규모·보유기술) / 외부(국제 표준 품질 기준 등은 내부 기준 아님)
- 소프트웨어 비용 추정 모형(수학적 기법) - COCOMO → Putnam → Function-Point (PERT는 일정관리 기법으로 구분)
- 블록/스트림 암호화 방식 구분 - 블록(DES·SEED·AES·ARIA) → 스트림(LFSR·RC4)
- DDoS 공격 도구 종류 - Trin00 → TFN(Tribe Flood Network) → Stacheldraht
- CMMI 소프트웨어 프로세스 성숙도 5단계 - 초기 → 관리 → 정의 → 정량적 관리 → 최적화
- 나선형 모형 주요 태스크 - 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가
잘못된문장197 에서 확보
- COCOMO vs UFP - UFP(Unadjusted Function Point)는 기능 점수(Function Point) 모델에서 산출되는 값이며 COCOMO 모델의 산정 요소가 아니다. COCOMO는 Organic/Semi-Detached/Embedded 3가지 모드로 유형별 비용을 다르게 산정한다.
- PERT vs 간트 차트 구분 - 간트 차트는 각 작업의 시작·종료 일정을 막대 그래프로 표현하며 수평 막대 길이는 작업 "기간"을 나타낸다(인원수 아님). PERT 차트는 작업 간 상호 관련성·결정 경로·경계 시간·자원 할당 등을 제시하는 네트워크형 기법으로 간트 차트와는 다르다.
- CPM(Critical Path Method) - 각 작업의 소요 시간과 작업 간 관계를 파악해 효과적인 프로젝트 통제와 경영층의 과학적 의사결정을 지원한다(막대 그래프 형태 표현은 간트 차트의 특징).
- SDDC(소프트웨어 정의 데이터센터) - 컴퓨팅·네트워킹·스토리지·관리를 모두 소프트웨어로 정의하고 모든 자원을 가상화하여 특정 하드웨어에 종속되지 않고 인력 개입 없이 자동 제어·관리한다.
- 클라우드 기반 HSM - 암호화 키 생성·처리·저장을 하드웨어적으로 수행하는 보안 기기로, 클라우드에 인증서를 저장해 별도 HSM 기기·휴대폰 소지가 불필요하며, 소프트웨어식 암호 기술의 보안 취약점을 해결할 수 있다.
- 배치 프로그램 필수 요소 - 자동화(사용자 개입 최소화), 안정성(문제 추적 가능), 대용량 데이터 처리, 성능(주어진 시간 내 처리 완료 및 타 애플리케이션 방해 최소화)의 4가지이며, "무결성"이라는 이름의 요소는 없다(해당 설명은 성능 요소에 해당).
- 물리적 위협 vs 기술적 위협 - 화재·홍수 등 천재지변, 하드웨어 파손·고장, 방화·테러로 인한 장비 파괴는 물리적 위협이며, 방화벽 설정 오류로 인한 네트워크·서버 보안 위협은 기술적 위협에 해당한다.
- IDS - 이상 탐지 vs 오용 탐지 - 오용 탐지(Misuse Detection)는 Signature/Knowledge Base 기반으로 이미 정립된 공격 패턴을 탐지·차단하고, 이상 탐지(Anomaly Detection)는 평균적 시스템 상태를 기준으로 비정상 행위·자원 사용을 감지한다. 대표적인 NIDS로 Snort가 있으며, HIDS는 운영체제 사용자 계정별 접근·작업 기록을 추적한다. DMZ에는 IDS가 설치될 수 있다.
- 소프트웨어 공학의 목표 - 최소의 비용으로 계획된 일정보다 가능한 빠르게, 신뢰성 있는 소프트웨어를 경제적으로 획득하는 것이 목표다(최대 비용이 아님).
키워드259 에서 확보
- PICONET / Mesh Network - PICONET(UWB·블루투스로 여러 통신장치를 연결), Mesh Network(대규모 디바이스 네트워크에 최적화된 차세대 네트워크 기술).
- Putnam 모형 / SLIM - Rayleigh-Norden 곡선의 노력 분포도를 이용한 비용 산정 기법이 Putnam 모형, 이를 기초로 만든 자동화 추정 도구가 SLIM.
- COCOMO 세부 유형 - Organic(유기적, 5만 라인 이하 중소규모), Semi-detached, Embedded 3가지 프로젝트 유형별 특성.
- 스토리지 시스템 구분 - DAS(네트워크 없이 직접 연결) vs NAS vs SAN(광채널 스위치로 이기종 저장장치 공유), Software Defined Storage(가상화로 스토리지 자원 분할·통합 관리).
- N-Screen / BaaS - N-Screen(여러 기기에서 콘텐츠 끊김없이 이용), BaaS(블록체인 개발환경을 클라우드로 서비스).
- TensorFlow - 구글 브레인 팀이 공개한 기계학습용 오픈소스 라이브러리.
- DPI(Deep Packet Inspection) - 패킷 내부 콘텐츠까지 분석해 침입·해킹을 탐지하는 패킷 분석 기술.
- Mashup - 웹에서 제공하는 정보·서비스를 조합해 새로운 소프트웨어·서비스·DB를 만드는 기술.
- PaaS-TA - 국내 IT 서비스 경쟁력 강화를 위해 개발된 개방형 클라우드 컴퓨팅 플랫폼(인프라/실행/개발/서비스/운영 환경으로 구성).
- 접근 제어 모델 구체 명칭 - Bell-Lapadula Model(군사 보안등급 기반, 기밀성 중심 MAC 모델), Clark-Wilson Integrity Model, Chinese Wall Model - RBAC/DAC/MAC 범주 아래의 세부 모델명.
- Honeypot - 공격자를 유인해 침입 정보를 수집하기 위해 의도적으로 취약하게 설치한 시스템(1990년대 David Clock 제안).
- Secure OS - 커널에 보안 기능을 추가해 운영체제 결함으로 인한 해킹을 방지하는 OS.
- nmap - 서버의 열린 포트를 스캐닝해 보안 취약점을 찾는 도구(tcp wrapper와 역할 구분: nmap=스캐닝, tcp wrapper=접속 인가 여부 판단).
- SSO(Single Sign-On) - 한 번의 인증으로 여러 시스템에 대한 접근 권한을 얻는 시스템.
- VPN - 공중망에 사설망을 구축해 전용망처럼 사용하는 보안 솔루션.
- DoS 공격 세부 종류 - Ping of Death(허용치 이상 ICMP 패킷), Smurfing(IP/ICMP 특성 악용해 특정 사이트에 집중 전송), TearDrop, Ping Flood(ICMP Echo 대량 전송으로 자원 소진) - 공격 방식의 미세한 차이 구분 필요.
- Ransomware / Phishing - Ransomware(데이터 암호화 후 금전 요구), Phishing(지인·유명인 사칭으로 정보 탈취).
- 비대칭키 암호 알고리즘 - RSA - 소수(소인수분해의 어려움)를 활용한 대표적 비대칭키 암호화 알고리즘. AES/SEED/ARIA는 대칭키(개인키) 알고리즘으로 구분.
- 스택가드(StackGuard) - 복귀 주소 옆에 특정 값을 저장해 두어 값 변경 시 오버플로우로 판단, 실행을 중단시키는 버퍼 오버플로우 방어 기법.
- wtmp 로그 파일 - 리눅스에서 로그인/로그아웃 및 시스템 시작/종료 시간을 기록하는 로그.
- 인증(Authentication) 개념 - 아이디·패스워드 입력처럼 자신의 신원을 시스템에 증명하는 과정(Authorization=인가, Accounting=계정관리와 구분).
- 코드 오류 종류 - Addition Error(자리 추가), Omission Error(자리 생략), Sequence Error(순서 바뀜), Transcription Error(한 자리를 다른 숫자로 잘못 기입, 예: 12536→12936).
2025-1회 에서 확보
- 부인 방지(Non-repudiation) - 정보보안 3대 요소(기밀성·무결성·가용성)에 더해, 데이터 송수신 사실을 증명하여 나중에 부인하지 못하게 하는 보안 요소.
- PaaS-TA - 국내 IT 서비스 경쟁력 강화를 위해 개발된 개방형 클라우드 컴퓨팅 플랫폼으로, 인프라 제어·관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경 5가지로 구성됨.
- COCOMO 프로젝트 유형 3가지 - Organic(조직형), Semi-detached(반분리형), Embedded(내장형)만 존재하며 "Sequential"은 COCOMO 유형이 아님(함정).
- 소프트웨어 개발보안 생명주기 방법론 - CLASP, SDL(Secure Development Lifecycle), Seven Touchpoints가 대표적. "PIMS"는 개인정보보호관리체계 인증제도로 개발보안 생명주기 방법론이 아님.
- 만리장성 모델(Chinese Wall Model) - MAC(강제 접근통제) 보안 모델 중 서로 이해 충돌 관계에 있는 객체(경쟁사 정보 등) 간의 접근을 통제하는 모델. (벨라파듈라=기밀성 중심, 비바=무결성 중심과 구분)
- 나선형(Spiral) 모형 4대 태스크 - 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가의 반복. "버전 관리"는 나선형 모형의 핵심 태스크가 아님.
- Smurf 공격 vs Land 공격 vs SYN Flooding - Smurf는 브로드캐스트(멀티캐스트 아님) 주소로 위조된 ICMP 요청을 보내 다수 시스템의 응답이 피해자에게 집중되게 하는 공격. 이 문제에서 "멀티캐스트"로 서술되면 오답.
- SDx(Software Defined Storage) - 스토리지 자원을 컴퓨팅 소프트웨어로 규정·가상화하여 여러 스토리지를 하나처럼 관리하는 소프트웨어 정의 스토리지 개념.
2025-2회 에서 확보
- MQTT 프로토콜 - TCP/IP 기반 발행-구독(Publish-Subscribe) 방식 경량 메시징 프로토콜, IoT 환경에서 주로 사용.
- CBD(Component Based Development) 방법론 - 기존 컴포넌트를 조합해 새 애플리케이션을 만드는 방법론, 컴포넌트 재사용성이 핵심.
- CMMI 성숙도 5단계 명칭 - 초기(Initial) → 관리(Managed) → 정의(Defined) → 정량적 관리(Quantitatively Managed) → 최적화(Optimizing). "반복(Repeated)"은 CMMI 단계에 없는 오답 함정.
- DAS vs NAS vs SAN 스토리지 구분 - DAS(Direct Attached Storage)=호스트버스 어댑터에 직접 연결, 네트워크 디바이스 개입 없음.
- 디지털 트윈(Digital Twin) - 물리적 자산을 소프트웨어로 가상화해 설계~제조~서비스 전 과정 효율성을 높이는 모델.
- DAC vs MAC vs RBAC 접근통제 구분 - 임의 접근통제(DAC)는 소유자가 권한을 부여하는 방식이며, "주체·객체 등급 비교"는 강제 접근통제(MAC)의 특징(자주 뒤바뀌어 출제).
- Salt 개념 - 동일 패스워드가 다른 해시 값으로 저장되도록 추가하는 값(레인보우 테이블 공격 방지).
- 프레임워크 적용 시 기대효과 vs 부작용 구분 - 품질 보증·변경 용이성·개발 용이성은 기대효과이나, "기술 종속성"은 오히려 프레임워크 도입의 단점(오답 함정).
- tripwire - 백도어 설치·설정 파일 변경 등 파일 무결성 훼손 여부를 분석하는 도구(tcpdump/netcat/cron과 구분).
- BaaS(Blockchain as a Service) - 블록체인 개발 환경을 클라우드로 제공, 노드 추가·제거 용이, 인프라 추상화.
- 전문가 감정 기법 vs 델파이 기법 구분 - 전문가 감정 기법=조직 내 2인 이상 전문가에게 개별 의뢰(신속하나 주관적), 델파이 기법=다수 전문가의 반복적 의견 조정으로 편향 완화.
- 재사용 방법 - 합성 중심 vs 생성 중심 - 합성 중심=블록(모듈)을 물리적으로 조립, 생성 중심=추상적 패턴을 이용해 프로그램을 생성.
- PERT vs Gantt 차트 구분 - Gantt=막대 도표로 시작·종료 일정 표시(Time-Line), PERT=작업 간 상호 관련성·결정 경로(Critical Path)·경계 시간·자원 할당을 네트워크로 표현.
- Sqoop - 하둡(Hadoop)과 관계형 데이터베이스 간 데이터를 전송하도록 설계된 도구.
2025-3회 에서 확보
- PaaS-TA - 국내 IT 서비스 경쟁력 강화를 목표로 개발된 개방형 클라우드 컴퓨팅 플랫폼으로, 인프라 제어/관리 환경·실행 환경·개발 환경·서비스 환경·운영 환경 5개 영역으로 구성된다.
- MQTT - IBM이 주도 개발한 사물통신/IoT용 경량 Publish-Subscribe 메시지 전송 프로토콜로, 메시지 매개자(Broker)를 통해 발행-구독이 이루어진다.
- SAN(Storage Area Network) - 광채널 스위치 기반 고속·장거리 연결을 활용해 이기종 시스템이 동일 저장장치를 공유하도록 저장장치·백업장비를 단일화한 시스템이다.
- Mesh Network - 각 국(node)이 중계 없이 그물 형태로 직접 연결되는 구조로, 소수 노드 간에는 경제적이나 노드가 많아지면 회선이 세분화되어 비경제적일 수 있다. 대용량을 빠르고 안전하게 전달할 수 있어 행사장·군 등에서 활용된다.
- DoS 공격별 정확한 정의 - Smurf 공격은 브로드캐스트(멀티캐스트 아님)를 악용하며, Land 공격은 출발지 IP와 목적지 IP를 동일하게 위조해 보내는 방식이다.
- 세션 하이재킹 탐지 방법 - 비동기화 상태 탐지, ACK STORM 탐지, 패킷 유실 및 재전송 증가 탐지가 대표적이며 "FTP SYN SEGMENT 탐지"는 해당되지 않는다.
- 포트 번호 암기 포인트 - DNS=53(UDP), SNMP=161(UDP), Telnet=23(TCP), TFTP=69(UDP), RPC=111 - 53번을 SNMP로 착각하지 않도록 주의.
- COCOMO 모델의 범위 - COCOMO는 원시 프로그램 규모(LOC) 기반 비용 예측 모형이며, UFP(Unadjusted Function Point) 계산은 기능점수(Function Point) 모형의 특징으로 COCOMO와 무관하다.
- Secure OS 보안 기능 - 식별 및 인증, 임의적/강제적 접근통제가 핵심 기능이며 "고가용성 지원"은 Secure OS 고유 보안 기능이 아니다.
- tcp wrapper - 외부 컴퓨터 접속 시 접속 인가 여부를 점검해 허용/거부를 결정하는 접근제어 유틸리티이다.
기타 (코드형 함정 · 출처 미분류)
필수코드57 - 공통(코드형 문법·SQL 함정) 에서 확보
- C 구조체(struct) - 멤버 변수를 여러 개 선언 가능(배열 멤버 포함), dot(.) 연산자로 멤버 접근 (예: ob1.a, ob1.c[i])
- C 비트 연산자 - | (OR: 한 비트라도 1이면 1) / & (AND) / << (왼쪽 시프트: 1비트당 값이 2배씩 증가)
- Java 삼항 조건연산자 - `조건 ? 참일때식 : 거짓일때식` 형태로 if~else를 한 줄로 치환 가능
- SQL 하위(부속)질의 - WHERE절 안에 SELECT를 중첩, 하위질의를 먼저 실행한 결과를 상위 질의 조건과 비교
- SQL EXISTS - 하위질의 결과가 1건이라도 있으면 참(TRUE), 없으면 거짓 반환
- SQL DISTINCT - 지정한 컬럼(또는 컬럼 조합)의 중복값을 제거, WHERE 없으면 전체 튜플이 검색 대상
- SQL 집합 연산자 - INTERSECT(교집합, 중복 자동 제거) vs UNION ALL(합집합, 중복 그대로 유지)
- SQL BETWEEN A AND B - 반드시 AND로만 연결(OR 불가), A 이상 B 이하(양끝값 포함)
- SQL LIKE 패턴 - %문자열%(포함) / 문자열%(시작) / %문자열(끝)
- SQL 권한 제어(DCL) - GRANT 권한 ON 개체 TO 사용자(부여) / REVOKE 권한 ON 개체 FROM 사용자(회수), UPDATE문은 반드시 SET과 함께 사용
- SQL DROP VIEW ... CASCADE - 해당 뷰를 참조하는 다른 모든 종속 객체(뷰 등)까지 함께 삭제됨
- 관계대수→SQL 대응 - π(프로젝션)=SELECT 컬럼, σ(셀렉션)=WHERE 조건, 괄호 안 이름=FROM 테이블
- 스택 언더플로우/오버플로우 - Top=0(공백)일 때 삭제 시도=Underflow, 스택이 가득 찼을 때 삽입 시도=Overflow
다음 릴레이션의 카디널리티와 차수가 옳게 나타낸 것은?
| 아이디 | 성명 | 나이 | 등급 | 적립금 | 가입년도 |
|---|---|---|---|---|---|
| yuyu01 | 원유철 | 36 | 3 | 2000 | 2008 |
| skkim10 | 김성일 | 29 | 2 | 3300 | 2014 |
| kshan4 | 한경선 | 45 | 3 | 2800 | 2009 |
| namsu52 | 이남수 | 33 | 5 | 1000 | 2016 |
- ① 카디널리티: 4, 차수: 4
- ② 카디널리티: 4, 차수: 6
- ③ 카디널리티: 6, 차수: 4
- ④ 카디널리티: 6, 차수: 6
정답 확인
정답 ② - 튜플 수(카디널리티)는 4, 속성 수(차수)는 6입니다. 오답 노트 - ①은 카디널리티(4)는 맞지만 속성이 6개인데도 차수를 4로 잘못 셈 / ③은 차수를 4로 낮게 잡고 튜플 수(4개)를 6으로 잘못 계산 / ④는 카디널리티를 6으로 잘못 계산(실제 튜플은 4개)한 오답입니다.
A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는?
- ① 24
- ② 12
- ③ 8
- ④ 9
정답 확인
정답 ① - 튜플의 최대 수는 각 도메인 값을 모두 곱한 값으로 3×2×4=24입니다. 오답 노트 - ②12는 A2(2개)를 빠뜨리고 A1×A3(3×4)만 곱한 값 / ③8은 A1(3개)을 빠뜨리고 A2×A3(2×4)만 곱한 값 / ④9는 곱셈이 아니라 3+2+4를 더한 값으로 각각 도메인을 잘못 대입하거나 연산을 잘못 적용한 오답입니다.
기억공간이 15K, 23K, 22K, 21K 순으로 빈 공간이 있을 때 기억장치 배치 전략으로 "First Fit"을 사용하여 17K의 프로그램을 적재할 경우 내부 단편화의 크기는 얼마인가?
- ① 5K
- ② 6K
- ③ 7K
- ④ 8K
정답 확인
정답 ② - First Fit은 순서대로 처음 만나는, 크기가 충분한 영역에 배치합니다. 15K는 17K보다 작아 건너뛰고 23K에 배치되며, 23K-17K=6K가 내부 단편화입니다. 오답 노트 - ①5K는 22K 영역에 배치했다고 잘못 가정했을 때 나오는 값(First Fit은 순서상 22K보다 먼저 오는 23K를 선택) / ③7K와 ④8K는 실제 어떤 빈 영역과의 차이 계산과도 일치하지 않는 오답입니다.
버블 정렬을 이용하여 다음 자료를 오름차순으로 정렬할 경우 PASS 1의 결과는?
9, 6, 7, 3, 5
- ① 6, 9, 7, 3, 5
- ② 3, 9, 6, 7, 5
- ③ 3, 6, 7, 9, 5
- ④ 6, 7, 3, 5, 9
정답 확인
정답 ④ - 인접한 두 값을 비교·교환하며 진행하면 9→6→7→3→5가 6,7,3,5,9로 이동합니다. 오답 노트 - ①은 첫 번째 비교(9,6)만 교환하고 이후 비교를 진행하지 않은 값 / ②는 선택 정렬처럼 최솟값을 앞으로 옮기는 방식과 혼동한 값 / ③은 1회전이 아니라 여러 회전을 거친 것처럼 계산한 오답입니다.
다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 1회전 수행 결과는?
8, 3, 4, 9, 7
- ① 3, 4, 7, 8, 9
- ② 3, 4, 7, 9, 8
- ③ 3, 4, 8, 9, 7
- ④ 3, 8, 4, 9, 7
정답 확인
정답 ④ - 최소값 3을 찾아 첫 번째 위치와 교환하면 3,8,4,9,7이 됩니다. 오답 노트 - ①과 ②는 1회전이 아니라 정렬이 모두 끝난 뒤의 상태를 답으로 착각한 값 / ③은 최솟값(3)뿐 아니라 두 번째로 작은 값(4)까지 함께 앞으로 옮겼다고 잘못 가정한 오답입니다.
다음 초기 자료에 대하여 삽입 정렬(Insertion Sort)을 이용하여 오름차순 정렬할 경우 1회전 후의 결과는?
초기 자료: 8, 3, 4, 9, 7
- ① 3, 4, 8, 7, 9
- ② 3, 4, 9, 7, 8
- ③ 7, 8, 3, 4, 9
- ④ 3, 8, 4, 9, 7
정답 확인
정답 ④ - 두 번째 값 3을 첫 번째 값과 비교해 앞자리에 삽입하면 3,8,4,9,7이 됩니다. 오답 노트 - ①과 ②는 1회전에서 두 번째 값 하나만 옮겨야 하는데 세 번째·네 번째 값까지 이미 정렬된 것처럼 앞서 나간 오답 / ③은 값의 위치를 임의로 뒤섞어 삽입 정렬이 "정렬된 앞부분과 비교하며 한 개씩 삽입"하는 방식과 맞지 않는 오답입니다.
CPM 네트워크가 다음과 같을 때 임계경로의 소요 기일은?
[네트워크] 시작①→②(2일)→④(2일)→⑥(3일)→⑧완료(3일) / ②→⑤(3일)→⑦(5일)→⑧(4일) / ①→③(3일)→⑦(5일)→⑧(4일)
- ① 10일
- ② 12일
- ③ 14일
- ④ 16일
정답 확인
정답 ③ - 경로1(①②④⑥⑧)=10일, 경로2(①②⑤⑦⑧)=14일, 경로3(①③⑦⑧)=12일 중 최장 경로인 14일이 임계경로입니다. 오답 노트 - ①10일은 경로1의 소요일수, ②12일은 경로3의 소요일수로 둘 다 최장 경로가 아닌 부분 경로 값이며, ④16일은 어떤 경로의 합계와도 일치하지 않는 오답입니다.
다음과 같은 세그먼트 테이블을 가지는 시스템에서 논리 주소(2, 176)에 대한 물리 주소는?
| 세그먼트번호 | 시작주소 | 길이(바이트) |
|---|---|---|
| 0 | 670 | 248 |
| 1 | 1752 | 422 |
| 2 | 222 | 198 |
| 3 | 996 | 604 |
- ① 398
- ② 400
- ③ 1928
- ④ 1930
정답 확인
정답 ① - 세그먼트 2의 시작주소 222에 변위값 176을 더하면 398입니다. 오답 노트 - ②400은 덧셈 과정에서 어긋난 단순 계산 오차값 / ③1928은 세그먼트 2가 아니라 세그먼트 1의 시작주소(1752)에 176을 더한(1752+176=1928) 세그먼트 참조 오류이며, ④1930도 같은 세그먼트 참조 오류에서 나온 근접 오답입니다.
4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, LRU 페이지 교체 알고리즘을 사용할 경우 몇 번의 페이지 결함이 발생하는가?
페이지 참조 순서: 1, 2, 3, 1, 2, 4, 1, 2, 5
- ① 5회
- ② 6회
- ③ 7회
- ④ 8회
정답 확인
정답 ① - 1,2,3 적재 시 3회, 4 적재 시 1회, 5 적재 시(가장 오래전에 사용된 3 제거) 1회로 총 5회입니다. 오답 노트 - ②6회는 LRU가 아니라 FIFO처럼 무조건 가장 먼저 들어온 페이지를 교체한다고 가정했을 때 나올 수 있는 횟수 / ③7회와 ④8회는 이미 적재되어 적중(hit)해야 할 참조(1,2의 재참조)까지 결함으로 잘못 센 오답입니다.
4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, FIFO 페이지 교체 알고리즘을 사용할 경우 페이지 결함의 발생 횟수는?
페이지 참조 순서: 1, 2, 3, 1, 2, 4, 5, 1
- ① 6회
- ② 7회
- ③ 8회
- ④ 9회
정답 확인
정답 ① - 1,2,3 적재 3회, 4 적재 1회, 5 적재(가장 먼저 들어온 1 제거) 1회, 마지막 1 적재(2 제거) 1회로 총 6회입니다. 오답 노트 - ②7회·③8회·④9회는 네 번째·다섯 번째 참조(1,2의 재참조)처럼 이미 적재되어 적중해야 할 경우까지 결함으로 잘못 세거나 프레임 용량을 잘못 적용한 오답입니다.
3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?
- ① 1, 2, 0
- ② 2, 4, 3
- ③ 1, 4, 2
- ④ 4, 1, 3
정답 확인
정답 ④ - 1,2 적재 후 0 적재로 프레임이 가득 차고, 4 적재 시 가장 먼저 들어온 1 제거, 다시 1 적재 시 2 제거, 3 적재 시 0 제거하면 최종 4,1,3이 남습니다. 오답 노트 - ①1,2,0은 프레임이 처음 채워졌던 중간 시점의 상태를 최종 상태로 착각한 값 / ②2,4,3과 ③1,4,2는 교체 순서(가장 먼저 들어온 페이지부터 제거하는 FIFO 규칙)를 잘못 적용했을 때 남는 조합입니다.
평가 점수에 따른 성적부여는 다음 표와 같다. 이를 구현한 소프트웨어를 경계값 분석 기법으로 테스트하고자 할 때 다음 중 테스트 케이스의 입력값으로 옳지 않은 것은?
| 평가 점수 | 성적 |
|---|---|
| 80~100 | A |
| 60~79 | B |
| 0~59 | C |
- ① 59
- ② 80
- ③ 90
- ④ 101
정답 확인
정답 ③ - 경계값은 101,100,80,79,60,59,0,-1이며 90은 경계값이 아닙니다. 오답 노트 - ①59, ②80, ④101은 모두 실제 경계값(구간의 최소·최대 및 범위를 벗어난 값)에 해당하므로 "옳지 않은 것"으로 고를 수 없고, 오직 ③90만 구간 중간의 임의값이라 경계값이 아닙니다.
다음 두 릴레이션 R1과 R2의 카티션 프로덕트(Cartesian Product) 수행 결과는?
[R1] 학년: 1, 2, 3
[R2] 학과: 컴퓨터, 국문, 수학
- ① 학년-학과: (1,컴퓨터),(2,국문),(3,수학)
- ② 학년-학과: (2,컴퓨터),(2,국문),(2,수학)
- ③ 학년-학과: (3,컴퓨터),(3,국문),(3,수학)
- ④ 학년-학과: (1,컴퓨터),(1,국문),(1,수학),(2,컴퓨터),(2,국문),(2,수학),(3,컴퓨터),(3,국문),(3,수학)
정답 확인
정답 ④ - 교차곱은 차수는 더하고(1+1=2) 카디널리티는 곱하므로(3×3=9), 모든 조합 9개가 생성됩니다. 오답 노트 - ①은 카티션 프로덕트가 아니라 두 릴레이션의 값을 1:1로만 짝지은 값(자연 조인처럼 잘못 이해한 경우) / ②와 ③은 한쪽 릴레이션의 값 하나(2 또는 3)만 고정해 일부 조합만 나열한 값으로 전체 9개 조합을 모두 포함하지 않습니다.
다음 R과 S 두 릴레이션에 대한 Division 연산의 수행 결과는?
[R] D1,D2,D3: (a,1,A),(b,1,A),(c,2,A),(d,2,B)
[S] D2,D3: (1,A)
- ① D3: A, B
- ② D2: 2, 2
- ③ D3: A
- ④ D1: a, b
정답 확인
정답 ④ - R에서 S의 속성값(1,A)을 모두 가진 튜플(a,1,A),(b,1,A)을 추출한 뒤 S의 속성을 제외하면 D1: a, b가 남습니다. 오답 노트 - ①D3: A, B는 R 전체의 D3값을 그대로 나열해 나눗셈 연산(S의 조건을 만족하는 튜플만 선택)을 수행하지 않은 값 / ②D2: 2, 2는 결과에 남아야 할 속성(D1)이 아니라 이미 제거되어야 할 D2 속성값을 나열한 오답 / ③D3: A는 결과 속성을 D1이 아니라 D3로 잘못 지정한 오답입니다.
리눅스에서 생성된 파일 권한이 644일 경우 umask 값은?
- ① 022
- ② 666
- ③ 777
- ④ 755
정답 확인
정답 ① - 666-umask=644이므로 umask=666-644=022입니다. 오답 노트 - ②666은 파일 생성 시 기본 권한 값 그 자체이지 umask 값이 아니며, ③777은 디렉터리의 기본 권한 값이고, ④755는 흔히 쓰이는 실행파일 권한일 뿐 이 문제의 umask 계산 결과가 아닙니다.
CIDR(Classless Inter-Domain Routing) 표기로 203.241.132.82/27과 같이 사용되었다면, 해당 주소의 서브넷 마스크(subnet mask)는?
- ① 255.255.255.0
- ② 255.255.255.224
- ③ 255.255.255.240
- ④ 255.255.255.248
정답 확인
정답 ② - /27은 1의 개수가 27개이므로 11111111.11111111.11111111.11100000 = 255.255.255.224입니다. 오답 노트 - ①255.255.255.0은 /24, ③255.255.255.240은 /28, ④255.255.255.248은 /29에 해당하는 서브넷 마스크로 모두 /27과 다른 프리픽스 길이의 값입니다.
192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 4개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이 때 Subnetting된 네트워크 중 4번째 네트워크의 4번째 사용 가능한 IP는 무엇인가?
- ① 192.168.1.192
- ② 192.168.1.195
- ③ 192.168.1.196
- ④ 192.168.1.198
정답 확인
정답 ③ - 4개 네트워크로 나누면 각 64개씩(192.168.1.192~255), 대표주소 192를 제외한 4번째 사용가능 IP는 196입니다. 오답 노트 - ①192는 서브넷의 네트워크 주소 자체이므로 사용 가능한 호스트 IP가 아니며, ②195는 3번째 사용 가능 IP, ④198은 6번째 사용 가능 IP로 순서를 잘못 센 값입니다.
200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 Subnet으로 나누고, ip subnet-zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcast IP 주소는?
- ① 200.1.1.159
- ② 201.1.5.175
- ③ 202.1.11.254
- ④ 203.1.255.245
정답 확인
정답 ① - 10개 이상을 담을 수 있는 최소 비트는 4비트(16개씩), 10번째 네트워크는 200.1.1.144~159이므로 broadcast는 159입니다. 오답 노트 - ②·③·④는 서브넷 크기(16개 호스트 단위)를 넘어서 둘째·셋째 옥텟까지 자리올림이 발생했다고 잘못 가정한 값으로, 실제로는 200.1.1.0/24 범위 안에서만 서브넷팅이 이루어지므로 옳지 않습니다.
메모리 관리 기법 중 Worst Fit 방법을 사용할 경우 10K 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?
| 영역번호 | 메모리크기 | 사용여부 |
|---|---|---|
| NO.1 | 8K | FREE |
| NO.2 | 12K | FREE |
| NO.3 | 10K | IN USE |
| NO.4 | 20K | IN USE |
| NO.5 | 16K | FREE |
- ① NO.2
- ② NO.3
- ③ NO.4
- ④ NO.5
정답 확인
정답 ④ - 최악 적합은 단편화를 가장 많이 남기는(가장 큰) 빈 영역에 배치하므로 FREE 중 가장 큰 NO.5(16K)에 배치됩니다. 오답 노트 - ②NO.3과 ③NO.4는 이미 사용 중(IN USE)인 영역이라 애초에 할당 대상이 될 수 없고, ①NO.2는 빈 공간이지만 가장 큰 영역이 아니므로 최악 적합 규칙(가장 큰 빈 공간에 배치)에 맞지 않습니다.
빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB일 때 기억장치 배치 전략으로 "Best Fit"을 사용하여 17KB의 프로그램을 적재할 경우 내부 단편화의 크기는 얼마인가?
- ① 3KB
- ② 23KB
- ③ 64KB
- ④ 67KB
정답 확인
정답 ① - 17KB보다 큰 영역 중 가장 작은 20KB에 배치되며, 20KB-17KB=3KB가 내부 단편화입니다. 오답 노트 - ②23KB는 가장 큰 빈 공간인 40KB에 배치했다고 가정한(최악 적합) 경우의 단편화 크기이며, ③64KB와 ④67KB는 실제 어떤 빈 공간 크기와도 맞지 않는 값으로 최적 적합 규칙(요구 크기보다 크면서 가장 작은 공간에 배치)을 적용하면 3KB만 정답입니다.
사용자가 요청한 디스크 입·출력 내용이 다음과 같은 순서로 큐에 들어 있을 때 SSTF 스케줄링을 사용한 경우의 처리 순서는? (단, 현재 헤드 위치는 53이고, 제일 안쪽이 1번, 바깥쪽이 200번 트랙이다.)
큐의 내용: 98 183 37 122 14 124 65 67
- ① 53→65→67→37→14→98→122→124→183
- ② 53→98→183→37→122→14→124→65→67
- ③ 53→37→14→65→67→98→122→124→183
- ④ 53→67→65→124→14→122→37→183→98
정답 확인
정답 ① - SSTF는 현재 위치에서 가장 가까운 트랙부터 서비스하므로 53→65→67→37→14→98→122→124→183 순입니다. 오답 노트 - ②는 SSTF 없이 요청이 들어온 순서(FCFS)대로 처리한 순서에 가까우며, ③은 SCAN/LOOK처럼 한쪽 방향으로 진행한 뒤 반대 방향으로 이동하는 방식과 혼동한 순서이고, ④는 두 방식과도 일치하지 않는 임의의 순서로 "현재 위치에서 가장 가까운 트랙 우선" 규칙을 따르지 않습니다.
두 명의 개발자가 5개월에 걸쳐 10000 라인의 코드를 개발하였을 때, 월별(man-month) 생산성 측정을 위한 계산 방식으로 가장 적합한 것은?
- ① 10000/2
- ② 10000/(5×2)
- ③ 10000/5
- ④ (2×10000)/5
정답 확인
정답 ② - 생산성=LOC/노력(인월)이고 노력(인월)=개발기간×투입인원=5×2이므로 10000/(5×2)=1000입니다. 오답 노트 - ①10000/2는 개발기간을 무시하고 인원수로만 나눈 값 / ③10000/5는 반대로 인원수를 무시하고 기간으로만 나눈 값 / ④(2×10000)/5는 인월 계산 공식(기간×인원)을 분모가 아니라 분자에 잘못 적용한 오답입니다.
LOC 기법에 의하여 예측된 총 라인수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
- ① 5개월
- ② 10개월
- ③ 15개월
- ④ 20개월
정답 확인
정답 ④ - 노력(인월)=36000/300=120, 개발기간=노력(인월)/투입인원=120/6=20개월입니다. 오답 노트 - ①5개월은 총 라인수를 인원수로만 나눈 값으로 생산성(월간 300라인)을 반영하지 않은 값 / ②10개월과 ③15개월은 인월 계산(120인월) 이후 인원수로 나누는 과정에서 계산을 잘못했을 때 나오는 값들입니다.
다음과 같은 프로세스가 차례로 큐에 도착하였을 때, SJF(Shortest Job First) 정책을 사용할 경우 가장 먼저 처리되는 작업은?
| 프로세스번호 | 실행시간 |
|---|---|
| P1 | 6 |
| P2 | 8 |
| P3 | 4 |
| P4 | 3 |
- ① P1
- ② P2
- ③ P3
- ④ P4
정답 확인
정답 ④ - SJF는 실행시간이 가장 짧은 프로세스를 먼저 처리하므로 실행시간 3인 P4가 첫 번째입니다. 오답 노트 - ①P1(실행시간 6), ②P2(실행시간 8), ③P3(실행시간 4)는 모두 P4보다 실행시간이 길어 SJF 규칙상 먼저 처리될 수 없습니다.
다음 트리의 차수(Degree)와 단말 노드(Terminal Node)의 수는?
[트리] A의 자식: B, C / B의 자식: D / C의 자식: E, F / E의 자식: G, H
- ① 차수: 4, 단말 노드: 4
- ② 차수: 2, 단말 노드: 4
- ③ 차수: 4, 단말 노드: 8
- ④ 차수: 2, 단말 노드: 8
정답 확인
정답 ② - 가장 차수가 높은 노드(A,C,E)가 2이므로 트리 차수는 2, 자식이 없는 노드는 D,G,H,F로 총 4개입니다. 오답 노트 - ①과 ③은 트리의 차수(가장 많은 자식을 가진 노드의 자식 수)를 노드 총 개수 등과 혼동해 4로 잘못 계산한 값이며, ③과 ④는 단말 노드 수를 트리 전체 노드 개수(8개)로 잘못 센 값으로 실제 단말 노드는 D, G, H, F 4개뿐입니다.
다음 트리를 Preorder 운행법으로 운행할 경우 다섯 번째로 탐색되는 것은?
[트리] A의 자식: B, C / B의 자식: D / C의 자식: E, F / E의 자식: G, H
- ① C
- ② E
- ③ G
- ④ H
정답 확인
정답 ② - Preorder(Root→Left→Right) 순서는 A,B,D,C,E,G,H,F이므로 다섯 번째는 E입니다. 오답 노트 - ①C는 전위 순회의 네 번째 노드이고, ③G는 여섯 번째, ④H는 일곱 번째 노드로 모두 순서를 한 자리씩 잘못 센 값입니다.
다음 트리를 후위 순회(Post Traversal)한 결과는?
[트리] A의 자식: B, C / B의 자식: D / C의 자식: E, F
- ① A B D C E F
- ② D B A E C F
- ③ A B C D E F
- ④ D B E F C A
정답 확인
정답 ④ - Postorder(Left→Right→Root)이므로 D,B,E,F,C,A 순입니다. 오답 노트 - ①A B D C E F는 Root(A)가 맨 앞에 나와 후위 순회(Left→Right→Root) 규칙에 맞지 않으며, ②D B A E C F는 Root(A)가 중간에 나와 있어 역시 후위 순회 규칙과 다르고, ③A B C D E F는 후위 순회가 아니라 너비 우선(레벨) 순서에 가까운 나열입니다.
다음 트리에 대한 중위 순회 운행 결과는?
[트리] A의 자식: B, C / B의 자식: D / C의 자식: E, F
- ① ABDCEF
- ② ABCDEF
- ③ DBECFA
- ④ DBAECF
정답 확인
정답 ④ - 중위순회(Left→Root→Right)이므로 D,B,A,E,C,F 순입니다. 오답 노트 - ①과 ②는 Root(A)가 맨 앞에 나와 있어 중위 순회가 아니라 전위 순회나 레벨 순회 방식에 가까우며, ③D B E C F A는 Root(A)가 맨 뒤에 나와 있어 오히려 후위 순회 순서와 혼동한 값입니다.
다음 트리를 전위 순회(Preorder Traversal)한 결과는? (수식트리: 최상위 +, 자식은 *(레벨2)와 E / *(레벨2)의 자식은 *(레벨3)과 D / *(레벨3)의 자식은 /(레벨4)와 C / /(레벨4)의 자식은 A와 B)
- ① + * A B / * C D E
- ② + A B / C * D * E
- ③ + A / B * C * D E
- ④ + * * / A B C D E
정답 확인
정답 ④ - Preorder(Root→Left→Right)로 서브트리를 묶어가면 +**/ABCDE가 됩니다. 오답 노트 - ①·②·③은 중위 표기나 잘못된 순서로 연산자와 피연산자를 배치한 값으로, 각 서브트리마다 연산자(Root)를 자식보다 먼저 방문하는 전위 순회 규칙을 정확히 적용하지 않은 오답입니다.
n개의 노드로 구성된 무방향 그래프의 최대 간선수는?
- ① n-1
- ② n/2
- ③ n(n-1)/2
- ④ n(n+1)
정답 확인
정답 ③ - 무방향 그래프 최대 간선 수는 n(n-1)/2입니다(참고: 방향 그래프는 n(n-1)). 오답 노트 - ①n-1은 트리(사이클이 없는 그래프)가 가질 수 있는 간선 수이고, ②n/2는 그래프 이론적 근거가 없는 값이며, ④n(n+1)은 방향 그래프의 최대 간선 수(n(n-1))보다도 큰 값으로 무방향 그래프 공식과 다릅니다.
다음 전위식(prefix)을 후위식(postfix)으로 옳게 표현한 것은?
- / * A + B C D E
- ① A B C + D / * E -
- ② A B * C D / + E -
- ③ A B * C + D / E -
- ④ A B C + * D / E -
정답 확인
정답 ④ - 인접 피연산자와 연산자를 괄호로 묶은 뒤 연산자를 뒤로 옮기면 A B C + * D / E -가 됩니다. 오답 노트 - ①·②·③은 각 연산자와 피연산자를 결합하는 순서를 바꾸어(예: *와 /의 결합 대상을 뒤바꾸거나 + 연산의 위치를 잘못 옮겨) 변환한 값으로, 전위식을 가장 안쪽 연산(연산자와 그 바로 뒤 피연산자들)부터 순서대로 후위 표기로 바꾸는 절차와 맞지 않습니다.
다음 Postfix로 표현된 연산식의 연산 결과로 옳은 것은?
3 4 * 5 6 * +
- ① 35
- ② 42
- ③ 81
- ④ 360
정답 확인
정답 ② - (3*4)+(5*6)=12+30=42입니다. 오답 노트 - ①35는 (3*4)+(5+6)처럼 두 번째 연산을 곱셈이 아니라 덧셈으로 잘못 계산한 값이고, ③81은 (3+4)*(5+6)처럼 연산자를 반대로 적용한 값이며, ④360은 3*4*5*6처럼 모든 값을 곱해버린 값으로 postfix의 스택 기반 연산 순서를 따르지 않은 오답입니다.
다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 fan-in과 fan-out의 수는 얼마인가?
[구조] A의 자식: B, C, D / B의 자식: E, F / C의 자식: F / D의 자식: F / F의 자식: G, H
- ① fan-in: 2, fan-out: 3
- ② fan-in: 3, fan-out: 2
- ③ fan-in: 1, fan-out: 2
- ④ fan-in: 2, fan-out: 1
정답 확인
정답 ② - F로 들어오는 선(B,C,D)이 3개, 나가는 선(G,H)이 2개이므로 fan-in 3, fan-out 2입니다. 오답 노트 - ①은 fan-in과 fan-out 값을 서로 뒤바꾼 오답이며, ③과 ④는 F로 들어오거나 나가는 간선의 개수를 실제보다 적게(1개씩 누락) 센 값입니다.
순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력한 후 출력한 결과로 불가능한 것은?
- ① D, C, B, A
- ② B, C, D, A
- ③ C, B, A, D
- ④ D, B, C, A
정답 확인
정답 ④ - D를 출력한 후 B를 출력하려면 C보다 먼저 B를 꺼내야 하는데, 스택 구조상 C를 출력하지 않고는 B를 출력할 수 없어 불가능합니다. 오답 노트 - ①D,C,B,A는 A,B,C,D를 모두 push한 뒤 역순으로 pop한 정상적인 결과이고, ②B,C,D,A와 ③C,B,A,D는 각각 push와 pop을 적절히 섞어 실제로 만들 수 있는 가능한 순서입니다. 스택은 나중에 넣은 것부터 나가는 후입선출(LIFO) 구조이므로 ④만 이 규칙을 위반합니다.
HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?
| 작업 | 대기시간 | 서비스(실행)시간 |
|---|---|---|
| A | 5 | 20 |
| B | 40 | 20 |
| C | 15 | 45 |
| D | 20 | 2 |
- ① A→B→C→D
- ② A→C→B→D
- ③ D→B→C→A
- ④ D→A→B→C
정답 확인
정답 ③ - 우선순위=(대기+서비스)/서비스로 계산하면 A=1.25, B=3, C=1.33, D=11이며, 값이 클수록 우선순위가 높아 D→B→C→A 순입니다. 오답 노트 - ①과 ②는 우선순위를 계산하지 않고 도착 순서나 실행시간만으로 처리했다고 가정한 오답이며, ④는 D를 가장 먼저 처리하는 것은 맞지만 이후 순서(A,B,C)를 실제 우선순위 값(B=3, C=1.33, A=1.25) 순서와 다르게 배열한 오답입니다.
제어 흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가? (노드 a(위), b(왼쪽), c(아래), d(오른쪽) 4개로 구성되며, a-c, a-d, b-c, d-c 등 화살표(간선) 총 6개로 순환 구조를 이루는 그래프)
- ① 3
- ② 4
- ③ 5
- ④ 6
정답 확인
정답 ② - 영역 수(내부 3+외부 1)=4, 또는 V(G)=E-N+2=6-4+2=4로 계산됩니다. 오답 노트 - ①3은 영역 수를 하나 적게 센 값이고, ③5와 ④6은 간선 수(E=6)를 그대로 순환복잡도로 사용하거나 노드 수를 잘못 대입해 공식(E-N+2)을 잘못 계산한 값입니다.
다음 두 릴레이션에서 외래키로 사용된 것은? (단, 밑줄 친 속성은 기본키이다.)
과목(과목번호, 과목명)
수강(수강번호, 학번, 과목번호, 학기)
- ① 수강번호
- ② 과목번호
- ③ 학번
- ④ 과목명
정답 확인
정답 ② - 수강 릴레이션의 과목번호가 과목 릴레이션의 기본키 과목번호를 참조하는 외래키입니다. 오답 노트 - ①수강번호는 수강 릴레이션 자신의 기본키이지 다른 릴레이션을 참조하는 외래키가 아니며, ③학번은 학생 관련 테이블이 문제에 주어지지 않아 이 두 릴레이션만으로는 외래키로 확정할 근거가 없고, ④과목명은 과목 릴레이션의 기본키가 아니므로 애초에 참조 대상이 될 수 없습니다.
다음 그래프에서 정점 A를 선택하여 깊이 우선 탐색(DFS)으로 운행한 결과는? (그래프: A-B,C,D / B-C,E / C-D,E,F / D-F / E-F / F-G)
- ① ABECDFG
- ② ABECFDG
- ③ ABCDEFG
- ④ ABEFGCD
정답 확인
정답 ④ - A에서 B로, B에서 자식노드 E로, E에서 F로, F에서 G로 진행 후 백트래킹하여 형제노드 C, 다시 D로 진행하면 ABEFGCD가 됩니다. 오답 노트 - ①과 ②는 F와 G를 방문한 후 백트래킹하는 지점에서 되돌아가는 노드 순서(C, D)를 실제와 다르게 배열한 값이며, ③A B C D E F G는 깊이 우선 탐색이 아니라 너비 우선 탐색(BFS)이나 단순 순차 방문 순서에 가까운 나열입니다.
다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
- ① 2
- ② 3
- ③ 4
- ④ 5
정답 확인
정답 ② - M=(1+15)/2=8(1회), F=9,L=15,M=12(2회), F=13,L=15,M=14(3회, 발견)로 총 3회 비교합니다. 오답 노트 - ①2회는 실제보다 적게 센 값이고, ③4회와 ④5회는 실제보다 많게 센 값입니다. 이진 검색은 매 비교마다 탐색 범위를 절반으로 줄여나가며 이 문제에서는 8→12→14 순으로 3번 만에 값을 찾습니다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
char str1[20] = "KOREA";
char str2[20] = "LOVE";
char* p1 = NULL;
char* p2 = NULL;
p1 = str1;
p2 = str2;
str1[1] = p2[2];
str2[3] = p1[4];
strcat(str1, str2);
printf("%c", *(p1 + 2));
return 0;
}
- ① E
- ② V
- ③ R
- ④ O
정답 확인
정답 ③ - str1[1]=p2[2]='V'로 str1="KVREA", str2[3]=p1[4]='A'로 str2="LOVA"가 되고 strcat 후 str1="KVREALOVA". *(p1+2)는 str1[2]='R'. 오답 노트 - ①E는 str1[3]의 값과 혼동한 결과이고 / ②V는 str1[2]가 아니라 방금 대입한 str1[1](=p2[2]='V')을 읽었을 때 나오는 값이며 / ④O는 원본 "KOREA"의 index 1 값('O')과 혼동했을 때 나오는 값이다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
int arr[2][3] = { 1,2,3,4,5,6 };
int (*p)[3] = NULL;
p = arr;
printf("%d, ", *(p[0] + 1) + *(p[1] + 2));
printf("%d", *(*(p + 1) + 0) + *(*(p + 1) + 1));
return 0;
}
- ① 7, 5
- ② 8, 5
- ③ 8, 9
- ④ 7, 9
정답 확인
정답 ③ - p[0]+1은 arr[0][1]=2, p[1]+2는 arr[1][2]=6이므로 첫 줄은 8. *(p+1)+0=arr[1][0]=4, *(p+1)+1=arr[1][1]=5이므로 둘째 줄은 9. 오답 노트 - ①7,5·②8,5·④7,9는 행 포인터 p[i]와 원소 포인터를 혼동하거나 인덱스를 한 칸씩 잘못 짚었을 때 나올 수 있는 값들로, 정확히 계산하면 8과 9만 나온다.
C 언어에서 배열 b[5]의 값은?
static int b[9] = {1, 2, 3};
- ① 0
- ② 1
- ③ 2
- ④ 3
정답 확인
정답 ① - static 배열은 초기화를 생략한 나머지 요소가 자동으로 0으로 초기화되므로 b[5]=0. 오답 노트 - ②1은 b[0]의 값과 / ③2는 b[1]의 값과 / ④3은 b[2]의 값과 인덱스를 혼동했을 때 나오는 값이다(b[0]~b[2]만 1,2,3으로 초기화되고 b[3]부터는 모두 0).
다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a[2][2] = {{11, 22}, {44, 55}};
int i, sum = 0;
int *p;
p = a[0];
for(i = 1; i < 4; i++)
sum += *(p + i);
printf("%d", sum);
return 0;
}
- ① 55
- ② 77
- ③ 121
- ④ 132
정답 확인
정답 ③ - p는 a[0][0]을 가리키므로 p+1=22, p+2=44, p+3=55. sum=22+44+55=121. 오답 노트 - ①55는 마지막 항 p+3(=55)만 취했을 때 나오는 값이고 / ②77은 i=2항(p+2=44)을 빠뜨리고 22+55만 더했을 때 나오는 값이며 / ④132는 반복문을 i=0부터 시작해 p+0(=11)까지 포함시켰을 때 나오는 값이다.
다음 C 언어 프로그램에서 밑줄 친 부분과 동일한 의미를 가지는 것은?
#include <stdio.h>
main() {
int a, b;
for (a = 0; a < 2; a++)
for (b = 0; b < 2; b++)
printf("%d", !a && !b);
}
- ① !a || !b
- ② !(a || b)
- ③ a && b
- ④ a || b
정답 확인
정답 ② - 드모르강 법칙에 의해 !a && !b는 !(a || b)와 동일하다. 오답 노트 - ①!a||!b는 !(a&&b)에 대응하는 드모르강 변형으로, 원래 식(!a&&!b)과는 다른 식이고 / ③a&&b는 부정(!)을 아예 빼먹은 원래 논리곱 형태이며 / ④a||b는 마찬가지로 부정 없는 논리합 형태라 값 자체가 달라진다.
다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
char a;
a = 'A' + 1;
printf("%d", a);
return 0;
}
- ① 1
- ② 11
- ③ 66
- ④ 98
정답 확인
정답 ③ - 'A'는 아스키 코드값 65로 저장되므로 65+1=66이 a에 저장되어 정수로 출력된다. 오답 노트 - ①1은 'A'를 무시하고 단순히 더해진 1만 답으로 착각한 값이고 / ②11은 'A'의 아스키 값을 65가 아닌 10으로 잘못 알고 1을 더한 값이며 / ④98은 대문자 'A'(65)를 소문자 'a'(97)로 착각해 97+1을 계산한 값이다.
다음 C 프로그램의 결과 값은?
main(void) {
int i;
int sum = 0;
for(i = 1; i <= 10; i = i + 2)
sum = sum + i;
printf("%d", sum);
}
- ① 15
- ② 19
- ③ 25
- ④ 27
정답 확인
정답 ③ - i는 1,3,5,7,9로 증가하며 누적, 합계는 25. 오답 노트 - ①15·②19·④27은 반복 종료 조건(i<=10)이나 증가식(i=i+2)을 다르게 적용해 더해지는 홀수의 개수를 잘못 셌을 때 나올 수 있는 값들로, 실제로는 1+3+5+7+9=25만 정답이다.
다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(int argc, char *argv[]) {
int a = 4;
int b = 7;
int c = a | b;
printf("%d", c);
return 0;
}
- ① 3
- ② 4
- ③ 7
- ④ 10
정답 확인
정답 ③ - 4(0100)와 7(0111)을 비트 OR 연산하면 0111(7)이 된다. 오답 노트 - ①3은 OR가 아니라 XOR(4^7=0011=3)을 계산했을 때 나오는 값이고 / ②4는 OR가 아니라 AND(4&7=0100=4)를 계산했을 때 나오는 값이며 / ④10은 OR/AND/XOR 어느 비트 연산으로도 나오지 않는 값이다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
struct st {
int a;
int c[10];
};
int main(int argc, char* argv[]) {
int i = 0;
struct st ob1;
struct st ob2;
ob1.a = 0;
ob2.a = 0;
for (i = 0; i < 10; i++) {
ob1.c[i] = i;
ob2.c[i] = ob1.c[i] + i;
}
for (i = 0; i < 10; i = i + 2) {
ob1.a = ob1.a + ob1.c[i];
ob2.a = ob2.a + ob2.c[i];
}
printf("%d", ob1.a + ob2.a);
return 0;
}
- ① 30
- ② 60
- ③ 80
- ④ 120
정답 확인
정답 ② - ob1.a=0+2+4+6+8=20, ob2.a=0+4+8+12+16=40, 합은 60. 오답 노트 - ①30·③80은 두 번째 for문의 증가 조건(i=i+2)이나 ob1.a·ob2.a 각각의 누적 값을 실제와 다르게 계산했을 때 나올 수 있는 값이고 / ④120은 ob1.a와 ob2.a의 합을 두 번 더한 것(60×2)으로 착각했을 때 나오는 값이다.
다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
int main(void) {
int n = 4;
int* pt = NULL;
pt = &n;
printf("%d", &n + *pt - *&pt + n);
return 0;
}
- ① 0
- ② 4
- ③ 8
- ④ 12
정답 확인
정답 ③ - &n(주소)과 *&pt(=n의 주소, 같은 값)가 서로 상쇄되고 *pt(4)+n(4)만 남아 결과는 8. 오답 노트 - ①0은 &n과 *&pt뿐 아니라 *pt와 n까지 모두 상쇄된다고 잘못 판단했을 때 나오는 값이고 / ②4는 *pt와 n 중 하나만 더하고 나머지를 빠뜨렸을 때 나오는 값이며 / ④12는 &n과 *&pt가 상쇄되지 않는다고 보고 n을 한 번 더 더했을 때 나오는 값이다.
C 언어에서 정수 변수 a, b에 각각 1, 2가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은?
a < b + 2 && a << 1 <= b
- ① 0
- ② 1
- ③ 3
- ④ 5
정답 확인
정답 ② - b+2=4, a<<1=2. a<4(참), 2<=b(참), 참&&참=1. 오답 노트 - ①0은 a<<1<=b를 <=가 아닌 <로 잘못 적용해 2<2가 거짓이 되어 전체 식이 거짓(0)이 된다고 판단했을 때 나오는 값이고 / ③3과 ④5는 &&가 항상 0 또는 1의 논리값만 반환한다는 사실을 무시하고 중간 계산값(b+2=4, a<<1=2 등)을 그대로 답으로 착각했을 때 나오는 오답이다.
a[0]의 주소값이 10일 경우 다음 C 언어 프로그램이 실행되었을 때의 결과는? (단, int형의 크기는 4Byte로 가정한다.)
#include <stdio.h>
int main(int argc, char* argv[]) {
int a[] = { 14,22,30,38 };
printf("%u, ", &a[2]);
printf("%u", a);
return 0;
}
- ① 14, 10
- ② 14, M
- ③ 18, 10
- ④ 18, M
정답 확인
정답 ③ - a[2] 주소=10+2×4=18, 배열명 a는 시작 주소인 10을 가리킨다. 오답 노트 - ①14는 a[2]가 아니라 a[1]의 주소(10+1×4=14)로 착각했을 때 나오는 값이고 / ②·④의 'M'은 배열명 a가 배열의 시작 주소가 아닌 임의의 다른 값으로 출력된다고 잘못 이해했을 때 나오는 표기로, 실제로는 배열명 a 자체가 시작 주소 10을 그대로 가리킨다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
int main(int arge, char* argv[]) {
int n1 = 1, n2 = 2, n3 = 3;
int r1, r2, r3;
r1 = (n2 <= 2) || (n3 > 3);
r2 = !n3;
r3 = (n1 > 1) && (n2 < 3);
printf("%d", r3 - r2 + r1);
return 0;
}
- ① 0
- ② 1
- ③ 2
- ④ 3
정답 확인
정답 ② - r1=1(참), r2=0(3은 참이므로 !3=거짓), r3=0(1>1이 거짓). r3-r2+r1=0-0+1=1. 오답 노트 - ①0·③2·④3은 r1(=(n2<=2)||(n3>3))·r2(=!n3)·r3(=(n1>1)&&(n2<3)) 중 하나 이상의 참/거짓 판정을 실제와 다르게 계산했을 때 나오는 값들로, 정확히는 r1=1, r2=0, r3=0이므로 r3-r2+r1=1이다.
다음 C 언어 프로그램이 실행되었을 때의 결과는?
#include <stdio.h>
#include <string.h>
int main(void) {
char str[50] = "nation";
char *p2 = "alter";
strcat(str, p2);
printf("%s", str);
return 0;
}
- ① nation
- ② nationalter
- ③ alter
- ④ alternation
정답 확인
정답 ② - strcat(str, p2)는 str 뒤에 p2 문자열을 이어붙이므로 "nationalter"가 된다. 오답 노트 - ①nation은 strcat의 효과를 빠뜨리고 원본 str만 출력된다고 착각한 값이고 / ③alter는 str이 아니라 p2만 출력된다고 착각한 값이며 / ④alternation은 strcat(str, p2)가 첫 인자 앞에 두 번째 인자를 붙인다고(순서를 반대로) 착각했을 때 나오는 값이다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
int i = 0;
while (1) {
if (i == 4) {
break;
}
++i;
}
printf("i = %d", i);
}
- ① i = 0
- ② i = 1
- ③ i = 3
- ④ i = 4
정답 확인
정답 ④ - i가 4가 되는 순간 break로 무한루프를 탈출하므로 i=4가 출력된다. 오답 노트 - ①i=0은 반복문이 한 번도 실행되지 않는다고 착각한 값이고 / ②i=1은 ++i가 딱 한 번만 실행된다고 착각한 값이며 / ③i=3은 i==4 판정이 증가 이전에 이루어져 증가 직전 값에서 멈춘다고 착각했을 때 나오는 값이다(실제로는 if 검사 후 조건이 거짓일 때만 ++i가 실행되고, i==4가 되는 순간 증가 없이 바로 break된다).
다음 C 언어 프로그램 실행 후, 'c'를 입력하였을 때 출력 결과는?
#include <stdio.h>
main() {
char ch;
scanf("%c", &ch);
switch (ch) {
case 'a':
printf("one ");
case 'b':
printf("two ");
case 'c':
printf("three ");
break;
case 'd':
printf("four ");
break;
}
}
- ① one
- ② one two
- ③ three
- ④ one two three four
정답 확인
정답 ③ - ch='c'이므로 case 'c'부터 실행되고 곧바로 break를 만나 "three "만 출력된다. 오답 노트 - ①one과 ②one two는 switch가 입력값과 무관하게 항상 첫 case('a')부터 순차 실행된다고 착각했을 때 나오는 값이고 / ④one two three four는 case 'c'에도 break가 없어 case 'd'까지 흘러내려간다고 착각했을 때 나오는 값이다(실제로는 case 'c' 안에 break;가 있어 그 지점에서 멈춘다).
다음 자바 프로그램의 조건문을 삼항 조건 연산자로 옳게 표현한 것은?
int i = 7, j = 9;
int k;
if (i > j)
k = i - j;
else
k = i + j;
- ① int i=7, j=9; int k; k = (i>j) ? (i-j) : (i+j);
- ② int i=7, j=9; int k; k = (i<j) ? (i-j) : (i+j);
- ③ int i=7, j=9; int k; k = (i>j) ? (i+j) : (i-j);
- ④ int i=7, j=9; int k; k = (i<j) ? (i+j) : (i-j);
정답 확인
정답 ① - if(i>j) k=i-j; else k=i+j;를 그대로 삼항연산자로 옮긴 형태가 정답이다. 오답 노트 - ②는 조건(i<j)이 원래 if문의 조건(i>j)과 반대로 뒤집혀 있고 / ③은 조건은 맞지만 참·거짓일 때의 결과값(i-j, i+j)이 서로 뒤바뀌어 있으며 / ④는 조건과 결과값이 둘 다 뒤바뀌어 있어 원래 로직과 전혀 다르다.
다음 JAVA 프로그램이 실행되었을 때의 결과를 쓰시오.
public class ovr {
public static void main(String[] args) {
int arr[];
int i = 0;
arr = new int[10];
arr[0] = 0;
arr[1] = 1;
while(i < 8) {
arr[i + 2] = arr[i + 1] + arr[i];
i++;
}
System.out.println(arr[9]);
}
}
- ① 13
- ② 21
- ③ 34
- ④ 55
정답 확인
정답 ③ - 피보나치 수열(0,1,1,2,3,5,8,13,21,34)이 생성되며 arr[9]=34. 오답 노트 - ①13은 arr[7]의 값과 / ②21은 arr[8]의 값과 인덱스를 한 칸씩 혼동했을 때 나오는 값이고 / ④55는 배열이 arr[0]~arr[9](크기 10)까지만 존재하는데도 한 단계 더 진행한 arr[10]에 해당하는 값(실제로는 존재하지 않음)으로 착각했을 때 나오는 값이다.
다음 JAVA 코드 출력문의 결과는?
System.out.println("5 + 2 = " + 3 + 4);
System.out.println("5 + 2 = " + (3 + 4));
- ① 5 + 2 = 34 / 5 + 2 = 34
- ② 5 + 2 + 3 + 4 / 5 + 2 = 7
- ③ 7 = 7 / 7 + 7
- ④ 5 + 2 = 34 / 5 + 2 = 7
정답 확인
정답 ④ - 문자열+숫자는 왼쪽부터 이어붙여 문자로 처리되므로 첫 줄은 "5+2=34". 괄호로 숫자 연산(3+4=7)을 먼저 계산한 뒤 이어붙이면 둘째 줄은 "5+2=7". 오답 노트 - ①은 괄호가 있는 둘째 줄도 괄호 없는 첫째 줄과 똑같이 문자로 이어붙여진다고 착각(괄호의 연산 우선순위를 무시)한 값이고 / ②는 첫 줄에서 숫자들이 연산 기호(+)를 유지한 채 그대로 나열된다고 착각한 값이며(실제로는 34처럼 이어붙여진 숫자만 남음) / ③은 문자열 리터럴("5 + 2 = ") 자체가 계산되어 사라진다고 착각한 값이다.
다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
public class Ape {
static void rs(char a[]) {
for(int i = 0; i < a.length; i++)
if(a[i] == 'B')
a[i] = 'C';
else if(i == a.length - 1)
a[i] = a[i-1];
else a[i] = a[i+1];
}
static void pca(char a[]) {
for(int i = 0; i < a.length; i++)
System.out.print(a[i]);
System.out.println();
}
public static void main(String[] args) {
char c[] = {'A','B','D','D','A','B','C'};
rs(c);
pca(c);
}
}
- ① BCDABCA
- ② BCDABCC
- ③ CDDACCC
- ④ CDDACCA
정답 확인
정답 ② - rs()를 거치면 배열은 {B,C,D,A,B,C,C}로 바뀌어 "BCDABCC"가 출력된다. 배열은 참조로 전달되므로 rs() 내 변경이 원본에 반영된다. 오답 노트 - ①BCDABCA·③CDDACCC·④CDDACCA는 각 인덱스가 순차적으로 갱신되며 이전 단계의 변경 결과가 다음 인덱스 계산에 그대로 반영된다는 점을 놓치고, a[i-1]/a[i+1]을 갱신 전 원본 값 기준으로 계산했을 때 나올 수 있는 값들이다. 실제로는 앞에서부터 차례로 수정된 값을 이어서 참조하며 계산해야 최종 결과 BCDABCC가 나온다.
다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class ovr {
public static void main(String[] args) {
int a = 1, b = 2, c = 3, d = 4;
int mx, mn;
mx = a < b ? b : a;
if (mx == 1) {
mn = a > mx ? b : a;
}
else {
mn = b < mx ? d : c;
}
System.out.println(mn);
}
}
- ① 1
- ② 2
- ③ 3
- ④ 4
정답 확인
정답 ③ - mx=2(a오답 노트 - ①1은 mx==1이 참이라고 잘못 판단해 if 분기(mn=a>mx?b:a)로 들어가 (1>2)?2:1=1을 계산했을 때 나오는 값이고 / ②2는 중첩 삼항연산을 거치지 않고 mx 값(2) 자체를 답으로 착각한 값이며 / ④4는 b<mx(2<2)를 참으로 잘못 판단해 mn=d=4를 계산했을 때 나오는 값이다.
다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
public class Rarr {
static int[] marr() {
int temp[] = new int[4];
for (int i = 0; i < temp.length; i++)
temp[i] = i;
return temp;
}
public static void main(String[] args) {
int iarr[];
iarr = marr();
for (int i = 0; i < iarr.length; i++)
System.out.print(iarr[i] + " ");
}
}
- ① 1 2 3 4
- ② 0 1 2 3
- ③ 1 2 3
- ④ 0 1 2
정답 확인
정답 ② - marr()가 반환하는 temp={0,1,2,3}의 시작 주소를 iarr이 받아 그대로 출력한다. 오답 노트 - ①1 2 3 4는 배열 인덱스가 1부터 시작한다고 착각(실제로는 0부터 시작)한 값이고 / ③1 2 3은 배열 길이를 3으로 착각해 마지막 요소(3)까지 출력되지 않는다고 판단한 값이며 / ④0 1 2는 반복 조건을 i<iarr.length-1로 착각해 마지막 요소(3)를 빠뜨렸을 때 나오는 값이다.
다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class array1 {
public static void main(String[] args) {
int cnt = 0;
do {
cnt++;
} while (cnt < 0);
if(cnt == 1)
cnt++;
else
cnt = cnt + 3;
System.out.printf("%d", cnt);
}
}
- ① 2
- ② 3
- ③ 4
- ④ 5
정답 확인
정답 ① - do~while은 조건이 거짓이라도 최소 1회 실행되므로 cnt=1이 된 뒤 탈출. cnt==1이 참이라 cnt++로 2가 출력된다. 오답 노트 - ②3은 do-while이 조건(cnt<0)부터 먼저 검사해 한 번도 실행되지 않는다고 착각해 cnt=0인 상태로 else 분기(cnt=0+3=3)가 실행됐다고 판단한 값이고 / ③4는 cnt==1이 참인데도 else 분기(cnt=1+3=4)가 실행됐다고 착각한 값이며 / ④5는 두 오류(도-와일 최소 1회 실행을 놓치고, 또한 if/else 분기까지 잘못 판단)가 겹쳤을 때 나올 수 있는 값이다.
다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class Operator {
public static void main(String[] args) {
int x = 5, y = 0, z = 0;
y = x++;
z = --x;
System.out.print(x + ", " + y + ", " + z);
}
}
- ① 5, 5, 5
- ② 5, 6, 5
- ③ 6, 5, 5
- ④ 5, 6, 4
정답 확인
정답 ① - y=x++(후치)로 y=5, x=6이 된 뒤 z=--x(전치)로 x=5, z=5가 되어 "5, 5, 5"가 출력된다. 오답 노트 - ②5,6,5는 y가 x++ 이후의 x값(6)이라고 착각(후치증가는 증가 전 값을 먼저 반환한다는 점을 놓침)한 값이고 / ③6,5,5는 --x 이후에도 x가 6에 머문다고 착각한 값이며 / ④5,6,4는 y·z 둘 다 잘못 계산(y를 증가 후 값 6으로, z를 --x에서 한 번 더 감소시킨 값 4로) 했을 때 나오는 값이다.
다음 자바 코드를 실행한 결과는?
int x = 1, y = 6;
while (y-- > 0) {
x++;
}
System.out.println("x=" + x + " y=" + y);
- ① x=7 y=0
- ② x=6 y=-1
- ③ x=7 y=-1
- ④ Unresolved compilation problem 오류 발생
정답 확인
정답 ③ - y는 후치 감소이므로 조건 판별 후 감소한다. y가 6→0이 되는 동안 7회 반복(x는 7까지 증가)하고, 마지막에 한 번 더 감소해 y=-1이 된다. 오답 노트 - ①x=7 y=0은 마지막 판정 시점에 y가 한 번 더 감소한다는 것을 놓치고 정확히 0에서 멈춘다고 착각한 값이고 / ②x=6 y=-1은 반복 횟수를 7이 아니라 6번으로 하나 적게 센 값이며 / ④는 y--와 같은 후치 감소 연산자를 while 조건식에 쓰는 것 자체는 문법적으로 전혀 문제가 없으므로 컴파일 오류가 발생하지 않는다.
다음 파이썬으로 구현된 프로그램의 실행 결과로 옳은 것은?
>>> 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]
정답 확인
정답 ③ - 인덱스 0부터 6까지 2씩 증가하며(0,2,4,6) 값을 가져오므로 [0, 20, 40, 60]. 오답 노트 - ①[20,60]은 시작 인덱스를 0이 아니라 1로 착각해 인덱스 2,6만 취했을 때 나오는 값이고 / ②[60,20]은 ①과 값은 같지만 순서가 뒤집혀 있어 슬라이싱이 원래 순서를 그대로 유지한다는 원칙과 맞지 않으며 / ④[10,30,50,70]은 짝수 인덱스(0,2,4,6)가 아니라 홀수 인덱스(1,3,5,7)를 취하고 끝 경계(7 미만)를 벗어난 인덱스 7까지 포함했을 때 나오는 값이다.
다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
def cs(n):
s = 0
for num in range(n+1):
s += num
return s
print(cs(11))
- ① 45
- ② 55
- ③ 66
- ④ 78
정답 확인
정답 ③ - range(12)로 0부터 11까지 누적합을 구하므로 결과는 66. 오답 노트 - ①45는 n+1을 n으로 착각해 range(11)(0~9)까지만 더한 값이고 / ②55는 +1을 아예 빠뜨려 range(11)이 아니라 0~10까지(range(11))로 착각한 값이며 / ④78은 반대로 한 항을 더 포함시켜 range(13)(0~12)까지 더했을 때 나오는 값이다.
다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?
while(True):
print('A')
print('B')
print('C')
continue
print('D')
- ① A, B, C 출력이 반복된다.
- ② A, B, C
- ③ A, B, C, D 출력이 반복된다.
- ④ A, B, C, D까지만 출력된다.
정답 확인
정답 ① - continue는 이후 코드를 건너뛰고 반복문 처음으로 돌아가므로 print('D')는 실행되지 않고 A,B,C만 무한 반복 출력된다. 오답 노트 - ②A,B,C(한 번만)는 while(True)가 무한 반복임을 놓치고 한 번만 실행된다고 착각한 값이고 / ③A,B,C,D 반복은 continue가 다음 줄(D)까지 실행한 뒤에 반복한다고 착각(실제로는 continue 이후 코드는 건너뛴다)한 값이며 / ④는 break가 없는데도 D 출력 이후 종료된다고 착각한 값이다.
다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드이다. ㉠에 들어갈 내용은?
String = input("7 문자 이상 문자열을 입력하시오:")
m = ( ㉠ )
print(m)
- ① string[1:3]+string[-3:]
- ② string[:3]+string[-3:-1]
- ③ string[0:3]+string[-3:]
- ④ string[0:]+string[:-1]
정답 확인
정답 ③ - string[0:3]은 처음 3글자(0,1,2), string[-3:]은 마지막 3글자(-3,-2,-1)를 정확히 가져온다. 오답 노트 - ①string[1:3]+string[-3:]은 앞부분 시작 인덱스를 0이 아니라 1로 잡아 첫 글자가 빠지고 / ②string[:3]+string[-3:-1]은 뒷부분 슬라이스 끝이 -1이라 슬라이스는 끝 인덱스를 포함하지 않으므로 마지막 글자가 빠지며 / ④string[0:]+string[:-1]은 각각 처음부터 끝까지 전체, 처음부터 마지막 전까지 전체를 이어붙여 "처음 3글자+끝 3글자"와 전혀 다른 결과가 나온다.
다음 Python 프로그램이 실행되었을 때, 실행 결과는?
a = ["대", "한", "민", "국"]
for i in a:
print(i)
- ① 대한민국 (한 줄로 이어서 출력)
- ② 대 / 한 / 민 / 국 (각 요소가 줄바꿈되어 출력)
- ③ 대 (한 글자만 출력)
- ④ 대대대대 (한 줄에 4번 반복 출력)
정답 확인
정답 ② - print()는 호출마다 기본적으로 줄바꿈을 하므로 리스트의 4개 요소가 한 줄씩 따로 출력된다. 오답 노트 - ①대한민국(한 줄)은 print()가 자동으로 줄바꿈한다는 사실을 놓치고 문자열이 이어붙여진다고 착각한 값이고 / ③대(한 글자만)는 반복문이 한 번만 실행된다고 착각한 값이며 / ④대대대대는 매 반복마다 현재 요소(i)가 아니라 리스트의 첫 값만 반복 출력된다고 착각한 값이다.
다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?
class FourCal:
def setdata(self, fir, sec):
self.fir = fir
self.sec = sec
def add(self):
result = self.fir + self.sec
return result
a = FourCal()
a.setdata(4, 2)
print(a.add())
- ① 0
- ② 2
- ③ 4
- ④ 6
정답 확인
정답 ④ - setdata(4,2)로 fir=4, sec=2가 되고 add()는 fir+sec=6을 반환한다. 오답 노트 - ①0은 setdata가 호출되지 않아 인스턴스 변수가 저장되지 않는다고 착각한 값이고 / ②2는 fir(4)와 sec(2) 중 sec만 반환된다고 착각한 값이며 / ③4는 반대로 fir만 반환된다고 착각한 값이다.
다음 Python 프로그램이 실행되었을 때, 실행 결과는?
a = 100
list_data = ['a','b','c']
dict_data = {'a':90, 'b':95}
print(list_data[0])
print(dict_data['a'])
- ① a / 90
- ② 100 / 90
- ③ 100 / 100
- ④ a / a
정답 확인
정답 ① - list_data[0]은 'a', dict_data['a']는 90이므로 각각 한 줄씩 "a", "90"이 출력된다. 오답 노트 - ②100/90은 list_data[0]을 리스트 값이 아니라 변수 a(100)와 혼동한 값이고 / ③100/100은 두 출력 모두 변수 a(100)와 혼동한 값이며 / ④a/a는 dict_data['a']가 값(90)이 아니라 키 이름('a') 자체를 반환한다고 착각한 값이다.
다음 Python 프로그램의 실행 결과가 [실행 결과]와 같을 때 빈칸에 적합한 것은?
x = 20
if x == 10:
print('10')
( ) x == 20:
print('20')
else:
print('other')
[실행 결과]
20
- ① either
- ② elif
- ③ else if
- ④ else
정답 확인
정답 ② - Python에서 if문에 추가 조건을 붙일 때 사용하는 예약어는 elif이다. 오답 노트 - ①either는 파이썬에 존재하지 않는 예약어이고 / ③else if는 C/Java 등에서 쓰는 문법이며 파이썬에서는 elif로 축약해서 써야 하므로 문법 오류가 발생하고 / ④else는 남은 모든 경우를 처리할 뿐 추가 조건(x==20)을 지정할 수 없어 원하는 분기를 만들 수 없다.
다음 파이썬 코드에서 '53t44'를 입력했을 때 출력 결과는?
a, b = map(int, input().split("t"))
print(a, b)
- ① 53 t 44
- ② 53t44
- ③ 53 44
- ④ 53, 44
정답 확인
정답 ③ - "t"를 기준으로 분리하면 53, 44가 되고, print()의 기본 구분자는 공백이므로 "53 44"가 출력된다. 오답 노트 - ①53 t 44는 split("t")로 구분자 "t" 자체가 사라진다는 것을 놓치고 구분자가 결과에 그대로 남는다고 착각한 값이고 / ②53t44는 split이 아예 적용되지 않아 문자열이 분리되지 않는다고 착각한 값이며 / ④53, 44는 print(a, b)의 기본 구분자를 공백이 아닌 콤마로 착각한 값이다.
다음 쉘 스크립트의 의미로 옳은 것은?
until who | grep wow
do
sleep 5
done
- ① wow 사용자가 로그인한 경우에만 반복문을 수행한다.
- ② wow 사용자가 로그인할 때까지 반복문을 수행한다.
- ③ wow 문자열을 복사한다.
- ④ wow 사용자에 대한 정보를 무한 반복하여 출력한다.
정답 확인
정답 ② - until은 조건이 거짓인 동안(=wow가 로그인하기 전까지) 반복하다가 로그인하면 반복을 멈춘다. 오답 노트 - ①은 until의 의미(조건이 거짓인 동안 반복)를 while과 반대로 착각한 것으로 실제로는 로그인 "전"에 반복이 수행되고 / ③grep은 검색 명령이지 문자열을 복사하는 명령이 아니며 / ④는 조건(wow 로그인)이 충족되면 until 루프가 종료되므로 무한 반복이 아니다.
다음 SQL 문의 실행 결과는? ([도서] 111-운영체제, 222-자료구조, 333-컴퓨터구조 / [도서가격] 111-20,000, 222-25,000, 333-10,000, 444-15,000)
SELECT 가격 FROM 도서가격
WHERE 책번호 = (SELECT 책번호 FROM 도서 WHERE 책명='자료구조');
- ① 10,000
- ② 15,000
- ③ 20,000
- ④ 25,000
정답 확인
정답 ④ - 하위질의로 책명='자료구조'인 책번호 222를 먼저 구하고, 도서가격 테이블에서 책번호 222의 가격 25,000을 검색한다. 오답 노트 - ①10,000은 책번호 333(컴퓨터구조)의 가격과 혼동한 값이고 / ②15,000은 책번호 444의 가격으로, 하위질의 결과(222)와 무관한 값이며 / ③20,000은 책번호 111(운영체제)의 가격과 책명 매칭을 혼동했을 때 나오는 값이다.
학적 테이블에서 전화번호가 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을 사용한다(=, != 사용 불가). 오답 노트 - ①DON'T NULL은 SQL에 존재하지 않는 문법이고 / ②!= NOT NULL은 NULL을 비교연산자(=, !=)로 판정할 수 없어 오류이며 / ④IS NULL은 반대로 전화번호가 Null인 행만 검색하므로 요구사항(Null이 아닌 행)과 정반대이다.
테이블 R1, R2에 대하여 다음 SQL문의 결과는? ([R1] 학번 20201111·20202222 / [R2] 학번 20202222·20203333)
(SELECT 학번 FROM R1)
INTERSECT
(SELECT 학번 FROM R2)
- ① 학번/학점수/과목번호: 20202222, 20, CS200 (1행)
- ② 학번: 20202222 (1행)
- ③ 학번: 20201111, 20202222, 20203333 (3행)
- ④ 학번/학점수/과목번호: 3행(20201111·15·NULL, 20202222·20·CS200, 20203333·NULL·CS300)
정답 확인
정답 ② - INTERSECT는 두 SELECT 결과의 공통 행만 반환하는 집합 연산자이며, 공통 학번은 20202222 하나뿐이다. 오답 노트 - ①은 SELECT절에 학번만 있는데도 존재하지 않는 학점수·과목번호 컬럼까지 포함시킨 오답이고 / ③은 INTERSECT(교집합)를 UNION(합집합)과 혼동해 R1과 R2의 학번을 모두 합친 값이며 / ④는 ①과 마찬가지로 없는 컬럼을 포함하면서 동시에 교집합이 아닌 합집합으로 잘못 계산한 값이다.
다음 R1, R2 테이블에서 [실행 결과](과목번호 C100·C200 = 컴퓨터구조·데이터베이스)를 얻기 위한 SQL문은? (R1의 강남길은 학번3000, 학과=전자공학)
- ① ... WHERE R1.학번=R2.학번 AND R1.학과='전자공학' AND R1.이름='강남길';
- ② ... WHERE R1.학번=R2.학번 OR R1.학과='전자공학' OR R1.이름='홍길동';
- ③ ... WHERE R1.학번=R2.학번 AND R1.학과='컴퓨터공학' AND R1.이름='강남길';
- ④ ... WHERE R1.학번=R2.학번 OR R1.학과='컴퓨터공학' OR R1.이름='홍길동';
정답 확인
정답 ① - 결과 과목(C100,C200)은 강남길(학번3000, 전자공학)의 수강과목이므로 학과='전자공학' AND 이름='강남길' 조건이 정확히 학번 3000만 골라낸다. 오답 노트 - ②는 AND 대신 OR을 써서 학과나 이름 조건 중 하나만 맞아도 검색되어 강남길 외 다른 학생(홍길동 등)의 과목까지 함께 나오고 / ③은 강남길의 실제 학과(전자공학)가 아닌 '컴퓨터공학'을 조건으로 걸어 강남길이 조건에서 빠지며 / ④는 ②의 OR 오류와 ③의 학과 오타가 함께 겹친 경우다.
다음 [조건]에 부합하는 SQL문을 작성할 때 빈칸에 들어갈 내용으로 옳은 것은? (조건: 이름이 '정도일'인 팀원이 소속된 팀코드를 이용해 해당 팀 팀원들의 이름을 출력)
SELECT 이름
FROM 직원
WHERE 팀코드 = ( );
- ① WHERE 이름='정도일'
- ② SELECT 팀코드 FROM 이름 WHERE 직원='정도일'
- ③ WHERE 직원='정도일'
- ④ SELECT 팀코드 FROM 직원 WHERE 이름='정도일'
정답 확인
정답 ④ - 하위질의로 직원 테이블에서 이름='정도일'인 사람의 팀코드를 먼저 구해야 한다. 오답 노트 - ①·③은 WHERE 조건절만 있을 뿐 SELECT ~ FROM이 없는 불완전한 하위질의라 문법적으로 성립하지 않고 / ②는 FROM절과 WHERE절에 들어갈 테이블명과 컬럼명이 서로 뒤바뀌어 있다('이름'은 컬럼이지 테이블이 아니고, '직원'은 테이블이지 컬럼이 아니다).
[player] 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?
(1) SELECT player_name, height
(2) FROM player
(3) WHERE team_id = 'korea'
(4) AND height BETWEEN 170 OR 180;
- ① (1)
- ② (2)
- ③ (3)
- ④ (4)
정답 확인
정답 ④ - BETWEEN은 'BETWEEN A AND B' 형식으로만 사용 가능하며 OR는 올 수 없다. 오답 노트 - ①SELECT절, ②FROM절, ③WHERE절의 team_id 조건은 모두 정상적인 문법이므로 오류가 없으며, 오류는 오직 BETWEEN 뒤에 AND 대신 OR가 잘못 쓰인 (4)에만 있다.
관계 데이터베이스 테이블 R1에 대한 아래 SQL문의 실행 결과로 옳은 것은?
SELECT DISTINCT 학년 FROM R1;
- ① 학년: 1,1,2,2,3 (중복 포함 5행)
- ② 학년: 1,2,3 (중복 제거 3행)
- ③ 이름,학년 쌍 5행 전체
- ④ 이름,학년 쌍 3행(홍길동/1, 강남길/2, 장미화/3)
정답 확인
정답 ② - DISTINCT는 같은 값을 한 번만 표시하므로 학년 컬럼의 중복이 제거되어 1,2,3만 출력된다. 오답 노트 - ①은 DISTINCT가 없을 때(중복 제거를 안 했을 때) 나오는 결과이고 / ③·④는 SELECT절에 학년 하나만 지정되어 있어 애초에 이름 컬럼은 조회되지 않는데도 이름·학년 쌍이 나온다고 착각한 값이다.
결과 값이 [대신공업사, 신촌상사]로 나올 때 SQL 질의로 옳은 것은?
- ① SELECT * FROM 공급자 WHERE 공급자명 LIKE '%신%';
- ② SELECT * FROM 공급자 WHERE 공급자명 LIKE '대%';
- ③ SELECT * FROM 공급자 WHERE 공급자명 LIKE '%사';
- ④ SELECT * FROM 공급자 WHERE 공급자명 IS NOT NULL;
정답 확인
정답 ① - '%신%'은 공급자명에 "신"이 포함된 레코드를 찾으며, 대신공업사·신촌상사가 이에 해당한다. 오답 노트 - ②'대%'는 이름이 '대'로 시작하는 공급자만 찾으므로 '신'으로 시작하는 신촌상사가 빠지고 / ③'%사'는 이름이 '사'로 끝나는 모든 공급자를 찾는 조건이라 실제 테이블에 존재하는 다른(대신공업사·신촌상사 외의) 공급자까지 포함될 수 있어 정확히 이 두 곳만 걸러내지 못하며 / ④IS NOT NULL은 공급자명이 있는 모든 행을 가져와 필터링 자체가 되지 않는다.
다음 SQL 문의 실행 결과는?
SELECT 이름
FROM R1
WHERE 학번 IN
(SELECT 학번
FROM R2
WHERE 과목번호 = 'C100');
- ① 홍길동, 강남길, 장미화
- ② 홍길동, 강남길, 오말자
- ③ 홍길동, 김철수, 강남길, 오말자, 장미화 (전체 5명)
- ④ 홍길동, 김철수
정답 확인
정답 ② - R2에서 과목번호 C100을 수강한 학번은 1000,3000,4000이며, R1에서 이에 해당하는 이름은 홍길동·강남길·오말자. 오답 노트 - ①은 C100을 수강하지 않은 장미화를 잘못 포함시키고 오말자를 빠뜨린 값이고 / ③은 하위질의의 WHERE 조건(과목번호='C100')이 아예 적용되지 않아 R1 전체 5명이 나온다고 착각한 값이며 / ④는 C100 수강자가 아닌 김철수를 잘못 포함시키고 강남길·오말자를 빠뜨린 값이다.
다음 SQL 문의 실행 결과로 생성되는 튜플 수는? (사원 테이블 5개 레코드)
SELECT 급여 FROM 사원;
- ① 1
- ② 3
- ③ 4
- ④ 5
정답 확인
정답 ④ - WHERE절이 없으므로 사원 테이블의 전체 5개 레코드가 모두 검색된다. 오답 노트 - ①·②·③은 WHERE절이 없으면 필터링 없이 테이블의 모든 행이 그대로 반환된다는 점을 놓치고, 일부 행만 조회된다고 착각했을 때 나올 수 있는 값들이다.
다음 SQL 문의 실행 결과는? (학과 전산/전기, 주소 경기인 학생 = 학번 2000, 4000)
SELECT 과목이름
FROM 성적
WHERE EXISTS (
SELECT 학번
FROM 학생
WHERE 학생.학번 = 성적.학번
AND 학생.학과 IN ('전산','전기')
AND 학생.주소 = '경기');
- ① 과목이름: DB (1행)
- ② 과목이름: DB, DB (2행)
- ③ 과목이름: DB, DB, 운영체제 (3행)
- ④ 과목이름: DB, 운영체제 (2행)
정답 확인
정답 ③ - 조건을 만족하는 학번은 2000, 4000. 성적 테이블에서 학번2000은 DB 1건, 학번4000은 DB·운영체제 2건이 있어 총 DB, DB, 운영체제 3행이 출력된다. 오답 노트 - ①은 조건을 만족하는 학번이 2000 하나뿐이라고 착각해 4000을 빠뜨린 값이고 / ②는 학번4000의 운영체제 수강 기록을 빠뜨린 값이며 / ④는 반대로 학번2000의 DB 수강 기록 하나를 빠뜨린 값이다.
다음 테이블을 보고 강남지점의 판매량이 많은 제품부터 출력되도록 할 때 가장 적절한 SQL 구문은? (제품명, 판매량만 출력)
- ① SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 ASC;
- ② SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 DESC;
- ③ SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명='강남지점' ORDER BY 판매량 ASC;
- ④ SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명='강남지점' ORDER BY 판매량 DESC;
정답 확인
정답 ④ - 강남지점만 필터링(WHERE)하고, 판매량이 많은 순(내림차순, DESC)으로 정렬해야 한다. 오답 노트 - ①은 WHERE절이 없어 강남지점만이 아니라 전체 지점 데이터가 섞여 나오고 정렬도 오름차순(ASC)이라 요구사항과 반대이며 / ②는 WHERE절이 없어 전체 지점 데이터가 섞여 나오고 / ③은 지점 필터링은 맞지만 정렬이 ASC(오름차순)라 판매량이 적은 제품부터 나와 요구사항과 반대다.
테이블 R과 S에 대한 SQL문이 실행되었을 때, 실행 결과로 옳은 것은? ([R] A:1,3 / [S] A:1,2)
SELECT A FROM R
UNION ALL
SELECT A FROM S;
- ① A: 1 (1행)
- ② A: 3, 2 (2행)
- ③ A: 1, 3 (2행)
- ④ A: 1, 3, 1, 2 (4행)
정답 확인
정답 ④ - UNION ALL은 중복을 제거하지 않고 두 결과를 그대로 이어붙이므로 R의 (1,3)과 S의 (1,2)가 모두 남아 1,3,1,2가 된다. 오답 노트 - ①은 중복을 제거하는 UNION(ALL 없는)과 혼동한 값이고 / ②는 두 테이블에서 공통되지 않는 값만 남긴 값으로 집합차 연산과 혼동한 것이며 / ③은 R 테이블 결과만 취하고 S 테이블 결과(UNION ALL 뒤의 SELECT)를 통째로 빠뜨린 값이다.
다음 SQL 문에서 빈 칸에 들어갈 내용으로 옳은 것은?
UPDATE 회원 ( ) 전화번호 = '010-14'
WHERE 회원번호 = 'N4';
- ① FROM
- ② SET
- ③ INTO
- ④ TO
정답 확인
정답 ② - UPDATE문은 항상 SET과 함께 사용되어 갱신할 컬럼과 값을 지정한다. 오답 노트 - ①FROM은 SELECT문에서 테이블을 지정할 때 쓰는 절로 UPDATE의 갱신 구문에는 맞지 않고 / ③INTO는 INSERT문에서 사용하는 키워드이며 / ④TO는 UPDATE 문법에 존재하지 않는 키워드다.
다음 SQL 문에서 사용된 BETWEEN 연산의 의미와 동일한 것은?
SELECT *
FROM 성적
WHERE (점수 BETWEEN 90 AND 95)
AND 학과 = '컴퓨터공학과';
- ① 점수 >= 90 AND 점수 <= 95
- ② 점수 > 90 AND 점수 < 95
- ③ 점수 > 90 AND 점수 <= 95
- ④ 점수 >= 90 AND 점수 < 95
정답 확인
정답 ① - BETWEEN A AND B는 A 이상 B 이하(양끝값 포함)를 의미한다. 오답 노트 - ②는 90과 95 양끝값을 모두 포함하지 않아 BETWEEN의 의미(양끝값 포함)와 다르고 / ③은 하한(90)을 포함하지 않아 경계가 틀렸으며 / ④는 반대로 상한(95)을 포함하지 않아 경계가 틀렸다.
사용자 'PARK'에게 테이블을 생성할 수 있는 권한을 부여하기 위한 SQL 문의 구성으로 빈칸에 적합한 내용은?
GRANT [ ] PARK;
- ① CREATE TABLE TO
- ② CREATE TO
- ③ CREATE FROM
- ④ CREATE TABLE FROM
정답 확인
정답 ① - 테이블 생성 권한 부여 구문은 GRANT CREATE TABLE TO PARK; 형식이다. 오답 노트 - ②CREATE TO는 테이블 생성 권한임을 명시하는 TABLE 키워드가 빠져 불완전하고 / ③CREATE FROM은 권한을 부여할 때는 TO를 써야 하는데 회수할 때 쓰는 FROM을 잘못 사용했으며 / ④CREATE TABLE FROM은 TABLE은 맞지만 전치사가 TO가 아닌 FROM이라 틀렸다.
STUDENT 테이블에 독일어과 50명, 중국어과 30명, 영어영문학과 50명의 정보가 저장되어 있을 때, 다음 두 SQL 문의 실행 결과 튜플 수는? (DEPT 컬럼은 학과명)
ⓐ SELECT DEPT FROM STUDENT;
ⓑ SELECT DISTINCT DEPT FROM STUDENT;
- ① ⓐ 3, ⓑ 3
- ② ⓐ 50, ⓑ 3
- ③ ⓐ 130, ⓑ 3
- ④ ⓐ 130, ⓑ 130
정답 확인
정답 ③ - 전체 튜플 수는 50+30+50=130개(ⓐ), DISTINCT는 학과 종류 3개만 남긴다(ⓑ). 오답 노트 - ①은 DISTINCT가 없는 ⓐ에도 중복 제거 효과가 적용된다고 착각한 값이고 / ②는 ⓐ를 전체 합(130)이 아니라 한 학과의 인원(50)으로 착각한 값이며 / ④는 반대로 DISTINCT가 있는 ⓑ에도 중복 제거가 적용되지 않는다고 착각한 값이다.
DBA가 사용자 PARK에게 [STUDENT] 테이블의 데이터를 갱신할 수 있는 시스템 권한을 부여하는 SQL 문을 작성하려 한다. 빈칸을 알맞게 채운 것은?
SQL > GRANT ㉠ ㉡ STUDENT TO PARK;
- ① ㉠ INSERT, ㉡ INTO
- ② ㉠ ALTER, ㉡ TO
- ③ ㉠ UPDATE, ㉡ ON
- ④ ㉠ REPLACE, ㉡ IN
정답 확인
정답 ③ - 갱신 권한 부여 구문은 GRANT UPDATE ON STUDENT TO PARK; 형식이다. 오답 노트 - ①INSERT, INTO는 갱신이 아니라 삽입 권한이며 INTO는 INSERT문에서 쓰는 전치사라 GRANT 구문과 맞지 않고 / ②ALTER, TO는 ALTER가 테이블 구조 변경 권한이지 데이터 갱신(UPDATE) 권한이 아니며 / ④REPLACE, IN은 REPLACE가 표준 권한 키워드가 아니고 IN도 올바른 전치사가 아니다.
테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은?
DROP VIEW V_1 CASCADE;
- ① V_1만 삭제된다.
- ② V_2만 삭제된다.
- ③ V_1과 V_2 모두 삭제된다.
- ④ V_1과 V_2 모두 삭제되지 않는다.
정답 확인
정답 ③ - CASCADE는 제거할 대상을 참조하는 다른 모든 종속 객체까지 함께 제거하므로 V_1을 참조하는 V_2도 함께 삭제된다. 오답 노트 - ①은 CASCADE가 아니라 RESTRICT(종속 객체가 있으면 삭제를 막음)를 사용했을 때의 동작과 혼동한 것이고 / ②는 DROP 명령의 대상 자체가 V_1인데 엉뚱하게 V_2만 삭제된다고 이해한 것이며 / ④는 CASCADE의 의미(연쇄 삭제)를 정반대로 이해한 오답이다.
다음은 스택의 자료 삭제 알고리즘이다. ⓐ에 들어갈 내용으로 옳은 것은? (Top: 스택 포인터, S: 스택의 이름)
if Top = 0 Then
( ⓐ )
Else {
remove S(Top)
Top = Top - 1
}
- ① Overflow
- ② Top = Top + 1
- ③ Underflow
- ④ Top = Top
정답 확인
정답 ③ - 스택 포인터가 0(스택이 비어있음)인 상태에서 삭제를 시도하면 Underflow(언더플로우)가 발생한다. 오답 노트 - ①Overflow는 삽입 시 공간이 없어 발생하는 것으로, 삭제를 시도하는 이 상황과는 정반대이고 / ②Top=Top+1은 삽입(Push) 연산에서 포인터를 증가시키는 코드로 삭제 상황과 맞지 않으며 / ④Top=Top은 아무 처리도 하지 않아 빈 스택에서 삭제를 시도했다는 예외 상황 자체를 알리지 못한다.
관계 대수식을 SQL 질의로 옳게 표현한 것은?
π이름(σ학과='교육'(학생))
- ① SELECT 학생 FROM 이름 WHERE 학과='교육';
- ② SELECT 이름 FROM 학생 WHERE 학과='교육';
- ③ SELECT 교육 FROM 학과 WHERE 이름='학생';
- ④ SELECT 학과 FROM 학생 WHERE 이름='교육';
정답 확인
정답 ② - π(프로젝션)는 SELECT 대상 컬럼, σ(셀렉션)는 WHERE 조건, 괄호 안의 이름은 FROM 테이블에 대응된다. 오답 노트 - ①은 테이블(학생)과 컬럼(이름)의 자리가 서로 뒤바뀌어 있고 / ③·④는 괄호 안에 대응돼야 할 대상(학과, 이름, 교육, 학생)을 서로 뒤섞어 지정해 실제 테이블명·컬럼명·조건값과 맞지 않는다.
사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은?
- ① delete select on department to X1;
- ② remove select on department from X1;
- ③ revoke select on department from X1;
- ④ grant select on department from X1;
정답 확인
정답 ③ - 사용자로부터 권한을 취소(회수)하는 명령어는 revoke이며, "revoke 권한 on 개체 from 사용자" 형식이다. 오답 노트 - ①delete...to는 DELETE가 데이터 삭제 명령이지 권한 회수 명령이 아니며 전치사도 회수 시엔 TO가 아닌 FROM을 써야 하고 / ②remove...from은 REMOVE가 SQL 권한 회수 키워드로 존재하지 않으며 / ④grant...from은 GRANT가 오히려 권한을 부여하는 명령이라 회수와 정반대이며 전치사도 부여 시엔 FROM이 아닌 TO를 써야 한다.
소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?
- ① 품질 높은 소프트웨어 상품 개발
- ② 지속적인 검증 시행
- ③ 결과에 대한 명확한 기록 유지
- ④ 최대한 많은 인력 투입
정답 확인
정답 ④ - 기본 원칙은 품질 개발, 지속적 검증, 명확한 기록 유지, 효율적인 인력 투입이다. 최대한 많은 인력 투입은 원칙이 아니다. 오답 노트 - ①은 품질 높은 소프트웨어 개발이 실제 기본 원칙에 해당하므로 오답 / ②는 지속적인 검증 시행이 실제 기본 원칙에 해당하므로 오답 / ③은 명확한 기록 유지가 실제 기본 원칙에 해당하므로 오답.
시스템의 구성 요소로 볼 수 없는 것은?
- ① Process
- ② Feedback
- ③ Maintenance
- ④ Control
정답 확인
정답 ③ - 시스템 구성 요소는 입력, 처리, 출력, 제어, 피드백이다. Maintenance(유지보수)는 해당하지 않는다. 오답 노트 - ①은 처리(Process)가 실제 시스템 구성 요소이므로 오답 / ②는 피드백이 실제 구성 요소이므로 오답 / ④는 제어(Control)가 실제 구성 요소이므로 오답.
요구사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)이 아닌 것은?
- ① Data Flow Diagram
- ② UML Diagram
- ③ E-R Diagram
- ④ AVL Diagram
정답 확인
정답 ④ - 요구사항 정의·분석·설계에는 DFD, UML, E-R 다이어그램이 사용된다. AVL은 트리 자료구조이지 다이어그램이 아니다. 오답 노트 - ①은 DFD가 실제 요구사항 모델링 다이어그램이므로 오답 / ②는 UML Diagram이 실제 모델링 다이어그램이므로 오답 / ③은 E-R Diagram이 실제 모델링 다이어그램이므로 오답.
현행 시스템 분석에서 고려하지 않아도 되는 항목은?
- ① DBMS 분석
- ② 네트워크 분석
- ③ 운영체제 분석
- ④ 인적 자원 분석
정답 확인
정답 ④ - 현행 시스템 파악은 구성·기능·인터페이스·아키텍처·소프트웨어(DBMS·OS)·하드웨어·네트워크 파악이다. 인적 자원 분석은 해당하지 않는다. 오답 노트 - ①은 DBMS 분석이 현행 시스템 파악 대상이므로 오답 / ②는 네트워크 분석이 파악 대상이므로 오답 / ③은 운영체제 분석이 파악 대상이므로 오답.
GoF(Gang of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?
- ① Adapter 패턴
- ② Bridge 패턴
- ③ Builder 패턴
- ④ Proxy 패턴
정답 확인
정답 ③ - 구조 패턴은 어댑터·브리지·컴포지트·데코레이터·퍼싸드·플라이웨이트·프록시이다. Builder는 생성 패턴이다. 오답 노트 - ①은 Adapter가 구조 패턴에 속하므로 오답 / ②는 Bridge가 구조 패턴에 속하므로 오답 / ④는 Proxy가 구조 패턴에 속하므로 오답.
객체 지향 소프트웨어 설계 시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?
- ① 개발자 이름
- ② 문제 및 배경
- ③ 사례
- ④ 샘플 코드
정답 확인
정답 ① - 디자인 패턴 구성 요소는 문제 및 배경, 적용 사례, 재사용 가능한 샘플 코드이다. 개발자 이름은 해당하지 않는다. 오답 노트 - ②는 문제 및 배경이 실제 구성 요소이므로 오답 / ③은 적용 사례가 실제 구성 요소이므로 오답 / ④는 샘플 코드가 실제 구성 요소이므로 오답.
소프트웨어 설계에서 사용되는 대표적인 추상화(Abstraction) 기법이 아닌 것은?
- ① 자료 추상화
- ② 제어 추상화
- ③ 과정 추상화
- ④ 강도 추상화
정답 확인
정답 ④ - 추상화 유형은 과정, 자료, 제어 추상화이다. 강도 추상화는 존재하지 않는다. 오답 노트 - ①은 자료 추상화가 실제 추상화 기법이므로 오답 / ②는 제어 추상화가 실제 추상화 기법이므로 오답 / ③은 과정 추상화가 실제 추상화 기법이므로 오답.
UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?
- ① 생명선
- ② 실행
- ③ 확장
- ④ 메시지
정답 확인
정답 ③ - 시퀀스 다이어그램 구성 요소는 액터, 객체, 생명선, 실행 상자, 메시지이다. 확장은 해당하지 않는다. 오답 노트 - ①은 생명선이 실제 구성 요소이므로 오답 / ②는 실행 상자가 실제 구성 요소이므로 오답 / ④는 메시지가 실제 구성 요소이므로 오답. 확장(Extend)은 유스케이스 다이어그램의 관계 개념이다.
디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?
- ① 커맨드(Command) 패턴
- ② 옵저버(Observer) 패턴
- ③ 프로토타입(Prototype) 패턴
- ④ 상태(State) 패턴
정답 확인
정답 ③ - 행위 패턴은 책임연쇄·커맨드·인터프리터·반복자·중재자·메멘토·옵서버·상태·전략·템플릿메소드·방문자이다. Prototype은 생성 패턴이다. 오답 노트 - ①은 커맨드 패턴이 행위 패턴이므로 오답 / ②는 옵저버 패턴이 행위 패턴이므로 오답 / ④는 상태 패턴이 행위 패턴이므로 오답.
UML 다이어그램이 아닌 것은?
- ① 액티비티 다이어그램(Activity Diagram)
- ② 절차 다이어그램(Procedural Diagram)
- ③ 클래스 다이어그램(Class Diagram)
- ④ 시퀀스 다이어그램(Sequence Diagram)
정답 확인
정답 ② - UML 다이어그램에는 절차 다이어그램이 없다. Procedural Diagram은 UML 다이어그램 종류가 아니다. 오답 노트 - ①은 액티비티 다이어그램이 실제 UML 다이어그램이므로 오답 / ③은 클래스 다이어그램이 실제 UML 다이어그램이므로 오답 / ④는 시퀀스 다이어그램이 실제 UML 다이어그램이므로 오답.
소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
- ① 정확성
- ② 무결성
- ③ 사용성
- ④ 간결성
정답 확인
정답 ④ - 품질 특성은 기능성(정확성 등), 보안성(무결성 등), 사용성 등으로 구성되며 간결성은 해당 품질 특성에 없다. 오답 노트 - ①은 정확성이 기능성의 하위 특성이므로 오답 / ②는 무결성이 보안성 관련 특성이므로 오답 / ③은 사용성이 실제 품질 특성이므로 오답.
UML 다이어그램 중 정적 다이어그램이 아닌 것은?
- ① 컴포넌트 다이어그램
- ② 배치 다이어그램
- ③ 순차 다이어그램
- ④ 패키지 다이어그램
정답 확인
정답 ③ - 정적(구조적) 다이어그램은 클래스·객체·컴포넌트·배치·복합체구조·패키지이다. 순차 다이어그램은 동적(행위) 다이어그램이다. 오답 노트 - ①은 컴포넌트 다이어그램이 정적 다이어그램이므로 오답 / ②는 배치 다이어그램이 정적 다이어그램이므로 오답 / ④는 패키지 다이어그램이 정적 다이어그램이므로 오답.
UML 모델에서 사용하는 Structural Diagram에 속하지 않은 것은?
- ① Class Diagram
- ② Object Diagram
- ③ Component Diagram
- ④ Activity Diagram
정답 확인
정답 ④ - 구조적 다이어그램은 클래스·객체·컴포넌트·배치·복합체구조·패키지이다. Activity Diagram은 행위 다이어그램이다. 오답 노트 - ①은 Class Diagram이 구조적 다이어그램이므로 오답 / ②는 Object Diagram이 구조적 다이어그램이므로 오답 / ③은 Component Diagram이 구조적 다이어그램이므로 오답.
UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
- ① 유스케이스 다이어그램(Use Case Diagram)
- ② 시퀀스 다이어그램(Sequence Diagram)
- ③ 활동 다이어그램(Activity Diagram)
- ④ 배치 다이어그램(Deployment Diagram)
정답 확인
정답 ④ - 행위 다이어그램은 유스케이스·순차·커뮤니케이션·상태·활동·상호작용개요·타이밍이다. 배치 다이어그램은 구조적 다이어그램이다. 오답 노트 - ①은 유스케이스 다이어그램이 행위 다이어그램이므로 오답 / ②는 시퀀스 다이어그램이 행위 다이어그램이므로 오답 / ③은 활동 다이어그램이 행위 다이어그램이므로 오답.
ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionality)의 하위 특성으로 옳지 않은 것은?
- ① 학습성
- ② 적합성
- ③ 정확성
- ④ 보안성
정답 확인
정답 ① - 기능성 하위 특성은 적합성, 정확성, 상호 운용성, 보안성, 호환성이다. 학습성은 사용성의 하위 특성이다. 오답 노트 - ②는 적합성이 기능성 하위 특성이므로 오답 / ③은 정확성이 기능성 하위 특성이므로 오답 / ④는 보안성이 기능성 하위 특성이므로 오답.
애자일 방법론에 해당하지 않는 것은?
- ① 기능 중심 개발
- ② 스크럼
- ③ 익스트림 프로그래밍
- ④ 모듈 중심 개발
정답 확인
정답 ④ - 애자일 기반 개발 모형은 스크럼, XP, 칸반, Lean, 크리스탈, ASD, FDD(기능 중심 개발), DSDM, DAD 등이다. 모듈 중심 개발은 없다. 오답 노트 - ①은 FDD(기능 중심 개발)가 실제 애자일 방법론이므로 오답 / ②는 스크럼이 실제 애자일 방법론이므로 오답 / ③은 XP가 실제 애자일 방법론이므로 오답.
다음 중 상위 CASE 도구가 지원하는 주요 기능으로 볼 수 없는 것은?
- ① 모델들 사이의 모순 검사 기능
- ② 전체 소스 코드 생성 기능
- ③ 모델의 오류 검증 기능
- ④ 자료 흐름도 작성 기능
정답 확인
정답 ② - 상위 CASE는 모순 검사, 오류 검증, 자료흐름도 작성을 지원한다. 전체 소스 코드 생성은 하위 CASE의 기능이다. 오답 노트 - ①은 모순 검사 기능이 상위 CASE 기능이므로 오답 / ③은 오류 검증 기능이 상위 CASE 기능이므로 오답 / ④는 자료 흐름도 작성 기능이 상위 CASE 기능이므로 오답.
소프트웨어 아키텍처 설계에서 시스템 품질 속성이 아닌 것은?
- ① 가용성(Availability)
- ② 독립성(Isolation)
- ③ 변경 용이성(Modifiability)
- ④ 사용성(Usability)
정답 확인
정답 ② - 시스템 측면 품질 속성은 성능, 보안, 가용성, 기능성, 사용성, 변경 용이성, 확장성 등이다. 독립성은 해당하지 않는다. 오답 노트 - ①은 가용성이 실제 품질 속성이므로 오답 / ③은 변경 용이성이 실제 품질 속성이므로 오답 / ④는 사용성이 실제 품질 속성이므로 오답.
GoF(Gangs of Four) 디자인 패턴 분류에 해당하지 않는 것은?
- ① 생성 패턴
- ② 구조 패턴
- ③ 행위 패턴
- ④ 추상 패턴
정답 확인
정답 ④ - GoF 패턴은 생성, 구조, 행위 패턴 3가지로 분류된다. 추상 패턴은 없다. 오답 노트 - ①은 생성 패턴이 실제 GoF 분류이므로 오답 / ②는 구조 패턴이 실제 GoF 분류이므로 오답 / ③은 행위 패턴이 실제 GoF 분류이므로 오답.
CASE가 갖고 있는 주요 기능이 아닌 것은?
- ① 그래픽 지원
- ② 소프트웨어 생명 주기 전 단계의 연결
- ③ 언어 번역
- ④ 다양한 소프트웨어 개발 모형 지원
정답 확인
정답 ③ - CASE의 주요 기능은 생명주기 연결, 모순·오류 검증, 다이어그램 작성, 개발모형 지원, 그래픽 지원 등이다. 언어 번역은 해당하지 않는다. 오답 노트 - ①은 그래픽 지원이 실제 CASE 기능이므로 오답 / ②는 생명주기 전 단계 연결이 실제 CASE 기능이므로 오답 / ④는 다양한 개발 모형 지원이 실제 CASE 기능이므로 오답.
XP(eXtreme Programming)의 기본 원리로 볼 수 없는 것은?
- ① Linear Sequential Method
- ② Pair Programming
- ③ Collective Ownership
- ④ Continuous Integration
정답 확인
정답 ① - XP의 실천 방법은 짝 프로그래밍, 공동 코드 소유, 계속적 통합 등이다. Linear Sequential Method(선형 순차적 모델)는 폭포수 모형 개념으로 XP와 무관하다. 오답 노트 - ②는 짝 프로그래밍이 실제 XP 실천 방법이므로 오답 / ③은 공동 코드 소유가 실제 XP 실천 방법이므로 오답 / ④는 계속적 통합이 실제 XP 실천 방법이므로 오답.
다음 중 요구사항 모델링에 활용되지 않는 것은?
- ① 애자일(Agile) 방법
- ② 유스케이스 다이어그램(Use Case Diagram)
- ③ 시퀀스 다이어그램(Sequence Diagram)
- ④ 단계 다이어그램(Phase Diagram)
정답 확인
정답 ④ - 요구사항 모델링에는 애자일 방법, 유스케이스 다이어그램, 순차 다이어그램이 활용된다. 단계 다이어그램은 존재하지 않는다. 오답 노트 - ①은 애자일 방법이 실제 요구사항 모델링에 활용되므로 오답 / ②는 유스케이스 다이어그램이 실제로 활용되므로 오답 / ③은 시퀀스 다이어그램이 실제로 활용되므로 오답.
유스케이스(Use Case)의 구성 요소 간의 관계에 포함되지 않는 것은?
- ① 연관
- ② 확장
- ③ 구체화
- ④ 일반화
정답 확인
정답 ③ - 유스케이스 다이어그램의 관계는 연관, 포함, 확장, 일반화 관계이다. 구체화 관계는 없다. 오답 노트 - ①은 연관 관계가 실제 유스케이스 관계이므로 오답 / ②는 확장 관계가 실제 유스케이스 관계이므로 오답 / ④는 일반화 관계가 실제 유스케이스 관계이므로 오답.
코드의 기본 기능으로 거리가 먼 것은?
- ① 복잡성
- ② 표준화
- ③ 분류
- ④ 식별
정답 확인
정답 ① - 코드의 기능은 식별, 분류, 배열, 표준화, 간소화 기능이다. 복잡성은 해당하지 않는다. 오답 노트 - ②는 표준화가 실제 코드 기능이므로 오답 / ③은 분류가 실제 코드 기능이므로 오답 / ④는 식별이 실제 코드 기능이므로 오답.
GoF(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?
- ① Singleton Pattern
- ② Adapter Pattern
- ③ Decorator Pattern
- ④ State Pattern
정답 확인
정답 ① - 생성 패턴은 추상 팩토리, 빌더, 팩토리 메소드, 프로토타입, 싱글톤이다. Adapter·Decorator는 구조 패턴, State는 행위 패턴이다. 오답 노트 - ②는 Adapter가 구조 패턴이라 생성 패턴이 아니므로 오답 / ③은 Decorator가 구조 패턴이라 오답 / ④는 State가 행위 패턴이라 오답.
다음 중 SOLID 원칙이라고 불리는 객체지향 설계 원칙에 속하지 않는 것은?
- ① ISP(Interface Segregation Principle)
- ② DIP(Dependency Inversion Principle)
- ③ LSP(Liskov Substitution Principle)
- ④ SSO(Single Sign On)
정답 확인
정답 ④ - SOLID는 SRP, OCP, LSP, ISP, DIP이다. SSO(싱글사인온)는 인증 개념으로 SOLID와 무관하다. 오답 노트 - ①은 ISP가 실제 SOLID 원칙이므로 오답 / ②는 DIP가 실제 SOLID 원칙이므로 오답 / ③은 LSP가 실제 SOLID 원칙이므로 오답.
미들웨어 솔루션의 유형에 포함되지 않는 것은?
- ① WAS
- ② Web Server
- ③ RPC
- ④ ORB
정답 확인
정답 ② - 미들웨어 종류는 DB, RPC, MOM, TP-Monitor, ORB, WAS 등이다. Web Server 자체는 미들웨어 유형이 아니다. 오답 노트 - ①은 WAS가 실제 미들웨어 유형이므로 오답 / ③은 RPC가 실제 미들웨어 유형이므로 오답 / ④는 ORB가 실제 미들웨어 유형이므로 오답.
럼바우(Rumbaugh)의 객체 지향 분석에서 사용하는 분석 활동으로 옳은 것은?
- ① 객체 모델링, 동적 모델링, 정적 모델링
- ② 객체 모델링, 동적 모델링, 기능 모델링
- ③ 동적 모델링, 기능 모델링, 정적 모델링
- ④ 정적 모델링, 객체 모델링, 기능 모델링
정답 확인
정답 ② - 럼바우 분석 기법은 객체 모델링, 동적 모델링, 기능 모델링이다. 오답 노트 - ①은 정적 모델링이 럼바우의 세 활동에 포함되지 않아 오답 / ③은 객체 모델링이 빠져 있어 오답 / ④는 동적 모델링이 빠져 있어 오답.
모바일 기기에서 사용하는 NUI 인터페이스에 속하지 않는 것은 무엇인가?
- ① Pinch
- ② Press
- ③ Flow
- ④ Flick
정답 확인
정답 ③ - 주요 모바일 제스처는 Tap, Double Tap, Drag, Pan, Press, Flick, Pinch 등이다. Flow는 해당하지 않는다. 오답 노트 - ①은 Pinch가 실제 모바일 제스처이므로 오답 / ②는 Press가 실제 모바일 제스처이므로 오답 / ④는 Flick이 실제 모바일 제스처이므로 오답.
DBMS 분석 시 고려사항으로 거리가 먼 것은?
- ① 가용성
- ② 성능
- ③ 네트워크 구성도
- ④ 상호 호환성
정답 확인
정답 ③ - DBMS 분석 고려사항은 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용이다. 네트워크 구성도는 해당하지 않는다. 오답 노트 - ①은 가용성이 실제 고려사항이므로 오답 / ②는 성능이 실제 고려사항이므로 오답 / ④는 상호 호환성이 실제 고려사항이므로 오답.
UML의 기본 구성 요소가 아닌 것은?
- ① Things
- ② Terminal
- ③ Relationship
- ④ Diagram
정답 확인
정답 ② - UML 구성 요소는 사물(Things), 관계(Relationships), 다이어그램(Diagram)이다. Terminal은 해당하지 않는다. 오답 노트 - ①은 Things(사물)가 실제 UML 구성 요소이므로 오답 / ③은 Relationship(관계)이 실제 구성 요소이므로 오답 / ④는 Diagram이 실제 구성 요소이므로 오답.
요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?
- ① 청취와 인터뷰 질문 기술
- ② 분석과 중재 기술
- ③ 설계 및 코딩 기술
- ④ 관찰 및 모델 작성 기술
정답 확인
정답 ③ - 요구사항 분석 기술은 청취·인터뷰, 분석과 중재, 관찰 및 모델 작성 기술이다. 설계 및 코딩은 이후 단계이다. 오답 노트 - ①은 청취와 인터뷰 질문 기술이 실제 분석 기술이므로 오답 / ②는 분석과 중재 기술이 실제 분석 기술이므로 오답 / ④는 관찰 및 모델 작성 기술이 실제 분석 기술이므로 오답.
소프트웨어의 상위 설계에 속하지 않는 것은?
- ① 아키텍처 설계
- ② 모듈 설계
- ③ 인터페이스 정의
- ④ 사용자 인터페이스 설계
정답 확인
정답 ② - 상위 설계는 아키텍처·DB·인터페이스 설계이다. 모듈(컴포넌트·자료구조·알고리즘) 설계는 하위 설계이다. 오답 노트 - ①은 아키텍처 설계가 상위 설계이므로 오답 / ③은 인터페이스 정의가 상위 설계이므로 오답 / ④는 사용자 인터페이스 설계가 상위 설계이므로 오답.
CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?
- ① 구조적 기법
- ② 프로토타이핑 기술
- ③ 정보 저장소 기술
- ④ 일괄 처리 기술
정답 확인
정답 ④ - CASE 원천 기술은 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산 처리 기술이다. 일괄 처리 기술은 해당하지 않는다. 오답 노트 - ①은 구조적 기법이 실제 원천 기술이므로 오답 / ②는 프로토타이핑 기술이 실제 원천 기술이므로 오답 / ③은 정보 저장소 기술이 실제 원천 기술이므로 오답.
소프트웨어의 사용자 인터페이스 개발 시스템(User Interface Development System)이 가져야 할 기능이 아닌 것은?
- ① 사용자 입력의 검증
- ② 에러 처리와 에러 메시지 처리
- ③ 도움과 프롬프트(Prompt) 제공
- ④ 소스 코드 분석 및 오류 복구
정답 확인
정답 ④ - UI 개발 시스템의 기능은 입력 검증, 에러 처리, 도움 제공이다. 소스 코드 분석 및 오류 복구는 해당하지 않는다. 오답 노트 - ①은 사용자 입력의 검증이 실제 UI 개발 시스템 기능이므로 오답 / ②는 에러 처리와 에러 메시지 처리가 실제 기능이므로 오답 / ③은 도움과 프롬프트 제공이 실제 기능이므로 오답.
익스트림 프로그래밍(eXtreme Programming)의 5가지 가치에 속하지 않는 것은?
- ① 의사소통
- ② 단순성
- ③ 피드백
- ④ 고객 배제
정답 확인
정답 ④ - XP의 5가지 핵심 가치는 의사소통, 단순성, 용기, 존중, 피드백이다. 고객 배제는 XP 정신과 반대된다. 오답 노트 - ①은 의사소통이 XP 5대 가치에 속하므로 오답 / ②는 단순성이 XP 5대 가치에 속하므로 오답 / ③은 피드백이 XP 5대 가치에 속하므로 오답.
자료 흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
- ① Process : 원
- ② Data Flow : 화살표
- ③ Data Store : 삼각형
- ④ Terminator : 사각형
정답 확인
정답 ③ - DFD에서 자료 저장소(Data Store)는 평행선(막대 두 줄)으로 표기하며 삼각형이 아니다. 오답 노트 - ①은 Process를 원으로 표기하는 것이 옳으므로 오답 / ②는 Data Flow를 화살표로 표기하는 것이 옳으므로 오답 / ④는 Terminator를 사각형으로 표기하는 것이 옳으므로 오답.
소프트웨어 설계 시 구축된 플랫폼의 성능 특성 분석에 사용되는 측정 항목이 아닌 것은?
- ① 응답시간(Response Time)
- ② 가용성(Availability)
- ③ 사용률(Utilization)
- ④ 서버 튜닝(Server Tuning)
정답 확인
정답 ④ - 플랫폼 성능 측정 항목은 응답시간, 가용성, 사용률이다. 서버 튜닝은 측정 항목이 아니라 조치 행위이다. 오답 노트 - ①은 응답시간이 실제 측정 항목이므로 오답 / ②는 가용성이 실제 측정 항목이므로 오답 / ③은 사용률이 실제 측정 항목이므로 오답.
소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?
- ① 생산성 증가
- ② 프로젝트 문서 공유
- ③ 소프트웨어 품질 향상
- ④ 새로운 개발 방법론 도입 용이
정답 확인
정답 ④ - 재사용의 장점은 시간·비용 단축, 품질 향상, 생산성 향상, 위험 감소, 지식·문서 공유이다. 새로운 개발 방법론 도입 용이는 해당하지 않는다. 오답 노트 - ①은 생산성 증가가 실제 재사용 이점이므로 오답 / ②는 프로젝트 문서 공유가 실제 이점이므로 오답 / ③은 소프트웨어 품질 향상이 실제 이점이므로 오답.
소프트웨어 설치 매뉴얼에 포함될 항목이 아닌 것은?
- ① 제품 소프트웨어 개요
- ② 설치 관련 파일
- ③ 프로그램 삭제
- ④ 소프트웨어 개발 기간
정답 확인
정답 ④ - 설치 매뉴얼 항목은 개요, 설치 관련 파일, 설치 아이콘, 프로그램 삭제, 관련 추가 정보이다. 개발 기간은 해당하지 않는다. 오답 노트 - ①은 제품 소프트웨어 개요가 실제 항목이므로 오답 / ②는 설치 관련 파일이 실제 항목이므로 오답 / ③은 프로그램 삭제가 실제 항목이므로 오답.
다음 중 블랙박스 검사 기법은?
- ① 경계값 분석
- ② 조건 검사
- ③ 기초 경로 검사
- ④ 루프 검사
정답 확인
정답 ① - 블랙박스 테스트는 동치 분할, 경계값 분석, 원인-효과 그래프, 오류 예측, 비교 검사이다. 조건·기초경로·루프 검사는 화이트박스 기법이다. 오답 노트 - ②는 조건 검사가 화이트박스 기법이므로 오답 / ③은 기초 경로 검사가 화이트박스 기법이므로 오답 / ④는 루프 검사가 화이트박스 기법이므로 오답.
화이트박스 검사 기법에 해당하는 것으로만 짝지어진 것은? (㉠데이터흐름검사 ㉡루프검사 ㉢동등분할검사 ㉣경계값분석 ㉤원인결과그래프기법 ㉥오류예측기법)
- ① ㉠, ㉡
- ② ㉠, ㉣
- ③ ㉡, ㉤
- ④ ㉢, ㉥
정답 확인
정답 ① - 화이트박스 기법은 기초경로·조건·루프·데이터흐름 검사이다. ㉠데이터흐름검사와 ㉡루프검사가 화이트박스 기법이며 나머지는 블랙박스 기법이다. 오답 노트 - ②는 ㉣경계값분석이 블랙박스 기법이 섞여 있으므로 오답 / ③은 ㉤원인결과그래프기법이 블랙박스 기법이 섞여 있으므로 오답 / ④는 ㉢동등분할검사와 ㉥오류예측기법 둘 다 블랙박스 기법이므로 오답.
형상 관리 도구의 주요 기능으로 거리가 먼 것은?
- ① 정규화(Normalization)
- ② 체크인(Check-in)
- ③ 체크아웃(Check-out)
- ④ 커밋(Commit)
정답 확인
정답 ① - 형상관리 주요 기능은 저장소, 가져오기, 체크아웃, 체크인, 커밋, 동기화이다. 정규화는 DB 설계 개념으로 무관하다. 오답 노트 - ②는 체크인이 실제 형상관리 기능이므로 오답 / ③은 체크아웃이 실제 형상관리 기능이므로 오답 / ④는 커밋이 실제 형상관리 기능이므로 오답.
반정규화(Denormalization) 유형 중 중복 테이블을 추가하는 방법에 해당하지 않는 것은?
- ① 빌드 테이블의 추가
- ② 집계 테이블의 추가
- ③ 진행 테이블의 추가
- ④ 특정 부분만을 포함하는 테이블 추가
정답 확인
정답 ① - 중복 테이블 추가 방법은 집계 테이블, 진행 테이블, 특정 부분 포함 테이블 추가이다. 빌드 테이블은 해당하지 않는다. 오답 노트 - ②는 집계 테이블 추가가 실제 반정규화 방법이므로 오답 / ③은 진행 테이블 추가가 실제 방법이므로 오답 / ④는 특정 부분만 포함하는 테이블 추가가 실제 방법이므로 오답.
테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
- ① 스텁(Stub)과 드라이버(Driver)
- ② 입력 도메인 분석
- ③ 랜덤(Random) 테스트
- ④ 자료 흐름도
정답 확인
정답 ① - 테스트 케이스 생성 도구 방법은 자료흐름도, 기능 테스트, 입력 도메인 분석, 랜덤 테스트이다. 스텁과 드라이버는 테스트 환경 구성 도구이다. 오답 노트 - ②는 입력 도메인 분석이 실제 테스트 데이터 발견 방법이므로 오답 / ③은 랜덤 테스트가 실제 방법이므로 오답 / ④는 자료 흐름도가 실제 방법이므로 오답.
E-R 다이어그램의 표기법으로 옳지 않은 것은?
- ① 개체 타입 - 사각형
- ② 속성 - 타원
- ③ 관계 집합 - 삼각형
- ④ 개체 타입과 속성을 연결 - 선
정답 확인
정답 ③ - 관계(Relationship) 타입은 마름모로 표기하며 삼각형이 아니다. 오답 노트 - ①은 개체 타입을 사각형으로 표기하는 것이 옳으므로 오답 / ②는 속성을 타원으로 표기하는 것이 옳으므로 오답 / ④는 개체 타입과 속성을 선으로 연결하는 것이 옳으므로 오답.
스택(STACK)의 응용 분야로 거리가 먼 것은?
- ① 인터럽트의 처리
- ② 수식의 계산
- ③ 서브루틴의 복귀 번지 저장
- ④ 운영체제의 작업 스케줄링
정답 확인
정답 ④ - 스택 응용 분야는 함수 호출 제어, 인터럽트 처리, 수식 계산, 언어 번역, 복귀주소 저장이다. 작업 스케줄링은 큐를 활용한다. 오답 노트 - ①은 인터럽트 처리가 실제 스택 응용 분야이므로 오답 / ②는 수식 계산이 실제 스택 응용 분야이므로 오답 / ③은 서브루틴 복귀 번지 저장이 실제 스택 응용 분야이므로 오답.
다음 중 스택을 이용한 연산과 거리가 먼 것은?
- ① 선택 정렬
- ② 재귀 호출
- ③ 후위 표현(Post-Fix Expression)의 연산
- ④ 깊이 우선 탐색
정답 확인
정답 ① - 스택은 재귀 호출, 후위 표기법, 깊이 우선 탐색처럼 되돌아가는 경우에 사용한다. 선택 정렬은 스택과 무관하다. 오답 노트 - ②는 재귀 호출이 스택을 이용하므로 오답 / ③은 후위 표현 연산이 스택을 이용하므로 오답 / ④는 깊이 우선 탐색이 스택(또는 재귀)을 이용하므로 오답.
다음 중 선형 구조로만 묶인 것은?
- ① 스택, 트리
- ② 큐, 데크
- ③ 큐, 그래프
- ④ 리스트, 그래프
정답 확인
정답 ② - 선형 구조는 배열, 선형 리스트, 스택, 큐, 데크이며 트리·그래프는 비선형 구조이다. 큐와 데크가 모두 선형 구조이다. 오답 노트 - ①은 트리가 비선형 구조이므로 오답 / ③은 그래프가 비선형 구조이므로 오답 / ④는 그래프가 비선형 구조이므로 오답(리스트는 선형이나 그래프가 섞여 있음).
소스 코드 품질 분석 도구 중 정적 분석 도구가 아닌 것은?
- ① pmd
- ② checkstyle
- ③ valMeter
- ④ cppcheck
정답 확인
정답 ③ - 정적 분석 도구는 pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등이다. valMeter는 존재하지 않는 도구이다. 오답 노트 - ①은 pmd가 실제 정적 분석 도구이므로 오답 / ②는 checkstyle이 실제 정적 분석 도구이므로 오답 / ④는 cppcheck가 실제 정적 분석 도구이므로 오답.
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 것으로 거리가 먼 것은?
- ① IPSec
- ② SSL
- ③ SMTP
- ④ S-HTTP
정답 확인
정답 ③ - 네트워크 영역 인터페이스 보안 기술은 IPSec, SSL, S-HTTP이다. SMTP는 메일 전송 프로토콜로 보안 기술이 아니다. 오답 노트 - ①은 IPSec이 실제 네트워크 보안 기술이므로 오답 / ②는 SSL이 실제 네트워크 보안 기술이므로 오답 / ④는 S-HTTP가 실제 네트워크 보안 기술이므로 오답.
다음 중 단위 테스트 도구로 사용될 수 없는 것은?
- ① CppUnit
- ② JUnit
- ③ HttpUnit
- ④ IgpUnit
정답 확인
정답 ④ - xUnit 계열 도구는 JUnit, CppUnit, NUnit, HttpUnit 등이다. IgpUnit은 존재하지 않는다. 오답 노트 - ①은 CppUnit이 실제 xUnit 계열 도구이므로 오답 / ②는 JUnit이 실제 도구이므로 오답 / ③은 HttpUnit이 실제 도구이므로 오답.
정보 시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항으로 가장 거리가 먼 것은?
- ① 개발 정보 시스템의 특성
- ② 사용자의 요구사항
- ③ 컴파일러의 가용성
- ④ 컴파일러의 독창성
정답 확인
정답 ④ - 언어 선정 기준에는 컴파일러의 이용 가능성(가용성)이 있으나 '독창성'은 기준이 아니다. 오답 노트 - ①은 개발 정보 시스템의 특성이 실제 고려사항이므로 오답 / ②는 사용자의 요구사항이 실제 고려사항이므로 오답 / ③은 컴파일러의 가용성이 실제 고려사항이므로 오답.
분산 데이터베이스의 투명성(Transparency)에 해당하지 않는 것은?
- ① Location Transparency
- ② Replication Transparency
- ③ Failure Transparency
- ④ Media Access Transparency
정답 확인
정답 ④ - 분산 DB 목표는 위치, 중복, 병행, 장애 투명성이다. Media Access Transparency는 해당하지 않는다. 오답 노트 - ①은 위치 투명성이 실제 분산 DB 투명성이므로 오답 / ②는 중복 투명성이 실제 투명성이므로 오답 / ③은 장애 투명성이 실제 투명성이므로 오답.
소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것은?
- ① 프로젝트 요구 분석서
- ② 소스 코드
- ③ 운영 및 설치 지침서
- ④ 프로젝트 개발 비용
정답 확인
정답 ④ - 형상관리 항목은 소스 코드, 분석서, 지침서, 설계서, 계획서, 프로그램, 테스트 케이스 등이다. 개발 비용은 해당하지 않는다. 오답 노트 - ①은 요구 분석서가 실제 형상관리 항목이므로 오답 / ②는 소스 코드가 실제 항목이므로 오답 / ③은 운영 및 설치 지침서가 실제 항목이므로 오답.
병렬 데이터베이스 환경 중 수평 분할에서 활용되는 분할 기법이 아닌 것은?
- ① 라운드-로빈 분할
- ② 범위 분할
- ③ 예측 분할
- ④ 해시 분할
정답 확인
정답 ③ - 파티션 종류는 범위, 해시, 조합, 목록, 라운드로빈 분할이다. 예측 분할은 해당하지 않는다. 오답 노트 - ①은 라운드로빈 분할이 실제 분할 기법이므로 오답 / ②는 범위 분할이 실제 분할 기법이므로 오답 / ④는 해시 분할이 실제 분할 기법이므로 오답.
알고리즘 설계 기법으로 거리가 먼 것은?
- ① Divide and Conquer
- ② Greedy
- ③ Static Block
- ④ Backtracking
정답 확인
정답 ③ - 알고리즘 설계 기법은 분할정복, 동적계획법, 탐욕(Greedy), 백트래킹이다. Static Block은 해당하지 않는다. 오답 노트 - ①은 Divide and Conquer(분할정복)가 실제 알고리즘 설계 기법이므로 오답 / ②는 Greedy가 실제 기법이므로 오답 / ④는 Backtracking이 실제 기법이므로 오답.
EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?
- ① Point-to-Point
- ② Hub & Spoke
- ③ Message Bus
- ④ Tree
정답 확인
정답 ④ - EAI 구축 유형은 Point-to-Point, Hub&Spoke, Message Bus(ESB), Hybrid이다. Tree는 해당하지 않는다. 오답 노트 - ①은 Point-to-Point가 실제 EAI 유형이므로 오답 / ②는 Hub & Spoke가 실제 유형이므로 오답 / ③은 Message Bus가 실제 유형이므로 오답.
인터페이스 구현 검증 도구가 아닌 것은?
- ① ESB
- ② xUnit
- ③ STAF
- ④ NTAF
정답 확인
정답 ① - 인터페이스 구현 검증 도구는 xUnit, STAF, FitNesse, NTAF, Selenium, watir이다. ESB는 통합 미들웨어이지 검증 도구가 아니다. 오답 노트 - ②는 xUnit이 실제 검증 도구이므로 오답 / ③은 STAF가 실제 검증 도구이므로 오답 / ④는 NTAF가 실제 검증 도구이므로 오답.
데이터 속성 간의 종속성에 대한 엄밀한 고려 없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 각종 이상 현상이 발생할 수 있는데, 이러한 이상 현상이 아닌 것은?
- ① 검색 이상
- ② 삽입 이상
- ③ 삭제 이상
- ④ 갱신 이상
정답 확인
정답 ① - 이상 현상은 삽입, 삭제, 갱신 이상 3가지이다. 검색 이상은 해당하지 않는다. 오답 노트 - ②는 삽입 이상이 실제 이상 현상이므로 오답 / ③은 삭제 이상이 실제 이상 현상이므로 오답 / ④는 갱신 이상이 실제 이상 현상이므로 오답.
다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은?
- ① 알고리즘 오류에 따른 원치 않는 결과
- ② 탈출구가 없는 반복문의 사용
- ③ 모듈 간의 비정상적 상호 작용으로 인한 원치 않는 결과
- ④ 틀린 계산 수식에 의한 잘못된 결과
정답 확인
정답 ③ - 단위 테스트는 알고리즘 오류, 무한 반복문, 잘못된 계산식을 발견한다. 모듈 간 상호작용 오류는 통합 테스트에서 발견한다. 오답 노트 - ①은 알고리즘 오류가 단위 테스트로 발견 가능하므로 오답 / ②는 탈출구 없는 반복문이 단위 테스트로 발견 가능하므로 오답 / ④는 틀린 계산 수식이 단위 테스트로 발견 가능하므로 오답.
물리데이터 저장소의 파티션 설계에서 파티션 유형으로 옳지 않은 것은?
- ① 범위 분할(Range Partitioning)
- ② 해시 분할(Hash Partitioning)
- ③ 조합 분할(Composite Partitioning)
- ④ 유닛 분할(Unit Partitioning)
정답 확인
정답 ④ - 파티션 종류는 범위, 해시, 조합, 목록, 라운드로빈 분할이다. 유닛 분할은 해당하지 않는다. 오답 노트 - ①은 범위 분할이 실제 파티션 유형이므로 오답 / ②는 해시 분할이 실제 파티션 유형이므로 오답 / ③은 조합 분할이 실제 파티션 유형이므로 오답.
해싱 함수(Hashing Function)의 종류가 아닌 것은?
- ① 제곱법(Mid-Square)
- ② 숫자 분석법(Digit Analysis)
- ③ 개방 주소법(Open Addressing)
- ④ 제산법(Division)
정답 확인
정답 ③ - 해싱 함수는 제산법, 제곱법, 폴딩법, 기수변환법, 대수적코딩법, 숫자분석법, 무작위법이다. 개방 주소법은 충돌 해결 기법이지 해싱 함수가 아니다. 오답 노트 - ①은 제곱법이 실제 해싱 함수이므로 오답 / ②는 숫자 분석법이 실제 해싱 함수이므로 오답 / ④는 제산법이 실제 해싱 함수이므로 오답.
다음 중 클린 코드 작성 원칙으로 거리가 먼 것은?
- ① 누구든지 쉽게 이해하는 코드 작성
- ② 중복이 최대화된 코드 작성
- ③ 다른 모듈에 미치는 영향 최소화
- ④ 단순, 명료한 코드 작성
정답 확인
정답 ② - 클린 코드 원칙은 가독성, 단순성, 의존성 배제, 중복성 최소화, 추상화이다. 중복 최대화는 원칙에 반한다. 오답 노트 - ①은 누구든지 쉽게 이해하는 코드 작성이 실제 원칙이므로 오답 / ③은 다른 모듈에 미치는 영향 최소화가 실제 원칙이므로 오답 / ④는 단순, 명료한 코드 작성이 실제 원칙이므로 오답.
관계대수의 순수 관계 연산자가 아닌 것은?
- ① Select
- ② Cartesian Product
- ③ Division
- ④ Project
정답 확인
정답 ② - 순수 관계 연산자는 Select, Project, Join, Division이다. Cartesian Product는 일반 집합 연산자이다. 오답 노트 - ①은 Select가 순수 관계 연산자이므로 오답 / ③은 Division이 순수 관계 연산자이므로 오답 / ④는 Project가 순수 관계 연산자이므로 오답.
디지털 저작권 관리(DRM)의 기술 요소가 아닌 것은?
- ① 크랙 방지 기술
- ② 정책 관리 기술
- ③ 암호화 기술
- ④ 방화벽 기술
정답 확인
정답 ④ - DRM 기술 요소는 암호화, 키 관리, 식별 기술, 저작권 표현, 정책 관리, 크랙 방지, 인증 등이다. 방화벽 기술은 해당하지 않는다. 오답 노트 - ①은 크랙 방지 기술이 실제 DRM 요소이므로 오답 / ②는 정책 관리 기술이 실제 DRM 요소이므로 오답 / ③은 암호화 기술이 실제 DRM 요소이므로 오답.
데이터 모델에 표시해야 할 요소로 거리가 먼 것은?
- ① 논리적 데이터 구조
- ② 출력 구조
- ③ 연산
- ④ 제약 조건
정답 확인
정답 ② - 데이터 모델 표시 요소는 구조(Structure), 연산(Operation), 제약 조건(Constraint)이다. 출력 구조는 해당하지 않는다. 오답 노트 - ①은 논리적 데이터 구조가 실제 표시 요소이므로 오답 / ③은 연산이 실제 표시 요소이므로 오답 / ④는 제약 조건이 실제 표시 요소이므로 오답.
소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?
- ① 위험 부담 감소
- ② 비용 절감
- ③ 시스템 명세의 오류 억제
- ④ 개발 시간의 증가
정답 확인
정답 ④ - 재공학의 장점은 수명 연장, 기술 향상, 개발 기간 단축, 오류 감소, 비용 절감, 위험 감소이다. 개발 시간 증가는 장점이 아니라 단점 방향이다. 오답 노트 - ①은 위험 부담 감소가 실제 재공학 장점이므로 오답 / ②는 비용 절감이 실제 장점이므로 오답 / ③은 시스템 명세의 오류 억제가 실제 장점이므로 오답.
테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?
- ① 테스트 조건
- ② 테스트 데이터
- ③ 테스트 비용
- ④ 예상 결과
정답 확인
정답 ③ - 테스트 케이스 기본 항목은 입력 데이터, 테스트 조건, 예상 결과이다. 테스트 비용은 해당하지 않는다. 오답 노트 - ①은 테스트 조건이 실제 항목이므로 오답 / ②는 테스트 데이터가 실제 항목이므로 오답 / ④는 예상 결과가 실제 항목이므로 오답.
교착상태가 발생할 수 있는 조건이 아닌 것은?
- ① Mutual exclusion
- ② Hold and wait
- ③ Non-preemption
- ④ Linear wait
정답 확인
정답 ④ - 교착상태 발생 조건은 상호 배제, 점유와 대기, 비선점, 환형 대기(Circular Wait)이다. Linear wait는 존재하지 않는다. 오답 노트 - ①은 Mutual exclusion(상호 배제)이 실제 발생 조건이므로 오답 / ②는 Hold and wait(점유와 대기)가 실제 조건이므로 오답 / ③은 Non-preemption(비선점)이 실제 조건이므로 오답. 네 번째 조건은 Linear wait가 아니라 Circular wait(환형 대기)이다.
공통 모듈의 재사용 범위에 따른 분류가 아닌 것은?
- ① 컴포넌트 재사용
- ② 더미코드 재사용
- ③ 함수와 객체 재사용
- ④ 애플리케이션 재사용
정답 확인
정답 ② - 재사용 규모 분류는 함수와 객체, 컴포넌트, 애플리케이션이다. 더미코드 재사용은 해당하지 않는다. 오답 노트 - ①은 컴포넌트 재사용이 실제 분류이므로 오답 / ③은 함수와 객체 재사용이 실제 분류이므로 오답 / ④는 애플리케이션 재사용이 실제 분류이므로 오답.
C 언어에서 비트 논리 연산자에 해당하지 않는 것은?
- ① ^
- ② ?
- ③ &
- ④ ~
정답 확인
정답 ② - C 비트 연산자는 &, ^, |, ~, <<, >>이다. ?는 삼항 조건 연산자이지 비트 연산자가 아니다. 오답 노트 - ①은 ^(XOR)가 실제 비트 연산자이므로 오답 / ③은 &(AND)가 실제 비트 연산자이므로 오답 / ④는 ~(비트 반전)이 실제 비트 연산자이므로 오답.
C 언어에서 산술 연산자가 아닌 것은?
- ① %
- ② *
- ③ /
- ④ =
정답 확인
정답 ④ - C 산술 연산자는 +, -, *, /, %이다. =는 대입 연산자이다. 오답 노트 - ①은 %(나머지)가 실제 산술 연산자이므로 오답 / ②는 *(곱셈)가 실제 산술 연산자이므로 오답 / ③은 /(나눗셈)가 실제 산술 연산자이므로 오답.
다음 중 bash 쉘 스크립트에서 사용할 수 있는 제어문이 아닌 것은?
- ① if
- ② for
- ③ repeat_do
- ④ while
정답 확인
정답 ③ - 쉘 스크립트 제어문은 반복문(for, while, until), 조건문(if, case)이다. repeat_do는 존재하지 않는다. 오답 노트 - ①은 if가 실제 조건문이므로 오답 / ②는 for가 실제 반복문이므로 오답 / ④는 while이 실제 반복문이므로 오답.
Java에서 사용되는 출력 함수가 아닌 것은?
- ① System.out.print( )
- ② System.out.println( )
- ③ System.out.printing( )
- ④ System.out.printf( )
정답 확인
정답 ③ - Java의 대표 출력 메소드는 print(), println(), printf()이다. printing()은 존재하지 않는다. 오답 노트 - ①은 print()가 실제 출력 메소드이므로 오답 / ②는 println()이 실제 출력 메소드이므로 오답 / ④는 printf()가 실제 출력 메소드이므로 오답.
자바에서 사용하는 접근 제어자의 종류가 아닌 것은?
- ① internal
- ② private
- ③ default
- ④ public
정답 확인
정답 ① - internal은 C#의 접근 제한자이다. 오답 노트 - ②는 private가 실제 자바 접근 제어자이므로 오답 / ③은 default가 실제 접근 제어자이므로 오답 / ④는 public이 실제 접근 제어자이므로 오답.
PHP에서 사용 가능한 연산자가 아닌 것은?
- ① @
- ② #
- ③ <>
- ④ ===
정답 확인
정답 ② - PHP 연산자는 +,-,*,/,%,@,< >,=,==,=== 등이다. #은 주석 기호이지 연산자가 아니다. 오답 노트 - ①은 @(에러 제어 연산자)가 실제 PHP 연산자이므로 오답 / ③은 <>(부등호 비교)가 실제 PHP 연산자이므로 오답 / ④는 ===(일치 비교)가 실제 PHP 연산자이므로 오답.
운영체제에서 커널의 기능이 아닌 것은?
- ① 프로세스 생성, 종료
- ② 사용자 인터페이스
- ③ 기억장치 할당, 회수
- ④ 파일 시스템 관리
정답 확인
정답 ② - 커널 기능은 프로세스·기억장치·파일 관리, 프로세스 간 통신, 데이터 변환이다. 사용자 인터페이스는 쉘(Shell)의 역할이다. 오답 노트 - ①은 프로세스 생성·종료가 실제 커널 기능이므로 오답 / ③은 기억장치 할당·회수가 실제 커널 기능이므로 오답 / ④는 파일 시스템 관리가 실제 커널 기능이므로 오답.
운영체제를 기능에 따라 분류할 경우 제어 프로그램이 아닌 것은?
- ① 데이터 관리 프로그램
- ② 서비스 프로그램
- ③ 작업 제어 프로그램
- ④ 감시 프로그램
정답 확인
정답 ② - 제어 프로그램은 감시, 작업 관리, 데이터 관리 프로그램이다. 서비스 프로그램은 처리 프로그램에 속한다. 오답 노트 - ①은 데이터 관리 프로그램이 실제 제어 프로그램이므로 오답 / ③은 작업 제어 프로그램이 실제 제어 프로그램이므로 오답 / ④는 감시 프로그램이 실제 제어 프로그램이므로 오답.
UNIX SHELL 환경 변수를 출력하는 명령어가 아닌 것은?
- ① configenv
- ② printenv
- ③ env
- ④ setenv
정답 확인
정답 ① - 환경 변수 표시 명령어는 set, env, printenv, setenv이다. configenv는 존재하지 않는다. 오답 노트 - ②는 printenv가 실제 명령어이므로 오답 / ③은 env가 실제 명령어이므로 오답 / ④는 setenv가 실제 명령어이므로 오답.
스크립트 언어가 아닌 것은?
- ① PHP
- ② Cobol
- ③ Basic
- ④ Python
정답 확인
정답 ② - 서버용 스크립트 언어는 ASP, JSP, PHP, Python, Perl, Ruby 등이다. Cobol은 컴파일 언어이지 스크립트 언어가 아니다. 오답 노트 - ①은 PHP가 실제 스크립트 언어이므로 오답 / ③은 Basic이 인터프리터 방식의 스크립트성 언어이므로 오답 / ④는 Python이 실제 스크립트 언어이므로 오답.
SQL의 논리 연산자가 아닌 것은?
- ① AND
- ② OTHER
- ③ OR
- ④ NOT
정답 확인
정답 ② - SQL 논리 연산자는 AND, OR, NOT이다. OTHER는 존재하지 않는다. 오답 노트 - ①은 AND가 실제 논리 연산자이므로 오답 / ③은 OR가 실제 논리 연산자이므로 오답 / ④는 NOT이 실제 논리 연산자이므로 오답.
SQL의 명령어를 DCL, DML, DDL로 구분할 경우, 다음 중 성격이 다른 하나는?
- ① CREATE
- ② SELECT
- ③ ALTER
- ④ DROP
정답 확인
정답 ② - CREATE, ALTER, DROP은 DDL이고 SELECT는 DML이다. 오답 노트 - ①은 CREATE가 DDL이므로 오답 / ③은 ALTER가 DDL이므로 오답 / ④는 DROP이 DDL이므로 오답.
프로세스 상태의 종류가 아닌 것은?
- ① Ready
- ② Running
- ③ Request
- ④ Exit
정답 확인
정답 ③ - 프로세스 상태는 제출, 접수, 준비(Ready), 실행(Run), 대기, 종료(Exit)이다. Request는 해당하지 않는다. 오답 노트 - ①은 Ready가 실제 프로세스 상태이므로 오답 / ②는 Running이 실제 프로세스 상태이므로 오답 / ④는 Exit이 실제 프로세스 상태이므로 오답.
오류 제어에 사용되는 자동 반복 요청 방식(ARQ)이 아닌 것은?
- ① Stop-and-wait ARQ
- ② Go-back-N ARQ
- ③ Selective-Repeat ARQ
- ④ Non-Acknowledge ARQ
정답 확인
정답 ④ - ARQ 종류는 Stop-and-wait, Go-back-N, Selective-Repeat, Adaptive ARQ이다. Non-Acknowledge ARQ는 존재하지 않는다. 오답 노트 - ①은 Stop-and-wait ARQ가 실제 방식이므로 오답 / ②는 Go-back-N ARQ가 실제 방식이므로 오답 / ③은 Selective-Repeat ARQ가 실제 방식이므로 오답.
WAS(Web Application Server)가 아닌 것은?
- ① JEUS
- ② JVM
- ③ Tomcat
- ④ WebSphere
정답 확인
정답 ② - WAS 종류는 Tomcat, GlassFish, JBoss, Jetty, JEUS, Resin, WebLogic, WebSphere 등이다. JVM은 자바 실행 환경이지 WAS가 아니다. 오답 노트 - ①은 JEUS가 실제 WAS이므로 오답 / ③은 Tomcat이 실제 WAS이므로 오답 / ④는 WebSphere가 실제 WAS이므로 오답.
다음 중 페이지 교체(Page Replacement) 알고리즘이 아닌 것은?
- ① FIFO(First-In-First-Out)
- ② LUF(Least Used First)
- ③ Optimal
- ④ LRU(Least Recently Used)
정답 확인
정답 ② - 페이지 교체 알고리즘은 OPT, FIFO, LRU, LFU, NUR, SCR 등이다. LUF는 존재하지 않는다(LFU와 혼동 유도). 오답 노트 - ①은 FIFO가 실제 페이지 교체 알고리즘이므로 오답 / ③은 Optimal이 실제 알고리즘이므로 오답 / ④는 LRU가 실제 알고리즘이므로 오답.
데이터웨어하우스의 기본적인 OLAP(On-Line Analytical Processing) 연산이 아닌 것은?
- ① Translate
- ② Roll-Up
- ③ Dicing
- ④ Drill-Down
정답 확인
정답 ① - OLAP 연산은 Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing이다. Translate는 해당하지 않는다. 오답 노트 - ②는 Roll-Up이 실제 OLAP 연산이므로 오답 / ③은 Dicing이 실제 OLAP 연산이므로 오답 / ④는 Drill-Down이 실제 OLAP 연산이므로 오답.
IPv6의 주소 체계로 거리가 먼 것은?
- ① Unicast
- ② Anycast
- ③ Broadcast
- ④ Multicast
정답 확인
정답 ③ - IPv6 주소 체계는 유니캐스트, 멀티캐스트, 애니캐스트이다. IPv6에는 Broadcast가 없다. 오답 노트 - ①은 Unicast가 실제 IPv6 주소 체계이므로 오답 / ②는 Anycast가 실제 주소 체계이므로 오답 / ④는 Multicast가 실제 주소 체계이므로 오답.
병행제어 기법의 종류가 아닌 것은?
- ① 로킹 기법
- ② 시분할 기법
- ③ 타임 스탬프 기법
- ④ 다중 버전 기법
정답 확인
정답 ② - 병행제어 기법은 로킹, 타임스탬프 순서, 낙관적(검증) 기법, 다중 버전 기법이다. 시분할 기법은 CPU 스케줄링 개념이다. 오답 노트 - ①은 로킹 기법이 실제 병행제어 기법이므로 오답 / ③은 타임 스탬프 기법이 실제 병행제어 기법이므로 오답 / ④는 다중 버전 기법이 실제 병행제어 기법이므로 오답.
개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
- ① Ant
- ② Kerberos
- ③ Maven
- ④ Gradle
정답 확인
정답 ② - 빌드 자동화 도구는 Ant, Maven, Gradle, Make, Jenkins 등이다. Kerberos는 인증 프로토콜이다. 오답 노트 - ①은 Ant가 실제 빌드 도구이므로 오답 / ③은 Maven이 실제 빌드 도구이므로 오답 / ④는 Gradle이 실제 빌드 도구이므로 오답.
OSI 7계층 중 데이터 링크 계층에 해당되는 프로토콜이 아닌 것은?
- ① HTTP
- ② HDLC
- ③ PPP
- ④ LLC
정답 확인
정답 ① - 데이터 링크 계층 프로토콜은 HDLC, LAPB, LLC, MAC, LAPD, PPP이다. HTTP는 응용 계층 프로토콜이다. 오답 노트 - ②는 HDLC가 실제 데이터 링크 계층 프로토콜이므로 오답 / ③은 PPP가 실제 데이터 링크 계층 프로토콜이므로 오답 / ④는 LLC가 실제 데이터 링크 계층 프로토콜이므로 오답.
다음 중 SQL의 집계 함수(Aggregation Function)가 아닌 것은?
- ① AVG
- ② COUNT
- ③ SUM
- ④ CREATE
정답 확인
정답 ④ - 집계 함수는 COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIANCE이다. CREATE는 DDL 명령어이다. 오답 노트 - ①은 AVG가 실제 집계 함수이므로 오답 / ②는 COUNT가 실제 집계 함수이므로 오답 / ③은 SUM이 실제 집계 함수이므로 오답.
TCP/IP 프로토콜 중 전송 계층 프로토콜은?
- ① HTTP
- ② SMTP
- ③ FTP
- ④ TCP
정답 확인
정답 ④ - TCP/IP 전송 계층 프로토콜은 TCP, UDP, RTCP이다. HTTP·SMTP·FTP는 응용 계층 프로토콜이다. 오답 노트 - ①은 HTTP가 응용 계층 프로토콜이므로 오답 / ②는 SMTP가 응용 계층 프로토콜이므로 오답 / ③은 FTP가 응용 계층 프로토콜이므로 오답.
소프트웨어 개발 프레임워크를 적용할 경우 기대 효과로 거리가 먼 것은?
- ① 품질 보증
- ② 시스템 복잡도 증가
- ③ 개발 용이성
- ④ 변경 용이성
정답 확인
정답 ② - 프레임워크 적용 기대 효과는 품질 보증, 개발·변경 용이성, 시스템 복잡도 감소이다. 복잡도 증가는 반대 효과이다. 오답 노트 - ①은 품질 보증이 실제 기대 효과이므로 오답 / ③은 개발 용이성이 실제 기대 효과이므로 오답 / ④는 변경 용이성이 실제 기대 효과이므로 오답.
블록 암호화 방식이 아닌 것은?
- ① DES
- ② RC4
- ③ AES
- ④ SEED
정답 확인
정답 ② - 블록 암호화 방식은 DES, SEED, AES, ARIA이다. RC4는 스트림 암호화 방식이다. 오답 노트 - ①은 DES가 실제 블록 암호화 방식이므로 오답 / ③은 AES가 실제 블록 암호화 방식이므로 오답 / ④는 SEED가 실제 블록 암호화 방식이므로 오답.
CMM(Capability Maturity Model) 모델의 레벨로 옳지 않은 것은?
- ① 최적 단계
- ② 관리 단계
- ③ 계획 단계
- ④ 정의 단계
정답 확인
정답 ③ - CMMI 성숙도 5단계는 초기, 관리, 정의, 정량적 관리, 최적화이다. 계획 단계는 해당하지 않는다. 오답 노트 - ①은 최적 단계가 실제 CMMI 단계이므로 오답 / ②는 관리 단계가 실제 CMMI 단계이므로 오답 / ④는 정의 단계가 실제 CMMI 단계이므로 오답.
나선형(Spiral) 모형의 주요 태스크에 해당되지 않는 것은?
- ① 버전 관리
- ② 위험 분석
- ③ 개발
- ④ 평가
정답 확인
정답 ① - 나선형 모형의 주요 태스크는 계획 수립, 위험 분석, 개발 및 검증, 고객 평가이다. 버전 관리는 해당하지 않는다. 오답 노트 - ②는 위험 분석이 실제 나선형 모형 태스크이므로 오답 / ③은 개발이 실제 태스크이므로 오답 / ④는 평가가 실제 태스크이므로 오답.
취약점 관리를 위해 일반적으로 수행하는 작업이 아닌 것은?
- ① 무결성 검사
- ② 응용 프로그램의 보안 설정 및 패치(Patch) 적용
- ③ 중단 프로세스 및 닫힌 포트 위주로 확인
- ④ 불필요한 서비스 및 악성 프로그램의 확인과 제거
정답 확인
정답 ③ - 취약점 관리는 무결성 검사, 보안 설정·패치, '동작 중인' 프로세스 및 '열린' 포트 확인, 로그 분석 등이다. 중단된 프로세스·닫힌 포트 확인이 아니다. 오답 노트 - ①은 무결성 검사가 실제 취약점 관리 작업이므로 오답 / ②는 보안 설정 및 패치 적용이 실제 작업이므로 오답 / ④는 불필요한 서비스 및 악성 프로그램의 확인과 제거가 실제 작업이므로 오답.
정보 보안의 3요소에 해당하지 않는 것은?
- ① 기밀성
- ② 무결성
- ③ 가용성
- ④ 휘발성
정답 확인
정답 ④ - 정보 보안 3대 요소는 기밀성, 무결성, 가용성이다. 휘발성은 해당하지 않는다. 오답 노트 - ①은 기밀성이 실제 3요소이므로 오답 / ②는 무결성이 실제 3요소이므로 오답 / ③은 가용성이 실제 3요소이므로 오답.
CBD(Component Based Development) SW 개발 표준 산출물 중 분석 단계에 해당하는 것은?
- ① 클래스 설계서
- ② 통합시험 결과서
- ③ 프로그램 코드
- ④ 사용자 요구사항 정의서
정답 확인
정답 ④ - 분석 단계 산출물은 사용자 요구사항 정의서, 유스케이스 명세서, 요구사항 추적표이다. 클래스 설계서는 설계, 프로그램 코드는 구현, 통합시험 결과서는 시험 단계 산출물이다. 오답 노트 - ①은 클래스 설계서가 설계 단계 산출물이므로 오답 / ②는 통합시험 결과서가 시험 단계 산출물이므로 오답 / ③은 프로그램 코드가 구현 단계 산출물이므로 오답.
정보 보안을 위한 접근통제 정책 종류에 해당하지 않는 것은?
- ① 임의적 접근 통제
- ② 데이터 전환 접근 통제
- ③ 강제적 접근 통제
- ④ 역할 기반 접근 통제
정답 확인
정답 ② - 접근통제 기술은 DAC(임의), MAC(강제), RBAC(역할기반)이다. 데이터 전환 접근 통제는 존재하지 않는다. 오답 노트 - ①은 임의적 접근 통제(DAC)가 실제 정책이므로 오답 / ③은 강제적 접근 통제(MAC)가 실제 정책이므로 오답 / ④는 역할 기반 접근 통제(RBAC)가 실제 정책이므로 오답.
Secure OS의 보안 기능으로 거리가 먼 것은?
- ① 식별 및 인증
- ② 임의적 접근 통제
- ③ 고가용성 지원
- ④ 강제적 접근 통제
정답 확인
정답 ③ - Secure OS 보안 기능은 식별·인증, 임의적·강제적 접근 통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 기록 축소이다. 고가용성 지원은 해당하지 않는다. 오답 노트 - ①은 식별 및 인증이 실제 보안 기능이므로 오답 / ②는 임의적 접근 통제가 실제 보안 기능이므로 오답 / ④는 강제적 접근 통제가 실제 보안 기능이므로 오답.
기능 점수(Functional Point) 모형에서 비용 산정에 이용되는 요소가 아닌 것은?
- ① 클래스 인터페이스
- ② 명령어(사용자 질의수)
- ③ 데이터 파일
- ④ 출력 보고서
정답 확인
정답 ① - FP 모형 비용 산정 요인은 입력 양식, 출력 보고서, 명령어(질의수), 데이터 파일, 외부 인터페이스이다. 클래스 인터페이스는 해당하지 않는다. 오답 노트 - ②는 명령어(사용자 질의수)가 실제 산정 요소이므로 오답 / ③은 데이터 파일이 실제 산정 요소이므로 오답 / ④는 출력 보고서가 실제 산정 요소이므로 오답.
다음 암호 알고리즘 중 성격이 다른 하나는?
- ① MD4
- ② MD5
- ③ SHA-1
- ④ AES
정답 확인
정답 ④ - MD4, MD5, SHA-1은 해시 알고리즘이고 AES는 블록 암호화(대칭키) 알고리즘이다. 오답 노트 - ①은 MD4가 해시 알고리즘이므로 오답 / ②는 MD5가 해시 알고리즘이므로 오답 / ③은 SHA-1이 해시 알고리즘이므로 오답.
상향식 비용 산정 기법 중 LOC(원시 코드 라인 수) 기법에서 예측치를 구하기 위해 사용하는 항목이 아닌 것은?
- ① 낙관치
- ② 기대치
- ③ 비관치
- ④ 모형치
정답 확인
정답 ④ - LOC 기법 예측치 산출 항목은 낙관치, 비관치, 기대치이다. 모형치는 해당하지 않는다. 오답 노트 - ①은 낙관치가 실제 예측치 항목이므로 오답 / ②는 기대치가 실제 예측치 항목이므로 오답 / ③은 비관치가 실제 예측치 항목이므로 오답.
세션 하이재킹을 탐지하는 방법으로 거리가 먼 것은?
- ① FTP SYN SEGMENT 탐지
- ② 비동기화 상태 탐지
- ③ ACK STORM 탐지
- ④ 패킷의 유실 및 재전송 증가 탐지
정답 확인
정답 ① - 세션 하이재킹 탐지 방법은 비동기화 상태 탐지, ACK Storm 탐지, 패킷 유실·재전송 증가 탐지, 예상치 못한 접속 리셋 탐지이다. FTP SYN SEGMENT 탐지는 해당하지 않는다. 오답 노트 - ②는 비동기화 상태 탐지가 실제 탐지 방법이므로 오답 / ③은 ACK STORM 탐지가 실제 탐지 방법이므로 오답 / ④는 패킷의 유실 및 재전송 증가 탐지가 실제 탐지 방법이므로 오답.
COCOMO 모델의 프로젝트 유형으로 거리가 먼 것은?
- ① Organic
- ② Semi-detached
- ③ Embedded
- ④ Sequential
정답 확인
정답 ④ - COCOMO 개발 유형은 조직형(Organic), 반분리형(Semi-Detached), 내장형(Embedded)이다. Sequential은 해당하지 않는다. 오답 노트 - ①은 Organic(조직형)이 실제 COCOMO 유형이므로 오답 / ②는 Semi-detached(반분리형)가 실제 유형이므로 오답 / ③은 Embedded(내장형)가 실제 유형이므로 오답.
테일러링(Tailoring) 개발 방법론의 내부 기준에 해당하지 않는 것은?
- ① 납기/비용
- ② 기술 환경
- ③ 구성원 능력
- ④ 국제 표준 품질 기준
정답 확인
정답 ④ - 내부 기준은 목표 환경, 요구사항, 프로젝트 규모(비용·인력·기간), 보유 기술(구성원 능력 등)이다. 국제 표준 품질 기준은 외부 기준이다. 오답 노트 - ①은 납기/비용이 실제 내부 기준이므로 오답 / ②는 기술 환경이 실제 내부 기준이므로 오답 / ③은 구성원 능력이 실제 내부 기준이므로 오답.
소프트웨어 비용 추정 모형(Estimation Models)이 아닌 것은?
- ① COCOMO
- ② Putnam
- ③ Function-Point
- ④ PERT
정답 확인
정답 ④ - 수학적 산정 기법은 COCOMO, Putnam, Function-Point 모형이다. PERT는 프로젝트 일정 관리 기법이다. 오답 노트 - ①은 COCOMO가 실제 비용 추정 모형이므로 오답 / ②는 Putnam이 실제 비용 추정 모형이므로 오답 / ③은 Function-Point가 실제 비용 추정 모형이므로 오답.
서비스 지향 아키텍처 기반 애플리케이션을 구성하는 층이 아닌 것은?
- ① 표현층
- ② 프로세스층
- ③ 제어 클래스층
- ④ 비즈니스층
정답 확인
정답 ③ - SOA 구성 계층은 표현, 업무-프로세스, 서비스 중간, 애플리케이션, 데이터 저장 계층이다. 제어 클래스층은 해당하지 않는다. 오답 노트 - ①은 표현층이 실제 SOA 계층이므로 오답 / ②는 프로세스층이 실제 SOA 계층이므로 오답 / ④는 비즈니스층이 실제 SOA 계층이므로 오답.
DDoS 공격과 연관이 있는 공격 방법은?
- ① Secure shell
- ② Tribe Flood Network
- ③ Nimda
- ④ Deadlock
정답 확인
정답 ② - DDoS 공격 도구는 Trin00, TFN(Tribe Flood Network), Stacheldraht이다. 오답 노트 - ①은 Secure Shell이 원격 접속 프로토콜로 공격 도구가 아니므로 오답 / ③은 Nimda가 웜(바이러스)이지 DDoS 공격 도구가 아니므로 오답 / ④는 Deadlock이 교착상태 개념으로 공격 기법이 아니므로 오답.
ISO 12207 표준의 기본 생명 주기의 주요 프로세스에 해당하지 않는 것은?
- ① 획득 프로세스
- ② 개발 프로세스
- ③ 성능평가 프로세스
- ④ 유지보수 프로세스
정답 확인
정답 ③ - 기본 생명주기 프로세스는 획득, 공급, 개발, 운영, 유지보수이다. 성능평가 프로세스는 해당하지 않는다. 오답 노트 - ①은 획득 프로세스가 실제 기본 생명주기 프로세스이므로 오답 / ②는 개발 프로세스가 실제 기본 생명주기 프로세스이므로 오답 / ④는 유지보수 프로세스가 실제 기본 생명주기 프로세스이므로 오답.
소프트웨어 아키텍처와 관련한 설명으로 틀린 것은?
- ① 파이프 필터 아키텍처에서 데이터는 파이프를 통해 양방향으로 흐르며, 필터 이동 시 오버헤드가 발생 하지 않는다.
- ② 외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조로 볼 수 있다.
- ③ 데이터 중심 아키텍처는 공유 데이터 저장소를 통해 접근자 간의 통신이 이루어지므로 각 접근자의 수 정과 확장이 용이하다.
- ④ 이해 관계자들의 품질 요구사항을 반영하여 품질 속성을 결정한다.
정답 확인
정답 ① - 파이프필터- (Pipe-Filter) 패턴은 데이터 통로인 파이프 (Pipe) 를 이용하여 컴포넌트인 필터(Filter) 간에 데이터를 전송하는 구조로, 단방향 및 양방향 모두 구현할 수 있으며, 필터 간 이동 시 오버헤드가 발 생합니다. 나머지 보기 - ②소프트웨어 아키텍처는 외부에서 인식되는 특성이 담긴 소프트웨어의 골격 구조이므로 맞는 설명입니다. ③데이터 중심 아키텍처는 공유 저장소를 통해 접근자 간 통신하므로 수정과 확장이 용이하다는 설명이 맞습니다. ④아키텍처의 품질 속성은 이해관계자의 품질 요구사항을 반영해 결정하므로 맞는 설명입니다.
애자일 기법에 대한 설명으로 맞지 않은 것은?
- ① 절차와 도구보다 개인과 소통을 중요하게 생각한다.
- ② 계획에 중점을 두어 변경 대응이 난해하다.
- ③ 소프트웨어가 잘 실행되는데 가치를 둔다.
- ④ 고객과의 피드백을 중요하게 생각한다.
정답 확인
정답 ② - 애자일은 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 두는 개발 방법론입니다. 나머지 보기 - ①애자일 선언에서 절차와 도구보다 개인과 소통을 중시하므로 맞는 설명입니다. ③실행되는 소프트웨어 자체에 가치를 두므로 맞는 설명입니다. ④고객과의 피드백(협력)을 중시하므로 맞는 설명입니다.
디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점이 아닌 것은?
- ① 소프트웨어 코드의 품질을 향상시킬 수 있다.
- ② 개발 프로세스를 무시할 수 있다.
- ③ 개발자들 사이의 의사소통을 원활하게 할 수 있다.
- ④ 소프트웨어의 품질과 생산성을 향상시킬 수 있다.
정답 확인
정답 ② - 디자인 패턴을 이용한다고 하더라도 기존의 개발 프로세스를 무시할 수는 없습니다. 나머지 보기 - ①디자인 패턴은 검증된 해법을 재사용하므로 코드 품질을 향상시켜 맞는 설명입니다. ③패턴 이름 자체가 공통 용어가 되어 개발자 간 의사소통을 원활하게 하므로 맞는 설명입니다. ④재사용을 통해 품질과 생산성을 높이므로 맞는 설명입니다.
요구사항 관리 도구의 필요성으로 틀린 것은?
- ① 요구사항 변경으로 인한 비용 편익 분석
- ② 기존 시스템과 신규 시스템의 성능 비교
- ③ 요구사항 변경의 추적
- ④ 요구사항 변경에 따른 영향 평가
정답 확인
정답 ② - 요구사항 관리 도구는 사용자의 요구사항 정의 및 변경 사항 등을 관리하는 도구로, 성능 비교를 위해 서는 성능 테스트 도구를 사용해야 합니다. 나머지 보기 - ①요구사항 변경 시 비용 편익을 분석하는 것은 요구사항 관리 도구의 기능이므로 맞는 설명입니다. ③요구사항 변경 이력을 추적하는 것도 관리 도구의 핵심 기능이므로 맞는 설명입니다. ④변경이 다른 요구사항에 미치는 영향을 평가하는 것도 관리 도구의 기능이므로 맞는 설명입니다.
순차 다이어그램 (Sequence Diagram)과 관련한 설명으로 틀린 것은?
- ① 객체들의 상호 작용을 나타내기 위해 사용한다.
- ② 시간의 흐름에 따라 객체들이 주고 받는 메시지의 전달 과정을 강조한다.
- ③ 동적 다이어그램보다는 정적 다이어그램에 가깝다.
- ④ 교류 다이어그램 (Interaction Diagram)의 한 종류로 볼 수 있다.
정답 확인
정답 ③ - 순차 다이어그램 (Sequence Diagram)은 시간의 흐름에 따라 상호 작용하는 개체들을 표현하는 동적 다이어그램입니다. 나머지 보기 - ①시퀀스 다이어그램은 객체 간 상호 작용을 나타내므로 맞는 설명입니다. ②시간 흐름에 따른 메시지 전달 과정을 강조하므로 맞는 설명입니다. ④교류(Interaction) 다이어그램의 한 종류이므로 맞는 설명입니다.
사용자 인터페이스 (UI)의 특징으로 틀린 것은?
- ① 구현하고자 하는 결과의 오류를 최소화한다.
- ② 사용자의 편의성을 높임으로써 작업 시간을 증가시킨다.
- ③ 막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다.
- ④ 사용자 중심의 상호 작용이 되도록 한다.
정답 확인
정답 ② - 사용자 인터페이스 (UI) 는 사용자의 편리성과 가독성을 높임으로써 작업 시간을 단축시키고 업무에 대한 이해도를 높여줍니다. 나머지 보기 - ①UI는 결과의 오류를 최소화하도록 설계되므로 맞는 설명입니다. ③막연한 작업에 구체적 방법을 제시하므로 맞는 설명입니다. ④사용자 중심의 상호 작용이 되도록 하므로 맞는 설명입니다.
소프트웨어 설계에서 요구사항 분석에 대한 설명으로 틀린 것은?
- ① 소프트웨어가 무엇을 해야 하는가를 추적하여 요구사항 명세를 작성하는 작업이다.
- ② 사용자의 요구를 추출하여 목표를 정하고 어떤 방식으로 해결할 것인지 결정하는 단계이다.
- ③ 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계이다.
- ④ 소프트웨어 개발의 출발점이면서 실질적인 첫 번째 단계이다.
정답 확인
정답 ③ - 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 과정은 형상 관리입니다. 나머지 보기 - ①요구사항 명세를 작성하는 작업이므로 맞는 설명입니다. ②사용자 요구를 추출해 목표와 해결 방식을 정하는 단계이므로 맞는 설명입니다. ④소프트웨어 개발의 실질적인 첫 단계이므로 맞는 설명입니다.
설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
- ① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
- ② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 필요하다.
- ③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
- ④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
정답 확인
정답 ④ - 상향식 설계는 하위 모듈에서 상위 모듈 방향으로 설계하는 것으로 인터페이스가 이미 성립되어 있어 야만 기능 추가가 가능합니다. 나머지 보기 - ①하향식 설계는 인터페이스가 이미 정의되어 있어 통합 검사가 간단하므로 맞는 설명입니다. ②하향식 설계는 레벨이 낮은 데이터 구조의 세부 사항이 설계 초기 단계부터 필요하므로 맞는 설명입니다. ③상향식 설계는 최하위 모듈부터 설계한 뒤 결합하여 검사하므로 맞는 설명입니다.
디자인 패턴 사용의 장단점에· 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어 구조 파악이 용이하다.
- ② 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
- ③ 재사용을 위한 개발 시간이 단축된다.
- ④ 절차형 언어와 함께 이용될 때 효율이 극대화된다.
정답 확인
정답 ④ - 디자인 패턴에는 다양한 인터페이스와 객체들을 활용하는 방법들이 제시되어 있기 때문에 절차형 언어 보다는 객체지향 언어와 함께 이용될 때 효율이 극대화됩니다. 나머지 보기 - ①패턴을 사용하면 구조 파악이 쉬워지므로 맞는 설명입니다. ②객체지향 설계 및 구현의 생산성을 높이므로 맞는 설명입니다. ③재사용을 통해 개발 시간이 단축되므로 맞는 설명입니다.
소프트웨어 아키텍처 모델 중 MVC(Model-View Controller)와 관련한 설명으로 틀린 것은?
- ① MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들 어 그 사이에 결합도를 낮출 수 있다.
- ② 모델 (Model) 은 뷰 (View)와 제어 (Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
- ③ 뷰 (View) 는 모델(Model) 에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
- ④ 제어 (Controller)는 모델 (Model) 에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
정답 확인
정답 ② - 모델 (Model) 은 서브시스템의 핵심 기능과 데이터를 보관하는 역할을 합니다. 나머지 보기 - ①MVC는 UI 담당 계층의 응집도를 높이고 결합도를 낮출 수 있으므로 맞는 설명입니다. ③뷰는 모델의 데이터를 사용자 인터페이스에 보여주는 역할을 하므로 맞는 설명입니다. ④컨트롤러는 모델에 명령을 보내 상태를 변경할 수 있으므로 맞는 설명입니다.
모듈의 독립성을 높이기 위한 결합도 (Coupling) 와 관련한 설명으로 틀린 것은?
- ① 오류가 발생했을 때 전파되어 다른 오류의 원인이 되는 파문 효과 (Ripple Effect) 를 최소화해야 한다.
- ② 인터페이스가 정확히 설정되어 있지 않을 경우 불필요한 인터페이스가 나타나 모듈 사이의 의존도는 높아지고 결합도가 증가한다.
- ③ 모듈들이 변수를 공유하여 사용하게 하거나 제어 정보를 교류하게 함으로써 결합도를 낮추어야 한다.
- ④ 다른 모듈과 데이터 교류가 필요한 경우 전역 변수 (Global Variable) 보다는 매개 변수 (Parameter) 를 사용하는 것이 결합도를 낮추는 데 도움이 된다.
정답 확인
정답 ③ - 변수를 이용하여 데이터 영역을 공유하는 공통 결합도나, 제어 정보가 이동되는 내용 결합도는 결합의 정도가 강한 결합도입니다. 나머지 보기 - ①오류의 파문 효과를 최소화해야 하므로 맞는 설명입니다. ②인터페이스가 부정확하면 결합도가 높아지므로 맞는 설명입니다. ④전역 변수보다 매개 변수를 사용하는 것이 결합도를 낮추는 데 도움이 되므로 맞는 설명입니다.
소프트웨어 공학에서 워크스루 (Walkthrough)에 대한 설명으로 틀린 것은?
- ① 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
- ② 복 잡한 알고리즘 또는 반복실시간, 동작병행, 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
- ③ 인스펙션 (Inspection)과 동일한 의미를 가진다.
- ④ 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
정답 확인
정답 ③ - 인스펙션 (Inspection) 은 워크스루를 발전시킨 형태로, 소프트웨어 개발 단계에서 산출된 결과물의 품질 을 평가하고 이를 개선하기 위한 방법 등을 제시합니다. 나머지 보기 - ①워크스루는 사용사례, 설계 다이어그램, 원시 코드, 테스트 케이스 등에 폭넓게 적용할 수 있으므로 맞는 설명입니다. ②복잡한 알고리즘이나 반복·병행 처리 등을 이해하는 데 유용하므로 맞는 설명입니다. ④단순한 테스트 케이스로 프로덕트를 수작업으로 수행해 보는 방법이므로 맞는 설명입니다.
객체지향 설계에서 정보 은닉 (Information Hiding)과 관련한 설명으로 틀린 것은?
- ① 필요하지 않은 정보는 접근할 수 없도록 하여 한 모듈 또는 하부 시스템이 다른 모듈의 구현에 영향을 받지 않게 설계되는 것을 의미한다.
- ② 모듈들 사이의 독립성을 유지시키는 데 도움이 된다.
- ③ 설계에서 은닉되어야 할 기본 정보로는 IP 주소와 같은 물리적 코드, 상세 데이터 구조 등이 있다.
- ④ 모듈 내부의 자료 구조와 접근 동작들에만 수정을 국한하기 때문에 요구사항 등 변화에 따른 수정이 불가능하다.
정답 확인
정답 ④ - 정보 은닉은 모듈이 독립성을 갖게 해주므로, 요구사항 등 변화에 따른 수정이 가능합니다. 나머지 보기 - ①필요하지 않은 정보에 접근하지 못하게 하여 다른 모듈의 구현에 영향받지 않게 하므로 맞는 설명입니다. ②모듈 간 독립성 유지에 도움이 되므로 맞는 설명입니다. ③IP 주소 같은 물리적 코드나 상세 데이터 구조가 은닉 대상이 되므로 맞는 설명입니다.
요구 분석 (Requirement Analysis) 에 대한 설명으로 틀린 것은?
- ① 요 구 분석은 소프트웨어 개발의 실제적인 첫 단계로사용자의, 요구에 대해 이해하는 단계라 할 수 있다.
- ② 요구 추출 (Requirement Elicitation) 은 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계이다.
- ③ 도메인 분석 (Domain Analysis) 은 요구에 대한 정보를 수집하고 배경을 분석하여 이를 토대로 모델링 을 하게 된다.
- ④ 기능적 (Functional) 요구에서 시스템 구축에 대한 성능, 보안, 품질, 안정 등에 대한 요구사항을 도출 한다.
정답 확인
정답 ④ - 기능적 (Functional) 요구사항은 시스템이 무엇을 하는지, 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항입니다. 성능, 보안, 품질, 안정 등에 대한 요구사항은 비기능적 (Non-functional) 요구사항에 해당합니다. 나머지 보기 - ①요구 분석은 소프트웨어 개발의 실질적 첫 단계이므로 맞는 설명입니다. ②요구 추출은 문제 범위 안의 사용자 요구를 찾는 단계이므로 맞는 설명입니다. ③도메인 분석은 정보를 수집하고 배경을 분석해 모델링하므로 맞는 설명입니다.
코드 인스펙션과 관련한 설명으로 틀린 것은?
- ① 프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확인하는 방법으로 볼 수 있다.
- ② 코드 품질 향상 기법 중 하나이다.
- ③ 동적 테스트 시에만 활용하는 기법이다.
- ④ 결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈를 검사하기도 한다.
정답 확인
정답 ③ - 코드 인스펙션은 정적 테스트 시에만 활용하는 기법입니다. 나머지 보기 - ①코드를 실행하지 않고 읽어서 확인하는 방법이므로 맞는 설명입니다. ②코드 품질 향상 기법의 하나이므로 맞는 설명입니다. ④결함뿐 아니라 코딩 표준 준수, 효율성 등도 함께 점검하므로 맞는 설명입니다.
사용자 인터페이스 (User Interface) 에 대한 설명으로 틀린 것은?
- ① 사용자와 시스템이 정보를 주고받는 상호 작용이 잘 이루어지도록 하는 장치나 소프트웨어를 의미한다.
- ② 편리한 유지보수를 위해 개발자 중심으로 설계되어야 한다.
- ③ 배우기가 용이하고 쉽게 사용할 수 있도록 만들어져야 한다.
- ④ 사용자 요구사항이 UI에 반영될 수 있도록 구성해야 한다.
정답 확인
정답 ② - 사용자 인터페이스 (UI) 는 사용자가 쉽게 이해하고 편리하게 사용할 수 있도록 사용자 중심으로 설계되 어야 합니다. 나머지 보기 - ①사용자와 시스템의 상호 작용 장치나 소프트웨어이므로 맞는 설명입니다. ③배우기 쉽고 쉽게 사용할 수 있게 만들어져야 하므로 맞는 설명입니다. ④사용자 요구사항이 반영되도록 구성해야 하므로 맞는 설명입니다.
소프트웨어 개발에서 모듈 (Module)이 되기 위한 주요 특징에 해당하지 않는 것은?
- ① 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위 (Unit) 이다.
- ② 독립적인 컴파일이 가능하다.
- ③ 유일한 이름을 가져야 한다.
- ④ 다른 모듈에서의 접근이 불가능해야 한다.
정답 확인
정답 ④ - 각 모듈들은 상호 작용을 통해 더 큰 시스템을 구성해야 하므로 모듈은 상호 접근이 가능해야 합니다. 나머지 보기 - ①독립적인 기능을 가진 단위이므로 맞는 설명입니다. ②독립적인 컴파일이 가능해야 하므로 맞는 설명입니다. ③유일한 이름을 가져야 하므로 맞는 설명입니다.
공학적으로 잘된 소프트웨어 (Well Engineered Software)의 설명 중 틀린 것은?
- ① 소프트웨어는 유지보수가 용이해야 한다.
- ② 소프트웨어는 신뢰성이 높아야 한다.
- ③ 소프트웨어는 사용자 수준에 무관하게 일관된 인터페이스를 제공해야 한다.
- ④ 소프트웨어는 충분한 테스팅을 거쳐야 한다.
정답 확인
정답 ③ - 공학적으로 잘 작성된 소프트웨어는 사용자의 요구사항을 고려하여, 수준에 맞는 쉬운 인터페이스를 제공합니다. 나머지 보기 - ①유지보수가 용이해야 하므로 맞는 설명입니다. ②신뢰성이 높아야 하므로 맞는 설명입니다. ④충분한 테스팅을 거쳐야 하므로 맞는 설명입니다.
소프트웨어 모델링과 관련한 설명으로 틀린 것은?
- ① 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
- ② 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구사항의 결 과를 표현한다.
- ③ 객체지향 방법론에서는 UML 표기법을 사용한다.
- ④ 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상 에 도움이 된다.
정답 확인
정답 ① - 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있습니다. 나머지 보기 - ②구조적 방법론은 DFD, DD 등을 사용해 요구사항 결과를 표현하므로 맞는 설명입니다. ③객체지향 방법론은 UML 표기법을 사용하므로 맞는 설명입니다. ④모델을 사용하면 이해도와 이해 당사자 간 의사소통이 향상되므로 맞는 설명입니다.
요구사항 명세 기법에 대한 설명으로 틀린 것은?
- ① 비정형 명세 기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
- ② 비정형 명세 기법은 사용자의 요구를 표현할 때 Z 비정형 명세 기법을 사용한다.
- ③ 정형 명세 기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
- ④ 정형 명세 기법은 비정형 명세 기법에 비해 표현이 간결하다.
정답 확인
정답 ② - Z 명세 기법은 비정형 명세가 아니라 정형 명세 기법의 한 종류입니다. 나머지 보기 - ①비정형 명세는 자연어를 기반으로 서술하므로 맞는 설명입니다. ③정형 명세는 수학적 원리와 표기법을 이용하므로 맞는 설명입니다. ④정형 명세가 비정형 명세보다 표현이 간결하므로 맞는 설명입니다.
분산 시스템에서의 미들웨어 (Middleware) 와 관련한 설명으로 틀린 것은?
- ① 분 산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
- ② 위치 투명성 (Location Transparency) 을 제공한다.
- ③ 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.
- ④ 애플리케이션과 사용자 사이에서만 분산 서비스를 제공한다.
정답 확인
정답 ④ - 애플리케이션과 사용자 사이뿐만 아니라 클라이언트와 서버, 운영체제와 응용 프로그램과 같이 두 시 스템 사이에서 다양한 서비스를 제공하는 소프트웨어를 미들웨어 (Middleware)라고 합니다. 나머지 보기 - ①분산 시스템의 다양한 부분을 관리·통신·데이터 교환하게 해주므로 맞는 설명입니다. ②위치 투명성을 제공하므로 맞는 설명입니다. ③재사용 가능한 서비스 구현을 제공하므로 맞는 설명입니다.
GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?
- ① 디자인 패턴을 목적 (Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
- ② Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.
- ③ 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
- ④ Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법 을 제공한다.
정답 확인
정답 ② - 전략 (Strategy) 패턴은 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정 의하는 행위 패턴입니다. 인스턴스를 복제하여 사용하는 패턴은 생성 패턴의 프로토타입 (Prototype) 패턴입니다. 나머지 보기 - ①GoF 패턴은 목적에 따라 생성, 구조, 행위로 분류하므로 맞는 설명입니다. ③행위 패턴은 객체 간 상호작용 방법과 책임 분산 방법을 정의하므로 맞는 설명입니다. ④싱글턴 패턴은 인스턴스가 하나임을 보장하므로 맞는 설명입니다.
객체지향 분석 기법과 관련한 설명으로 틀린 것은?
- ① 동적 모델링 기법이 사용될 수 있다.
- ② 기 능 중심으로 시스템을 파악하며 순차적인 처리가 중요시되는 하향식(Top-down) 방식으로 볼 수 있다.
- ③ 데이터와 행위를 하나로 묶어 객체를 정의하고 추상화시키는 작업이라 할 수 있다.
- ④ 코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다.
정답 확인
정답 ② - 객체지향 분석 기법은 순차적인 처리가 아닌 부품을 조립하듯 클래스를 조립하는 방식으로 처리하며, 하향식 및 상향식 방식 모두 사용할 수 있습니다. 나머지 보기 - ①동적 모델링 기법을 사용할 수 있으므로 맞는 설명입니다. ③데이터와 행위를 묶어 객체로 정의하고 추상화하는 작업이므로 맞는 설명입니다. ④코드 재사용으로 생산성이 향상되고 변경이 쉬우므로 맞는 설명입니다.
소프트웨어 모듈화의 장점이 아닌 것은?
- ① 오류의 파급 효과를 최소화한다.
- ② 기능의 분리가 가능하여 인터페이스가 복잡하다.
- ③ 모듈의 재사용 가능으로 개발과 유지보수가 용이하다.
- ④ 프로그램의 효율적인 관리가 가능하다.
정답 확인
정답 ② - 모듈화의 장점은 기능의 분리가 가능하여 인터페이스가 단순해지는 것입니다. 나머지 보기 - ①오류의 파급 효과를 최소화하므로 맞는 설명입니다. ③재사용이 가능해 개발과 유지보수가 용이하므로 맞는 설명입니다. ④프로그램의 효율적 관리가 가능하므로 맞는 설명입니다.
객체에 대한 설명으로 틀린 것은?
- ① 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
- ② 객체는 공통 속성을 공유하는 클래스들의 집합이다.
- ③ 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
- ④ 객체의 상태는 속성값에 의해 정의된다.
정답 확인
정답 ② - 객체는 클래스의 집합이 아니라 클래스가 공통된 속성과 연산행위을() 갖는 객체의 집합입니다. 나머지 보기 - ①객체는 상태, 동작, 고유 식별자를 가지므로 맞는 설명입니다. ③필요한 자료 구조와 함수를 가진 독립된 존재이므로 맞는 설명입니다. ④객체의 상태는 속성값으로 정의되므로 맞는 설명입니다.
CASE(Computer-Aided Software Engineering) 도구에 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
- ② 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
- ③ 작업 과정 및 데이터 공유를 통해 작업자 간 커뮤니케이션을 증대한다.
- ④ 2000 년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
정답 확인
정답 ④ - C ASE는 객체지향 시스템뿐만 아니라 구조적 시스템 등 다양한 시스템에서 활용되는 자동화 도구입니다. 나머지 보기 - ①개발 과정의 일부 또는 전체를 자동화하는 도구이므로 맞는 설명입니다. ②표준화된 개발 환경과 문서 자동화 기능을 제공하므로 맞는 설명입니다. ③작업과 데이터 공유로 커뮤니케이션을 증대시키므로 맞는 설명입니다.
애자일 소프트웨어 개발 기법의 가치가 아닌 것은?
- ① 프로세스의 도구보다는 개인과 상호 작용에 더 가치를 둔다.
- ② 계약 협상보다는 고객과의 협업에 더 가치를 둔다.
- ③ 실제 작동하는 소프트웨어보다는 이해하기 좋은 문서에 더 가치를 둔다.
- ④ 계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.
정답 확인
정답 ③ - 애자일 (Agile) 은 방대한 문서보다는 실행되는 소프트웨어에 더 가치를 둡니다. 나머지 보기 - ①프로세스와 도구보다 개인과 상호작용에 가치를 두므로 맞는 설명입니다. ②계약 협상보다 고객과의 협업에 가치를 두므로 맞는 설명입니다. ④계획보다 변화 대응에 가치를 두므로 맞는 설명입니다.
분산 시스템을 위한 마스터슬레이브- (Master-Slave) 아키텍처에 대한 설명으로 틀린 것은?
- ① 일반적으로 실시간 시스템에서 사용된다.
- ② 마스터 프로세스는 일반적으로 연산, 통신, 조정을 책임진다.
- ③ 슬레이브 프로세스는 데이터 수집 기능을 수행할 수 없다.
- ④ 마스터 프로세스는 슬레이브 프로세스들을 제어할 수 있다.
정답 확인
정답 ③ - 슬레이브 프로세스에서는 마스터 프로세스에서 수행하는 연산, 통신, 제어 등의 기능을 제외하고는 별 도로 제한되는 기능은 없습니다. 나머지 보기 - ①실시간 시스템에서 주로 사용되므로 맞는 설명입니다. ②마스터 프로세스는 연산·통신·조정을 책임지므로 맞는 설명입니다. ④마스터 프로세스가 슬레이브 프로세스들을 제어할 수 있으므로 맞는 설명입니다.
소프트웨어 개발에 이용되는 모델 (Model) 에 대한 설명 중 거리가 먼 것은?
- ① 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
- ② 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
- ③ 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
- ④ 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.
정답 확인
정답 ④ - 소프트웨어 개발에 이용되는 모델 (Model)은 사용자의 요구사항을 정확히 파악하기 위해 실제 개발될 소프트웨어에 대한 견본 형태로 만든 것이므로 최종 결과물에 대한 예측이 가능합니다. 나머지 보기 - ①모델은 개발 대상을 추상화해 기호나 그림으로 시각화하므로 맞는 설명입니다. ②모델을 통해 이해도를 향상시킬 수 있으므로 맞는 설명입니다. ③이해 당사자 간 의사소통이 향상되므로 맞는 설명입니다.
객체지향 개념에서 다형성 (Polymorphism) 과 관련한 설명으로 틀린 것은?
- ① 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
- ② 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
- ③ 메소드 오버라이딩 (Overriding) 은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무 시하고 재정의할 수 있다.
- ④ 메소드 오버로딩 (Overloading) 의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구 현, 구분할 수 있다.
정답 확인
정답 ④ - 메소드 오버로딩 (Overloading) 은 메소드명은 같지만 매개 변수의 개수나 타입을 다르게 함으로써 구 현, 구분할 수 있습니다. 나머지 보기 - ①다형성은 코드 변경 없이 새 클래스를 추가할 수 있게 하므로 맞는 설명입니다. ②여러 형태를 받아들일 수 있는 특징을 의미하므로 맞는 설명입니다. ③오버라이딩은 상위 클래스의 메소드를 하위 클래스에서 재정의하는 것이므로 맞는 설명입니다.
정형 기술 검토 (FTR) 의 지침으로 틀린 것은?
- ① 의제를 제한한다.
- ② 논쟁과 반박을 제한한다.
- ③ 문제 영역을 명확히 표현한다.
- ④ 참가자의 수를 제한하지 않는다.
정답 확인
정답 ④ - 정형 기술 검토는 의제와 참가자의 수를 제한합니다. 나머지 보기 - ①의제를 제한하므로 맞는 설명입니다. ②논쟁과 반박을 제한하므로 맞는 설명입니다. ③문제 영역을 명확히 표현하므로 맞는 설명입니다.
사용자 인터페이스를 설계할 경우 고려해야 할 가이드라인과 가장 거리가 먼 것은?
- ① 심미성을 사용성보다 우선하여 설계해야 한다.
- ② 효율성을 높이게 설계해야 한다.
- ③ 발생하는 오류를 쉽게 수정할 수 있어야 한다.
- ④ 사용자에게 피드백을 제공해야 한다.
정답 확인
정답 ① - 사용자 인터페이스 (UI)를 설계할 경우 심미성보다는 사용성을 우선하여 설계해야 합니다. 나머지 보기 - ②효율성을 높이도록 설계해야 하므로 맞는 설명입니다. ③오류를 쉽게 수정할 수 있어야 하므로 맞는 설명입니다. ④사용자에게 피드백을 제공해야 하므로 맞는 설명입니다.
UML(Unified Modeling Language) 에 대한 설명 중 틀린 것은?
- ① 기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use case Diagram을 사용한다.
- ② 정적 모델은 객체, 속성, 연관 관계, 오퍼레이션의 시스템의 구조를 나타내며, UML 에서는 Class Diagram을 사용한다.
- ③ 동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram 을 사용한다.
- ④ State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작 순서를 나타낸다.
정답 확인
정답 ④ - 상태 다이어그램 (State Diagram) 은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작 순서를 나타냅니다. 시퀀스 다이어그램 (Sequence Diagram) 은 객체들 사이의 메시지 교환을 나타냅니다. 나머지 보기 - ①기능적 모델은 Use Case Diagram을 사용하므로 맞는 설명입니다. ②정적 모델은 Class Diagram을 사용하므로 맞는 설명입니다. ③동적 모델은 Sequence, State, Activity Diagram을 사용하므로 맞는 설명입니다.
소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000 에 관한 설명으로 옳지 않은 것은?
- ① 소프트웨어 품질 평가를 위한 소프트웨어 품질 평가 통합 모델 표준이다.
- ② System and Software Quality Requirements and Evaluation 으로 줄여서 SQuaRE 라고도 한다.
- ③ ISO/IEC 2501n에서는 소프트웨어의 내부 측정외부, 측정사용, 품질 측정품질, 측정 요소 등을 다룬다.
- ④ 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절차 모델인 ISO/IEC 9126 과 ISO/IEC 14598 을 통합하였다.
정답 확인
정답 ③ - ISO/IEC 2501n 에서는 소프트웨어의 내부 및 외부 품질과 사용 품질에 대한 모델 등 품질 모델 부 분을 다룹니다. 소프트웨어의 내부 측정, 외부 측정, 사용 품질 측정, 품질 측정 요소 등 품질 측정 부분을 다루는 것은 ISO/IEC 2502n 입니다. 나머지 보기 - ①품질 평가를 위한 통합 모델 표준이므로 맞는 설명입니다. ②SQuaRE로 줄여 부르므로 맞는 설명입니다. ④ISO/IEC 9126과 14598을 통합한 표준이므로 맞는 설명입니다.
UI의 설계 지침으로 틀린 것은?
- ① 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
- ② 주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
- ③ 치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
- ④ 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
정답 확인
정답 ③ - 오류가 발생하면 사용자가 쉽게 인지할 수 있도록 설계해야 합니다. 나머지 보기 - ①이해하기 쉽고 사용하기 쉬운 환경을 제공해야 하므로 맞는 설명입니다. ②주요 기능을 메인 화면에 노출해 조작이 쉬워야 하므로 맞는 설명입니다. ④다양한 사용자 계층을 수용해야 하므로 맞는 설명입니다.
소프트웨어 개발 방법 중 요구사항 분석 (Requirements Analysis) 과 거리가 먼 것은?
- ① 비용과 일정에 대한 제약 설정
- ② 타당성 조사
- ③ 요구사항 정의 문서화
- ④ 설계 명세서 작성
정답 확인
정답 ④ - 설계 명세서를 작성하는 과정은 요구사항 명세 (Requirement Specification) 에 해당합니다. 나머지 보기 - ①비용과 일정 제약을 설정하므로 맞는 설명입니다. ②타당성 조사를 수행하므로 맞는 설명입니다. ③요구사항 정의를 문서화하므로 맞는 설명입니다.
요구사항 검증 (Requirements Validation)과 관련한 설명으로 틀린 것은?
- ① 요구사항이 고객이 정말 원하는 시스템을 제대로 정의하고 있는지 점검하는 과정이다.
- ② 개발 완료 이후에 문제점이 발견될 경우 막대한 재작업 비용이 들 수 있기 때문에 요구사항 검증은 매 우 중요하다.
- ③ 요구사항이 실제 요구를 반영하는지, 문서상의 요구사항은 서로 상충되지 않는지 등을 점검한다.
- ④ 요구사항 검증 과정을 통해 모든 요구사항 문제를 발견할 수 있다.
정답 확인
정답 ④ - 요구사항 검증 과정을 정밀하게 수행하면 대부분의 문제를 발견할 수는 있으나 모든 문제를 발견할 수 있다고 말하기에는 어렵습니다. 나머지 보기 - ①요구사항이 고객이 정말 원하는 시스템을 정의하는지 점검하므로 맞는 설명입니다. ②개발 완료 후 문제 발견 시 재작업 비용이 막대하므로 검증이 중요하다는 설명이 맞습니다. ③요구사항 간 상충 여부 등을 점검하므로 맞는 설명입니다.
유스케이스 다이어그램 (Use Case Diagram)에 관련된 내용으로 틀린 것은?
- ① 시스템과 상호 작용하는 외부 시스템은 액터로 파악해서는 안된다.
- ② 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
- ③ 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
- ④ 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
정답 확인
정답 ① - 시스템과 상호 작용하는 모든 외부 요소를 액터라고 합니다. 나머지 보기 - ②유스케이스는 사용자가 목표 달성을 위해 수행할 내용을 기술하므로 맞는 설명입니다. ③시스템 액터는 다른 시스템과 데이터를 주고받는 연동 시스템이므로 맞는 설명입니다. ④액터가 인식할 수 없는 내부 기능은 유스케이스로 파악하지 않으므로 맞는 설명입니다.
객체지향 기법의 캡슐화 (Encapsulation)에 대한 설명으로 틀린 것은?
- ① 인터페이스가 단순화 된다.
- ② 소프트웨어 재사용성이 높아진다.
- ③ 변경 발생 시 오류의 파급 효과가 적다.
- ④ 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미한다.
정답 확인
정답 ④ - ④ 번은 상속 (Inheritance) 에 대한 설명입니다. 나머지 보기 - ①인터페이스가 단순화되므로 맞는 설명입니다. ②소프트웨어 재사용성이 높아지므로 맞는 설명입니다. ③변경 발생 시 오류의 파급 효과가 적으므로 맞는 설명입니다.
User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?
- ① 메시지는 이해하기 쉬워야 한다.
- ② 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
- ③ 오류로 인해 발생될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.
- ④ 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.
정답 확인
정답 ④ - 오류 메시지나 경고는 소리나 색 등을 이용하여 듣거나 보기 쉽게 의미를 전달해야 합니다. 나머지 보기 - ①메시지는 이해하기 쉬워야 하므로 맞는 설명입니다. ②오류로부터 회복을 위한 구체적 설명이 제공되어야 하므로 맞는 설명입니다. ③오류의 부정적 내용을 사용자에게 적극적으로 알려야 하므로 맞는 설명입니다.
익스트림 프로그래밍 (XP)에 대한 설명으로 틀린 것은?
- ① 빠른 개발을 위해 테스트를 수행하지 않는다.
- ② 사용자의 요구사항은 언제든지 변할 수 있다.
- ③ 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자 스토리 (User Story) 를 활용할 수 있다.
- ④ 기존의 방법론에 비해 실용성 (Pragmatism)을 강조한 것이라고 볼 수 있다.
정답 확인
정답 ① - 익스트림 프로그래밍 (XP; eXtreme Programming) 은 고객의 요구 변화에 신속하게 대응하기 위해 릴 리즈 기간을 가능한 짧게 반복하는데, 릴리즈 기간 동안 지속적으로 테스트가 진행될 수 있도록 자동 화된 테스팅 구조를 사용합니다. 나머지 보기 - ②사용자의 요구사항은 언제든 변할 수 있음을 전제로 하므로 맞는 설명입니다. ③사용자 스토리를 활용해 고객과 직접 대면하며 요구사항을 논의하므로 맞는 설명입니다. ④기존 방법론보다 실용성을 강조하므로 맞는 설명입니다.
바람직한 소프트웨어 설계 지침이 아닌 것은?
- ① 모듈의 기능을 예측할 수 있도록 정의한다.
- ② 이식성을 고려한다.
- ③ 적당한 모듈의 크기를 유지한다.
- ④ 가능한 모듈을 독립적으로 생성하고 결합도를 최대화한다.
정답 확인
정답 ④ - 바람직한 소프트웨어를 설계하기 위해서는 모듈의 결합도는 줄이고 응집도는 높여야 합니다. 나머지 보기 - ①모듈의 기능을 예측할 수 있도록 정의해야 하므로 맞는 설명입니다. ②이식성을 고려해야 하므로 맞는 설명입니다. ③적당한 모듈 크기를 유지해야 하므로 맞는 설명입니다.
DFD(Data Flow Diagram) 에 대한 설명으로 틀린 것은?
- ① 자료 흐름 그래프 또는 버블 (Bubble) 차트라고도 한다.
- ② 구조적 분석 기법에 이용된다.
- ③ 시간 흐름을 명확하게 표현할 수 있다.
- ④ DFD 의 요소는 화살표, 원, 사각형, 직선단선이중선으로(/) 표시한다.
정답 확인
정답 ③ - 자료 흐름도 (DFD)는 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법으로, 시간의 흐 름은 명확히 표현되지 않습니다. 나머지 보기 - ①자료 흐름 그래프 또는 버블 차트라고도 하므로 맞는 설명입니다. ②구조적 분석 기법에 이용되므로 맞는 설명입니다. ④화살표, 원, 사각형, 단선·이중선으로 요소를 표시하므로 맞는 설명입니다.
CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?
- ① 소프트웨어 모듈의 재사용성이 향상된다.
- ② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
- ③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
- ④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
정답 확인
정답 ③ - CASE는 소프트웨어 개발 과정에서 사용되는 요구 분석, 설계, 구현, 검사 및 디버깅 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 도구로, 사용 방법의 신속한 숙지와는 무관합니다. 나머지 보기 - ①모듈의 재사용성이 향상되므로 맞는 설명입니다. ②자동화된 기법으로 품질이 향상되므로 맞는 설명입니다. ④유지보수를 간편하게 수행할 수 있으므로 맞는 설명입니다.
익스트림 프로그래밍에 대한 설명으로 틀린 것은?
- ① 대표적인 구조적 방법론 중 하나이다.
- ② 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
- ③ 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
- ④ 구체적인 실천 방법을 정의하고 있으며, 개발 문서보다는 소스 코드에 중점을 둔다.
정답 확인
정답 ① - 익스트림 프로그래밍 (XP; eXtreme Programming) 은 애자일 개발 방법론을 기반으로 하는 소프트웨어 개발 모형입니다. 나머지 보기 - ②소규모 개발 조직이 불확실하고 변경 많은 요구를 접할 때 적절하므로 맞는 설명입니다. ③상식적인 원리와 경험을 최대한 끌어올리는 것이 XP의 원리이므로 맞는 설명입니다. ④구체적 실천 방법을 정의하며 문서보다 소스 코드에 중점을 두므로 맞는 설명입니다.
객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명 중 틀린 것은?
- ① 객체 (Object) 란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
- ② JAVA 에서 정보 은닉 (Information Hiding) 을 표기할 때 private 의 의미는 ‘ 공개이다’.
- ③ 상속 (Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하 기 쉽다는 장점이 있다.
- ④ 같 은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스 (Instance)라고 한다.
정답 확인
정답 ② - JAVA 에서 private 는 외부로부터의 접근을 제한하는 접근 제어자로, 정보 은닉 (Information Hiding) 을 표기할 때 private의 의미는 ‘ 은닉이고’, ‘공개를’ 의미하는 접근 제어자는 ‘Public’입니다. 나머지 보기 - ①객체는 필요한 자료 구조와 함수를 가진 독립된 존재이므로 맞는 설명입니다. ③상속은 클래스를 상속 관계로 묶어 전체 구조 파악을 쉽게 하므로 맞는 설명입니다. ④같은 클래스에서 생성된 개개의 객체를 인스턴스라고 하므로 맞는 설명입니다.
소프트웨어 공학에서 모델링 (Modeling)과 관련한 설명으로 틀린 것은?
- ① 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
- ② 유지보수 단계에서만 모델링 기법을 활용한다.
- ③ 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
- ④ 절차적인 프로그램을 위한 자료 흐름도는 프로세스 위주의 모델링 방법이다.
정답 확인
정답 ② - 모델링 (Modeling) 은 분석 및 설계 단계에서 개발하고자 하는 것을 시각적으로 표현한 것으로, 이렇게 제작된 모델은 소프트웨어 개발의 전 과정에서 지속적으로 사용됩니다. 나머지 보기 - ①개발팀이 응용 문제를 이해하는 데 도움을 주므로 맞는 설명입니다. ③여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 주므로 맞는 설명입니다. ④절차적 프로그램을 위한 자료 흐름도는 프로세스 위주 모델링 방법이므로 맞는 설명입니다.
미들웨어 (Middleware) 에 대한 설명으로 틀린 것은?
- ① 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
- ② 미 들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
- ③ 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
- ④ 여러 컴포넌트를 1 대 1, 1 대 다, 다 대 다 등 여러 가지 형태로 연결이 가능하다.
정답 확인
정답 ② - 사용자가 미들웨어의 내부 동작을 확인하려면 별도의 응용 소프트웨어를 사용해야 하므로, 사용자가 미들웨어의 내부 동작을 확인하기는 쉽지 않습니다. 나머지 보기 - ①여러 운영체제의 응용 프로그램 사이에 위치한 소프트웨어이므로 맞는 설명입니다. ③컴포넌트 연결을 위한 준비된 인프라 구조를 제공하므로 맞는 설명입니다. ④컴포넌트를 1대1, 1대다, 다대다 형태로 연결할 수 있으므로 맞는 설명입니다.
모듈화 (Modularity) 와 관련한 설명으로 틀린 것은?
- ① 시스템을 모듈로 분할하면 각각의 모듈을 별개로 만들고 수정할 수 있기 때문에 좋은 구조가 된다.
- ② 응집도는 모듈과 모듈 사이의 상호 의존 또는 연관 정도를 의미한다.
- ③ 모듈 간의 결합도가 약해야 독립적인 모듈이 될 수 있다.
- ④ 모듈 내 구성 요소들 간의 응집도가 강해야 좋은 모듈 설계이다.
정답 확인
정답 ② - 응집도 (Cohesion) 는 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미합니다. ② 번은 결합도 (Coupling) 에 대한 설명입니다. 나머지 보기 - ①모듈로 분할하면 별개로 만들고 수정할 수 있어 좋은 구조가 되므로 맞는 설명입니다. ③모듈 간 결합도가 약해야 독립적인 모듈이 되므로 맞는 설명입니다. ④모듈 내 구성 요소 간 응집도가 강해야 좋은 설계이므로 맞는 설명입니다.
요구사항 분석이 어려운 이유가 아닌 것은?
- ① 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
- ② 사용자의 요구는 예외가 거의 없어 열거와 구조화가 어렵지 않다.
- ③ 사용자의 요구사항이 모호하고 불명확하다.
- ④ 소프트웨어 개발 과정 중에 요구사항이 계속 변할 수 있다.
정답 확인
정답 ② - 요구사항 (Requirement)은 예외가 많고, 모호하고 불명확하며, 중복 및 상충되는 사항들이 있을 뿐만 아니라, 개발 과정 중에도 수시로 변경될 수 있어 열거와 구조화가 어렵습니다. 나머지 보기 - ①개발자와 사용자 간 지식·표현 차이로 상호 이해가 쉽지 않으므로 맞는 설명입니다. ③사용자 요구사항이 모호하고 불명확하므로 맞는 설명입니다. ④개발 과정 중 요구사항이 계속 변할 수 있으므로 맞는 설명입니다.
효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?
- ① 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
- ② 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
- ③ 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적이어야 한다.
- ④ 유지보수가 용이해야 한다.
정답 확인
정답 ③ - 모듈의 기능을 지나치게 제한적으로 설계할 필요는 없습니다. 나머지 보기 - ①모듈 간 결합도를 약하게 하면 모듈 독립성이 향상되므로 맞는 설명입니다. ②복잡도와 중복성을 줄이고 일관성을 유지해야 하므로 맞는 설명입니다. ④유지보수가 용이해야 하므로 맞는 설명입니다.
HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
- ① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
- ② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
- ③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
- ④ 보기 쉽고 이해하기 쉽다.
정답 확인
정답 ① - HIPO는 시스템의 분석 및 설계나 문서화할 때 사용되는 기법으로, 하향식 소프트웨어 개발을 위한 문 서화 도구입니다. 나머지 보기 - ②HIPO 차트에는 가시적 도표, 총체적 도표, 세부적 도표가 있으므로 맞는 설명입니다. ③기능과 자료의 의존 관계를 동시에 표현할 수 있으므로 맞는 설명입니다. ④보기 쉽고 이해하기 쉬우므로 맞는 설명입니다.
소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?
- ① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
- ② 개발 비용이 가장 많이 소요되는 단계이다.
- ③ 자료 흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
- ④ 보다 구체적인 명세를 위해 소단위 명세서 (Mini-Spec) 가 활용될 수 있다.
정답 확인
정답 ② - 소프트웨어 생명 주기에서 개발 비용이 가장 많이 소요되는 단계는 유지보수 단계입니다. 나머지 보기 - ①분석 결과의 문서화는 향후 유지보수에 유용하게 활용되므로 맞는 설명입니다. ③자료 흐름도, 자료 사전 등이 효과적으로 이용될 수 있으므로 맞는 설명입니다. ④소단위 명세서가 구체적 명세에 활용될 수 있으므로 맞는 설명입니다.
메시지 지향 미들웨어 (MOM; Message-Oriented Middleware) 에 대한 설명으로 틀린 것은?
- ① 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
- ② 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
- ③ 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
- ④ 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
정답 확인
정답 ① - MOM 은 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용됩니다. 나머지 보기 - ②독립적인 애플리케이션을 하나의 통합된 시스템으로 묶는 역할을 하므로 맞는 설명입니다. ③송수신측 연결에 메시지 큐를 활용할 수 있으므로 맞는 설명입니다. ④상이한 애플리케이션 간 통신을 비동기 방식으로 지원하므로 맞는 설명입니다.
소프트웨어 설치 매뉴얼에 대한 설명으로 틀린 것은?
- ① 설치 과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.
- ② 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
- ③ 설치 매뉴얼은 개발자 기준으로 작성한다.
- ④ 설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.
정답 확인
정답 ③ - 설치 매뉴얼을 보는 사람이 사용자이므로, 사용자 기준으로 작성해야 합니다. 나머지 보기 - ①설치 과정의 예외 상황을 별도로 구분해 설명하므로 맞는 설명입니다. ②설치 시작부터 완료까지 순서대로 설명하므로 맞는 설명입니다. ④목차, 개요, 기본사항 등이 기본적으로 포함되어야 하므로 맞는 설명입니다.
저작권 관리 구성 요소에 대한 설명이 틀린 것은?
- ① 콘텐츠 제공자 (Contents Provider) : 콘텐츠를 제공하는 저작권자
- ② 콘텐츠 분배자 (Contents Distributor) : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- ③ 클리어링 하우스 (Clearing House) : 키 관리 및 라이선스 발급 관리
- ④ DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
정답 확인
정답 ② - 콘텐츠 분배자 (Contents Distributor) 는 암호화된 콘텐츠를 유통하는 곳이나 사람을 의미합니다. 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능을 수행하는 것은 패키저(Packager)입니다. 나머지 보기 - ①콘텐츠 제공자는 콘텐츠를 제공하는 저작권자이므로 맞는 설명입니다. ③클리어링 하우스는 키 관리 및 라이선스 발급을 관리하므로 맞는 설명입니다. ④DRM 컨트롤러는 배포된 콘텐츠의 이용 권한을 통제하므로 맞는 설명입니다.
단위 테스트 (Unit Test) 와 관련한 설명으로 틀린 것은?
- ① 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트 한다.
- ② 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
- ③ 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테 스트 스텁 (Stub)이라고 한다.
- ④ 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
정답 확인
정답 ③ - 테스트 스텁 (Test Stub) 은 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적 으로 필요한 조건만을 가지고 있는 시험용 모듈입니다. ③ 번은 테스트 드라이버 (Test Driver) 에 대한 설명입니다. 나머지 보기 - ①구현 단계에서 모듈 개발 완료 후 명세서대로 구현되었는지 테스트하므로 맞는 설명입니다. ②모듈 내부 구조를 보는 구조적 테스트를 주로 시행하므로 맞는 설명입니다. ④테스트할 모듈을 호출하는 모듈과 호출되는 모듈이 모두 있을 수 있으므로 맞는 설명입니다.
소프트웨어 테스트와 관련한 설명으로 틀린 것은?
- ① 화이트박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.
- ② 블랙박스 테스트는 프로그램의 구조를 고려하지 않는다.
- ③ 테스트 케이스에는 일반적으로 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다.
- ④ 화이트박스 테스트에서 기본 경로 (Basis Path) 란 흐름 그래프의 시작 노드에서 종료 노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.
정답 확인
정답 ④ - 기초 경로 (Base Path = Basis Path) 는 수행 가능한 모든 경로를 의미합니다. 나머지 보기 - ①화이트박스 테스트는 모듈의 논리적 구조를 체계적으로 점검할 수 있으므로 맞는 설명입니다. ②블랙박스 테스트는 프로그램의 구조를 고려하지 않으므로 맞는 설명입니다. ③테스트 케이스에는 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 하므로 맞는 설명입니다.
이진 검색 알고리즘에 대한 설명으로 틀린 것은?
- ① 탐색 효율이 좋고 탐색 시간이 적게 소요된다.
- ② 검색할 데이터가 정렬되어 있어야 한다.
- ③ 피보나치 수열에 따라 다음에 비교할 대상을 선정하여 검색한다.
- ④ 비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어든다.
정답 확인
정답 ③ - 이진 검색과 피보나치 수열은 아무런 관계가 없습니다. 나머지 보기 - ①탐색 효율이 좋고 탐색 시간이 적게 소요되므로 맞는 설명입니다. ②검색할 데이터가 정렬되어 있어야 하므로 맞는 설명입니다. ④비교할 때마다 검색 대상 데이터의 수가 절반으로 줄어드므로 맞는 설명입니다.
소프트웨어 패키징 도구 활용 시 고려사항으로 틀린 것은?
- ① 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다.
- ② 보안을 위하여 이기종 연동을 고려하지 않아도 된다.
- ③ 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
- ④ 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다.
정답 확인
정답 ② - 패키징 도구 활용 시에는 다른 여러 콘텐츠 및 단말기 간 연동을 고려해야 합니다. 나머지 보기 - ①내부 콘텐츠에 대한 암호화 및 보안을 고려해야 하므로 맞는 설명입니다. ③사용자 편의성을 위한 복잡성·비효율성 문제를 고려해야 하므로 맞는 설명입니다. ④소프트웨어 종류에 적합한 암호화 알고리즘을 적용해야 하므로 맞는 설명입니다.
소프트웨어 패키징에 대한 설명으로 틀린 것은?
- ① 패키징은 개발자 중심으로 진행한다.
- ② 신규 및 변경 개발 소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다.
- ③ 고객의 편의성을 위해 매뉴얼 및 버전 관리를 지속적으로 한다.
- ④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 확인
정답 ① - 소프트웨어를 설계하거나 개발할 때 그리고 개발된 소프트웨어를 패키징 할 때까지도 모든 과정에서 가장 먼저 고려되어야 할 대상은 소프트웨어를 사용할 사용자입니다. 나머지 보기 - ②신규 및 변경 개발 소스를 식별해 모듈화하여 패키징하므로 맞는 설명입니다. ③고객 편의를 위해 매뉴얼 및 버전 관리를 지속하므로 맞는 설명입니다. ④범용 환경에서 사용 가능하도록 일반적 배포 형태로 진행되므로 맞는 설명입니다.
연결 리스트 (Linked List) 에 대한 설명으로 거리가 먼 것은?
- ① 노드의 삽입이나 삭제가 쉽다.
- ② 노드들이 포인터로 연결되어 검색이 빠르다.
- ③ 연결을 해주는 포인터 (Pointer) 를 위한 추가 공간이 필요하다.
- ④ 연결 리스트 중에서 중간 노드 연결이 끊어지면 다음 노드를 찾기 힘들다.
정답 확인
정답 ② - 연결 리스트 (Linked List) 는 노드들이 포인터로 연결되어 포인터를 찾아가는 시간이 필요하므로 선형 리스트에 비해 검색 속도가 느립니다. 나머지 보기 - ①노드의 삽입이나 삭제가 쉬우므로 맞는 설명입니다. ③포인터를 위한 추가 공간이 필요하므로 맞는 설명입니다. ④중간 노드 연결이 끊어지면 다음 노드를 찾기 힘드므로 맞는 설명입니다.
클린 코드 (Clean Code)를 작성하기 위한 원칙으로 틀린 것은?
- ① 추상화 : 하위 클래스메소드함수를/ / 통해 애플리케이션의 특성을 간략하게 나타내고, 상세 내용은 상 위 클래스메소드함수에서/ / 구현한다.
- ② 의존성 : 다른 모듈에 미치는 영향을 최소화하도록 작성한다.
- ③ 가독성 : 누구든지 읽기 쉽게 코드를 작성한다.
- ④ 중복성 : 중복을 최소화할 수 있는 코드를 작성한다.
정답 확인
정답 ① - 추상화는 상위 클래스메소드함수를/ / 통해 애플리케이션의 특성을 간략하게 나타내고, 상세 내용은 하 위 클래스메소드함수에서/ / 구현합니다. 나머지 보기 - ②의존성은 다른 모듈에 미치는 영향을 최소화하도록 작성하는 원칙이므로 맞는 설명입니다. ③가독성은 누구든 읽기 쉽게 작성하는 원칙이므로 맞는 설명입니다. ④중복성은 중복을 최소화하는 원칙이므로 맞는 설명입니다.
빌드 자동화 도구에 대한 설명으로 틀린 것은?
- ① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
- ② 빌드 자동화 도구는 지속적인 통합 개발 환경에서 유용하게 활용된다.
- ③ 빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있다.
- ④ Jenkins 는 Groovy를 기반으로 한 오픈 소스로 안드로이드 앱 개발 환경에서 사용된다.
정답 확인
정답 ④ - Jenkins는 Java 기반 오픈 소스 형태의 서버 서블릿 컨테이너에서 실행되는 서버 기반 도구입니다. ④ 번은 Gradle 에 대한 설명입니다. 나머지 보기 - ①Gradle은 실행할 처리 명령을 태스크로 만들어 실행하므로 맞는 설명입니다. ②빌드 자동화 도구는 지속적 통합 개발 환경에서 유용하게 활용되므로 맞는 설명입니다. ③빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있으므로 맞는 설명입니다.
테스트 드라이버 (Test Driver)에 대한 설명으로 틀린 것은?
- ① 시험대상 모듈을 호출하는 간이 소프트웨어이다.
- ② 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
- ③ 상향식 통합 테스트에서 사용된다.
- ④ 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
정답 확인
정답 ④ - 비어있는 하위 모듈을 대체하는 것은 스텁 (Stub), 상위 모듈을 대체하는 것은 드라이버(Driver)입니다. 나머지 보기 - ①시험 대상 모듈을 호출하는 간이 소프트웨어이므로 맞는 설명입니다. ②매개 변수를 전달하고 결과를 보여줄 수 있으므로 맞는 설명입니다. ③상향식 통합 테스트에서 사용되므로 맞는 설명입니다.
White Box Testing 에 대한 설명으로 옳지 않은 것은?
- ① Base Path Testing, Boundary Value Analysis 가 대표적인 기법이다.
- ② Source Code 의 모든 문장을 한 번 이상 수행함으로써 진행된다.
- ③ 모듈 안의 작동을 직접 관찰할 수 있다.
- ④ 산출물의 각 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논 리적 경로를 점검한다.
정답 확인
정답 ① - 경계값 분석 (Boundary Value Analysis)은 블랙박스 테스트의 종류에 해당합니다. 나머지 보기 - ②소스 코드의 모든 문장을 한 번 이상 수행함으로써 진행되므로 맞는 설명입니다. ③모듈 안의 작동을 직접 관찰할 수 있으므로 맞는 설명입니다. ④선택·반복 등을 수행함으로써 논리적 경로를 점검하므로 맞는 설명입니다.
테스트 케이스와 관련한 설명으로 틀린 것은?
- ① 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
- ② 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
- ③ 개발된 서비스가 정의된 요구사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합 으로 볼 수 있다.
- ④ 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle) 이라고 한다.
정답 확인
정답 ① - 테스트 케이스는 테스트의 목표와 방법을 결정한 후 작성합니다. 나머지 보기 - ②정상 결과가 나오더라도 결함을 검사할 수 있는 케이스를 찾는 것이 중요하므로 맞는 설명입니다. ③입력 값, 실행 조건, 예상 결과의 집합이므로 맞는 설명입니다. ④통과·실패를 판단하는 기준을 테스트 오라클이라고 하므로 맞는 설명입니다.
자료 구조에 대한 설명으로 틀린 것은?
- ① 큐는 비선형 구조에 해당한다.
- ② 큐는 First In-First Out 처리를 수행한다.
- ③ 스택은 Last In-First Out 처리를 수행한다.
- ④ 스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
정답 확인
정답 ① - 큐 (Queue)는 한쪽에서는 삽입이, 다른 한쪽에서는 인출이 이루어지는 선형 자료 구조입니다. 나머지 보기 - ②큐는 First In-First Out 처리를 수행하므로 맞는 설명입니다. ③스택은 Last In-First Out 처리를 수행하므로 맞는 설명입니다. ④스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 등에 응용되므로 맞는 설명입니다.
소프트웨어 테스트에서 검증 (Verification)과 확인 (Validation)에 대한 설명으로 틀린 것은?
- ① 소 프트웨어 테스트에서 검증과 확인을 구별하면 찾고자 하는 결함 유형을 명확하게 하는 데 도움이 된다.
- ② 검증은 소프트웨어 개발 과정을 테스트하는 것이고, 확인은 소프트웨어 결과를 테스트하는 것이다.
- ③ 검증은 작업 제품이 요구 명세의 기능, 비기능 요구사항을 얼마나 잘 준수하는지 측정하는 작업이다.
- ④ 검증은 작업 제품이 사용자의 요구에 적합한지 측정하며, 확인은 작업 제품이 개발자의 기대를 충족시 키는지를 측정한다.
정답 확인
정답 ④ - 검증 (Verification) 은 개발자의 입장에서 개발한 소프트웨어가 명세서에 맞게 만들어졌는지를 점검하 는 것입니다. 확인 (Validation) 은 사용자의 입장에서 개발한 소프트웨어가 고객의 요구사항에 맞게 구현되었는지를 확인하는 것입니다. 나머지 보기 - ①검증과 확인을 구별하면 찾고자 하는 결함 유형이 명확해지므로 맞는 설명입니다. ②검증은 개발 과정을, 확인은 결과를 테스트하는 것이므로 맞는 설명입니다. ③검증은 요구 명세의 기능·비기능 요구사항 준수 정도를 측정하는 작업이므로 맞는 설명입니다.
DRM(Digital Rights Management)과 관련한 설명으로 틀린 것은?
- ① 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용 할 수 있는 접근 제어 기술을 의미한다.
- ② 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
- ③ 클리어링 하우스 (Clearing House) 는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스 템을 말한다.
- ④ 원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가 능하다.
정답 확인
정답 ④ - 디지털 저작권 관리 (DRM)는 콘텐츠를 안전하게 유통하기 위한 전자적 보안 장치인 보안 컨테이너 (Security Container) 를 통해 불법 유통과 복제를 방지할 수 있습니다. 나머지 보기 - ①디지털 콘텐츠와 디바이스 사용을 제한하는 접근 제어 기술이므로 맞는 설명입니다. ②사용 권한 관리, 과금, 유통 단계를 관리하는 기술이므로 맞는 설명입니다. ③클리어링 하우스는 콘텐츠 라이센스를 발급하고 권한을 부여하는 시스템이므로 맞는 설명입니다.
소프트웨어 형상 관리 (Configuration Management) 에 관한 설명으로 틀린 것은?
- ① 소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것을 의미한다.
- ② 소프트웨어 개발의 전체 비용을 줄이고, 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목 적으로 한다.
- ③ 형상 관리를 위하여 구성된 팀을 “Chief Programmer Team”이라고 한다.
- ④ 형상 관리의 기능 중 하나는 버전 제어 기술이다.
정답 확인
정답 ③ - ‘Chief Programmer Team’ 은 효율성을 증대시키기 위해 경험과 능력이 풍부한 책임 프로그래머를 중 심으로 구성한 개발팀의 구성 방식 중 하나로 형상 관리와는 관계가 없습니다. 나머지 보기 - ①수정이나 변경을 알아내고 제어하는 것이므로 맞는 설명입니다. ②개발 비용을 줄이고 방해 요인을 최소화하는 것이 목적이므로 맞는 설명입니다. ④버전 제어 기술이 형상 관리의 기능 중 하나이므로 맞는 설명입니다.
화이트박스 테스트와 관련한 설명으로 틀린 것은?
- ① 화이트박스 테스트의 이해를 위해 논리 흐름도 (Logic-Flow Diagram) 를 이용할 수 있다.
- ② 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트 (Dynamic Test) 에 해 당한다.
- ③ 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초 로 결정한다.
- ④ 테스트 데이터를 선택하기 위하여 검증 기준 (Test Coverage) 을 정한다.
정답 확인
정답 ③ - 화이트박스 테스트는 프로그램의 제어 구조에 따라 선택, 반복 등의 분기점 부분들을 수행함으로써 논리적 경로를 제어합니다. ③ 번은 블랙박스 테스트에 대한 설명입니다. 나머지 보기 - ①논리 흐름도를 이용해 이해할 수 있으므로 맞는 설명입니다. ②실제 프로그램을 실행해 오류를 찾는 동적 테스트이므로 맞는 설명입니다. ④검증 기준(테스트 커버리지)을 정해 테스트 데이터를 선택하므로 맞는 설명입니다.
IPSec(IP Security) 에 대한 설명으로 틀린 것은?
- ① 암호화 수행시 일방향 암호화만 지원한다.
- ② ESP 는 발신지 인증, 데이터 무결성, 기밀성 모두를 보장한다.
- ③ 운영 모드는 Tunnel 모드와 Transport 모드로 분류된다.
- ④ AH 는 발신지 호스트를 인증하고, IP 패킷의 무결성을 보장한다.
정답 확인
정답 ① - IPSec 는 암호화와 복호화가 모두 가능한 양방향 암호 방식입니다. 나머지 보기 - ②ESP는 발신지 인증, 데이터 무결성, 기밀성을 모두 보장하므로 맞는 설명입니다. ③운영 모드는 Tunnel 모드와 Transport 모드로 분류되므로 맞는 설명입니다. ④AH는 발신지 호스트를 인증하고 IP 패킷의 무결성을 보장하므로 맞는 설명입니다.
통합 테스트 (Integration Test)와 관련한 설명으로 틀린 것은?
- ① 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
- ② 하향식 통합 테스트의 경우 넓이 우선 (Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
- ③ 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
- ④ 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
정답 확인
정답 ③ - 상향식 통합 테스트는 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법입니다. 나머지 보기 - ①시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이므로 맞는 설명입니다. ②하향식 통합 테스트는 넓이 우선 방식으로 모듈을 선택할 수 있으므로 맞는 설명입니다. ④모듈 간 인터페이스와 동작을 빨리 파악하려면 하향식이 유리하므로 맞는 설명입니다.
제품 소프트웨어의 형상 관리 역할로 틀린 것은?
- ① 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
- ② 불필요한 사용자의 소스 수정 제한
- ③ 프로젝트 개발 비용을 효율적으로 관리
- ④ 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
정답 확인
정답 ③ - 형상 관리 (SCM)는 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동으로, 프로젝트 개발 비용의 효율적인 관리와는 무관합니다. 나머지 보기 - ①이전 버전 정보에 접근할 수 있어 배포본 관리에 유용하므로 맞는 설명입니다. ②불필요한 사용자의 소스 수정을 제한하므로 맞는 설명입니다. ④동일 프로젝트에 대해 여러 개발자가 동시에 개발할 수 있게 하므로 맞는 설명입니다.
스택에 대한 설명으로 틀린 것은?
- ① 입출력이 한쪽 끝으로만 제한된 리스트이다.
- ② Head(front) 와 Tail(rear) 의 2 개 포인터를 갖고 있다.
- ③ LIFO 구조이다.
- ④ 더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로 (Underflow)가 발생한다.
정답 확인
정답 ② - Front 와 Rear 의 2 개의 포인터를 갖고 있는 자료 구조는 큐 (Queue) 입니다. 나머지 보기 - ①입출력이 한쪽 끝으로만 제한된 리스트이므로 맞는 설명입니다. ③LIFO 구조이므로 맞는 설명입니다. ④삭제할 데이터가 없는 상태에서 삭제하면 언더플로가 발생하므로 맞는 설명입니다.
EAI(Enterprise Application Integration) 구축 유형 중 Hybrid에 대한 설명으로 틀린 것은?
- ① Hub & Spoke 와 Message Bus의 혼합 방식이다.
- ② 필요한 경우 한 가지 방식으로 EAI 구현이 가능하다.
- ③ 데이터 병목 현상을 최소화할 수 있다.
- ④ 중간에 미들웨어를 두지 않고 각 애플리케이션을 Point to Point로 연결한다.
정답 확인
정답 ④ - Hybrid 는 Hub & Spoke 와 Message Bus의 혼합 방식으로, 단말들 사이에 버스와 허브를 미들웨어로 두어 애플리케이션을 연결합니다. 나머지 보기 - ①Hub & Spoke와 Message Bus의 혼합 방식이므로 맞는 설명입니다. ②필요한 경우 한 가지 방식으로도 EAI 구현이 가능하므로 맞는 설명입니다. ③데이터 병목 현상을 최소화할 수 있으므로 맞는 설명입니다.
다음 중 테스트 오라클에 대한 설명으로 옳지 않은 것은?
- ① 샘플링 오라클 : 특정한 몇몇 테스트 케이스의 입력 값들에 대해서만 기대하는 결과를 제공하는 오라클 이다.
- ② 토탈 오라클 : 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클이다.
- ③ 휴리스틱 오라클 : 특정 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하고, 나머지 입력 값들 에 대해서는 추정으로 처리하는 오라클이다.
- ④ 일관성 검사 오라클 : 애플리케이션의 변경이 있을 경우 테스트 케이스의 수행 전과 후의 결과 값이 동 일한지를 확인하는 오라클이다.
정답 확인
정답 ② - 모든 테스트 케이스의 입력 값에 대해 기대하는 결과를 제공하는 오라클은 참 오라클 (True Oracle) 입 니다. 나머지 보기 - ①샘플링 오라클은 특정 케이스의 입력 값들에 대해서만 기대 결과를 제공하므로 맞는 설명입니다. ③휴리스틱 오라클은 특정 케이스는 결과를 제공하고 나머지는 추정으로 처리하므로 맞는 설명입니다. ④일관성 검사 오라클은 변경 전후 결과값이 동일한지 확인하므로 맞는 설명입니다.
블랙박스 테스트를 이용하여 발견할 수 있는 오류가 아닌 것은?
- ① 비정상적인 자료를 입력해도 오류 처리를 수행하지 않는 경우
- ② 정상적인 자료를 입력해도 요구된 기능이 제대로 수행되지 않는 경우
- ③ 반복 조건을 만족하는데도 루프 내의 문장이 수행되지 않는 경우
- ④ 경계값을 입력할 경우 요구된 출력 결과가 나오지 않는 경우
정답 확인
정답 ③ - 루프 내 문장의 수행 여부는 화이트박스 테스트를 통해서만 확인할 수 있습니다. 나머지 보기 - ①비정상 자료 입력 시 오류 처리를 수행하지 않는 경우는 블랙박스 테스트로 발견 가능하므로 맞는 설명입니다. ②정상 자료를 입력해도 기능이 제대로 수행되지 않는 경우도 발견 가능하므로 맞는 설명입니다. ④경계값 입력 시 결과가 나오지 않는 경우도 발견 가능하므로 맞는 설명입니다.
코드의 간결성을 유지하기 위해 사용되는 지침으로 틀린 것은?
- ① 공백을 이용하여 실행문 그룹과 주석을 명확히 구분한다.
- ② 복잡한 논리식과 산술식은 괄호와 들여쓰기 (Indentation)를 통해 명확히 표현한다.
- ③ 빈 줄을 사용하여 선언부와 구현부를 구별한다.
- ④ 한 줄에 최대한 많은 문장을 코딩한다.
정답 확인
정답 ④ - 소스 코드는 가독성을 위해 줄 나눔과 들여쓰기, 괄호를 적절하게 사용해야 합니다. 나머지 보기 - ①공백으로 실행문 그룹과 주석을 구분해야 하므로 맞는 설명입니다. ②복잡한 식은 괄호와 들여쓰기로 명확히 표현해야 하므로 맞는 설명입니다. ③빈 줄로 선언부와 구현부를 구별해야 하므로 맞는 설명입니다.
소프트웨어 형상 관리에 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어에 가해지는 변경을 제어하고 관리한다.
- ② 프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이다.
- ③ 대표적인 형상 관리 도구로 Ant, Maven, Gradle 등이 있다.
- ④ 유지보수 단계뿐만 아니라 개발 단계에도 적용할 수 있다.
정답 확인
정답 ③ - 형상 관리 도구에는 Git, CVS, Subversion, Mercurial 등이 있습니다. Ant, Maven, Gradle은 빌드 자동화 도구입니다. 나머지 보기 - ①소프트웨어에 가해지는 변경을 제어하고 관리하므로 맞는 설명입니다. ②프로젝트 계획, 분석서, 설계서, 프로그램, 테스트 케이스 모두 관리 대상이므로 맞는 설명입니다. ④유지보수 단계뿐 아니라 개발 단계에도 적용할 수 있으므로 맞는 설명입니다.
IDE(Integrated Development Environment) 도구의 각 기능에 대한 설명으로 틀린 것은?
- ① Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
- ② Compile - 저급 언어의 프로그램을 고급 언어 프로그램으로 변환하는 기능
- ③ Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
- ④ Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능
정답 확인
정답 ② - 컴파일 (Compile)은 고급 언어로 작성한 프로그램을 컴퓨터가 이해할 수 있는 기계어저급(언어로) 변 환하는 기능입니다. 나머지 보기 - ①프로그래밍 언어로 프로그램을 작성할 환경을 제공하므로 맞는 설명입니다. ③버그를 찾아 수정할 수 있는 기능이므로 맞는 설명입니다. ④소프트웨어를 최종 사용자에게 전달하는 기능이므로 맞는 설명입니다.
클린 코드 작성원칙에 대한 설명으로 틀린 것은?
- ① 코드의 중복을 최소화한다.
- ② 코드가 다른 모듈에 미치는 영향을 최대화하도록 작성한다.
- ③ 누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
- ④ 간단하게 코드를 작성한다.
정답 확인
정답 ② - 클린 코드 (Clean Code) 는 의존성 배제 원칙에 따라 코드가 다른 모듈에 미치는 영향을 최소화해야 합 니다. 나머지 보기 - ①코드의 중복을 최소화해야 하므로 맞는 설명입니다. ③누구든지 쉽게 읽을 수 있게 작성해야 하므로 맞는 설명입니다. ④간단하게 코드를 작성해야 하므로 맞는 설명입니다.
알고리즘과 관련한 설명으로 틀린 것은?
- ① 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
- ② 검색 (Searching) 은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
- ③ 정렬 (Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
- ④ 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
정답 확인
정답 ④ - 선형 검색 (Linear Search) 은 정렬이 되어 있지 않은 파일에서 순차적으로 검색하는 방식으로, 찾고자 하는 키 (Key) 값을 첫 번째 레코드 키 값부터 차례로 비교하여 검색하는 방식입니다. 나머지 보기 - ①컴퓨터 명령어를 순서대로 나열한 것이므로 맞는 설명입니다. ②검색은 키값에 해당하는 데이터를 찾는 알고리즘이므로 맞는 설명입니다. ③정렬은 키값을 이용해 순서대로 열거하는 알고리즘이므로 맞는 설명입니다.
소스 코드 정적 분석 (Static Analysis)에 대한 설명으로 틀린 것은?
- ① 소스 코드를 실행시키지 않고 분석한다.
- ② 코드에 있는 오류나 잠재적인 오류를 찾아내기 위한 활동이다.
- ③ 하드웨어적인 방법으로만 코드 분석이 가능하다.
- ④ 자료 흐름이나 논리 흐름을 분석하여 비정상적인 패턴을 찾을 수 있다.
정답 확인
정답 ③ - 소스 코드 정적 분석 도구 중 pmd, cppcheck는 소프트웨어적인 방법으로 코드를 분석합니다. 나머지 보기 - ①소스 코드를 실행시키지 않고 분석하므로 맞는 설명입니다. ②오류나 잠재적 오류를 찾아내는 활동이므로 맞는 설명입니다. ④자료·논리 흐름을 분석해 비정상적 패턴을 찾을 수 있으므로 맞는 설명입니다.
힙 정렬 (Heap Sort) 에 대한 설명으로 틀린 것은?
- ① 정렬할 입력 레코드들로 힙을 구성하고 가장 큰 키 값을 갖는 루트 노드를 제거하는 과정을 반복하여 정렬하는 기법이다.
- ② 평균 수행 시간은 O(nlog 2 n)이다.
- ③ 완전 이진 트리 (Complete Binary Tree) 로 입력자료의 레코드를 구성한다.
- ④ 최악의 수행 시간은 O(2n4)이다.
정답 확인
정답 ④ - 힙 정렬의 평균과 최악 모두 시간 복잡도는 O(nlog2 n)입니다. 나머지 보기 - ①힙을 구성하고 가장 큰 키 값의 루트 노드를 제거하는 과정을 반복해 정렬하므로 맞는 설명입니다. ②평균 수행 시간은 O(nlog2n)이므로 맞는 설명입니다. ③완전 이진 트리로 레코드를 구성하므로 맞는 설명입니다.
형상 관리의 개념과 절차에 대한 설명으로 틀린 것은?
- ① 형상 식별은 형상 관리 계획을 근거로 형상 관리의 대상이 무엇인지 식별하는 과정이다.
- ② 형상 관리를 통해 가시성과 추적성을 보장함으로써 소프트웨어의 생산성과 품질을 높일 수 있다.
- ③ 형상 통제 과정에서는 형상 목록의 변경 요구를 즉시 수용 및 반영해야 한다.
- ④ 형상 감사는 형상 관리 계획대로 형상 관리가 진행되고 있는지, 형상 항목의 변경이 요구사항에 맞도록 제대로 이뤄졌는지 등을 살펴보는 활동이다.
정답 확인
정답 ③ - 형상 통제 과정은 식별된 형상 항목에 대한 변경 요구를 검토하여 현재의 기준선 (Base Line) 이 잘 반 영될 수 있도록 조정하는 작업입니다. 나머지 보기 - ①형상 식별은 관리 계획을 근거로 대상을 식별하는 과정이므로 맞는 설명입니다. ②가시성과 추적성을 보장해 생산성과 품질을 높이므로 맞는 설명입니다. ④형상 감사는 계획대로 진행되는지 살펴보는 활동이므로 맞는 설명입니다.
정규화에 대한 설명으로 적절하지 않은 것은?
- ① 데이터베이스의 개념적 설계 단계 이전에 수행한다.
- ② 데이터 구조의 안정성을 최대화한다.
- ③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다.
- ④ 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.
정답 확인
정답 ① - 정규화는 개념적 설계 다음에 수행하는 논리적 설계 단계에서 수행하는 작업입니다. 나머지 보기 - ②데이터 구조의 안정성을 최대화하므로 맞는 설명입니다. ③중복을 배제해 삽입, 삭제, 갱신 이상의 발생을 방지하므로 맞는 설명입니다. ④릴레이션 재구성 필요성을 줄이므로 맞는 설명입니다.
정규화의 필요성으로 거리가 먼 것은?
- ① 데이터 구조의 안정성 최대화
- ② 중복 데이터의 활성화
- ③ 수정, 삭제 시 이상 현상의 최소화
- ④ 테이블 불일치 위험의 최소화
정답 확인
정답 ② - 정규화는 중복을 배제함으로써 삽입, 삭제, 갱신 이상의 발생을 최소화시킵니다. 나머지 보기 - ①데이터 구조의 안정성을 최대화하므로 맞는 설명입니다. ③수정, 삭제 시 이상 현상을 최소화하므로 맞는 설명입니다. ④테이블 불일치 위험을 최소화하므로 맞는 설명입니다.
물리적 데이터베이스 설계에 대한 설명으로 거리가 먼 것은?
- ① 물리적 설계의 목적은 효율적인 방법으로 데이터를 저장하는 것이다.
- ② 트랜잭션 처리량과 응답시간, 디스크 용량 등을 고려해야 한다.
- ③ 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 설계한다.
- ④ 트랜잭션의 인터페이스를 설계하며, 데이터 타입 및 데이터 타입들 간의 관계로 표현한다.
정답 확인
정답 ④ - 트랜잭션의 인터페이스를 설계하고 데이터 타입 및 타입들 간의 관계 표현은 논리 데이터베이스 설계 에서 수행합니다. 나머지 보기 - ①효율적인 방법으로 데이터를 저장하는 것이 물리적 설계의 목적이므로 맞는 설명입니다. ②트랜잭션 처리량, 응답시간, 디스크 용량 등을 고려해야 하므로 맞는 설명입니다. ③저장 레코드의 형식, 순서, 접근 경로 정보를 사용해 설계하므로 맞는 설명입니다.
개체관계- (E-R) 모델에 대한 설명으로 잘못된 것은?
- ① 특정 DBMS를 고려하여 제작하지 않는다.
- ② 개체는 마름모, 속성은 사각형을 이용하여 표현한다.
- ③ 개념적 데이터베이스 단계에서 제작된다.
- ④ E-R 모델의 기본적인 아이디어를 시각적으로 가장 잘 나타낸 것이 E-R 다이어그램이다.
정답 확인
정답 ② - E-R 다이어그램에서 개체 타입은 사각형, 관계 타입은 마름모, 속성은 타원으로 표현합니다. 나머지 보기 - ①특정 DBMS를 고려하지 않고 제작하므로 맞는 설명입니다. ③개념적 데이터베이스 설계 단계에서 제작되므로 맞는 설명입니다. ④E-R 다이어그램이 E-R 모델을 시각적으로 가장 잘 나타내므로 맞는 설명입니다.
SQL 문에서 SELECT 에 대한 설명으로 옳지 않은 것은?
- ① FROM 절에는 질의에 의해 검색될 데이터들을 포함하는 테이블명을 기술한다.
- ② 검색 결과에 중복되는 레코드를 없애기 위해서는 WHERE 절에 ‘DISTINCT’ 키워드를 사용한다.
- ③ HAVING 절은 GROUP BY 절과 함께 사용되며, 그룹에 대한 조건을 지정한다.
- ④ ORDER BY 절은 특정 속성을 기준으로 정렬하여 검색할 때 사용한다.
정답 확인
정답 ② - DISTINCT는 SELECT 절의 속성명 앞에 사용하는 예약어입니다. 나머지 보기 - ①FROM 절에는 검색될 데이터를 포함하는 테이블명을 기술하므로 맞는 설명입니다. ③HAVING 절은 GROUP BY 절과 함께 그룹에 대한 조건을 지정하므로 맞는 설명입니다. ④ORDER BY 절은 특정 속성을 기준으로 정렬할 때 사용하므로 맞는 설명입니다.
뷰 (View) 에 대한 설명으로 옳지 않은 것은?
- ① 뷰는 CREATE 문을 사용하여 정의한다.
- ② 뷰는 데이터의 논리적 독립성을 제공한다.
- ③ 뷰를 제거할 때는 DROP 문을 사용한다.
- ④ 뷰는 저장장치 내에 물리적으로 존재한다.
정답 확인
정답 ④ - 뷰 (View) 는 저장장치 내에 물리적으로 존재하지 않는 가상 테이블입니다. 나머지 보기 - ①뷰는 CREATE 문으로 정의하므로 맞는 설명입니다. ②데이터의 논리적 독립성을 제공하므로 맞는 설명입니다. ③DROP 문으로 제거하므로 맞는 설명입니다.
속성 (attribute) 에 대한 설명으로 틀린 것은?
- ① 속성은 개체의 특성을 기술한다.
- ② 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- ③ 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당된다.
- ④ 속성의 수를 “cardinality”라고 한다.
정답 확인
정답 ④ - 속성 (attribute) 의 수는 디그리 (Degree)이고, 카디널리티 (Cardinality) 는 튜플 (Tuple)의 수입니다. 나머지 보기 - ①속성은 개체의 특성을 기술하므로 맞는 설명입니다. ②데이터베이스를 구성하는 가장 작은 논리적 단위이므로 맞는 설명입니다. ③파일 구조상 데이터 항목 또는 필드에 해당하므로 맞는 설명입니다.
뷰 (VIEW) 에 대한 설명으로 옳지 않은 것은?
- ① DBA 는 보안 측면에서 뷰를 활용할 수 있다.
- ② 뷰 위에 또 다른 뷰를 정의할 수 있다.
- ③ 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약사항이 따르지 않는다.
- ④ 독립적인 인덱스를 가질 수 없다.
정답 확인
정답 ③ - 뷰는 기본 테이블이나 또 다른 뷰를 이용해서 만든 가상 테이블로서, 기본 테이블과 비교할 때 삽입, 삭제, 갱신 연산에 제약이 있습니다. 나머지 보기 - ①DBA는 보안 측면에서 뷰를 활용할 수 있으므로 맞는 설명입니다. ②뷰 위에 또 다른 뷰를 정의할 수 있으므로 맞는 설명입니다. ④독립적인 인덱스를 가질 수 없으므로 맞는 설명입니다.
데이터베이스의 무결성 규정 (Integrity Rule)과 관련한 설명으로 틀린 것은?
- ① 무결성 규정에는 데이터가 만족해야 될 제약 조건, 규정을 참조할 때 사용하는 식별자 등의 요소가 포 함될 수 있다.
- ② 무결성 규정의 대상으로는 도메인, 키, 종속성 등이 있다.
- ③ 정식으로 허가받은 사용자가 아닌 불법적인 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위 한 규정이다.
- ④ 릴레이션 무결성 규정 (Relation Integrity Rules) 은 릴레이션을 조작하는 과정에서의 의미적 관계 (Semantic Relationship) 를 명세한 것이다.
정답 확인
정답 ③ - 허가받은 사용자만이 갱신할 수 있다는 설명은 데이터베이스의 무결성 규정 (Integrity Rule) 이 아닌 소 프트웨어 개발 시 충족시켜야 할 보안 요소인 무결성 (Integrity) 에 대한 설명입니다. 나머지 보기 - ①무결성 규정에는 데이터가 만족해야 할 제약 조건, 식별자 등의 요소가 포함되므로 맞는 설명입니다. ②무결성 규정의 대상에는 도메인, 키, 종속성 등이 있으므로 맞는 설명입니다. ④릴레이션 무결성 규정은 릴레이션 조작 과정의 의미적 관계를 명세한 것이므로 맞는 설명입니다.
데이터베이스에서 병행제어의 목적으로 틀린 것은?
- ① 시스템 활용도 최대화
- ② 사용자에 대한 응답시간 최소화
- ③ 데이터베이스 공유 최소화
- ④ 데이터베이스 일관성 유지
정답 확인
정답 ③ - 병행제어의 목적 중 하나는 데이터베이스 공유 최대화입니다. 나머지 보기 - ①시스템 활용도 최대화가 목적이므로 맞는 설명입니다. ②사용자 응답시간 최소화가 목적이므로 맞는 설명입니다. ④데이터베이스 일관성 유지가 목적이므로 맞는 설명입니다.
DELETE 명령에 대한 설명으로 틀린 것은?
- ① 테이블의 행을 삭제할 때 사용한다.
- ② WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있다.
- ③ SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
- ④ 기본 사용 형식은 “DELETE FROM 테이블 [WHERE 조건 ];” 이다.
정답 확인
정답 ② - DROP은 테이블을 삭제하고, DELETE 는 레코드를 삭제하는 명령문입니다. DELETE 에 WHERE 조건절을 생략하면 테이블은 남아있고 테이블 안에 있는 모든 레코드가 삭제됩 니다. 나머지 보기 - ①테이블의 행을 삭제할 때 사용하므로 맞는 설명입니다. ③DML에 해당하므로 맞는 설명입니다. ④기본 사용 형식이 "DELETE FROM 테이블 [WHERE 조건];"이므로 맞는 설명입니다.
분산 데이터베이스 시스템 (Distributed Database System) 에 대한 설명으로 틀린 것은?
- ① 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만, 물리적으로는 여러 개의 컴퓨터 사이트 에 분산되어 있다.
- ② 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
- ③ 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
- ④ 분 산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템단일, 데이터베이스 등이 있다.
정답 확인
정답 ④ - 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, 분산 데이터베이스, 통신 네트워크가 있습 니다. 나머지 보기 - ①논리적으로는 하나의 시스템이지만 물리적으로는 여러 컴퓨터 사이트에 분산되어 있으므로 맞는 설명입니다. ②위치·중복·병행·장애 투명성을 목표로 하므로 맞는 설명입니다. ③설계가 어렵고 개발·처리 비용이 증가하는 단점이 있으므로 맞는 설명입니다.
관계대수와 관계해석에 대한 설명으로 옳지 않는 것은?
- ① 관계대수는 원래 수학의 프레디킷 해석에 기반을 두고 있다.
- ② 관계대수로 표현한 식은 관계해석으로 표현할 수 있다.
- ③ 관계해석은 관계 데이터의 연산을 표현하는 방법이다.
- ④ 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적인 특징을 가지고 있다.
정답 확인
정답 ① - 수학의 프레디킷 해석에 기반을 두고 있는 것은 관계해석입니다. 나머지 보기 - ②관계대수로 표현한 식은 관계해석으로도 표현할 수 있으므로 맞는 설명입니다. ③관계해석은 관계 데이터의 연산을 표현하는 방법이므로 맞는 설명입니다. ④관계해석은 원하는 정보만 정의하는 비절차적 특징을 가지므로 맞는 설명입니다.
시스템 카탈로그에 대한 설명으로 옳지 않은 것은?
- ① 시스템 자체에 관련 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- ② 데이터 사전이라고도 한다.
- ③ 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 정보를 저장한다.
- ④ 시스템을 위한 정보를 포함하는 시스템 데이터베이스이므로 일반 사용자는 SQL을 이용하여 내용을 검 색해 볼 수 없다.
정답 확인
정답 ④ - 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있습니다. 나머지 보기 - ①시스템 자체에 관련된 다양한 객체 정보를 포함하는 시스템 데이터베이스이므로 맞는 설명입니다. ②데이터 사전이라고도 하므로 맞는 설명입니다. ③기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 정보를 저장하므로 맞는 설명입니다.
데이터베이스의 인덱스와 관련한 설명으로 틀린 것은?
- ① 문헌의 색인, 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조이다.
- ② 테이블에 붙여진 색인으로 데이터 검색 시 처리 속도 향상에 도움이 된다.
- ③ 인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
- ④ 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
정답 확인
정답 ③ - 인덱스를 추가하는 명령어는 CREATE, 삭제하는 명령어는 DROP 입니다. 나머지 보기 - ①데이터를 쉽고 빠르게 찾도록 만든 데이터 구조이므로 맞는 설명입니다. ②검색 시 처리 속도 향상에 도움이 되므로 맞는 설명입니다. ④테이블을 삭제하면 인덱스도 함께 삭제되므로 맞는 설명입니다.
관계형 데이터 모델의 릴레이션에 대한 설명으로 틀린 것은?
- ① 모든 속성 값은 원자 값을 갖는다.
- ② 한 릴레이션에 포함된 튜플은 모두 상이하다.
- ③ 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
- ④ 한 릴레이션을 구성하는 속성 사이에는 순서가 존재한다.
정답 확인
정답 ④ - 릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않으며, 특별한 순서가 없습니다. 나머지 보기 - ①모든 속성 값은 원자 값을 가지므로 맞는 설명입니다. ②한 릴레이션에 포함된 튜플은 모두 상이하므로 맞는 설명입니다. ③튜플 사이에는 순서가 없으므로 맞는 설명입니다.
정규화를 거치지 않아 발생하게 되는 이상 (anomaly) 현상의 종류에 대한 설명으로 옳지 않은 것은?
- ① 삭제 이상이란 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들로 함께 삭제되는 연쇄 삭제 현상이다.
- ② 삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되 는 현상이다.
- ③ 갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모 순이 생기는 현상이다.
- ④ 종속 이상이란 하나의 릴레이션에 하나 이상의 함수적 종속성이 존재하는 현상이다.
정답 확인
정답 ④ - 이상의 종류에는 삽입 이상, 삭제 이상, 갱신 이상이 있으며, 종속 이상은 존재하지 않습니다. 나머지 보기 - ①삭제 이상은 튜플 삭제 시 의도치 않은 값까지 함께 삭제되는 연쇄 삭제 현상이므로 맞는 설명입니다. ②삽입 이상은 데이터 삽입 시 원하지 않는 값이 함께 삽입되는 현상이므로 맞는 설명입니다. ③갱신 이상은 일부 튜플만 갱신되어 정보에 모순이 생기는 현상이므로 맞는 설명입니다.
SQL의 TRUNCATE 명령어에 대한 설명으로 옳지 않은 것은?
- ① DELETE와 같이 테이블의 모든 데이터를 삭제한다.
- ② DROP과 달리 테이블 스키마는 제거되지 않고 유지된다.
- ③ DELETE에 비해 빠르게 데이터를 제거하는 것이 가능하다.
- ④ DELETE와 동일하게 ROLLBACK 명령어로 삭제된 데이터를 되살릴 수 있다.
정답 확인
정답 ④ - DELETE 명령어로 삭제한 데이터는 ROLLBACK 명령어로 되살릴 수 있지만, TRUNCATE 명령어로 삭제한 데이터는 되살릴 수 없습니다. 나머지 보기 - ①DELETE와 같이 테이블의 모든 데이터를 삭제하므로 맞는 설명입니다. ②DROP과 달리 테이블 스키마는 유지되므로 맞는 설명입니다. ③DELETE보다 빠르게 데이터를 제거할 수 있으므로 맞는 설명입니다.
시스템 카탈로그에 대한 설명으로 옳지 않은 것은?
- ① 사용자가 직접 시스템 카탈로그의 내용을 갱신하여 데이터베이스 무결성을 유지한다.
- ② 시스템 자신이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있는 시스템 데이터베 이스이다.
- ③ 시스템 카탈로그에 저장되는 내용을 메타 데이터라고도 한다.
- ④ 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.
정답 확인
정답 ① - 시스템 카탈로그는 사용자가 조회할 수는 있으나 갱신하는 것은 불가능합니다. 나머지 보기 - ②시스템 자신이 필요로 하는 스키마와 객체 정보를 포함한 시스템 데이터베이스이므로 맞는 설명입니다. ③저장 내용을 메타 데이터라고도 하므로 맞는 설명입니다. ④DBMS가 스스로 생성하고 유지하므로 맞는 설명입니다.
관계대수에 대한 설명으로 틀린 것은?
- ① 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적 언어이다.
- ② 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
- ③ 일반 집합 연산과 순수 관계 연산으로 구분된다.
- ④ 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
정답 확인
정답 ① - 원하는 릴레이션을 정의하는 방법을 제공하는 비절차적 특성을 지닌 것은 관계해석입니다. 나머지 보기 - ②릴레이션 조작 연산의 집합으로 피연산자와 결과가 모두 릴레이션이므로 맞는 설명입니다. ③일반 집합 연산과 순수 관계 연산으로 구분되므로 맞는 설명입니다. ④연산의 순서를 명시하는 절차적 언어이므로 맞는 설명입니다.
데이터베이스의 논리적 설계 (Logical Design) 단계에서 수행하는 작업이 아닌 것은?
- ① 레코드 집중의 분석 및 설계
- ② 논리적 데이터베이스 구조로 매핑(mapping)
- ③ 트랜잭션 인터페이스 설계
- ④ 스키마의 평가 및 정제
정답 확인
정답 ① - 레코드 집중의 분석은 물리적 설계 단계에서 수행하는 작업입니다. 나머지 보기 - ②논리적 데이터베이스 구조로 매핑하는 작업이므로 맞는 설명입니다. ③트랜잭션 인터페이스 설계는 논리적 설계 단계의 작업이므로 맞는 설명입니다. ④스키마의 평가 및 정제도 논리적 설계 단계의 작업이므로 맞는 설명입니다.
데이터 제어 언어 (DCL)의 기능으로 옳지 않은 것은?
- ① 데이터 보안
- ② 논리적, 물리적 데이터 구조 정의
- ③ 무결성 유지
- ④ 병행수행 제어
정답 확인
정답 ② - 논리적, 물리적 데이터 구조를 정의하는 것은 데이터 정의 언어 (DDL; Data Definition Language) 의 기능입니다. 나머지 보기 - ①데이터 보안이 DCL의 기능이므로 맞는 설명입니다. ③무결성 유지가 DCL의 기능이므로 맞는 설명입니다. ④병행수행 제어가 DCL의 기능이므로 맞는 설명입니다.
CREATE TABLE 문에 포함되지 않는 기능은?
- ① 속성 타입 변경
- ② 속성의 NOT NULL 여부 지정
- ③ 기본키를 구성하는 속성 지정
- ④ CHECK 제약조건의 정의
정답 확인
정답 ① - CREATE TABLE 문에서는 속성 타입을 변경할 수 없습니다. 나머지 보기 - ②속성의 NOT NULL 여부를 지정할 수 있으므로 맞는 설명입니다. ③기본키를 구성하는 속성을 지정할 수 있으므로 맞는 설명입니다. ④CHECK 제약조건을 정의할 수 있으므로 맞는 설명입니다.
무결성을 보장하기 위해 트랜잭션이 가져야 할 특성에 대한 설명으로 옳지 않은 것은?
- ① 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라 도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
- ② 트랜잭션의 수행과 관계 없이 데이터베이스가 가지고 있는 고정요소는 일관되어야 한다.
- ③ 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- ④ Commit 과 Rollback 명령어에 의해 보장받는 트랜잭션의 특성은 일관성이다.
정답 확인
정답 ④ - Commit 과 Rollback 명령어에 의해 보장받는 트랜잭션의 특성은 일관성이 아니라 원자성입니다. 나머지 보기 - ①트랜잭션 내 모든 명령은 완벽히 수행되거나 오류 시 전부 취소되어야 하므로(원자성) 맞는 설명입니다. ②데이터베이스의 고정 요소는 일관되어야 하므로(일관성) 맞는 설명입니다. ③둘 이상의 트랜잭션이 병행 실행될 때 서로의 연산이 끼어들 수 없으므로(고립성) 맞는 설명입니다.
데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
- ① 저장 레코드 양식 설계
- ② 레코드 집중의 분석 및 설계
- ③ 접근 경로 설계
- ④ 목표 DBMS에 맞는 스키마 설계
정답 확인
정답 ④ - 목표 DBMS에 맞는 스키마 설계는 논리적 설계 단계에서 수행하는 사항입니다. 나머지 보기 - ①저장 레코드 양식 설계는 물리적 설계 단계의 작업이므로 맞는 설명입니다. ②레코드 집중의 분석 및 설계도 물리적 설계 단계의 작업이므로 맞는 설명입니다. ③접근 경로 설계도 물리적 설계 단계의 작업이므로 맞는 설명입니다.
분산 데이터베이스 시스템과 관련한 설명으로 틀린 것은?
- ① 물리적으로 분산된 데이터베이스 시스템을 논리적으로 하나의 데이터베이스 시스템처럼 사용할 수 있 도록 한 것이다.
- ② 물리적으로 분산되어 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터 (Local Computer) 를 분산 처리기 (Distributed Processor) 라고 한다.
- ③ 분산 데이터베이스 시스템을 위한 통신 네트워크 구조가 데이터 통신에 영향을 주므로 효율적으로 설 계해야 한다.
- ④ 데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency) 을 배제해야 한다.
정답 확인
정답 ④ - 사용자가 데이터베이스가 분산되어 있음을 인식할 필요가 없습니다. 나머지 보기 - ①물리적으로 분산된 시스템을 논리적으로 하나처럼 사용할 수 있게 하므로 맞는 설명입니다. ②지역별 지역 컴퓨터를 분산 처리기라고 하므로 맞는 설명입니다. ③통신 네트워크 구조가 데이터 통신에 영향을 주므로 효율적으로 설계해야 한다는 설명이 맞습니다.
테이블의 기본키 (Primary Key) 로 지정된 속성에 관한 설명으로 가장 거리가 먼 것은?
- ① NOT NULL 로 널 값을 가지지 않는다.
- ② 릴레이션에서 튜플을 구별할 수 있다.
- ③ 외래키로 참조될 수 있다.
- ④ 검색할 때 반드시 필요하다.
정답 확인
정답 ④ - 기본키가 지정되어 있지 않아도 검색할 수 있습니다. 나머지 보기 - ①기본키는 NOT NULL로 널 값을 가지지 않으므로 맞는 설명입니다. ②릴레이션에서 튜플을 구별할 수 있으므로 맞는 설명입니다. ③외래키로 참조될 수 있으므로 맞는 설명입니다.
SQL과 관련한 설명으로 틀린 것은?
- ① REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
- ② 데이터 정의어는 기본 테이블뷰, 테이블또는, 인덱스 등을 생성변경제거하는데,, 사용되는 명령어이다.
- ③ DISTINCT를 활용하여 중복 값을 제거할 수 있다.
- ④ JOIN 을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
정답 확인
정답 ① - REVOKE는 데이터베이스 사용자의 사용 권한을 취소하는 기능입니다. 나머지 보기 - ②데이터 정의어는 테이블, 뷰, 인덱스 등을 생성·변경·제거하는 명령어이므로 맞는 설명입니다. ③DISTINCT로 중복 값을 제거할 수 있으므로 맞는 설명입니다. ④JOIN으로 여러 테이블의 레코드를 조합할 수 있으므로 맞는 설명입니다.
데이터베이스에서 인덱스 (Index) 와 관련한 설명으로 틀린 것은?
- ① 인덱스의 기본 목적은 검색 성능을 최적화하는 것으로 볼 수 있다.
- ② B- 트리 인덱스는 분기를 목적으로 하는 Branch Block 을 가지고 있다.
- ③ BETWEEN 등 범위 (Range) 검색에 활용될 수 있다.
- ④ 시스템이 자동으로 생성하여 사용자가 변경할 수 없다.
정답 확인
정답 ④ - 인덱스는 사용자가 데이터 정의어 (DDL) 를 이용하여 생성, 변경, 제거할 수 있습니다. 나머지 보기 - ①검색 성능 최적화가 인덱스의 기본 목적이므로 맞는 설명입니다. ②B-트리 인덱스는 분기를 위한 Branch Block을 가지므로 맞는 설명입니다. ③BETWEEN 등 범위 검색에 활용될 수 있으므로 맞는 설명입니다.
병행제어 기법 중 로킹에 대한 설명으로 옳지 않은 것은?
- ① 로킹의 대상이 되는 객체의 크기를 로킹 단위라고 한다.
- ② 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
- ③ 로킹의 단위가 작아지면 로킹 오버헤드가 증가한다.
- ④ 로킹의 단위가 커지면 데이터베이스 공유도가 증가한다.
정답 확인
정답 ④ - 로킹 단위가 커지면 데이터베이스 병행성 수준이 낮아지므로 공유도가 감소합니다. 나머지 보기 - ①로킹 대상 객체의 크기를 로킹 단위라고 하므로 맞는 설명입니다. ②데이터베이스, 파일, 레코드 등이 로킹 단위가 될 수 있으므로 맞는 설명입니다. ③로킹 단위가 작아지면 오버헤드가 증가하므로 맞는 설명입니다.
C 언어에서의 변수 선언으로 틀린 것은?
- ① int else;
- ② int Test2;
- ③ int pc;
- ④ int True;
정답 확인
정답 ① - else 는 if 문에서 사용하는 예약어로, C언어에서는 예약어를 변수의 이름으로 사용할 수 없습니다. 나머지 보기 - ②Test2는 예약어가 아니므로 변수로 사용할 수 있어 맞는 설명입니다. ③pc는 예약어가 아니므로 사용할 수 있어 맞는 설명입니다. ④True는 C언어의 예약어가 아니므로(대소문자를 구분) 사용할 수 있어 맞는 설명입니다.
페이징 기법에서 페이지 크기가 작아질수록 발생하는 현상이 아닌 것은?
- ① 기억장소 이용 효율이 증가한다.
- ② 입출력· 시간이 늘어난다.
- ③ 내부 단편화가 감소한다.
- ④ 페이지 맵 테이블의 크기가 감소한다.
정답 확인
정답 ④ - 페이지 크기가 작아질수록 페이지의 개수가 많아져 주소를 저장하는 맵 테이블의 크기가 커지게 됩니다. 나머지 보기 - ①페이지가 작아지면 내부 단편화가 줄어 기억장소 이용 효율이 증가하므로 맞는 설명입니다. ②페이지 수가 많아져 입출력 횟수가 늘어나 시간이 늘어나므로 맞는 설명입니다. ③내부 단편화가 감소하므로 맞는 설명입니다.
RIP 라우팅 프로토콜에 대한 설명으로 틀린 것은?
- ① 경로 선택 메트릭은 홉 카운트 (hop count) 이다.
- ② 라우팅 프로토콜을 IGP 와 EGP 로 분류했을 때 EGP 에 해당한다.
- ③ 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
- ④ 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
정답 확인
정답 ② - RIP 라우팅 프로토콜은 IGP(내부 게이트웨이 프로토콜에) 해당합니다. 나머지 보기 - ①경로 선택 메트릭이 홉 카운트이므로 맞는 설명입니다. ③최단 경로 탐색에 Bellman-Ford 알고리즘을 사용하므로 맞는 설명입니다. ④이웃 라우터로부터 받은 정보로 라우팅 표를 갱신하므로 맞는 설명입니다.
IP 주소 체계와 관련한 설명으로 틀린 것은?
- ① IPv6 의 패킷 헤더는 32 octet 의 고정된 길이를 가진다.
- ② IPv6 는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시 킬 수 있다.
- ③ IPv4 는 호스트 주소를 자동으로 설정하며 유니캐스트 (Unicast)를 지원한다.
- ④ IPv4 는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
정답 확인
정답 ① - IPv6 의 패킷 헤더는 40 옥텟(octet) 의 고정된 길이를 갖습니다. 나머지 보기 - ②IPv6는 주소 자동설정 기능으로 단말을 손쉽게 네트워크에 접속시킬 수 있으므로 맞는 설명입니다. ③IPv4는 호스트 주소를 자동 설정하며 유니캐스트를 지원하므로 맞는 설명입니다. ④IPv4는 클래스별로 네트워크·호스트 주소 길이가 다르므로 맞는 설명입니다.
UNIX 운영체제에 관한 특징으로 틀린 것은?
- ① 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다.
- ② Multi-User 는 지원하지만 Multi-Tasking 은 지원하지 않는다.
- ③ 트리 구조의 파일 시스템을 갖는다.
- ④ 이식성이 높으며 장치 간의 호환성이 높다.
정답 확인
정답 ② - UNIX는 다중 사용자 (Multi-User), 다중 작업 (Multi-Tasking)을 지원하는 운영체제입니다. 나머지 보기 - ①하나 이상의 작업을 백그라운드에서 수행할 수 있으므로 맞는 설명입니다. ③트리 구조의 파일 시스템을 가지므로 맞는 설명입니다. ④이식성이 높고 장치 간 호환성이 높으므로 맞는 설명입니다.
JAVA에서 변수와 자료형에 대한 설명으로 틀린 것은?
- ① 변수는 어떤 값을 주기억장치에 기억하기 위해서 사용하는 공간이다.
- ② 변수의 자료형에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.
- ③ char 자료형은 나열된 여러 개의 문자를 저장하고자 할 때 사용한다.
- ④ boolean 자료형은 조건이 참인지 거짓인지 판단하고자 할 때 사용한다.
정답 확인
정답 ③ - char 자료형은 문자 한 글자를 저장할 때 사용하는 자료형입니다. 나머지 보기 - ①변수는 값을 주기억장치에 기억하기 위한 공간이므로 맞는 설명입니다. ②자료형에 따라 저장 가능한 값의 종류와 범위가 달라지므로 맞는 설명입니다. ④boolean 자료형은 참/거짓을 판단할 때 사용하므로 맞는 설명입니다.
프로세스 적재 정책과 관련한 설명으로 틀린 것은?
- ① 반복, 스택, 부프로그램은 시간 지역성 (Temporal Locality) 과 관련이 있다.
- ② 공간 지역성 (Spatial Locality) 은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소 공간상 그 페이 지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
- ③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱 (Thrashing) 이 발생한다.
- ④ 스레싱 (Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답 확인
정답 ③ - 스래싱(Thrashing)은 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상입니다. 나머지 보기 - ①반복, 스택, 부프로그램은 시간 지역성과 관련이 있으므로 맞는 설명입니다. ②공간 지역성은 참조한 페이지와 인접한 페이지를 참조할 가능성이 높음을 의미하므로 맞는 설명입니다. ④각 프로세스에 필요한 프레임을 제공하면 스레싱을 방지할 수 있으므로 맞는 설명입니다.
TCP 헤더와 관련한 설명으로 틀린 것은?
- ① 순서 번호 (Sequence Number) 는 전달하는 바이트마다 번호가 부여된다.
- ② 수 신 번호 확인(Acknowledgement Number)은 상대편 호스트에서 받으려는 바이트의 번호를 정의한다.
- ③ 체크섬 (Checksum)은 데이터를 포함한 세그먼트의 오류를 검사한다.
- ④ 윈도우 크기는 송수신 측의 버퍼 크기로 최대 크기는 32767bit이다.
정답 확인
정답 ④ - TCP 헤더에서 윈도우의 최대 크기는 65,535(216-1)byte입니다. 나머지 보기 - ①순서 번호는 전달하는 바이트마다 부여되므로 맞는 설명입니다. ②수신 번호 확인은 상대편이 받으려는 바이트 번호를 정의하므로 맞는 설명입니다. ③체크섬은 세그먼트의 오류를 검사하므로 맞는 설명입니다.
JAVA의 예외 (exception) 와 관련한 설명으로 틀린 것은?
- ① 문법 오류로 인해 발생한 것
- ② 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
- ③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
- ④ 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
정답 확인
정답 ① - 예외 (Exception) 는 실행 중에 발생할 수 있는 여러 상황들을 대비한 것입니다. 문법 오류의 경우 코드가 실행조차 되지 않으므로 예외로 처리할 수 없습니다. 나머지 보기 - ②실행 시간 동안 발생하는 오동작이나 악영향을 줄 수 있는 오류이므로 맞는 설명입니다. ③배열의 인덱스가 범위를 넘어설 때 발생하는 오류이므로 맞는 설명입니다. ④존재하지 않는 파일을 읽으려 할 때 발생하는 오류이므로 맞는 설명입니다.
TCP 프로토콜에 대한 설명으로 거리가 먼 것은?
- ① 신뢰성이 있는 연결 지향형 전달 서비스이다.
- ② 기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.
- ③ 스트림 전송 기능을 제공한다.
- ④ 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다
정답 확인
정답 ② - TCP 프로토콜 헤더의 크기는 20~60byte이며, 여기에 선택적으로 40byte 를 더 추가할 수 있으므로 최 대 100byte까지 확장이 가능합니다. 나머지 보기 - ①신뢰성 있는 연결 지향형 전달 서비스이므로 맞는 설명입니다. ③스트림 전송 기능을 제공하므로 맞는 설명입니다. ④순서 제어, 오류 제어, 흐름 제어 기능을 제공하므로 맞는 설명입니다.
IPv6 에 대한 설명으로 틀린 것은?
- ① 32 비트의 주소 체계를 사용한다.
- ② 멀티미디어의 실시간 처리가 가능하다.
- ③ IPv4 보다 보안성이 강화되었다.
- ④ 자동으로 네트워크 환경 구성이 가능하다.
정답 확인
정답 ① - IPv6 의 주소 체계는 16 비트씩 8 부분, 총 128 비트로 구성되어 있습니다. 나머지 보기 - ②멀티미디어의 실시간 처리가 가능하므로 맞는 설명입니다. ③IPv4보다 보안성이 강화되었으므로 맞는 설명입니다. ④자동으로 네트워크 환경 구성이 가능하므로 맞는 설명입니다.
파이썬의 변수 작성 규칙 설명으로 옳지 않은 것은?
- ① 첫 자리에 숫자를 사용할 수 없다.
- ② 영문 대문자소문자/, 숫자, 밑줄 (_)의 사용이 가능하다.
- ③ 변수 이름의 중간에 공백을 사용할 수 있다.
- ④ 이미 사용되고 있는 예약어는 사용할 수 없다.
정답 확인
정답 ③ - 변수 이름의 중간에 공백을 넣을 수 없습니다. 나머지 보기 - ①첫 자리에 숫자를 사용할 수 없으므로 맞는 설명입니다. ②영문 대소문자, 숫자, 밑줄(_)의 사용이 가능하므로 맞는 설명입니다. ④이미 사용 중인 예약어는 사용할 수 없으므로 맞는 설명입니다.
C 언어에서 사용할 수 없는 변수명은?
- ① student2019
- ② text-color
- ③ _korea
- ④ amount
정답 확인
정답 ② - 변수명에는 공백이나 *, +, -, / 등의 특수문자를 사용할 수 없습니다. 나머지 보기 - ①student2019는 사용 가능한 변수명이므로 맞는 설명입니다. ③_korea는 사용 가능한 변수명이므로 맞는 설명입니다. ④amount는 사용 가능한 변수명이므로 맞는 설명입니다.
다음 중 HRN에 대한 설명으로 옳지 않은 것은?
- ① 대기 시간과 서비스 시간을 이용하는 방법이다.
- ② 대기 시간이 긴 프로세스일 경우 우선순위가 높다.
- ③ 우선순위 계산식 값이 낮을수록 우선순위가 높다.
- ④ SJF 기법을 보완하기 위한 스케줄링 방법이다.
정답 확인
정답 ③ - HRN 기법의 우선순위 계산식을 통해 산출된 값은 수치가 클수록 우선순위가 높습니다. 나머지 보기 - ①대기 시간과 서비스 시간을 이용하는 방법이므로 맞는 설명입니다. ②대기 시간이 긴 프로세스일수록 우선순위가 높아지므로 맞는 설명입니다. ④SJF 기법을 보완하기 위한 스케줄링 방법이므로 맞는 설명입니다.
프로세스와 관련한 설명으로 틀린 것은?
- ① 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치 (Dispatch) 라고 한다.
- ② 프로세스 제어 블록 (PCB, Process Control Block) 은 프로세스 식별자, 프로세스 상태 등의 정보로 구 성된다.
- ③ 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환 (Context Switching)이라고 한다.
- ④ 프로세스는 스레드 (Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택 (Stack) 이 없다.
정답 확인
정답 ④ - 스레드 (Thread)가 프로세스 내에서의 작업의 단위입니다. 나머지 보기 - ①준비 상태에서 실행 상태로 변화하는 것을 디스패치라고 하므로 맞는 설명입니다. ②PCB는 프로세스 식별자, 상태 등의 정보로 구성되므로 맞는 설명입니다. ③이전 프로세스의 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환이라 하므로 맞는 설명입니다.
IPv6 에 대한 특성으로 틀린 것은?
- ① 표시 방법은 8 비트씩 4 부분의 10 진수로 표시한다.
- ② 2 128개의 주소를 표현할 수 있다.
- ③ 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장이 용이하다.
- ④ 확장 기능을 통해 보안 기능을 제공한다.
정답 확인
정답 ① - IPv6 는 16 비트씩 8 부분, 총 128 비트로 구성되어 있으며 각 부분을 16 진수로 표현합니다. 나머지 보기 - ②2^128개의 주소를 표현할 수 있으므로 맞는 설명입니다. ③등급별, 서비스별로 패킷을 구분해 품질 보장이 용이하므로 맞는 설명입니다. ④확장 기능을 통해 보안 기능을 제공하므로 맞는 설명입니다.
파일 디스크립터 (File Descriptor) 에 대한 설명으로 틀린 것은?
- ① 파일 관리를 위해 시스템이 필요로 하는 정보를 가지고 있다.
- ② 보조기억장치에 저장되어 있다가 파일이 개방 (open) 되면 주기억장치로 이동된다.
- ③ 사용자가 파일 디스크립터를 직접 참조할 수 있다.
- ④ 파일 제어 블록 (File Control Block)이라고도 한다.
정답 확인
정답 ③ - 파일 디스크립터는 사용자가 직접 참조할 수 없습니다. 나머지 보기 - ①파일 관리를 위해 시스템이 필요로 하는 정보를 가지므로 맞는 설명입니다. ②보조기억장치에 저장되어 있다가 개방되면 주기억장치로 이동하므로 맞는 설명입니다. ④파일 제어 블록이라고도 하므로 맞는 설명입니다.
UDP 프로토콜의 특징이 아닌 것은?
- ① 비연결형 서비스를 제공한다.
- ② 단순한 헤더 구조로 오버헤드가 적다.
- ③ 주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
- ④ TCP와 같이 트랜스포트 계층에 존재한다.
정답 확인
정답 ③ - ③ 번은 IP(Internet Protocol) 에 대한 설명입니다. 나머지 보기 - ①비연결형 서비스를 제공하므로 맞는 설명입니다. ②단순한 헤더 구조로 오버헤드가 적으므로 맞는 설명입니다. ④TCP와 같이 트랜스포트 계층에 존재하므로 맞는 설명입니다.
UNIX 의 쉘 (Shell) 에 관한 설명으로 옳지 않은 것은?
- ① 명령어 해석기이다.
- ② 시스템과 사용자 간의 인터페이스를 담당한다.
- ③ 여러 종류의 쉘이 있다.
- ④ 프로세스, 기억장치, 입출력 관리를 수행한다.
정답 확인
정답 ④ - 프로세스 관리, 기억장치 관리, 파일 관리 등의 작업을 수행하는 것은 커널 (Kernel) 입니다. 나머지 보기 - ①명령어 해석기이므로 맞는 설명입니다. ②시스템과 사용자 간 인터페이스를 담당하므로 맞는 설명입니다. ③여러 종류의 쉘이 있으므로 맞는 설명입니다.
라이브러리의 개념과 구성에 대한 설명 중 틀린 것은?
- ① 라이브러리란 필요할 때 찾아서 쓸 수 있도록 모듈화되어 제공되는 프로그램을 말한다.
- ② 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
- ③ 외부 라이브러리는 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미하며, 표준 라이브러 리는 별도의 파일 설치를 필요로 하는 라이브러리를 의미한다.
- ④ 라이브러리는 모듈과 패키지를 총칭하며, 모듈이 개별 파일이라면 패키지는 파일들을 모아 놓은 폴더라 고 볼 수 있다.
정답 확인
정답 ③ - 프로그래밍 언어가 기본적으로 가지고 있는 라이브러리가 표준 라이브러리, 별도의 파일 설치를 필요 로 하는 라이브러리는 외부 라이브러리입니다. 나머지 보기 - ①필요할 때 찾아 쓸 수 있도록 모듈화되어 제공되는 프로그램이므로 맞는 설명입니다. ②도움말, 설치 파일, 샘플 코드 등을 제공하므로 맞는 설명입니다. ④라이브러리는 모듈과 패키지를 총칭하며 모듈은 개별 파일, 패키지는 파일들을 모은 폴더이므로 맞는 설명입니다.
C 언어에서 malloc() 함수에 대한 설명으로 틀린 것은?
- ① 원하는 시점에 원하는 만큼 메모리를 동적으로 할당한다.
- ② 사용자가 입력한 bit만큼 메모리를 할당한다.
- ③ free 명령어로 할당된 메모리를 해제한다.
- ④ 메모리 할당이 불가능할 경우 NULL이 반환된다.
정답 확인
정답 ② - malloc() 함수는 입력한 Byte만큼 메모리를 할당하는 함수입니다. 나머지 보기 - ①원하는 시점에 원하는 만큼 메모리를 동적으로 할당하므로 맞는 설명입니다. ③free 명령어로 할당된 메모리를 해제하므로 맞는 설명입니다. ④할당이 불가능하면 NULL이 반환되므로 맞는 설명입니다.
IP 프로토콜의 주요 특징에 해당하지 않는 것은?
- ① 체크섬 (Checksum) 기능으로 데이터 체크섬 (Data Checksum) 만 제공한다.
- ② 패킷을 분할, 병합하는 기능을 수행하기도 한다.
- ③ 비연결형 서비스를 제공한다.
- ④ Best Effort 원칙에 따른 전송 기능을 제공한다.
정답 확인
정답 ① - IP(Internet Protocol) 는 헤더 체크섬 (Header Checksum) 만 제공합니다. 나머지 보기 - ②패킷을 분할·병합하는 기능을 수행하기도 하므로 맞는 설명입니다. ③비연결형 서비스를 제공하므로 맞는 설명입니다. ④Best Effort 원칙에 따른 전송 기능을 제공하므로 맞는 설명입니다.
OSI 7 계층 중 네트워크 계층에 대한 설명으로 틀린 것은?
- ① 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- ② 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
- ③ 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- ④ 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
정답 확인
정답 ② - 네트워크 계층의 프로토콜 데이터 단위 (PDU)는 패킷 (Packet)입니다. PDU 가 프레임 (Frame) 인 계층은 데이터 링크 계층입니다. 나머지 보기 - ①패킷을 발신지에서 최종 목적지까지 전달하는 책임을 지므로 맞는 설명입니다. ③패킷에 발신지와 목적지의 논리 주소를 추가하므로 맞는 설명입니다. ④라우터나 교환기가 경로 지정·교환 기능을 제공하므로 맞는 설명입니다.
배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?
- ① 자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
- ② 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
- ③ 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
- ④ 무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
정답 확인
정답 ④ - ④ 번은 배치 프로그램의 필수 요소 중 ‘ 성능에’ 대한 설명입니다. 나머지 보기 - ①심각한 오류 상황 외에는 사용자 개입 없이 동작해야 하므로(자동화) 맞는 설명입니다. ②문제 발생 여부와 시점을 추적할 수 있어야 하므로(안정성) 맞는 설명입니다. ③대용량 데이터를 처리할 수 있어야 하므로 맞는 설명입니다.
TCP 프로토콜과 관련한 설명으로 틀린 것은?
- ① 인접한 노드 사이의 프레임 전송 및 오류를 제어한다.
- ② 흐름 제어 (Flow Control)의 기능을 수행한다.
- ③ 전이중 (Full Duplex) 방식의 양방향 가상 회선을 제공한다.
- ④ 전송 데이터와 응답 데이터를 함께 전송할 수 있다.
정답 확인
정답 ① - TCP 는 패킷의 전송 및 오류를 제어합니다. 프레임의 전송 및 오류 제어는 데이터 링크 계층의 프로토콜인 HDLC, LAPB, LLC, MAC 등이 수행 합니다. 나머지 보기 - ②흐름 제어 기능을 수행하므로 맞는 설명입니다. ③전이중 방식의 양방향 가상 회선을 제공하므로 맞는 설명입니다. ④전송 데이터와 응답 데이터를 함께 전송할 수 있으므로 맞는 설명입니다.
IPv6 에 대한 설명으로 틀린 것은?
- ① 멀티캐스팅 (Multicast) 대신 브로드캐스트 (Broadcast)를 사용한다.
- ② 보안과 인증 확장 헤더를 사용함으로써 인터넷 계층의 보안 기능을 강화하였다.
- ③ 애니캐스트 (Anycast) 는 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 전달하는 방 식이다.
- ④ 128 비트 주소 체계를 사용한다.
정답 확인
정답 ① - IPv6 는 유니캐스트, 멀티캐스트, 애니캐스트의 3 가지 방식의 주소 체계를 사용합니다. 나머지 보기 - ②보안·인증 확장 헤더로 인터넷 계층 보안 기능을 강화했으므로 맞는 설명입니다. ③애니캐스트는 그룹 내 가장 가까운 수신자에게 전달하는 방식이므로 맞는 설명입니다. ④128비트 주소 체계를 사용하므로 맞는 설명입니다.
리눅스 Bash 쉘 (Shell)에서 export 와 관련한 설명으로 틀린 것은?
- ① 변수를 출력하고자 할 때는 export를 사용해야 한다.
- ② export 가 매개 변수 없이 쓰일 경우 현재 설정된 환경 변수들이 출력된다.
- ③ 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한된다.
- ④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
정답 확인
정답 ① - export 는 기존 환경 변수의 값을 변경하거나, 새로운 환경 변수를 설정할 때 사용하는 명령어입니다. 나머지 보기 - ②매개 변수 없이 쓰이면 현재 설정된 환경 변수들이 출력되므로 맞는 설명입니다. ③사용자가 생성한 변수는 export하지 않으면 현재 쉘에 국한되므로 맞는 설명입니다. ④export시키면 전역 변수처럼 되어 계속 기억되므로 맞는 설명입니다.
운영체제에 대한 설명으로 거리가 먼 것은?
- ① 다중 사용자와 다중 응용 프로그램 환경 하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케 줄링을 담당한다.
- ② CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.
- ③ 운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.
- ④ 입출력장치와· 사용자 프로그램을 제어한다.
정답 확인
정답 ③ - 운영체제의 종류에는 Windows, Unix/Linux, MacOS, Android 등이 있습니다. 나머지 보기 - ①다중 사용자·응용 프로그램 환경에서 자원 상태 파악과 스케줄링을 담당하므로 맞는 설명입니다. ②CPU, 메모리, 기억장치, 입출력장치 등의 자원을 관리하므로 맞는 설명입니다. ④입출력장치와 사용자 프로그램을 제어하므로 맞는 설명입니다.
다음 중 IP 버전에 대한 설명 중 틀린 것은?
- ① IPv4 는 각 부분을 옥텟으로 구성, 총 32 비트로 구성된다.
- ② IPv6 는 각 부분을 콜론으로 구분한다.
- ③ IPv4 는 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5 단계로 구성되어 있다.
- ④ IPv6 는 IPv4 에 비해 자료 전송 속도가 느리다.
정답 확인
정답 ④ - IPv6 는 IPv4 에 비해 자료 전송 속도가 빠릅니다. 나머지 보기 - ①IPv4는 옥텟으로 구성되며 총 32비트이므로 맞는 설명입니다. ②IPv6는 각 부분을 콜론으로 구분하므로 맞는 설명입니다. ③IPv4는 네트워크 부분 길이에 따라 A~E클래스 5단계로 구성되므로 맞는 설명입니다.
소프트웨어 개발 프레임워크를 적용할 경우 기대 효과로 거리가 먼 것은?
- ① 품질 보증
- ② 시스템 복잡도 증가
- ③ 개발 용이성
- ④ 변경 용이성
정답 확인
정답 ② - 소프트웨어 개발 프레임워크를 적용할 경우 시스템 복잡도의 증가가 아닌 감소 효과를 기대할 수 있습 니다. 나머지 보기 - ①품질 보증 효과를 기대할 수 있으므로 맞는 설명입니다. ③개발 용이성을 기대할 수 있으므로 맞는 설명입니다. ④변경 용이성을 기대할 수 있으므로 맞는 설명입니다.
Windows 파일 시스템인 FAT와 비교했을 때의 NTFS 의 특징이 아닌 것은?
- ① 보안에 취약
- ② 대용량 볼륨에 효율적
- ③ 자동 압축 및 안정성
- ④ 저용량 볼륨에서의 속도 저하
정답 확인
정답 ① - NTFS는 FAT 또는 FAT32에 비해 성능, 보안, 안정성 면에서 뛰어납니다. 나머지 보기 - ②대용량 볼륨에 효율적이므로 맞는 설명입니다. ③자동 압축 및 안정성을 갖추므로 맞는 설명입니다. ④저용량 볼륨에서는 상대적으로 속도가 저하될 수 있으므로 맞는 설명입니다.
소프트웨어 개발 프레임워크와 관련한 설명으로 가장 적절하지 않은 것은?
- ① 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장받을 수 있게 하는 개발 소프트웨어이다.
- ② 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드 가 가지는 방식이다.
- ③ 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프 트웨어 상태로 집적화시킨 것으로 볼 수 있다.
- ④ 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control) 이라고 설명하기도 한다.
정답 확인
정답 ② - 사용자 코드가 제어를 갖고 직접 호출해서 사용하는 것은 라이브러리 (Library)입니다. 나머지 보기 - ①반제품 상태의 제품으로 도메인별 서비스 컴포넌트를 재사용해 성능을 보장받게 하므로 맞는 설명입니다. ③디자인 패턴을 반제품 소프트웨어 상태로 집적화한 것으로 볼 수 있으므로 맞는 설명입니다. ④제어 흐름이 일반 프로그램과 반대로 동작한다고 해서 IoC라고 부르므로 맞는 설명입니다.
해쉬 (Hash) 기법에 대한 설명으로 틀린 것은?
- ① 임의의 길이의 입력 데이터를 받아 고정된 길이의 해쉬 값으로 변환한다.
- ② 주로 공개키 암호화 방식에서 키 생성을 위해 사용한다.
- ③ 대표적인 해쉬 알고리즘으로 HAVAL, SHA-1 등이 있다.
- ④ 해쉬 함수는 일방향 함수 (One-way function)이다.
정답 확인
정답 ② - 공개키 암호화 알고리즘은 해시 기법이 아닌 소인수 분해나 이산대수 등 고유의 방법으로 키를 생성합 니다. 나머지 보기 - ①임의 길이의 입력을 받아 고정 길이의 해쉬 값으로 변환하므로 맞는 설명입니다. ③대표적 해쉬 알고리즘으로 HAVAL, SHA-1 등이 있으므로 맞는 설명입니다. ④해쉬 함수는 일방향 함수이므로 맞는 설명입니다.
Secure OS 의 보안 기능으로 거리가 먼 것은?
- ① 식별 및 인증
- ② 임의적 접근 통제
- ③ 고가용성 지원
- ④ 강제적 접근 통제
정답 확인
정답 ③ - Secure OS의 보안 기능에는 식별 및 인증, 임의적강제적/ 접근 통제, 객체 재사용 보호, 완전한 조 정, 신뢰 경로, 감사 및 감사기록 축소 등이 있습니다. 나머지 보기 - ①식별 및 인증이 Secure OS의 보안 기능이므로 맞는 설명입니다. ②임의적 접근 통제가 보안 기능이므로 맞는 설명입니다. ④강제적 접근 통제가 보안 기능이므로 맞는 설명입니다.
소프트웨어 개발 방법론의 테일러링 (Tailoring)과 관련한 설명으로 틀린 것은?
- ① 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여야 한다.
- ② 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.
- ③ 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제 거하는 것이다.
- ④ 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.
정답 확인
정답 ① - 테일러링 (Tailoring) 은 프로젝트 상황 및 특성에 맞추어 기존의 방법론, 프로세스 등을 수정하는 것이 니만큼, 예상되는 변화를 충분히 고려해야 합니다. 나머지 보기 - ②프로젝트에 최적화된 방법론을 적용하기 위해 절차·산출물을 적절히 변경하는 활동이므로 맞는 설명입니다. ③최단 기간에 안정적으로 진행하기 위한 위험을 식별·제거하는 것이 관리 측면 목적이므로 맞는 설명입니다. ④프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이 기술적 측면 목적이므로 맞는 설명입니다.
SPICE 모델의 프로세스 수행 능력 수준의 단계별 설명이 틀린 것은?
- ① 수준 7 - 미완성 단계
- ② 수준 5 - 최적화 단계
- ③ 수준 4 - 예측 단계
- ④ 수준 3 - 확립 단계
정답 확인
정답 ① - SPICE 모델의 프로세스 수행 능력 수준은 ‘ 불완전 (0), 수행 (1), 관리 (2), 확립 (3), 예측 (4), 최적화 (5)’의 6 단계로 구분합니다. 나머지 보기 - ②수준 5는 최적화 단계이므로 맞는 설명입니다. ③수준 4는 예측 단계이므로 맞는 설명입니다. ④수준 3은 확립 단계이므로 맞는 설명입니다.
공개키 암호에 대한 설명으로 틀린 것은?
- ① 10 명이 공개키 암호를 사용할 경우 5 개의 키가 필요하다.
- ② 복호화키는 비공개 되어 있다.
- ③ 송신자는 수신자의 공개키로 문서를 암호화한다.
- ④ 공개키 암호로 널리 알려진 알고리즘은 RSA 가 있다.
정답 확인
정답 ① - 공개키 암호화 방식에서 키의 개수는 2n 개로, 10 명이 사용할 경우 20개의 키가 필요합니다. 나머지 보기 - ②복호화키는 비공개되어 있으므로 맞는 설명입니다. ③송신자는 수신자의 공개키로 문서를 암호화하므로 맞는 설명입니다. ④RSA가 대표적인 공개키 암호 알고리즘이므로 맞는 설명입니다.
COCOMO 모델에 의한 비용 산정에 대한 설명으로 옳지 않은 것은?
- ① 보헴이 제안한 원시 프로그램의 규모에 의한 비용 예측 모형이다.
- ② 같은 규모의 소프트웨어라도 그 유형에 따라 비용이 다르게 산정된다.
- ③ 비용 산정 유형으로 Organic Mode, Embedded Mode, Semi-Detached Mode가 있다.
- ④ UFP(Unadjusted Function Point) 를 계산한다.
정답 확인
정답 ④ - UFP(Unadjusted Function Point) 는 기능 점수 (Function Point) 모델에서 기능 점수를 산출하는 과 정 중에 계산되는 값입니다. 나머지 보기 - ①보헴이 제안한 원시 프로그램 규모 기반 비용 예측 모형이므로 맞는 설명입니다. ②같은 규모라도 소프트웨어 유형에 따라 비용이 다르게 산정되므로 맞는 설명입니다. ③Organic, Embedded, Semi-Detached Mode가 있으므로 맞는 설명입니다.
소프트웨어 공학에 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어 공학이란 소프트웨어의 개발, 운용, 유지보수 및 파기에 대한 체계적인 접근 방법이다.
- ② 소프트웨어 공학은 소프트웨어 제품의 품질을 향상시키고 소프트웨어 생산성과 작업 만족도를 증대시 키는 것이 목적이다.
- ③ 소프트웨어 공학의 궁극적 목표는 최대의 비용으로 계획된 일정보다 가능한 빠른 시일 내에 소프트웨 어를 개발하는 것이다.
- ④ 소프트웨어 공학은 신뢰성 있는 소프트웨어를 경제적인 비용으로 획득하기 위해 공학적 원리를 정립하 고 이를 이용하는 것이다.
정답 확인
정답 ③ - 소프트웨어 공학은 소프트웨어의 품질과 생산성 향상을 목적으로 합니다. 나머지 보기 - ①소프트웨어의 개발·운용·유지보수·파기에 대한 체계적 접근 방법이므로 맞는 설명입니다. ②품질 향상과 생산성·작업 만족도 증대가 목적이므로 맞는 설명입니다. ④신뢰성 있는 소프트웨어를 경제적 비용으로 획득하기 위한 공학적 원리 정립이 목적이므로 맞는 설명입니다.
정보 보안을 위한 접근 제어 (Access Control)와 관련한 설명으로 틀린 것은?
- ① 적절한 권한을 가진 인가자만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것이다.
- ② 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트로 볼 수 있다.
- ③ DBMS 에 보안 정책을 적용하는 도구인 XDMCP를 통해 데이터베이스에 대한 접근 제어를 수행할 수 있다.
- ④ 네트워크 장비에서 수행하는 IP 에 대한 접근 제어로는 관리 인터페이스의 접근 제어와 ACL(Access Control List) 등이 있다.
정답 확인
정답 ③ - XDMCP(X Display Manager Control Protocol) 는 GUI 환경을 구축한 UNIX나 LINUX 시스템에서 서버와 클라이언트가 GUI 환경 관리자인 XDM(X Display Manager) 과 네트워크를 통해 소통하는데 사용하는 프로토콜입니다. 나머지 보기 - ①인가자만 접근하도록 통제하는 것이므로 맞는 설명입니다. ②IP와 서비스 포트가 접근 제어의 기본 수단이므로 맞는 설명입니다. ④관리 인터페이스 접근 제어와 ACL 등이 있으므로 맞는 설명입니다.
대칭 암호 알고리즘과 비대칭 암호 알고리즘에 대한 설명으로 틀린 것은?
- ① 대칭 암호 알고리즘은 비교적 실행 속도가 빠르기 때문에 다양한 암호의 핵심 함수로 사용될 수 있다.
- ② 대 칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
- ③ 비대칭 암호 알고리즘은 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용이 가능하다.
- ④ 대표적인 대칭키 암호 알고리즘으로는 AES, IDEA 등이 있다.
정답 확인
정답 ② - 대칭 암호 알고리즘은 비밀키 (Private Key) 를 공유해야 하기 때문에 키 교환이 필요합니다. 나머지 보기 - ①대칭 암호는 실행 속도가 빨라 다양한 암호의 핵심 함수로 사용되므로 맞는 설명입니다. ③비대칭 암호는 자신만의 비밀키로 인증, 전자서명에 적용 가능하므로 맞는 설명입니다. ④AES, IDEA 등이 대표적인 대칭키 알고리즘이므로 맞는 설명입니다.
CBD(Component Based Development) 에 대한 설명으로 틀린 것은?
- ① 개발 기간 단축으로 인한 생산성 향상
- ② 새로운 기능 추가가 쉬운 확장성
- ③ 소프트웨어 재사용이 가능
- ④ 1960 년대까지 가장 많이 적용되었던 소프트웨어 개발 방법
정답 확인
정답 ④ - ④ 번은 구조적 방법론에 대한 설명입니다. 나머지 보기 - ①개발 기간 단축으로 생산성이 향상되므로 맞는 설명입니다. ②새로운 기능 추가가 쉬운 확장성을 가지므로 맞는 설명입니다. ③소프트웨어 재사용이 가능하므로 맞는 설명입니다.
소프트웨어 개발 방법론 중 CBD(Component Based Development)에 대한 설명으로 틀린 것은?
- ① 생산성과 품질을 높이고, 유지보수 비용을 최소화할 수 있다.
- ② 컴포넌트 제작 기법을 통해 재사용성을 향상시킨다.
- ③ 모듈의 분할과 정복에 의한 하향식 설계방식이다.
- ④ 독립적인 컴포넌트 단위의 관리로 복잡성을 최소화할 수 있다.
정답 확인
정답 ③ - 분할과 정복 (Divide and Conquer) 원리를 사용하는 설계 방법론은 구조적 방법론입니다. 나머지 보기 - ①생산성과 품질을 높이고 유지보수 비용을 최소화할 수 있으므로 맞는 설명입니다. ②컴포넌트 제작 기법으로 재사용성을 향상시키므로 맞는 설명입니다. ④독립적인 컴포넌트 단위 관리로 복잡성을 최소화할 수 있으므로 맞는 설명입니다.
NS(Nassi-Schneiderman) Chart 에 대한 설명으로 거리가 먼 것은?
- ① 논리의 기술에 중점을 둔 도형식 표현 방법이다.
- ② 연속, 선택 및 다중 선택, 반복 등의 제어논리 구조로 표현한다.
- ③ 주로 화살표를 사용하여 논리적인 제어 구조로 흐름을 표현한다.
- ④ 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.
정답 확인
정답 ③ - 화살표를 사용하여 논리적인 제어 구조로 흐름을 표현하는 표기법은 흐름도 (Flowchart) 입니다. 나머지 보기 - ①논리의 기술에 중점을 둔 도형식 표현 방법이므로 맞는 설명입니다. ②연속, 선택 및 다중 선택, 반복 등의 제어논리 구조로 표현하므로 맞는 설명입니다. ④조건이 복합된 곳의 처리를 시각적으로 명확히 식별하는 데 적합하므로 맞는 설명입니다.
공개키 암호화 방식에 대한 설명으로 틀린 것은?
- ① 공개키로 암호화된 메시지는 반드시 공개키로 복호화 해야 한다.
- ② 비대칭 암호기법이라고도 한다.
- ③ 대표적인 기법은 RSA 기법이 있다.
- ④ 키 분배가 용이하고, 관리해야 할 키 개수가 적다.
정답 확인
정답 ① - 공개키 암호화 기법은 암호화 할 때는 공개키 (Public Key)를, 복호화 할 때는 비밀키 (Secret Key) 를 사용합니다. 나머지 보기 - ②비대칭 암호 기법이라고도 하므로 맞는 설명입니다. ③대표적인 기법으로 RSA가 있으므로 맞는 설명입니다. ④키 분배가 용이하고 관리할 키 개수가 적으므로 맞는 설명입니다.
소프트웨어 정의 데이터센터 (SDDC; Software Defined Data Center) 에 대한 설명으로 틀린 것은?
- ① 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의한다.
- ② 인력 개입 없이 소프트웨어 조작만으로 자동 제어 관리한다.
- ③ 데이터센터 내 모든 자원을 가상화하여 서비스한다.
- ④ 특정 하드웨어에 종속되어 특화된 업무를 서비스하기에 적합하다.
정답 확인
정답 ④ - 소프트웨어 정의 데이터센터 (SDDC)는 데이터센터의 모든 자원을 가상화하여 서비스하므로 특정 하드 웨어와 상관없이 독립적으로 서비스를 제공할 수 있습니다. 나머지 보기 - ①컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의하므로 맞는 설명입니다. ②인력 개입 없이 소프트웨어 조작만으로 자동 제어 관리하므로 맞는 설명입니다. ③데이터센터 내 모든 자원을 가상화해 서비스하므로 맞는 설명입니다.
클라우드 기반 HSM(Cloud-based Hardware Security Module) 에 대한 설명으로 틀린 것은?
- ① 클라우드데이터센터() 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기이다.
- ② 국 내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장하였다.
- ③ 클라우드에 인증서를 저장하므로 기존 HSM 기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.
- ④ 하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점 을 해결할 수 없다는 것이 주요 단점이다.
정답 확인
정답 ④ - 클라우드 기반 HSM 은 암호화 키 생성이 하드웨어적으로 구현되므로 소프트웨어적으로 구현된 암호 기 술이 가지는 보안 취약점을 무시할 수 있습니다. 나머지 보기 - ①암호화 키 생성·처리·저장 등을 하는 보안 기기이므로 맞는 설명입니다. ②공인인증제 폐지와 전자서명법 개정 추진 과정에서 자주 등장한 용어이므로 맞는 설명입니다. ③클라우드에 인증서를 저장해 기기나 휴대폰에 저장할 필요가 없으므로 맞는 설명입니다.
라우팅 프로토콜인 OSPF(Open Shortest Path First) 에 대한 설명으로 옳지 않은 것은?
- ① 네트워크 변화에 신속하게 대처할 수 있다.
- ② 거리 벡터 라우팅 프로토콜이라고 한다.
- ③ 멀티캐스팅을 지원한다.
- ④ 최단 경로 탐색에 Dijkstra 알고리즘을 사용한다.
정답 확인
정답 ② - 거리 벡터 라우팅 프로토콜이라고 불리는 것은 RIP(Routing Information Protocol) 입니다. 나머지 보기 - ①네트워크 변화에 신속하게 대처할 수 있으므로 맞는 설명입니다. ③멀티캐스팅을 지원하므로 맞는 설명입니다. ④최단 경로 탐색에 Dijkstra 알고리즘을 사용하므로 맞는 설명입니다.
스트림 암호화 방식의 설명으로 옳지 않은 것은?
- ① 비트바이트단어들을/ / 순차적으로 암호화한다.
- ② 해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.
- ③ RC4 는 스트림 암호화 방식에 해당한다.
- ④ 대칭키 암호화 방식이다.
정답 확인
정답 ② - 해쉬 암호화 방식은 블록 단위로 해쉬 알고리즘을 적용하는 방식으로, 스트림 암호화 방식과는 무관합 니다. 나머지 보기 - ①비트/바이트/단어 단위로 순차적으로 암호화하므로 맞는 설명입니다. ③RC4는 스트림 암호화 방식에 해당하므로 맞는 설명입니다. ④대칭키 암호화 방식이므로 맞는 설명입니다.
취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?
- ① 서버 관리실 출입 통제
- ② 실행 프로세스 권한 설정
- ③ 운영체제의 접근 제한
- ④ 운영체제의 정보 수집 제한
정답 확인
정답 ① - 서버 관리실 출입 통제는 물리적 보안에 포함되는 보안 조치입니다. 나머지 보기 - ②실행 프로세스 권한 설정은 응용 프로그램의 보안 설정에 해당하므로 맞는 설명입니다. ③운영체제의 접근 제한도 해당하므로 맞는 설명입니다. ④운영체제의 정보 수집 제한도 해당하므로 맞는 설명입니다.
소프트웨어 생명 주기 모형 중 Spiral Model 에 대한 설명으로 틀린 것은?
- ① 비교적 대규모 시스템에 적합하다.
- ② 개발 순서는 계획 및 정의, 위험 분석, 공학적 개발, 고객 평가 순으로 진행된다.
- ③ 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
- ④ 계획, 설계, 개발, 평가의 개발 주기가 한 번만 수행된다.
정답 확인
정답 ④ - 나선형 모델 (Spiral Model) 은 계획 수립, 위험 분석, 개발 및 검증, 고객 평가 과정을 반복하며 수행하 는 개발 방법론입니다. 나머지 보기 - ①비교적 대규모 시스템에 적합하므로 맞는 설명입니다. ②계획 및 정의, 위험 분석, 공학적 개발, 고객 평가 순으로 진행되므로 맞는 설명입니다. ③위험을 관리하고 최소화하는 것이 목적이므로 맞는 설명입니다.
SSH(Secure Shell) 에 대한 설명으로 틀린 것은?
- ① SSH 의 기본 네트워크 포트는 220 번을 사용한다.
- ② 전송되는 데이터는 암호화 된다.
- ③ 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.
- ④ 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 셀 서비스 등을 수행한다.
정답 확인
정답 ① - SSH(Secure Shell) 의 기본 네트워크 포트는 22 번입니다. 나머지 보기 - ②전송되는 데이터는 암호화되므로 맞는 설명입니다. ③키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 하므로 맞는 설명입니다. ④원격 명령 실행이나 쉘 서비스 등을 수행하므로 맞는 설명입니다.
CPM(Critical Path Method) 에 대한 설명으로 옳지 않은 것은?
- ① 프로젝트 내에서 각 작업이 수행되는 시간과 각 작업 사이의 관계를 파악할 수 있다.
- ② 작업 일정을 한눈에 볼 수 있도록 해주며 막대 그래프의 형태로 표현한다.
- ③ 효과적인 프로젝트의 통제를 가능하게 해 준다.
- ④ 경영층의 과학적인 의사 결정을 지원한다.
정답 확인
정답 ② - 작업 일정을 한눈에 볼 수 있도록 해주며 막대 그래프의 형태로 표현하는 것은 간트 차트(Gantt Chart) 입니다. 나머지 보기 - ①각 작업이 수행되는 시간과 작업 간 관계를 파악할 수 있으므로 맞는 설명입니다. ③효과적인 프로젝트 통제를 가능하게 하므로 맞는 설명입니다. ④경영층의 과학적 의사 결정을 지원하므로 맞는 설명입니다.
간트 차트 (Gantt Chart) 에 대한 설명으로 틀린 것은?
- ① 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝나야 하는지를 한 눈에 볼 수 있도록 도와준다.
- ② 자원 배치 계획에 유용하게 사용된다.
- ③ CPM 네트워크로부터 만드는 것이 가능하다.
- ④ 수평 막대의 길이는 각 작업 (Task)에 필요한 인원수를 나타낸다.
정답 확인
정답 ④ - 간트 차트 (Gantt Chart)에서 수평 막대의 길이는 각 작업 (Task) 의 기간을 나타냅니다. 나머지 보기 - ①소작업별 시작·종료 시점을 한눈에 볼 수 있게 해주므로 맞는 설명입니다. ②자원 배치 계획에 유용하게 사용되므로 맞는 설명입니다. ③CPM 네트워크로부터 만드는 것이 가능하므로 맞는 설명입니다.
소프트웨어 생명 주기 모델 중 V 모델과 관련한 설명으로 틀린 것은?
- ① 요구 분석 및 설계 단계를 거치지 않으며 항상 통합 테스트를 중심으로 V 형태를 이룬다.
- ② Perry 에 의해 제안되었으며 세부적인 테스트 과정으로 구성되어 신뢰도 높은 시스템을 개발하는 데 효 과적이다.
- ③ 개발 작업과 검증 작업 사이의 관계를 명확히 들어내 놓은 폭포수 모델의 변형이라고 볼 수 있다.
- ④ 폭포수 모델이 산출물 중심이라면 V 모델은 작업과 결과의 검증에 초점을 둔다.
정답 확인
정답 ① - 소프트웨어 생명 주기의 V- 모델은 ‘ 요구사항 → 분석 → 설계 → 구현 ’ 단계로 수행되며 각 단계를 테 스트와 연결하여 표현합니다. 나머지 보기 - ②Perry에 의해 제안되었으며 세부적인 테스트 과정으로 구성되므로 맞는 설명입니다. ③개발 작업과 검증 작업 사이의 관계를 명확히 드러낸 폭포수 모델의 변형이므로 맞는 설명입니다. ④폭포수 모델이 산출물 중심이라면 V 모델은 작업과 결과 검증에 초점을 두므로 맞는 설명입니다.
폭포수 모형의 특징으로 거리가 먼 것은?
- ① 개발 중 발생한 요구사항을 쉽게 반영할 수 있다.
- ② 순차적인 접근 방법을 이용한다.
- ③ 단계적 정의와 산출물이 명확하다.
- ④ 모형의 적용 경험과 성공사례가 많다.
정답 확인
정답 ① - 폭포수 모형은 이전 단계로 돌아갈 수 없으므로 개발 중 발생한 요구사항을 쉽게 반영할 수 없습니다. 나머지 보기 - ②순차적인 접근 방법을 이용하므로 맞는 설명입니다. ③단계적 정의와 산출물이 명확하므로 맞는 설명입니다. ④모형의 적용 경험과 성공사례가 많으므로 맞는 설명입니다.
소프트웨어 개발 프레임워크의 적용 효과로 볼 수 없는 것은?
- ① 공통 컴포넌트 재사용으로 중복 예산 절감
- ② 기술 종속으로 인한 선행 사업자 의존도 증대
- ③ 표준화된 연계 모듈 활용으로 상호 운용성 향상
- ④ 개발표준에 의한 모듈화로 유지보수 용이
정답 확인
정답 ② - 프레임워크를 통한 표준화된 개발 기반은 선행 사업자의 의존도를 감소시키며, 사업자 종속성을 해소 합니다. 나머지 보기 - ①공통 컴포넌트 재사용으로 중복 예산을 절감할 수 있으므로 맞는 설명입니다. ③표준화된 연계 모듈 활용으로 상호 운용성이 향상되므로 맞는 설명입니다. ④개발표준에 의한 모듈화로 유지보수가 용이해지므로 맞는 설명입니다.
RIP(Routing Information Protocol) 에 대한 설명으로 틀린 것은?
- ① 거리 벡터 라우팅 프로토콜이라고도 한다.
- ② 소규모 네트워크 환경에 적합하다.
- ③ 최대 홉 카운트를 115 홉 이하로 한정하고 있다.
- ④ 최단경로탐색에는 Bellman-Ford 알고리즘을 사용한다.
정답 확인
정답 ③ - RIP의 최대 홉 수는 115 가 아닌 15 입니다. 나머지 보기 - ①거리 벡터 라우팅 프로토콜이라고도 하므로 맞는 설명입니다. ②소규모 네트워크 환경에 적합하므로 맞는 설명입니다. ④최단경로 탐색에 Bellman-Ford 알고리즘을 사용하므로 맞는 설명입니다.
SQL Injection 공격과 관련한 설명으로 틀린 것은?
- ① SQL Injection 은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격 방식이다.
- ② SQL Injection 취약점이 발생하는 곳은 주로 웹 애플리케이션과 데이터베이스가 연동되는 부분이다.
- ③ DBMS 의 종류와 관계없이 SQL Injection 공격 기법은 모두 동일하다.
- ④ 로그인과 같이 웹에서 사용자의 입력값을 받아 데이터베이스 SQL문으로 데이터를 요청하는 경우 SQL Injection 을 수행할 수 있다.
정답 확인
정답 ③ - SQL 삽입 (SQL Injection) 공격은 웹 응용 프로그램에 SQL 을 삽입하여 내부 데이터베이스 (DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 기법으로, DBMS 의 종류에 따라 접근하는 방법이 달라지므로 공격 기법이 모두 동일하다는 말은 잘못되었습니다. 나머지 보기 - ①임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격 방식이므로 맞는 설명입니다. ②웹 애플리케이션과 데이터베이스가 연동되는 부분에서 주로 발생하므로 맞는 설명입니다. ④사용자 입력값을 SQL문으로 요청하는 경우 SQL Injection을 수행할 수 있으므로 맞는 설명입니다.
물리적 위협으로 인한 문제에 해당하지 않는 것은?
- ① 화재, 홍수 등 천재지변으로 인한 위협
- ② 하드웨어 파손, 고장으로 인한 장애
- ③ 방화, 테러로 인한 하드웨어와 기록장치를 물리적으로 파괴하는 행위
- ④ 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협
정답 확인
정답 ④ - 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협은 기술적 위협으로 인한 문제에 해당 합니다. 나머지 보기 - ①화재, 홍수 등 천재지변으로 인한 위협이 물리적 위협에 해당하므로 맞는 설명입니다. ②하드웨어 파손, 고장으로 인한 장애가 물리적 위협에 해당하므로 맞는 설명입니다. ③방화, 테러로 인한 물리적 파괴 행위가 물리적 위협에 해당하므로 맞는 설명입니다.
침입 탐지 시스템 (IDS; Intrusion Detection System)과 관련한 설명으로 틀린 것은?
- ① 이상 탐지 기법 (Anomaly Detection)은 Signature Base 나 Knowledge Base 라고도 불리며 이미 발견 되고 정립된 공격 패턴을 입력해두었다가 탐지 및 차단한다.
- ② HIDS(Host-Based Intrusion Detection) 는 운영체제에 설정된 사용자 계정에 따라 어떤 사용자가 어 떤 접근을 시도하고 어떤 작업을 했는지에 대한 기록을 남기고 추적한다.
- ③ NIDS(Network-Based Intrusion Detection System) 로는 대표적으로 Snort 가 있다.
- ④ 외부 인터넷에 서비스를 제공하는 서버가 위치하는 네트워크인 DMZ(Demilitarized Zone) 에는 IDS 가 설치될 수 있다.
정답 확인
정답 ① - 이상 탐지 기법 (Anomaly Detection) 은 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원 의 사용이 감지되면 이를 알려주는 시스템입니다. ① 번은 오용 탐지 기법 (Misuse Detection) 에 대한 설명입니다. 나머지 보기 - ②HIDS는 사용자 계정별 접근·작업을 기록하고 추적하므로 맞는 설명입니다. ③NIDS의 대표적인 예로 Snort가 있으므로 맞는 설명입니다. ④DMZ에 IDS가 설치될 수 있으므로 맞는 설명입니다.
C Class에 속하는 IP address 는?
- ① 200.168.30.1
- ② 10.3.2.14
- ③ 225.2.4.1
- ④ 172.16.98.3
정답 확인
정답 ① - C Class 에 속하는 IP address 의 범위는 192.0.0.0 ~ 223.255.255.255 까지입니다. 나머지 보기 - ②10.3.2.14는 A클래스(0~127) 대역에 속하므로 C클래스가 아닙니다. ③225.2.4.1은 D클래스(224~239, 멀티캐스트용) 대역에 속하므로 C클래스가 아닙니다. ④172.16.98.3은 B클래스(128~191) 대역에 속하므로 C클래스가 아닙니다.
시스템에서 모듈 사이의 결합도 (Coupling)에 대한 설명으로 옳은 것은?
- ① 한 모듈 내에 있는 처리 요소들 사이의 기능적인 연관 정도를 나타낸다.
- ② 결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.
- ③ 모듈 간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
- ④ 자료 결합도는 내용 결합도보다 결합도가 높다.
정답 확인
정답 ③ - ① 결합도는 모듈 상호 간에 의존하는 정도를 의미합니다. 한 모듈 내에 있는 처리 요소들 사이의 기 능적인 연관 정도를 나타내는 것은 응집도입니다. ② 결합도가 높으면 시스템 구현 및 유지보수 작업이 어렵습니다. ④ 자료 결합도는 내용 결합도보다 결합도가 낮습니다. 나머지 보기 - ①한 모듈 내 처리 요소 간의 기능적 연관 정도는 결합도가 아니라 응집도에 대한 설명이므로 틀린 보기입니다. ②결합도가 높으면 모듈 간 의존도가 커져 시스템 구현 및 유지보수가 오히려 어려워지므로 틀린 보기입니다. ④자료 결합도는 내용 결합도보다 결합의 정도가 약해 결합도가 더 낮으므로 틀린 보기입니다.
스레드 (Thread)에 대한 설명으로 옳지 않은 것은?
- ① 한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.
- ② 커널 스레드의 경우 운영체제에 의해 스레드를 운용한다.
- ③ 사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.
- ④ 스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.
정답 확인
정답 ① - 한 개의 프로세스는 여러 개의 스레드를 가질 수 있습니다. 나머지 보기 - ②커널 스레드는 운영체제가 직접 운용하므로 맞는 설명입니다. ③사용자 스레드는 사용자가 만든 라이브러리로 운용하므로 맞는 설명입니다. ④스레드를 사용하면 하드웨어·운영체제 성능과 응용 프로그램 처리율을 향상시킬 수 있으므로 맞는 설명입니다.
프레임워크 (Framework)에 대한 설명으로 옳은 것은?
- ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
- ② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
- ③ 소프트웨어 아키텍처 (Architecture)와 동일한 개념이다.
- ④ 모듈화 (Modularity) 가 불가능하다.
정답 확인
정답 ① - ②, ④ 프레임워크는 모듈화가 잘 되어 있어 자유로운 확장이 가능합니다. ③ 프레임워크는 소프트웨어 아키텍처와 다릅니다. 나머지 보기 - ②프레임워크는 모듈화가 잘 되어 있어 자유롭게 확장할 수 있으므로 "확장이 불가능하다"는 틀린 보기입니다. ③프레임워크는 소프트웨어 아키텍처와 동일한 개념이 아니므로 틀린 보기입니다. ④프레임워크는 모듈화가 가능하므로 "모듈화가 불가능하다"는 틀린 보기입니다.
스택 (Stack) 에 대한 옳은 내용으로만 나열된 것은? ㉠ FIFO 방식으로 처리된다. ㉡ 순서 리스트의 뒤 (Rear) 에서 노드가 삽입되며앞, (Front) 에서 노드가 제거된다. ㉢ 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조이다. ㉣ 인터럽트 처리서브루틴, 호출 작업 등에 응용된다.
- ① ㉠, ㉡
- ② ㉡, ㉢
- ③ ㉣
- ④ ㉠, ㉡, ㉢, ㉣
정답 확인
정답 ③ - ㉠ 스택은 후입선출 (LIFO; Last In First Out) 방식으로 자료를 처리합니다. ㉡ 은 큐 (Queue), ㉢ 은 데크 (Deque) 에 대한 설명입니다. 나머지 보기 - ㉠스택은 LIFO 방식으로 처리되므로 FIFO라는 설명은 틀린 보기입니다. ㉡순서 리스트 뒤에서 삽입, 앞에서 제거되는 것은 큐에 대한 설명이므로 틀린 보기입니다. ㉢선형 리스트 양쪽 끝에서 삽입·삭제가 가능한 것은 데크에 대한 설명이므로 틀린 보기입니다. ㉣만 인터럽트 처리, 서브루틴 호출 등에 응용되는 스택의 특징을 옳게 설명하고 있습니다.
사용자 수준에서 지원되는 스레드 (thread) 가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
- ① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
- ② 동 시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
- ③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
- ④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
정답 확인
정답 ④ - ①, ②, ③ 번은 커널 수준 스레드에 대한 설명입니다. 나머지 보기 - ①②③번은 커널에 접근하거나 커널 수준에서 스케줄링·시스템 호출을 처리하는 커널 수준 스레드의 장점에 대한 설명이므로 틀린 보기입니다. ④번은 커널 모드로 전환하지 않고 스레드를 교환할 수 있어 오버헤드가 줄어드는 사용자 수준 스레드의 장점을 옳게 설명하고 있습니다.
유스케이스 (Usecase)에 대한 설명 중 옳은 것은?
- ① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
- ② 액터는 대상 시스템과 상호 작용하는 사람이나 다른 시스템에 의한 역할이다.
- ③ 사용자 액터는 본 시스템과 데이터를 주고받는 연동 시스템을 의미한다.
- ④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
정답 확인
정답 ② - ① 유스케이스 다이어그램은 사용자의 요구를 분석하는 데 사용합니다. ③ 사용자 액터주액터는() 시스템을 사용함으로써 이득을 얻는 대상을 의미합니다. 본 시스템과 데이터 를 주고받는 연동 시스템은 시스템 액터부액터입니다(). ④ 연동은 2 개 이상의 시스템이 일방적이 아닌 상호 간의 동작에 영향을 줄 수 있도록 연결망을 구성 하는 것을 의미합니다. 나머지 보기 - ①유스케이스 다이어그램은 개발자가 아니라 사용자의 요구를 추출·분석하기 위해 사용하므로 틀린 보기입니다. ③사용자 액터(주액터)는 시스템을 사용해 이득을 얻는 대상이고, 본 시스템과 데이터를 주고받는 연동 시스템은 시스템 액터(부액터)이므로 틀린 보기입니다. ④연동은 일방적 전달이 아니라 둘 이상의 시스템이 상호 간에 영향을 주고받도록 연결하는 것이므로 틀린 보기입니다.
DES는 몇 비트의 암호화 알고리즘인가?
- ① 8
- ② 24
- ③ 64
- ④ 132
정답 확인
정답 ③ - 암호화 알고리즘이 몇 비트냐고 묻는 것은 한 번에 암호화하는 블록의 크기를 묻는 것입니다. DES(Data Encryption Standard) 의 블록 크기는 64 비트입니다. 나머지 보기 - ①8비트, ②24비트, ④132비트는 모두 DES의 블록 크기인 64비트와 일치하지 않는 오답입니다.
무결성 제약 조건 중 개체 무결성 제약 조건에 대한 설명으로 옳은 것은?
- ① 릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다.
- ② 기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
- ③ 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 한다.
- ④ 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.
정답 확인
정답 ② - 개체 무결성 제약 조건은 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정입니다. ① 번은 도메인 무결성, ③, ④ 번은 참조 무결성에 대한 설명입니다. 나머지 보기 - ①번은 도메인 무결성 제약 조건에 대한 설명이므로 개체 무결성과는 다른 보기입니다. ③, ④번은 참조 무결성 제약 조건에 대한 설명이므로 개체 무결성과는 다른 보기입니다.
프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?
- ① 각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
- ② 시간선 (Time-Line) 차트라고도 한다.
- ③ 수평 막대의 길이는 각 작업의 기간을 나타낸다.
- ④ 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 제시한다.
정답 확인
정답 ④ - ①, ②, ③ 번은 간트 차트 (Gantt Chart) 에 대한 설명입니다. 나머지 보기 - ①, ②, ③번은 모두 막대 도표로 일정을 표시하는 간트 차트에 대한 설명이므로 PERT 차트와는 다른 보기입니다.
요구사항 분석에서 비기능적 (Nonfunctional) 요구에 대한 설명으로 옳은 것은?
- ① 시스템의 처리량 (Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
- ② ‘차량 대여 시스템이 제공하는 모든 화면이 3 초 이내에 사용자에게 보여야 한다는’ 비기능적 요구이다.
- ③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
- ④ ‘금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다는’ 비기능적 요구이다.
정답 확인
정답 ② - ① 성능 요구나 품질 요구는 비기능 요구사항에 해당합니다. ② 번은 비기능 요구사항 중 성능 요구사항에 해당합니다. ③ 안전이나 보안에 대한 요구사항은 비기능 요구사항에 해당합니다. ④ 번은 기능 요구사항에 해당합니다. 나머지 보기 - ①성능 요구나 품질 요구도 비기능적 요구사항에 해당하므로 "해당하지 않는다"는 틀린 보기입니다. ③안전, 보안에 대한 요구사항도 비기능적 요구사항에 해당하므로 틀린 보기입니다. ④조회, 인출, 입금, 송금 같은 기능 목록은 기능적 요구사항에 해당하므로 틀린 보기입니다.
UDP 특성에 해당되는 것은?
- ① 양방향 연결형 서비스를 제공한다.
- ② 송신중에 링크를 유지 관리하므로 신뢰성이 높다.
- ③ 순서 제어, 오류 제어, 흐름 제어 기능을 한다.
- ④ 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
정답 확인
정답 ④ - ① UDP는 비연결형 서비스를 제공합니다. ②, ③ UDP는 흐름 제어나 순서 제어가 없어 전송 속도가 빨라 신뢰성보다는 속도가 중요시되는 네트 워크에서 사용됩니다. 나머지 보기 - ①UDP는 양방향 연결형이 아니라 비연결형 서비스를 제공하므로 틀린 보기입니다. ②UDP는 링크를 유지 관리하지 않아 신뢰성이 낮으므로 틀린 보기입니다. ③순서 제어, 오류 제어, 흐름 제어 기능은 UDP가 아니라 TCP의 특징이므로 틀린 보기입니다.
관계 데이터 모델에서 릴레이션 (relation)에 관한 설명으로 옳은 것은?
- ① 릴레이션의 각 행을 스키마 (Schema) 라 하며, 예로 도서 릴레이션을 구성하는 스키마에는 도서번호, 도 서명, 저자, 가격 등이 있다.
- ② 릴 레이션의 각 열을 튜플 (Tuple) 이라 하며, 하나의 튜플은 각 속성에서 정의된 값을 이용하여 구성된다.
- ③ 도메인 (Domain)은 하나의 속성이 가질 수 있는 같은 타입의 모든 값의 집합으로 각 속성의 도메인은 원자값을 갖는다.
- ④ 속성 (Attribute) 은 한 개의 릴레이션의 논리적인 구조를 정의한 것으로 릴레이션의 이름과 릴레이션에 포함된 속성들의 집합을 의미한다.
정답 확인
정답 ③ - ① 릴레이션의 각 행은 튜플이라고 불리며, 스키마는 데이터베이스의 구조와 제약 조건에 대한 명세를 의미합니다. ② 릴레이션의 각 열을 속성이라고 합니다. ④ 릴레이션의 논리적인 구조를 정의한 것으로 릴레이션에 포함된 속성들의 집합을 릴레이션 스키마라 고 합니다. 나머지 보기 - ①릴레이션의 각 행은 스키마가 아니라 튜플이라 하므로 틀린 보기입니다. ②릴레이션의 각 열은 튜플이 아니라 속성이라 하므로 틀린 보기입니다. ④한 릴레이션의 논리적 구조와 이름, 속성 집합을 의미하는 것은 속성이 아니라 릴레이션 스키마이므로 틀린 보기입니다.
객체지향 설계 원칙 중 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?
- ① ISP(Interface Segregation Principle)
- ② DIP(Dependency Inversion Principle)
- ③ LSP(Liskov Substitution Principle)
- ④ SRP(Single Responsibility Principle)
정답 확인
정답 ③ - LSP는 하위 클래스가 상위 클래스 자리를 대체해도 프로그램 의미가 변하지 않아야 한다는 원칙이다. 오답 노트 - ①은 ISP(인터페이스 분리 원칙)는 클라이언트가 사용하지 않는 인터페이스에 의존하지 않아야 한다는 원칙이라 서브타입 치환과는 다르다 / ②는 DIP(의존관계 역전 원칙)는 구체 클래스가 아닌 추상화에 의존해야 한다는 원칙이라 다르다 / ④는 SRP(단일 책임 원칙)는 클래스가 하나의 책임만 가져야 한다는 원칙이라 서브타입 치환과 무관하다.
소프트웨어를 개발하기 위한 비즈니스(업무)를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석해 내는 기법은?
- ① 객체지향 분석
- ② 구조적 분석
- ③ 기능적 분석
- ④ 실시간 분석
정답 확인
정답 ① - 객체지향 분석은 업무를 객체·속성·클래스·멤버·전체-부분 관계로 나누어 분석하는 기법이다. 오답 노트 - ②는 구조적 분석은 자료흐름도 중심으로 프로세스를 분석하는 기법이라 객체·클래스 중심 분석과 다르다 / ③은 기능적 분석은 이 문제의 정의(객체·속성·클래스·전체-부분)와 대응하는 표준 방법론 명칭이 아니다 / ④는 실시간 분석은 실시간 시스템의 이벤트·제어 흐름 분석에 초점을 두어 객체지향 분석과 다르다.
객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은?
- ① Instance
- ② Message
- ③ Method
- ④ Module
정답 확인
정답 ① - Instance는 클래스로부터 생성된 개별 객체 그 자체를 의미한다. 오답 노트 - ②는 Message는 객체 간 행위를 지시하는 명령이라 개별 객체 자체를 가리키지 않는다 / ③은 Method는 클래스에 정의된 동작(연산)이지 객체 그 자체가 아니다 / ④는 Module은 독립적 기능 단위의 프로그램 구성요소로 인스턴스 개념과 다르다.
입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
- ① EAI
- ② FEP
- ③ GPL
- ④ Duplexing
정답 확인
정답 ② - FEP(전위 처리기)는 입력 데이터를 CPU 대신 미리 처리해 CPU 부담을 줄여주는 장치다. 오답 노트 - ①은 EAI는 기업 내 서로 다른 애플리케이션을 연계·통합하는 솔루션이라 전처리 장치와 다르다 / ③은 GPL은 범용 프로그래밍 언어 또는 GNU 라이선스를 가리키는 용어로 전처리 장치와 무관하다 / ④는 Duplexing은 장애 대비 시스템 이중화를 의미하며 입력 데이터 전처리와 무관하다.
UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?
- ① Feedback
- ② Posture
- ③ Module
- ④ Hash
정답 확인
정답 ① - Feedback은 시스템 상태와 사용자 조작 결과를 사용자에게 알려주는 UI 기본 원칙이다. 오답 노트 - ②는 Posture는 UI 기본 개념으로 표준적으로 쓰이지 않는 오답 보기다 / ③은 Module은 독립적 기능 단위를 의미하며 상태·결과 표시와 무관하다 / ④는 Hash는 데이터를 고정 길이로 변환하는 함수로 UI 개념과 무관하다.
객체지향 분석 기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은?
- ① Wirfs-Block Method
- ② Rumbaugh Method
- ③ Booch Method
- ④ Jacobson Method
정답 확인
정답 ② - Rumbaugh(럼바우) 방법은 객체·동적·기능 모형 3가지를 생성하는 객체지향 분석 기법이다. 오답 노트 - ①은 Wirfs-Brock Method는 책임(Responsibility) 중심의 CRC 카드 기법으로 3모형 생성과 무관하다 / ③은 Booch Method는 미시적·거시적 개발 프로세스를 사용하는 방법으로 객체·동적·기능 3모형 구조와 다르다 / ④는 Jacobson Method는 Use Case를 강조하는 분석 방법으로 3모형 구조가 아니다.
객체지향 기법에서 클래스들 사이의 ‘부분-전체(Part-Whole)’ 관계 또는 ‘부분(is-a-part-of)’의 관계로설명되는 연관성을 나타내는 용어는?
- ① 일반화
- ② 추상화
- ③ 캡슐화
- ④ 집단화
정답 확인
정답 ④ - 집단화(Aggregation)는 부분-전체(part-whole) 관계를 나타내는 연관성이다. 오답 노트 - ①은 일반화(Generalization)는 상위-하위(is-a) 상속 관계를 나타내며 부분-전체 관계가 아니다 / ②는 추상화(Abstraction)는 공통 속성을 뽑아 일반화하는 개념적 기법으로 관계 유형이 아니다 / ③은 캡슐화(Encapsulation)는 데이터와 연산을 묶어 정보를 은닉하는 개념으로 부분-전체 관계와 무관하다.
객체지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?
- ① 트랜잭션
- ② 클래스
- ③ 시퀀스
- ④ 서브루틴
정답 확인
정답 ② - 클래스는 유사한 객체들을 묶어 공통 특성을 표현한 것이다. 오답 노트 - ①은 트랜잭션은 하나의 논리적 작업 단위(DB 연산 묶음)로 유사 객체를 묶는 개념과 무관하다 / ③은 시퀀스는 순서를 나타내는 자료구조·다이어그램 개념으로 클래스 정의와 무관하다 / ④는 서브루틴은 특정 기능을 수행하는 코드 블록(함수)으로 유사 객체 묶음과 무관하다.
다음 내용이 설명하는 UI 설계 도구는? • 디자인, 사용 방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형 • 시각적으로만 구성 요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음
- ① 스토리보드(Storyboard)
- ② 목업(Mockup)
- ③ 프로토타입(Prototype)
- ④ 유스케이스(Usecase)
정답 확인
정답 ② - 목업(Mockup)은 실제 화면과 유사하게 만든 정적 모형으로 시각적 배치만 확인하는 UI 도구다. 오답 노트 - ①은 스토리보드는 전체 화면 흐름과 상호작용을 시나리오 형태로 설명하는 도구로 정적 모형에 한정되지 않는다 / ③은 프로토타입은 실제 동작하도록 구현해보는 모형이라 "실제로 구현되지 않음"이라는 조건과 다르다 / ④는 유스케이스는 사용자-시스템 상호작용을 시나리오로 표현하는 요구사항 기법으로 화면 모형이 아니다.
UML 다이어그램 중 시스템 내 클래스의 정적 구조를 표현하고 클래스와 클래스, 클래스의 속성 사이의 관계를 나타내는 것은?
- ① Activity Diagram
- ② Model Diagram
- ③ State Diagram
- ④ Class Diagram
정답 확인
정답 ④ - 클래스 다이어그램은 클래스의 정적 구조와 클래스 간 관계를 표현하는 UML 구조 다이어그램이다. 오답 노트 - ①은 Activity Diagram은 업무 처리 흐름(행위)을 표현하는 동적 다이어그램으로 정적 구조 표현이 아니다 / ②는 Model Diagram은 UML 표준 다이어그램 명칭이 아니다 / ③은 State Diagram은 객체의 상태 변화를 표현하는 동적 다이어그램으로 정적 구조 표현이 아니다.
럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은?
- ① 기능 모델링
- ② 동적 모델링
- ③ 객체 모델링
- ④ 정적 모델링
정답 확인
정답 ① - 럼바우 기능 모델링은 자료 흐름도(DFD)를 이용해 데이터 변환 과정을 표현한다. 오답 노트 - ②는 동적 모델링은 상태 다이어그램으로 시간에 따른 상태 변화를 표현하며 DFD를 쓰지 않는다 / ③은 객체 모델링은 객체 다이어그램으로 객체와 속성·관계를 표현하며 DFD와 무관하다 / ④는 정적 모델링은 럼바우 표준 3모형의 명칭이 아니다(객체 모델링을 가리키는 오답 보기).
객체지향 기법에서 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것을 의미하는 것은?
- ① Abstraction
- ② Polymorphism
- ③ Encapsulation
- ④ Inheritance
정답 확인
정답 ④ - Inheritance(상속)는 상위 클래스의 속성과 메소드를 하위 클래스가 물려받는 것이다. 오답 노트 - ①은 Abstraction은 공통 특성을 추출해 단순화하는 개념으로 상속과 무관하다 / ②는 Polymorphism은 같은 연산이 객체 타입에 따라 다르게 동작하는 다형성 개념이다 / ③은 Encapsulation은 데이터와 연산을 묶어 정보 은닉하는 개념으로 상속과 무관하다.
객체지향 프로그램에서 데이터를 추상화하는 단위는?
- ① 메소드
- ② 클래스
- ③ 상속성
- ④ 메시지
정답 확인
정답 ② - 클래스는 객체지향 프로그램에서 데이터(속성)와 연산을 추상화하는 단위다. 오답 노트 - ①은 메소드는 클래스 내부에 정의된 동작(연산)으로 추상화 단위 자체가 아니다 / ③은 상속성은 상위 클래스 속성을 물려받는 관계 개념으로 추상화 단위가 아니다 / ④는 메시지는 객체 간 명령 전달 수단으로 데이터 추상화 단위가 아니다.
UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?
- ① 희소성
- ② 유연성
- ③ 직관성
- ④ 멀티운용성
정답 확인
정답 ③ - 직관성은 누구나 쉽게 이해하고 사용할 수 있어야 한다는 UI 설계 원칙이다. 오답 노트 - ①은 희소성은 UI 설계 원칙 용어가 아닌 오답 보기다 / ②는 유연성은 다양한 요구·환경 변화에 맞추는 정도를 뜻하며 이해 용이성과는 다른 원칙이다 / ④는 멀티운용성은 여러 기기·환경에서 동작하는 정도를 뜻하며 직관적 이해와는 다른 개념이다.
클래스 다이어그램의 요소로, 다음 설명에 해당하는 용어는? • 클래스의 동작을 의미한다. • 클래스에 속하는 객체에 대하여 적용될 메서드를 정의한 것이다. • UML에서는 동작에 대한 인터페이스를 지칭한다고 볼 수 있다.
- ① Instance
- ② Operation
- ③ Item
- ④ Hiding
정답 확인
정답 ② - Operation은 클래스에 속한 객체에 적용될 메서드(동작)를 정의한 것이다. 오답 노트 - ①은 Instance는 클래스로부터 생성된 개별 객체로 동작(메서드) 정의가 아니다 / ③은 Item은 UML 클래스 다이어그램의 표준 구성요소 명칭이 아니다 / ④는 Hiding은 정보 은닉(캡슐화 특성)을 뜻하며 클래스의 동작 정의와는 다른 개념이다.
럼바우(Rumbaugh) 분석 기법에서 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?
- ① Object
- ② Dynamic
- ③ Function
- ④ Static
정답 확인
정답 ① - 럼바우의 Object(객체) 모델링은 정보 모델링이라고도 하며 객체와 속성·관계를 규정한다. 오답 노트 - ②는 Dynamic(동적) 모델링은 상태 다이어그램으로 시간 흐름에 따른 상태 변화를 표현하며 정보 모델링이 아니다 / ③은 Function(기능) 모델링은 자료흐름도로 데이터 처리 과정을 표현하며 객체·관계 규정과 다르다 / ④는 Static(정적) 모델링은 럼바우 표준 3모형의 명칭이 아니다.
객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?
- ① Encapsulation
- ② Class
- ③ Method
- ④ Instance
정답 확인
정답 ① - Encapsulation(캡슐화)은 데이터와 연산을 하나로 묶어 정보 은닉을 실현하는 개념이다. 오답 노트 - ②는 Class는 유사 객체를 묶는 틀(설계도)로 정보 은닉 자체를 의미하지 않는다 / ③은 Method는 클래스에 정의된 동작으로 정보 은닉과 직접 관련이 없다 / ④는 Instance는 클래스로부터 생성된 개별 객체로 정보 은닉 개념과 다르다.
객체에게 어떤 행위를 하도록 지시하는 명령은?
- ① Class
- ② Package
- ③ Object
- ④ Message
정답 확인
정답 ④ - Message는 객체 간에 어떤 행위를 하도록 지시하는 명령이다. 오답 노트 - ①은 Class는 객체를 만드는 틀(설계도)로 명령 전달과 무관하다 / ②는 Package는 관련 요소를 묶는 패키징 단위로 명령 전달과 무관하다 / ③은 Object는 클래스의 인스턴스인 객체 자체로 행위를 지시하는 명령이 아니다.
대표적으로 DOS 및 UNIX 등의 운영체제에서 조작을 위해 사용하던 것으로, 정해진 명령 문자열을 입력하여 시스템을 조작하는 사용자 인터페이스(User Interface)는?
- ① GUI(Graphical User Interface)
- ② CLI(Command Line Interface)
- ③ CUI(Cell User Interface)
- ④ MUI(Mobile User Interface)
정답 확인
정답 ② - CLI는 명령 문자열을 입력하여 시스템을 조작하는 텍스트 기반 사용자 인터페이스다. 오답 노트 - ①은 GUI는 그래픽 아이콘·창을 이용하는 인터페이스로 명령 문자열 입력 방식과 다르다 / ③은 CUI(Cell User Interface)는 표준적으로 쓰이지 않는 오답 보기다 / ④는 MUI는 모바일 환경 UI를 가리키며 DOS/UNIX 명령어 입력 방식과 무관하다.
기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?
- ① 연관
- ② 확장
- ③ 선택
- ④ 특화
정답 확인
정답 ② - 확장(Extend) 유스케이스는 기본 유스케이스가 특별한 조건을 만족할 때만 수행된다. 오답 노트 - ①은 연관(Association)은 액터-유스케이스 간 일반적 상호작용 관계로 조건부 수행과 무관하다 / ③은 선택은 유스케이스의 표준 관계 용어가 아니다 / ④는 특화(Specialization)는 유스케이스를 더 구체화한 하위 유스케이스 관계로 조건부 확장과는 다르다.
속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?
- ① Inheritance
- ② Class
- ③ Encapsulation
- ④ Association
정답 확인
정답 ③ - Encapsulation은 속성과 연산을 클래스 안에 묶어 하나로 취급하는 개념이다. 오답 노트 - ①은 Inheritance는 상위 클래스 속성·연산을 물려받는 개념으로 속성-연산을 묶는 것과 다르다 / ②는 Class는 객체를 만드는 틀 자체이지 속성과 연산을 묶는 행위(개념)를 지칭하지 않는다 / ④는 Association은 클래스 간 참조·연결 관계로 속성-연산 결합과는 다른 개념이다.
서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처스타일은?
- ① 클라이언트 서버 구조
- ② 계층 구조
- ③ MVC 구조
- ④ 파이프 필터 구조
정답 확인
정답 ④ - 파이프-필터 구조는 서브시스템(필터)이 입력을 처리해 파이프로 다음 필터에 넘기는 아키텍처다. 오답 노트 - ①은 클라이언트 서버 구조는 서비스를 요청·제공하는 두 역할로 구성되며 서브시스템의 순차적 데이터 처리 반복과 다르다 / ②는 계층 구조는 계층별로 서비스를 제공하는 구조로 파이프를 통한 데이터 전달 방식과 다르다 / ③은 MVC 구조는 모델·뷰·컨트롤러 3요소로 구성되어 파이프-필터의 데이터 변환 반복 구조와 다르다.
UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?
- ① GUKGraphical User Interface)
- ② OUI(Organic User Interface)
- ③ NUI(Natural User Interface)
- ④ CLKCommand Line Interface)
정답 확인
정답 ③ - NUI는 멀티터치·제스처 등 사용자의 자연스러운 움직임을 인식하는 인터페이스다. 오답 노트 - ①은 GUI는 그래픽 요소(아이콘, 창)를 통한 인터페이스로 신체 동작 인식과는 다르다 / ②는 OUI(Organic User Interface)는 유기적 형태의 물리적 인터페이스 개념으로 멀티터치·제스처 인식이 핵심은 아니다 / ④는 CLI는 명령어 문자열 입력 방식으로 자연스러운 동작 인식과 무관하다.
객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?
- ① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
- ② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
- ③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
- ④ Use-Case를 강조하여 사용하는 방법이다.
정답 확인
정답 ① - Coad-Yourdon 방법은 E-R 다이어그램으로 객체의 행위(정적+동적)를 모델링하는 방법이다. 오답 노트 - ②는 객체·동적·기능 모델로 나누어 수행하는 것은 럼바우(Rumbaugh) 방법에 대한 설명이다 / ③은 미시적·거시적 개발 프로세스를 모두 사용하는 것은 Booch 방법에 대한 설명이다 / ④는 Use-Case를 강조하여 사용하는 것은 Jacobson 방법에 대한 설명이다.
객체지향 개념에서 연관된 데이터와 함수를 함께 묶어 외부와 경계를 만들고 필요한 인터페이스만을밖으로 드러내는 과정은?
- ① 메시지(Message)
- ② 캡슐화(Encapsulation)
- ③ 다형성(Polymorphism)
- ④ 상속(Inheritance)
정답 확인
정답 ② - 캡슐화는 데이터와 함수를 묶어 외부와 경계를 만들고 필요한 인터페이스만 노출하는 과정이다. 오답 노트 - ①은 메시지(Message)는 객체 간 행위를 지시하는 명령으로 데이터·함수 결합과 다르다 / ③은 다형성(Polymorphism)은 동일 연산이 객체 타입에 따라 다르게 동작하는 성질로 경계 형성과 무관하다 / ④는 상속(Inheritance)은 상위 클래스 특성을 물려받는 관계로 인터페이스 노출 개념과 다르다.
소프트웨어 설계 시 제일 상위에 있는 main user function에서 시작하여 기능을 하위 기능들로 분할해 가면서 설계하는 방식은?
- ① 객체지향 설계
- ② 데이터 흐름 설계
- ③ 상향식 설계
- ④ 하향식 설계
정답 확인
정답 ④ - 하향식 설계는 최상위 main 함수에서 시작해 하위 기능으로 분할해 가는 설계 방식이다. 오답 노트 - ①은 객체지향 설계는 객체·클래스 중심 설계 패러다임으로 메인함수 기준 분할 방식과 다르다 / ②는 데이터 흐름 설계는 자료 흐름을 중심으로 설계하는 방식으로 최상위 함수 분할 절차와는 다르다 / ③은 상향식 설계는 하위 모듈부터 만들어 상위로 결합해가는 방식으로 정반대 접근이다.
소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?
- ① 모듈 분해
- ② 디자인 패턴
- ③ 연관 관계
- ④ 클래스 도출
정답 확인
정답 ② - 디자인 패턴은 소프트웨어 설계에서 반복적으로 발생하는 문제의 정형화된 해결책이다. 오답 노트 - ①은 모듈 분해는 시스템을 하위 모듈로 나누는 작업으로 반복 문제의 정형화된 해법 자체와는 다르다 / ③은 연관 관계는 클래스 간 참조 관계를 나타내는 개념으로 설계 해법과 무관하다 / ④는 클래스 도출은 요구사항에서 클래스를 식별하는 작업으로 재사용 가능한 해법 자체가 아니다.
소프트웨어 개발 영역을 결정하는 요소 중 다음 사항과 관계있는 것은? • 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어 • 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어 • 순서적 연산에 의해 소프트웨어를 실행하는 절차
- ① 기능(Function)
- ② 성능(Performance)
- ③ 제약조건(Constraint)
- ④ 인터페이스(Interface)
정답 확인
정답 ④ - 인터페이스는 소프트웨어와 하드웨어, 기존 SW와 신규 SW를 연결하는 영역을 결정하는 요소다. 오답 노트 - ①은 기능(Function)은 소프트웨어가 수행해야 할 작업 자체를 의미하며 연결·매개 요소와는 다르다 / ②는 성능(Performance)은 처리 속도·자원 사용 등 수행 능력을 의미하며 연결 요소와 무관하다 / ③은 제약조건(Constraint)은 개발에 영향을 주는 제한 사항을 의미하며 하드웨어·SW 연결 요소와는 다르다.
정보공학 방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어는?
- ① Package Diagram
- ② State Transition Diagram
- ③ Deployment Diagram
- ④ Entity-Relationship Diagram
정답 확인
정답 ④ - 정보공학 방법론은 데이터베이스 설계 표현에 E-R 다이어그램을 모델링 언어로 사용한다. 오답 노트 - ①은 Package Diagram은 관련 요소를 그룹화해 표현하는 구조 다이어그램으로 DB 설계 표현과 무관하다 / ②는 State Transition Diagram은 객체의 상태 변화를 표현하는 다이어그램으로 DB 구조 표현과 다르다 / ③은 Deployment Diagram은 하드웨어 노드에 소프트웨어 배치를 표현하는 다이어그램으로 DB 설계와 무관하다.
보헴이 제안한 것으로, 위험 분석 기능이 있으며, 여러 번의 개발 과정을 거쳐 점진적으로 개발하는 모형은?
- ① 나선형 모형
- ② 애자일 모형
- ③ 프로토타입 모형
- ④ 폭포수 모형
정답 확인
정답 ① - 나선형 모형은 보헴이 제안한 위험분석 중심의 점진적·반복적 개발 모형이다. 오답 노트 - ②는 애자일 모형은 짧은 반복 주기로 협업·적응을 강조하는 개발 방식으로 위험분석 중심 구조와는 다르다 / ③은 프로토타입 모형은 시제품을 만들어 요구사항을 확정하는 방식으로 위험분석 단계가 명시적 핵심은 아니다 / ④는 폭포수 모형은 순차적 단계 진행 방식으로 반복적 개발이나 위험분석 기능이 없다.
객체지향 분석 방법론 중 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 것은?
- ① Coad와 Yourdon 방법
- ② Booch 방법
- ③ Jacobson 방법
- ④ Wirfs-Brocks 방법
정답 확인
정답 ① - Coad-Yourdon 방법은 E-R 다이어그램 기반으로 객체 식별·구조 식별·속성/관계/서비스 정의 과정을 거친다. 오답 노트 - ②는 Booch 방법은 미시적·거시적 개발 프로세스를 사용하는 방법으로 E-R 다이어그램 기반이 아니다 / ③은 Jacobson 방법은 Use-Case를 강조하는 방법으로 E-R 다이어그램 기반 절차와 다르다 / ④는 Wirfs-Brocks 방법은 책임(Responsibility) 중심의 CRC 카드 기법으로 E-R 다이어그램을 사용하지 않는다.
클래스 설계 원칙에 대한 바른 설명은?
- ① 단일 책임 원칙 : 하나의 클래스만 변경 가능해야 한다.
- ② 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
- ③ 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
- ④ 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
정답 확인
정답 ② - 개방-폐쇄 원칙(OCP)은 확장에는 열려 있고 변경에는 닫혀 있어야 한다는 클래스 설계 원칙이다. 오답 노트 - ①은 단일 책임 원칙(SRP)은 "클래스는 하나의 책임만 가져야 한다"는 원칙이지 "하나의 클래스만 변경 가능"이라는 뜻이 아니다 / ③은 리스코프 치환 원칙(LSP)은 하위 클래스가 상위 클래스를 대체해도 프로그램이 정상 동작해야 한다는 원칙으로, 책임 분리를 다루는 설명이 아니다 / ④는 의존관계 역전 원칙(DIP)은 구체 클래스가 아닌 추상화에 의존해야 한다는 원칙으로, 제시된 설명(메소드 의존관계 최소화)은 인터페이스 분리 원칙(ISP)에 대한 내용이다.
소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 내부 구조를 변경하는 것은?
- ① Refactoring
- ② Architecting
- ③ Specification
- ④ Renewal
정답 확인
정답 ① - Refactoring은 외부 동작 변화 없이 내부 구조를 개선해 이해와 유지보수를 쉽게 하는 작업이다. 오답 노트 - ②는 Architecting은 시스템의 구조를 설계하는 활동으로 기존 코드의 내부 구조 개선(리팩토링)과는 다르다 / ③은 Specification은 요구사항이나 기능을 명세하는 문서 작성 활동으로 코드 구조 변경과 무관하다 / ④는 Renewal은 시스템을 새롭게 갱신·교체하는 것을 뜻하며 동작 보존 하의 구조 개선과는 다르다.
UML 모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계는?
- ① Association
- ② Dependency
- ③ Realization
- ④ Generalization
정답 확인
정답 ② - Dependency(의존)는 한 클래스가 다른 클래스를 매개변수 등으로 잠시 사용할 때 나타나는 관계다. 오답 노트 - ①은 Association은 클래스 간 지속적인 참조·연결 관계로 매개변수로 잠시 사용하는 의존 관계보다 강하고 지속적인 관계다 / ③은 Realization(실체화)은 인터페이스와 이를 구현하는 클래스 간의 관계로 매개변수 사용과는 다르다 / ④는 Generalization(일반화)은 상위-하위 클래스 간 상속 관계로 매개변수 사용에 의한 일시적 관계와 다르다.
다음 중 자료 사전(Data Dictionary)에서 선택의 의미를 나타내는 것은?
- ① [ ]
- ② { }
- ③ +
- ④ =
정답 확인
정답 ① - 자료 사전에서 대괄호 [ ]는 선택(Choice, 여러 값 중 하나)을 의미하는 기호다. 오답 노트 - ②는 중괄호 { }는 자료 항목의 반복을 의미하는 기호다 / ③은 +는 자료 사전에서 자료의 연결(and)을 의미하는 기호다 / ④는 =는 자료의 정의(is composed of)를 의미하는 기호다.
통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내·외부 송·수신 연계기술은?
- ① DB링크 기술
- ② 소켓 기술
- ③ 스크럼 기술
- ④ 프로토타입 기술
정답 확인
정답 ② - 소켓 기술은 포트를 할당하고 클라이언트 요청 시 연결을 담당하는 내외부 송수신 연계 기술이다. 오답 노트 - ①은 DB링크 기술은 서로 다른 데이터베이스를 직접 연결해 데이터를 주고받는 방식으로 포트 할당 기반 연결과는 다르다 / ③은 스크럼 기술은 애자일 개발 방법론의 하나로 통신 연계 기술이 아니다 / ④는 프로토타입 기술은 시제품을 만들어보는 개발 기법으로 통신 연계 기술과 무관하다.
코드 설계에서 일정한 일련번호를 부여하는 방식의 코드는?
- ① 연상 코드
- ② 블록 코드
- ③ 순차 코드
- ④ 표의 숫자 코드
정답 확인
정답 ③ - 순차 코드는 발생 순서에 따라 일련번호를 부여하는 가장 단순한 코드 방식이다. 오답 노트 - ①은 연상 코드는 항목의 명칭·특성을 연상할 수 있는 문자를 조합한 코드로 일련번호 부여 방식과 다르다 / ②는 블록 코드는 유사 항목을 블록으로 묶어 일련번호를 부여하는 코드로 단순 순차 부여와는 구분된다 / ④는 표의 숫자 코드는 중량·면적 등 물리적 수치를 그대로 사용하는 코드로 발생 순서 번호와는 다르다.
다음 내용이 설명하는 객체지향 설계 원칙은? • 클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다. • 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
- ① 인터페이스 분리 원칙
- ② 단일 책임 원칙
- ③ 개방 폐쇄의 원칙
- ④ 리스코프 교체의 원칙
정답 확인
정답 ① - 인터페이스 분리 원칙(ISP)은 클라이언트가 사용하지 않는 인터페이스에 의존하지 않아야 한다는 원칙이다. 오답 노트 - ②는 단일 책임 원칙(SRP)은 클래스가 하나의 책임만 가져야 한다는 원칙으로 인터페이스 의존과는 다르다 / ③은 개방-폐쇄 원칙(OCP)은 확장에는 열려 있고 변경에는 닫혀 있어야 한다는 원칙으로 인터페이스 분리와 다르다 / ④는 리스코프 치환 원칙(LSP)은 하위 클래스가 상위 클래스를 대체할 수 있어야 한다는 원칙으로 인터페이스 의존 최소화와는 다르다.
좋은 소프트웨어 설계를 위한 소프트웨어의 모듈간의 결합도(Coupling)와 모듈 내 요소 간 응집도(Cohesion)에 대한 설명으로 옳은 것은?
- ① 응집도는 낮게 결합도는 높게 설계한다.
- ② 응집도는 높게 결합도는 낮게 설계한다.
- ③ 양쪽 모두 낮게 설계한다.
- ④ 양쪽 모두 높게 설계한다.
정답 확인
정답 ② - 좋은 설계는 모듈 간 결합도는 낮게, 모듈 내부 응집도는 높게 하는 것이 원칙이다. 오답 노트 - ①은 응집도를 낮게, 결합도를 높게 하면 모듈 간 의존이 강해지고 내부 요소 관련성이 약해져 유지보수가 어려워진다 / ③은 양쪽 모두 낮게 설계하면 결합도는 좋아지나 응집도가 낮아 모듈 내부 요소 간 관련성이 떨어진다 / ④는 양쪽 모두 높게 설계하면 응집도는 좋아지나 결합도도 높아져 모듈 간 의존성이 커진다.
UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?
- ① Dependency
- ② Realization
- ③ Generalization
- ④ Association
정답 확인
정답 ② - Realization(실체화)은 한 객체가 다른 객체(인터페이스)의 오퍼레이션 수행을 지정하는 관계다. 오답 노트 - ①은 Dependency(의존)는 한 클래스가 다른 클래스를 매개변수 등으로 일시적으로 사용할 때 나타나는 관계로 인터페이스 실체화와 다르다 / ③은 Generalization(일반화)은 상위-하위 클래스 간 상속 관계로 오퍼레이션 실행 지정과는 다르다 / ④는 Association(연관)은 클래스 간 지속적인 참조 관계로 인터페이스 실체화와는 구분된다.
분산 컴퓨팅 환경에서 서로 다른 기종 간의 하드웨어나 프로토콜, 통신환경 등을 연결하여 응용 프로그램과 운영환경 간에 원만한 통신이 이루어질 수 있게 서비스를 제공하는 소프트웨어는?
- ① 미들웨어
- ② 하드웨어
- ③ 오픈허브웨어
- ④ 그레이웨어
정답 확인
정답 ① - 미들웨어는 이기종 시스템 간 하드웨어·프로토콜·통신환경을 연결해 원만한 통신을 지원하는 SW다. 오답 노트 - ②는 하드웨어는 물리적 장치 자체를 의미하며 이기종 연결 소프트웨어 개념과 무관하다 / ③은 오픈허브웨어는 표준 용어가 아닌 오답 보기다 / ④는 그레이웨어는 악성은 아니지만 사용자에게 불이익을 줄 수 있는 소프트웨어를 뜻해 미들웨어와 무관하다.
코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?
- ① 순차 코드
- ② 10진 코드
- ③ 표의 숫자 코드
- ④ 블록 코드
정답 확인
정답 ③ - 표의 숫자 코드는 중량·면적·용량 등 물리적 수치를 그대로 이용해 만든 코드다. 오답 노트 - ①은 순차 코드는 발생 순서에 따라 일련번호를 부여하는 코드로 물리적 수치 이용과는 다르다 / ②는 10진 코드는 코드를 10진법 단위로 세분화해 분류하는 방식으로 물리적 수치 자체를 코드로 쓰지 않는다 / ④는 블록 코드는 유사 항목을 일정 블록으로 묶어 일련번호를 부여하는 방식으로 물리적 수치와는 다르다.
다음 설명에 부합하는 용어로 옳은 것은? • 소프트웨어 구조를 이루며, 다른 것들과 구별될 수 있는 독립적인 기능을 갖는 단위이다. • 하나 또는 몇 개의 논리적인 기능을 수행하기 위한 명령어들의 집합이라고도 할 수 있다. • 서로 모여 하나의 완전한 프로그램으로 만들어질 수 있다.
- ① 통합 프로그램
- ② 저장소
- ③ 모듈
- ④ 데이터
정답 확인
정답 ③ - 모듈은 소프트웨어 구조를 이루는 독립적 기능 단위로, 명령어 집합이 모여 프로그램을 구성한다. 오답 노트 - ①은 통합 프로그램은 표준 소프트웨어 공학 용어가 아닌 오답 보기다 / ②는 저장소는 데이터나 산출물을 보관하는 공간을 의미하며 독립적 기능 단위와는 다르다 / ④는 데이터는 처리 대상이 되는 값 자체로 독립적 기능을 수행하는 단위가 아니다.
파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
- ① 노드와 간선으로 구성된다.
- ② 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
- ③ 계층 모델이라고도 한다.
- ④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
정답 확인
정답 ② - 파이프-필터 아키텍처는 서브시스템(필터)이 입력을 처리해 파이프를 통해 다음 서브시스템으로 넘기는 구조다. 오답 노트 - ①은 노드와 간선으로 구성되는 것은 그래프 구조에 대한 설명이다 / ③은 계층 모델은 계층 구조 아키텍처에 대한 설명으로 파이프-필터와 다르다 / ④는 모델·뷰·제어 3개 서브시스템 구성은 MVC 구조에 대한 설명이다.
클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어를 무엇이라고 하는가?
- ① 웨어러블
- ② 하이웨어
- ③ 미들웨어
- ④ 응용 소프트웨어
정답 확인
정답 ③ - 미들웨어는 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어다. 오답 노트 - ①은 웨어러블은 착용 가능한 기기를 뜻하며 통신 담당 소프트웨어와 무관하다 / ②는 하이웨어는 표준 용어가 아닌 오답 보기다 / ④는 응용 소프트웨어는 사용자 업무를 처리하는 프로그램으로 클라이언트-서버 통신 자체를 담당하지 않는다.
다음 내용이 설명하는 디자인 패턴은? • 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것 • Virtual-Constructor 패턴이라고도 함
- ① Visitor 패턴
- ② Observer 패턴
- ③ Factory Method 패턴
- ④ Bridge 패턴
정답 확인
정답 ③ - Factory Method 패턴은 객체 생성 인터페이스만 정의하고 어떤 클래스를 인스턴스화할지는 서브클래스가 결정한다. 오답 노트 - ①은 Visitor 패턴은 객체 구조와 처리(연산)를 분리해 새 연산을 추가하는 패턴으로 인스턴스화 결정과는 다르다 / ②는 Observer 패턴은 한 객체 상태 변화를 다른 객체들에 통지하는 패턴으로 객체 생성과 무관하다 / ④는 Bridge 패턴은 추상화와 구현을 분리해 독립적으로 변형 가능하게 하는 패턴으로 서브클래스의 인스턴스화 결정과는 다르다.
다음 ( ) 안에 들어갈 내용으로 옳은 것은? 컴포넌트 설계 시 “( )에 의한 설계”를 따를 경우, 해당 명세에서는 (1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건 (2) 사용 후 만족되어야 할 결과조건 (3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다.
- ① 협약(Contract)
- ② 프로토콜(Protocol)
- ③ 패턴(Pattern)
- ④ 관계(Relation)
정답 확인
정답 ① - 협약(Contract)에 의한 설계는 선행조건·결과조건·불변조건을 명세하는 컴포넌트 설계 기법이다. 오답 노트 - ②는 프로토콜(Protocol)은 통신 규약을 의미하며 선행·결과·불변조건 명세와는 다른 개념이다 / ③은 패턴(Pattern)은 반복되는 설계 문제의 정형화된 해법으로 조건 명세 방식 자체를 가리키지 않는다 / ④는 관계(Relation)는 요소 간 연결을 의미하며 선행·결과·불변조건 명세와는 다르다.
여러 개의 선택 항목 중 하나의 선택만 가능한 경우 사용하는 사용자 인터페이스(UI) 요소는?
- ① 토글 버튼
- ② 텍스트 박스
- ③ 라디오 버튼
- ④ 체크 박스
정답 확인
정답 ③ - 라디오 버튼은 여러 선택지 중 하나만 고를 수 있는 UI 요소다. 오답 노트 - ①은 토글 버튼은 온/오프 두 상태를 전환하는 버튼으로 다중 항목 중 하나 선택과는 다르다 / ②는 텍스트 박스는 문자를 직접 입력하는 요소로 선택 항목 중 고르는 방식이 아니다 / ④는 체크 박스는 여러 항목을 동시에 선택할 수 있어 하나만 선택 가능한 라디오 버튼과 다르다.
아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은? (다이어그램: 최상위에 '차' 클래스가 있고, 그 아래로 속이 빈 화살표(삼각형)가 '버스', '트럭', '택시' 클래스를 향해 연결되어 있음 - 부모-자식 계층 구조)
- ① 추상화 관계
- ② 의존 관계
- ③ 일반화 관계
- ④ 그룹 관계
정답 확인
정답 ③ - 속이 빈 삼각형 화살표로 상위-하위 클래스를 연결하는 것은 일반화(Generalization, 상속) 관계다. 오답 노트 - ①은 추상화 관계는 공통 특성을 뽑아내는 개념적 기법을 의미하며 UML의 표준 관계 명칭이 아니다 / ②는 의존 관계는 한 클래스가 다른 클래스를 일시적으로 사용할 때의 관계로 속이 빈 삼각형(상속)과는 다른 표기를 쓴다 / ④는 그룹 관계는 UML 표준 관계 명칭이 아니다.
다음의 설명에 해당하는 언어는? 객체지향 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화하는데 사용된다. 즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석가, 의뢰인, 설계자가 효율적인 의소소통을 할 수 있게 해 준다. 따라서, 개발 방법론이나 개발 프로세스가 아니라 표준화된 모델링 언어이다.
- ① JAVA
- ② C
- ③ UML
- ④ Python
정답 확인
정답 ③ - UML은 개발 방법론이 아니라 시스템을 명세화·시각화·문서화하는 표준화된 모델링 언어다. 오답 노트 - ①은 JAVA는 범용 프로그래밍 언어로 시스템 명세·시각화를 위한 모델링 언어가 아니다 / ②는 C는 절차형 프로그래밍 언어로 모델링 언어가 아니다 / ④는 Python은 범용 스크립트 언어로 UML과 같은 표준 모델링 언어가 아니다.
트랜잭션이 올바르게 처리되고 있는지 데이터를 감시하고 제어하는 미들웨어는?
- ① RPC
- ② ORB
- ③ TP monitor
- ④ HUB
정답 확인
정답 ③ - TP Monitor는 트랜잭션이 올바르게 처리되는지 감시·제어하는 미들웨어다. 오답 노트 - ①은 RPC는 원격 프로시저를 로컬처럼 호출하는 미들웨어로 트랜잭션 감시·제어가 핵심 기능이 아니다 / ②는 ORB는 객체 간 요청을 중개하는 미들웨어로 트랜잭션 감시 전담 기능과는 다르다 / ④는 HUB는 네트워크 신호를 단순 중계하는 물리 장치로 트랜잭션 감시와 무관하다.
다음 설명에 해당하는 시스템으로 옳은 것은? 시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연 계 테이블 또는 파일 형태로 생성하며 송신하는 시스템이다.
- ① 연계 서버
- ② 중계 서버
- ③ 송신 시스템
- ④ 수신 시스템
정답 확인
정답 ③ - 송신 시스템은 연계할 데이터를 DB·애플리케이션에서 연계 테이블/파일로 생성해 보내는 시스템이다. 오답 노트 - ①은 연계 서버는 송·수신 시스템 사이에서 데이터 형식 변환·전송을 처리하는 서버로 송신 시스템 자체와는 역할이 다르다 / ②는 중계 서버는 연계 서버와 유사하게 중간에서 데이터를 전달하는 역할이라 데이터를 처음 생성해 보내는 송신 시스템과는 다르다 / ④는 수신 시스템은 전달받은 연계 데이터를 자신의 데이터베이스에 반영하는 시스템으로 데이터를 만들어 보내는 역할과는 반대다.
다음 내용이 설명하는 디자인 패턴은? • 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없다. • 클래스 내에서 인스턴스가 하나뿐임을 보장하며, 불필요한 메모리 낭비를 최소화 할 수 있다.
- ① Singleton
- ② Adapter
- ③ Prototype
- ④ Decorator
정답 확인
정답 ① - Singleton 패턴은 클래스의 인스턴스를 하나만 생성해 어디서든 참조하게 하는 생성 패턴이다. 오답 노트 - ②는 Adapter 패턴은 호환되지 않는 인터페이스를 연결해주는 패턴으로 인스턴스 단일화와는 다르다 / ③은 Prototype 패턴은 기존 객체를 복제해 새 객체를 만드는 패턴으로 인스턴스를 하나로 제한하지 않는다 / ④는 Decorator 패턴은 객체에 동적으로 기능을 추가하는 패턴으로 인스턴스 단일화와는 다르다.
명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?
- ① Model
- ② Sheet
- ③ Component
- ④ Cell
정답 확인
정답 ③ - Component는 인터페이스를 통해서만 접근 가능한 독립적·재사용 가능한 시스템 단위다. 오답 노트 - ①은 Model은 MVC 구조의 데이터·비즈니스 로직 요소를 가리키는 용어로 컴포넌트의 일반적 정의와는 다르다 / ②는 Sheet는 표 형태의 데이터 영역을 뜻하는 용어로 소프트웨어 컴포넌트 개념과 무관하다 / ④는 Cell은 표의 한 칸을 의미하는 용어로 독립적 재사용 단위 개념과 무관하다.
정렬된 N개의 데이터를 처리하는 데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
- ① 합병 정렬
- ② 버블 정렬
- ③ 선택 정렬
- ④ 삽입 정렬
정답 확인
정답 ① - 합병 정렬(Merge Sort)은 분할정복 기반으로 O(N log N) 시간 복잡도를 갖는 정렬이다. 오답 노트 - ②는 버블 정렬은 인접한 값을 비교·교환하는 방식으로 O(n²)의 시간 복잡도를 갖는다 / ③은 선택 정렬은 최솟값을 찾아 교환하는 방식으로 O(n²)의 시간 복잡도를 갖는다 / ④는 삽입 정렬은 정렬된 부분에 값을 삽입하는 방식으로 O(n²)의 시간 복잡도를 갖는다.
순서가 있는 리스트에서 데이터의 삽입(Push), 삭제(Pop)가 한 쪽 끝에서 일어나며 LIFO(Last-In-First- Out)의 특징을 가지는 자료 구조는?
- ① Tree
- ② Graph
- ③ Stack
- ④ Queue
정답 확인
정답 ③ - Stack은 한쪽 끝에서만 삽입·삭제가 일어나는 LIFO 구조의 자료구조다. 오답 노트 - ①은 Tree는 계층적 관계를 표현하는 비선형 자료구조로 LIFO 삽입·삭제 방식과 무관하다 / ②는 Graph는 노드와 간선으로 이루어진 비선형 자료구조로 LIFO 방식과 무관하다 / ④는 Queue는 한쪽 끝에서 삽입, 다른 쪽 끝에서 삭제하는 FIFO 구조로 LIFO인 Stack과 반대다.
소프트웨어 품질 목표 중 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도를 나타내는 것은?
- ① 직관성
- ② 사용 용이성
- ③ 신뢰성
- ④ 이식성
정답 확인
정답 ③ - 신뢰성은 주어진 시간·조건에서 기능을 오류 없이 수행하는 정도를 나타내는 품질 특성이다. 오답 노트 - ①은 직관성은 UI를 쉽게 이해하고 사용할 수 있는 정도를 뜻하며 오류 없는 수행과는 다른 특성이다 / ②는 사용 용이성(Usability)은 쉽게 배우고 사용할 수 있는 정도를 뜻하며 신뢰성과는 다른 품질 특성이다 / ④는 이식성(Portability)은 다른 환경에서도 쉽게 사용할 수 있는 정도를 뜻하며 오류 없는 수행과는 다른 특성이다.
럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?
- ① 객체 다이어그램(Object Diagram)
- ② 패키지 다이어그램(Package Diagram)
- ③ 상태 다이어그램(State Diagram)
- ④ 자료 흐름도(Data Flow Diagram)
정답 확인
정답 ③ - 럼바우 동적 모델링은 상태 다이어그램(State Diagram)으로 시간에 따른 객체 상태 변화를 표현한다. 오답 노트 - ①은 객체 다이어그램은 객체 모델링에 쓰이는 정적 구조 표현으로 동적 모델링과는 다르다 / ②는 패키지 다이어그램은 요소를 그룹화한 구조를 표현하는 다이어그램으로 럼바우의 표준 3모형에 속하지 않는다 / ④는 자료 흐름도(DFD)는 기능 모델링에 사용되는 다이어그램으로 동적 모델링과는 다르다.
응용 프로그램의 프로시저를 사용하여 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어는?
- ① WAS(Web Application Server)
- ② MOM(Message Oriented Middleware)
- ③ RPC(Remote Procedure Call)
- ④ ORB(Object Request Broker)
정답 확인
정답 ③ - RPC는 원격 프로시저를 로컬 프로시저처럼 호출할 수 있게 하는 미들웨어 방식이다. 오답 노트 - ①은 WAS는 웹 애플리케이션을 실행하는 서버 소프트웨어로 원격 프로시저 호출 방식과는 다르다 / ②는 MOM은 메시지 큐를 매개로 비동기 통신을 지원하는 미들웨어로 프로시저 호출 방식과 다르다 / ④는 ORB는 객체 간 요청을 중개하는 미들웨어로 절차(프로시저) 호출 방식의 RPC와는 구조가 다르다.
검토 회의 전에 요구사항 명세서를 미리 배포하여 사전 검토한 후 짧은 검토 회의를 통해 오류를 조기에 검출하는데 목적을 두는 요구사항 검토 방법은?
- ① 빌드 검증
- ② 동료 검토
- ③ 워크스루
- ④ 개발자 검토
정답 확인
정답 ③ - 워크스루는 명세서를 사전 배포·검토 후 짧은 회의로 오류를 조기 발견하는 요구사항 검토 기법이다. 오답 노트 - ①은 빌드 검증은 소프트웨어를 빌드해 정상 동작하는지 확인하는 절차로 명세서 사전 배포·검토와는 다르다 / ②는 동료 검토는 작성자가 명세서를 직접 설명하고 이해관계자가 들으며 결함을 찾는 방식으로 워크스루와는 진행 방식이 다르다 / ④는 개발자 검토는 표준화된 요구사항 검토 기법 명칭이 아니다.
공통 모듈에 대한 명세 기법 중 해당 기능에 대해 일관되게 이해되고 한 가지로 해석될 수 있도록 작성하는 원칙은?
- ① 상호작용성
- ② 명확성
- ③ 독립성
- ④ 내용성
정답 확인
정답 ② - 명확성은 공통 모듈 명세가 한 가지로만 해석되도록 일관되게 작성해야 한다는 원칙이다. 오답 노트 - ①은 상호작용성은 모듈 간 협력·연동 정도를 의미하며 해석의 일관성과는 다른 특성이다 / ③은 독립성은 다른 모듈에 대한 의존을 최소화하는 특성으로 해석의 일관성과는 다르다 / ④는 내용성은 표준적인 공통 모듈 명세 원칙 용어가 아니다.
인터페이스 요구사항 검토 방법에 대한 설명이 옳은 것은?
- ① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문 제점 등을 파악
- ② 동료검토 : 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결 함을 발견
- ③ 인스펙션 : 자동화된 요구사항 관리 도구를 이용하여 요구사항 추적성과 일관성을 검토
- ④ CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면 서 결함을 발견
정답 확인
정답 ② - 동료검토(Peer Review)는 작성자가 명세서를 설명하고 이해관계자가 들으며 결함을 찾는 방식이다. 오답 노트 - ①은 리팩토링은 외부 동작 변화 없이 내부 구조를 개선하는 작업으로, 제시된 설명(전문 검토 그룹의 결함 조사)은 인스펙션에 대한 내용이다 / ③은 인스펙션은 전문 검토 그룹이 결함·표준 위배를 조사하는 공식적 검토이며, 제시된 설명(자동화 도구로 추적성 검토)은 CASE 도구 활용에 대한 내용이다 / ④는 CASE 도구는 요구사항 관리를 지원하는 자동화 도구이며, 제시된 설명(사전 배포 후 짧은 회의로 결함 발견)은 워크스루에 대한 내용이다.
자료 사전에서 자료의 생략을 의미하는 기호는?
- ① { }
- ② **
- ③ =
- ④ ( )
정답 확인
정답 ④ - 자료 사전에서 소괄호 ( )는 자료(선택 요소)의 생략 가능함을 의미하는 기호다. 오답 노트 - ①은 중괄호 { }는 자료 항목의 반복을 의미하는 기호다 / ②는 **는 자료 사전 표준 기호가 아닌 오답 보기다 / ③은 =는 자료의 정의(is composed of)를 의미하는 기호다.
자료 사전에서 자료의 반복을 의미하는 것은?
- ① =
- ② ( )
- ③ { }
- ④ [ ]
정답 확인
정답 ③ - 자료 사전에서 중괄호 { }는 자료 항목의 반복을 의미하는 기호다. 오답 노트 - ①은 =는 자료의 정의(is composed of)를 의미하는 기호다 / ②는 ( )는 자료(선택 요소)의 생략 가능함을 의미하는 기호다 / ④는 [ ]는 여러 값 중 하나를 선택함을 의미하는 기호다.
UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호로 맞는 것은?
- ① << >>
- ② (( ))
- ③ {{ }}
- ④ [[ ]]
정답 확인
정답 ① - UML에서 스테레오 타입은 << >> (길러멧) 기호로 표현한다. 오답 노트 - ②는 (( ))는 UML 스테레오 타입 표준 표기 기호가 아니다 / ③은 {{ }}는 UML 스테레오 타입 표준 표기 기호가 아니다 / ④는 [[ ]]는 UML 스테레오 타입 표준 표기 기호가 아니다.
패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준은?
- ① ISO/IEC 2196
- ② IEEE 19554
- ③ ISO/IEC 12119
- ④ ISO/IEC 14959
정답 확인
정답 ③ - ISO/IEC 12119는 패키지 소프트웨어의 품질 요구사항 및 테스트에 관한 국제 표준이다. 오답 노트 - ①은 ISO/IEC 2196은 실재하지 않는(혼동을 노린) 표준 번호다 / ②는 IEEE 19554는 실재하지 않는(혼동을 노린) 표준 번호다 / ④는 ISO/IEC 14959는 실재하지 않는(혼동을 노린) 표준 번호다.
소프트웨어 품질 목표 중 하나 이상의 하드웨어 환경에서 운용되기 위해 쉽게 수정될 수 있는 시스템능력을 의미하는 것은?
- ① Portability
- ② Efficiency
- ③ Usability
- ④ Correctness
정답 확인
정답 ① - Portability(이식성)는 다른 하드웨어 환경으로 쉽게 옮겨 사용할 수 있는 능력이다. 오답 노트 - ②는 Efficiency(효율성)는 자원을 얼마나 적게 사용해 처리하는가를 나타내는 특성으로 환경 이식과는 다르다 / ③은 Usability(사용 용이성)는 쉽게 배우고 사용할 수 있는 정도로 하드웨어 환경 이식과는 다른 특성이다 / ④는 Correctness(정확성)는 요구된 기능을 정확히 수행하는 정도로 환경 이식성과는 다른 특성이다.
소프트웨어의 일부분을 다른 시스템에서 사용할 수 있는 정도를 의미하는 것은?
- ① 신뢰성(Reliability)
- ② 유지보수성(Maintainability)
- ③ 가시성(Visibility)
- ④ 재사용성(Reusability)
정답 확인
정답 ④ - 재사용성(Reusability)은 소프트웨어 일부를 다른 시스템에서도 사용할 수 있는 정도다. 오답 노트 - ①은 신뢰성(Reliability)은 오류 없이 기능을 수행하는 정도로 재사용 가능성과는 다른 특성이다 / ②는 유지보수성(Maintainability)은 결함 수정·개선의 용이성을 뜻하며 다른 시스템에서의 재사용과는 다른 특성이다 / ③은 가시성(Visibility)은 표준적으로 사용되는 소프트웨어 품질 특성 명칭이 아니다.
퀵 정렬에 관한 설명으로 옳은 것은?
- ① 레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드 를 꺼내어 정렬한다.
- ② 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
- ③ 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
- ④ 임의의 레코드 키와 매개변수(h)값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환해 가면서 정렬한다.
정답 확인
정답 ③ - 퀵 정렬은 파일을 피벗 기준으로 부분적으로 나누어 가며 자료 이동을 최소화해 정렬한다. 오답 노트 - ①은 버킷에 분배해 순서대로 꺼내는 것은 기수 정렬(Radix Sort)에 대한 설명이다 / ②는 인접한 두 레코드를 비교·교환하는 것은 버블 정렬(Bubble Sort)에 대한 설명이다 / ④는 매개변수(h)만큼 떨어진 키를 비교·교환하는 것은 셸 정렬(Shell Sort)에 대한 설명이다.
소프트웨어 프로젝트 관리에 대한 설명으로 가장 옳은 것은?
- ① 개발에 따른 산출물 관리
- ② 소요 인력은 최대화하되 정책 결정은 신속하게 처리
- ③ 주어진 기간은 연장하되 최소의 비용으로 시스템을 개발
- ④ 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발
정답 확인
정답 ④ - 소프트웨어 프로젝트 관리는 주어진 기간·비용 내에 사용자를 만족시키는 시스템을 개발하는 것이다. 오답 노트 - ①은 산출물 관리는 프로젝트 관리의 한 요소일 뿐 목적(기간·비용·품질 균형) 전체를 포괄하지 않는다 / ②는 인력을 무조건 최대화하는 것은 오히려 의사소통 비용을 늘려 프로젝트 관리 목표와 어긋난다 / ③은 기간을 연장하는 것은 일반적으로 프로젝트 관리 목표(정해진 기간 준수)와 반대된다.
다음 중 최악의 경우 검색 효율이 가장 나쁜 트리 구조는?
- ① 이진 탐색 트리
- ② AVL 트리
- ③ 2-3 트리
- ④ 레드-블랙 트리
정답 확인
정답 ① - 이진 탐색 트리는 편향(치우친) 트리가 되면 최악의 경우 O(N)까지 성능이 저하될 수 있어 검색 효율이 가장 나쁘다. 오답 노트 - ②는 AVL 트리는 균형을 유지하도록 자동 조정되어 최악의 경우에도 O(log N) 성능을 보장한다 / ③은 2-3 트리는 균형 트리의 일종으로 최악의 경우에도 O(log N) 성능을 유지한다 / ④는 레드-블랙 트리는 균형을 유지하는 트리로 최악의 경우에도 O(log N) 성능을 보장한다.
테스트를 목적에 따라 분류했을 때, 강도(Stress) 테스트에 대한 설명으로 옳은 것은?
- ① 시스템에 고의로 실패를 유도하고 시스템이 정상적으로 복귀하는지 테스트한다.
- ② 시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지를 테스트한다.
- ③ 사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 테스트한다.
- ④ 부당하고 불법적인 침입을 시도하여 보안시스템이 불법적인 침투를 잘 막아내는지 테스트한다.
정답 확인
정답 ② - 강도(Stress) 테스트는 과도한 부하를 가했을 때도 시스템이 정상 작동하는지 확인하는 테스트다. 오답 노트 - ①은 고의로 실패를 유도해 정상 복귀를 확인하는 것은 회복(Recovery) 테스트에 대한 설명이다 / ③은 응답 시간·처리량·반응 속도를 측정하는 것은 성능(Performance) 테스트에 대한 설명이다 / ④는 불법 침입을 시도해 보안 방어력을 확인하는 것은 보안(Security) 테스트에 대한 설명이다.
소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동을 뜻하는 것은?
- ① 복호화
- ② 형상 관리
- ③ 저작권
- ④ 크랙
정답 확인
정답 ② - 형상 관리는 개발 과정에서 소프트웨어 변경 사항을 체계적으로 관리하는 활동이다. 오답 노트 - ①은 복호화는 암호화된 데이터를 원래대로 복원하는 것으로 변경 사항 관리 활동과는 다르다 / ③은 저작권은 창작물에 대한 법적 권리를 의미하며 개발 변경 사항 관리와는 다른 개념이다 / ④는 크랙은 소프트웨어의 보호 기술을 무력화하는 행위로 변경 사항 관리와는 무관하다.
인터페이스 구현 검증 도구 중 아래에서 설명하는 것은? • 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크 • 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통 합하여 자동화하는 검증 도구
- ① xUnit
- ② STAF
- ③ FitNesse
- ④ RubyNode
정답 확인
정답 ② - STAF는 분산 환경에서 데몬을 이용해 테스트를 수행·통합·자동화하는 검증 도구다. 오답 노트 - ①은 xUnit은 프로그래밍 언어별 단위 테스트 프레임워크로 분산 환경 데몬 기반 통합 자동화 도구가 아니다 / ③은 FitNesse는 웹 기반 협업 테스트 프레임워크로 분산 데몬 기반 방식과는 다르다 / ④는 RubyNode는 실재하지 않는(혼동을 노린) 명칭이다.
분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피봇(pivot)을 사용하며 최악의 경우 n(n-1) /2회의 비교를 수행해야 하는 정렬(Sort)은?
- ① Selection Sort
- ② Bubble Sort
- ③ Insert Sort
- ④ Quick Sort
정답 확인
정답 ④ - Quick Sort는 분할정복과 피벗을 사용하며 최악의 경우 O(n²)(약 n(n-1)/2회 비교)이 발생하는 정렬이다. 오답 노트 - ①은 Selection Sort는 최솟값을 찾아 교환하는 방식으로 분할정복이나 피벗을 사용하지 않는다 / ②는 Bubble Sort는 인접 값을 비교·교환하는 방식으로 분할정복이나 피벗과 무관하다 / ③은 Insert Sort는 정렬된 부분에 값을 삽입하는 방식으로 분할정복이나 피벗과 무관하다.
소프트웨어 품질목표 중 쉽게 배우고 사용할 수 있는 정도를 나타내는 것은?
- ① Correctness
- ② Reliability
- ③ Usability
- ④ Integrity
정답 확인
정답 ③ - Usability(사용 용이성)는 쉽게 배우고 사용할 수 있는 정도를 나타내는 품질 특성이다. 오답 노트 - ①은 Correctness(정확성)는 요구된 기능을 정확히 수행하는 정도로 학습·사용 용이성과는 다른 특성이다 / ②는 Reliability(신뢰성)는 오류 없이 기능을 수행하는 정도로 학습 용이성과는 다른 특성이다 / ④는 Integrity(무결성)는 허가되지 않은 접근으로부터 데이터를 보호하는 정도로 사용 용이성과는 다른 특성이다.
인터페이스 구현 시 사용하는 기술 중 다음 내용이 설명 하는 것은? JavaScript를 사용한 비동기 통신기술로, 클라이언트와 서버 간에 XML 데이터를 주고받는 기술
- ① Procedure
- ② Trigger
- ③ Greedy
- ④ AJAX
정답 확인
정답 ④ - AJAX는 JavaScript로 비동기 통신을 수행해 클라이언트-서버 간 XML 등 데이터를 주고받는 기술이다. 오답 노트 - ①은 Procedure는 특정 작업을 수행하는 절차(함수)를 의미하며 비동기 통신 기술 자체가 아니다 / ②는 Trigger는 DB 이벤트 발생 시 자동 실행되는 절차형 SQL로 클라이언트-서버 통신 기술과는 다르다 / ③은 Greedy는 매 순간 최선의 선택을 하는 알고리즘 설계 기법으로 통신 기술과 무관하다.
알고리즘 시간 복잡도 O(1)이 의미하는 것은?
- ① 컴퓨터 처리가 불가
- ② 알고리즘 입력 데이터 수가 한 개
- ③ 알고리즘 수행시간이 입력 데이터 수와 관계없이 일정
- ④ 알고리즘 길이가 입력 데이터보다 작음
정답 확인
정답 ③ - O(1)은 입력 데이터 수와 관계없이 수행시간이 항상 일정한 시간 복잡도다. 오답 노트 - ①은 컴퓨터 처리가 불가하다는 의미는 시간 복잡도 표기와 무관한 임의 오답이다 / ②는 입력 데이터 수가 한 개라는 의미는 O(1) 표기(입력 크기와 무관하게 일정한 수행시간)와 다르다 / ④는 알고리즘 길이가 입력 데이터보다 작다는 것은 시간 복잡도의 정의와 무관하다.
하향식 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈은?
- ① Stub
- ② Driver
- ③ Procedure
- ④ Function
정답 확인
정답 ① - Stub은 하향식 통합 시험에서 아직 구현되지 않은 하위 모듈을 임시로 대체하는 시험용 모듈이다. 오답 노트 - ②는 Driver(드라이버)는 상향식 통합 시험에서 상위 모듈을 대신해 하위 모듈을 호출하는 가상 모듈로 Stub과 역할이 반대다 / ③은 Procedure는 특정 기능을 수행하는 절차(함수) 자체를 의미하며 테스트용 대체 모듈 개념이 아니다 / ④는 Function은 함수 자체를 의미하며 테스트용 임시 대체 모듈 개념과는 다르다.
다음 설명의 소프트웨어 테스트의 기본 원칙은? • 파레토 법칙이 좌우한다. • 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재한다. • 결함은 발생한 모듈에서 계속 추가로 발생할 가능성이 높다.
- ① 살충제 패러독스
- ② 결함 집중
- ③ 오류 부재의 궤변
- ④ 완벽한 테스팅은 불가능
정답 확인
정답 ② - 결함 집중은 파레토 법칙처럼 결함 대부분이 소수 모듈에 몰려 있다는 테스트 기본 원칙이다. 오답 노트 - ①은 살충제 패러독스는 동일한 테스트를 반복하면 새로운 결함을 찾지 못하게 된다는 원칙으로 결함의 모듈별 분포와는 다른 개념이다 / ③은 오류 부재의 궤변은 결함을 모두 제거해도 사용자 요구를 충족하지 못하면 품질이 좋은 게 아니라는 원칙으로 결함 분포와는 다른 개념이다 / ④는 완벽한 테스팅은 불가능은 모든 경우의 수를 테스트할 수 없다는 원칙으로 결함이 특정 모듈에 몰린다는 내용과는 다르다.
그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며, 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조는?
- ① tree
- ② network
- ③ stack
- ④ distributed
정답 확인
정답 ① - tree(트리)는 사이클이 없고 계층 형식으로 자료 관계를 나타내는 비선형 자료구조다. 오답 노트 - ②는 network(네트워크형)는 그래프처럼 사이클이 존재할 수 있는 구조로 트리와는 다르다 / ③은 stack은 LIFO 방식의 선형 자료구조로 계층적 비선형 구조가 아니다 / ④는 distributed는 분산 처리 방식을 뜻하며 자료구조 명칭이 아니다.
소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
- ① Brooks의 법칙
- ② Boehm의 법칙
- ③ Pareto의 법칙
- ④ Jackson의 법칙
정답 확인
정답 ③ - Pareto의 법칙은 오류의 80%가 전체 모듈의 20%에서 발견된다는 법칙이다. 오답 노트 - ①은 Brooks의 법칙은 '늦어진 프로젝트에 인력을 추가하면 더 늦어진다'는 법칙으로 결함 분포와는 다른 개념이다 / ②는 Boehm의 법칙은 결함을 늦게 발견할수록 수정 비용이 커진다는 원칙으로 20/80 분포 자체를 가리키지 않는다 / ④는 Jackson의 법칙은 표준적으로 통용되는 소프트웨어 테스트 법칙 명칭이 아니다.
해싱 함수 중 레코드 키를 여러 부분으로 나누고, 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용하는 방식은?
- ① 제산법
- ② 폴딩법
- ③ 기수 변환법
- ④ 숫자 분석법
정답 확인
정답 ② - 폴딩법은 키를 여러 부분으로 나눈 뒤 각 부분을 더하거나 XOR해 홈 주소를 구하는 해싱 방식이다. 오답 노트 - ①은 제산법은 레코드 키를 나눗셈해 나머지를 홈 주소로 사용하는 해싱 방식으로 폴딩법과 다르다 / ③은 기수 변환법은 키를 다른 진법으로 변환해 홈 주소로 사용하는 방식으로 폴딩법과 다르다 / ④는 숫자 분석법은 키의 특정 자릿수 분포를 분석해 홈 주소를 정하는 방식으로 폴딩법과 다르다.
인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은?
- ① AJTML
- ② JSON
- ③ XML
- ④ YAML
정답 확인
정답 ① - AJTML은 실재하지 않는 용어이며, JSON·XML·YAML이 실제 인터페이스 데이터 포맷이다. 오답 노트 - ②는 JSON은 실제로 널리 쓰이는 인터페이스 데이터 포맷이다 / ③은 XML은 실제로 널리 쓰이는 인터페이스 데이터 포맷이다 / ④는 YAML은 실제로 쓰이는 인터페이스 데이터 포맷이다.
소프트웨어 개발 활동을 수행함에 있어서 시스템이 고장(Failure)을 일으키게 하며, 오류(Error)가 있는 경우 발생하는 것은?
- ① Fault
- ② Testcase
- ③ Mistake
- ④ Inspection
정답 확인
정답 ① - Fault(결함)는 오류(Error)로 인해 시스템 고장(Failure)을 유발하는 프로그램 상의 결함이다. 오답 노트 - ②는 Testcase는 테스트 입력·조건·기대 결과를 정의한 명세로 결함 자체를 가리키는 용어가 아니다 / ③은 Mistake(실수)는 사람이 저지르는 실수 자체를 뜻하며 프로그램에 남은 결함(Fault)과는 구분된다 / ④는 Inspection은 결함을 찾기 위한 검토 활동으로 결함 자체를 가리키는 용어가 아니다.
필드 테스팅(Field Testing)이라고도 불리며 개발자 없이 고객의 사용 환경에 소프트웨어를 설치하여검사를 수행하는 인수검사 기법은?
- ① 베타 검사
- ② 알파 검사
- ③ 형상 검사
- ④ 복구 검사
정답 확인
정답 ① - 베타 검사는 필드 테스팅이라고도 하며 고객 사용 환경에서 개발자 없이 수행하는 인수검사다. 오답 노트 - ②는 알파 검사는 개발자 장소에서 개발자와 함께 통제된 환경에서 수행하는 검사로 고객 환경 단독 설치와는 다르다 / ③은 형상 검사는 형상 관리 항목이 올바르게 반영됐는지 확인하는 검사로 필드 테스팅과는 다르다 / ④는 복구 검사는 장애 후 정상 복귀 여부를 확인하는 검사로 필드 테스팅과는 다르다.
동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?
- ① RCS(Revision Control System)
- ② RTS(Reliable Transfer Service)
- ③ RPC(Remote Procedure Call)
- ④ RVS(Relative Version System)
정답 확인
정답 ① - RCS는 소스 동시 수정을 방지하고 변경 내용을 추적·병합할 수 있는 버전 관리 도구다. 오답 노트 - ②는 RTS(Reliable Transfer Service)는 신뢰성 있는 전송 서비스 개념으로 버전 관리 도구가 아니다 / ③은 RPC(Remote Procedure Call)는 원격 프로시저 호출 기술로 버전 관리와 무관하다 / ④는 RVS(Relative Version System)는 실재하지 않는(혼동을 노린) 명칭이다.
저작권 관리 구성 요소 중 패키저(Packager)의 주요 역할로 옳은 것은?
- ① 콘텐츠를 제공하는 저작권자를 의미한다.
- ② 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는다.
- ③ 라이선스를 발급하고 관리한다.
- ④ 배포된 콘텐츠의 이용 권한을 통제한다.
정답 확인
정답 ② - 패키저는 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 DRM 구성 요소다. 오답 노트 - ①은 콘텐츠 제공자(저작권자)는 Content Provider 역할이며 패키저와는 다른 구성 요소다 / ③은 라이선스 발급·관리는 License Server(클리어링하우스)의 역할로 패키저와는 다르다 / ④는 배포된 콘텐츠의 이용 권한 통제는 DRM Controller의 역할로 패키저와는 다르다.
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 아주 어려운 프로그램을 의미하는 것은?
- ① Title Code
- ② Source Code
- ③ Object Code
- ④ Alien Code
정답 확인
정답 ④ - Alien Code는 오래되거나 문서·개발자가 없어 유지보수가 매우 어려운 프로그램을 뜻한다. 오답 노트 - ①은 Title Code는 표준 소프트웨어 공학 용어가 아닌 오답 보기다 / ②는 Source Code(소스 코드)는 프로그래밍 언어로 작성된 원본 코드 자체를 뜻하며 유지보수 난이도와 직접 관련된 용어가 아니다 / ③은 Object Code(목적 코드)는 컴파일된 결과물을 뜻하며 유지보수 난이도를 가리키는 용어가 아니다.
다음이 설명하는 애플리케이션 통합 테스트 유형은? • 깊이 우선 방식 또는 너비 우선 방식이 있다. • 상위 컴포넌트를 테스트 하고 점증적으로 하위 컴포넌트를 테스트 한다. • 하위 컴포넌트 개발이 완료되지 않은 경우 스텁(Stub)을 사용하기도 한다.
- ① 하향식 통합 테스트
- ② 상향식 통합 테스트
- ③ 회귀 테스트
- ④ 빅뱅 테스트
정답 확인
정답 ① - 하향식 통합 테스트는 상위 컴포넌트부터 점증적으로 테스트하며 미완성 하위는 스텁으로 대체한다. 오답 노트 - ②는 상향식 통합 테스트는 하위 모듈부터 결합하며 상위 모듈 역할의 드라이버를 사용해 하향식과는 반대 방향이다 / ③은 회귀 테스트는 변경 후 기존 기능이 정상 동작하는지 재확인하는 테스트로 통합 순서와는 다른 개념이다 / ④는 빅뱅 테스트는 전체 모듈을 한 번에 결합해 테스트하는 방식으로 점증적 상위-하위 순서와는 다르다.
다음 설명의 소프트웨어 버전 관리 도구 방식은? • 버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다. • 로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용 하여 작업할 수 있다. • 대표적인 버전 관리 도구로 Git이 있다.
- ① 단일 저장소 방식
- ② 분산 저장소 방식
- ③ 공유 폴더 방식
- ④ 클라이언트·서버 방식
정답 확인
정답 ② - 분산 저장소 방식은 원격·로컬 저장소에 모두 버전 자료를 두어 로컬에서도 작업 가능한 방식(Git)이다. 오답 노트 - ①은 단일 저장소 방식은 원격 저장소 하나에서만 버전을 관리해 로컬 저장소 개념이 없다 / ③은 공유 폴더 방식은 네트워크 공유 폴더에 파일을 두고 관리하는 방식으로 로컬·원격 이중 저장소 구조가 아니다 / ④는 클라이언트·서버 방식은 중앙 서버 저장소 하나만 두는 방식으로 로컬에 완전한 저장소를 갖지 않는다.
디지털 저작권 관리(DRM) 구성 요소가 아닌 것은?
- ① Data Warehouse
- ② DRM Controller
- ③ Packager
- ④ Contents Distributor
정답 확인
정답 ① - Data Warehouse는 DRM 구성 요소가 아니며, DRM은 Packager·DRM Controller·Contents Distributor 등으로 구성된다. 오답 노트 - ②는 DRM Controller는 콘텐츠 이용 권한을 통제하는 실제 DRM 구성 요소이므로 "구성 요소가 아닌 것"의 정답이 될 수 없다 / ③은 Packager는 콘텐츠를 메타데이터와 묶어 배포 단위로 만드는 실제 DRM 구성 요소이므로 정답이 될 수 없다 / ④는 Contents Distributor는 패키징된 콘텐츠를 유통하는 실제 DRM 구성 요소이므로 정답이 될 수 없다.
다음 설명에 해당하는 것은? 물리적 저장 장치의 입장에서 본 데이터베이스 구조로서 실제로 데이터베이스에 저장될 레코드의 형식 을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.
- ① 외부 스키마
- ② 내부 스키마
- ③ 개념 스키마
- ④ 슈퍼 스키마
정답 확인
정답 ② - 내부 스키마는 물리적 저장 장치 관점에서 레코드 형식·저장 방법·순서를 정의한 스키마다. 오답 노트 - ①은 외부 스키마는 사용자·응용 프로그램 관점에서 필요한 데이터만 정의한 스키마로 물리적 저장 방식과는 다르다 / ③은 개념 스키마는 조직 전체 관점의 논리적 구조를 정의한 스키마로 물리적 저장 형식과는 다르다 / ④는 슈퍼 스키마는 표준적으로 사용되는 스키마 유형 명칭이 아니다.
다음에서 설명하는 클린 코드 작성 원칙은? • 한 번에 한 가지 처리만 수행한다. • 클래스/메소드/함수를 최소 단위로 분리한다.
- ① 다형성
- ② 단순성
- ③ 추상화
- ④ 의존성
정답 확인
정답 ② - 단순성은 한 번에 한 가지 처리만 수행하도록 클래스/함수를 최소 단위로 분리하는 클린 코드 원칙이다. 오답 노트 - ①은 다형성은 동일 연산이 객체 타입에 따라 다르게 동작하는 개념으로 최소 단위 분리 원칙과는 다르다 / ③은 추상화는 공통 특성을 뽑아 단순화하는 개념으로 한 가지 처리만 수행하는 원칙과는 다르다 / ④는 의존성은 모듈 간 참조 관계를 뜻하며 최소 단위 분리 원칙과는 다른 개념이다.
테스트와 디버그의 목적으로 옳은 것은?
- ① 테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
- ② 테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다.
- ③ 둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다.
- ④ 둘 다 소프트웨어 오류의 발견, 수정과 무관하다.
정답 확인
정답 ① - 테스트는 오류를 찾는 작업, 디버깅은 찾은 오류의 원인을 찾아 수정하는 작업이다. 오답 노트 - ②는 테스트가 오류 수정, 디버깅이 오류를 찾는 작업이라는 설명은 두 활동의 역할이 뒤바뀐 설명이다 / ③은 디버깅은 찾은 오류의 원인을 찾아 실제로 수정하는 작업까지 포함하므로 수정을 하지 않는다는 설명은 옳지 않다 / ④는 테스트와 디버깅은 모두 소프트웨어 오류의 발견·수정과 직접 관련된 활동이다.
애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구는?
- ① 명세 기반 테스트 설계 도구
- ② 코드 기반 테스트 설계 도구
- ③ 기능 테스트 수행 도구
- ④ 성능 테스트 도구
정답 확인
정답 ④ - 성능 테스트 도구는 가상 사용자를 생성해 처리량·응답시간 등 성능 목표 달성 여부를 확인한다. 오답 노트 - ①은 명세 기반 테스트 설계 도구는 요구사항 명세로부터 테스트 케이스를 설계하는 도구로 성능 측정이 목적이 아니다 / ②는 코드 기반 테스트 설계 도구는 소스 코드 구조를 분석해 테스트 케이스를 설계하는 도구로 성능 측정과는 다르다 / ③은 기능 테스트 수행 도구는 기능 요구사항 충족 여부를 확인하는 도구로 처리량·응답시간 등 성능 지표 측정이 핵심이 아니다.
버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?
- ① 형상 감사(Configuration Audit)
- ② 롤백 (Rollback)
- ③ 단위 테스트(Unit Test)
- ④ 체크인(Check-In)
정답 확인
정답 ④ - 체크인(Check-In)은 로컬에서 수정한 파일을 저장소에 새 버전으로 반영(갱신)하는 것이다. 오답 노트 - ①은 형상 감사는 형상 관리 항목이 표준·요구사항에 맞는지 점검하는 활동으로 파일 갱신 자체를 가리키지 않는다 / ②는 롤백은 이전 버전이나 상태로 되돌리는 것으로 새 버전 갱신과는 반대 개념이다 / ③은 단위 테스트는 개별 모듈의 기능을 검증하는 활동으로 저장소 버전 갱신과는 무관하다.
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?
- ① 단위 테스트
- ② 인수 테스트
- ③ 통합 테스트
- ④ 시스템 테스트
정답 확인
정답 ② - 알파·베타 테스트는 실사용자가 참여하는 인수 테스트 단계와 밀접하다. 오답 노트 - ①은 단위 테스트는 개발자가 개별 모듈을 검증하는 단계로 실사용자가 참여하는 알파·베타 테스트와는 다르다 / ③은 통합 테스트는 모듈 간 인터페이스를 검증하는 단계로 실사용자 참여와는 무관하다 / ④는 시스템 테스트는 전체 시스템이 요구사항을 충족하는지 개발 조직이 확인하는 단계로 실사용자 참여 단계는 아니다.
데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야할 일련의 연산들을 의미하는 것은?
- ① 트랜잭션
- ② 뷰
- ③ 튜플
- ④ 카디널리티
정답 확인
정답 ① - 트랜잭션은 하나의 논리적 기능 수행을 위해 한꺼번에 모두 수행되어야 할 연산들의 집합이다. 오답 노트 - ②는 뷰(View)는 하나 이상의 테이블에서 유도된 가상의 테이블로 연산 집합 단위를 의미하지 않는다 / ③은 튜플(Tuple)은 릴레이션의 한 행(레코드)을 의미하며 연산 단위가 아니다 / ④는 카디널리티(Cardinality)는 릴레이션에 포함된 튜플의 개수를 의미하며 연산 단위와는 다르다.
단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로상향식 테스트에 필요한 것은?
- ① 테스트 스텁(Test Stub)
- ② 테스트 드라이버(Test Driver)
- ③ 테스트 슈트(Test Suites)
- ④ 테스트 케이스(Test Case)
정답 확인
정답 ② - 테스트 드라이버는 하위 모듈을 호출하는 상위 모듈 역할의 가상 모듈로, 상향식 테스트에 사용된다. 오답 노트 - ①은 테스트 스텁은 하향식 테스트에서 미구현 하위 모듈을 대신하는 가상 모듈로 상향식에서 쓰는 드라이버와는 역할이 반대다 / ③은 테스트 슈트는 여러 테스트 케이스의 묶음을 의미하며 모듈 호출용 가상 모듈이 아니다 / ④는 테스트 케이스는 입력·조건·기대 결과를 정의한 명세로 모듈을 호출하는 가상 모듈 자체가 아니다.
검증 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행하는 기법이며, 일반적으로 통제된환경에서 사용자와 개발자가 함께 확인하면서 수행되는 검사는?
- ① 동치 분할 검사
- ② 형상 검사
- ③ 알파 검사
- ④ 베타 검사
정답 확인
정답 ③ - 알파 검사는 개발자 장소에서 사용자가 개발자와 함께 통제된 환경에서 수행하는 인수 검사다. 오답 노트 - ①은 동치 분할 검사는 입력 값을 유효한/무효한 클래스로 나누어 테스트하는 기법으로 알파 검사의 정의와는 다르다 / ②는 형상 검사는 형상 관리 항목의 정합성을 점검하는 검사로 개발자-사용자 통제 환경 검사와는 다르다 / ④는 베타 검사는 고객 사용 환경에서 개발자 없이 수행하는 검사로 개발자 장소에서 함께 수행하는 알파 검사와는 반대다.
다음이 설명하는 테스트 용어는? • 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다. • 종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.
- ① 테스트 케이스
- ② 테스트 시나리오
- ③ 테스트 오라클
- ④ 테스트 데이터
정답 확인
정답 ③ - 테스트 오라클은 테스트 결과의 참/거짓을 판단하기 위해 사전 정의된 참값과 비교하는 기법이다. 오답 노트 - ①은 테스트 케이스는 입력·실행조건·기대 결과를 정의한 명세로 참값 비교 기법 자체를 가리키지 않는다 / ②는 테스트 시나리오는 여러 테스트 케이스의 실행 순서를 정의한 것으로 참값 비교 기법과는 다르다 / ④는 테스트 데이터는 테스트에 사용되는 입력 값 자체로 참/거짓 판단 기법을 가리키지 않는다.
프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?
- ① Critical Path Method
- ② Risk Analysis
- ③ Work Breakdown Structure
- ④ Waterfall Model
정답 확인
정답 ② - Risk Analysis(위험 분석)는 프로젝트 위험 요소를 인식·분석·관리하는 활동이다. 오답 노트 - ①은 Critical Path Method는 프로젝트 일정 중 가장 긴 경로를 찾는 기법으로 위험 관리 활동 전체를 가리키지 않는다 / ③은 Work Breakdown Structure는 작업을 세부 단위로 분해하는 기법으로 위험 관리와는 다른 개념이다 / ④는 Waterfall Model은 순차적 개발 생명주기 모형으로 위험 관리 활동 자체가 아니다.
관계 데이터 모델에서 릴레이션(Relation)에 포함되어 있는 튜플(Tuple)의 수를 무엇이라고 하는가?
- ① Degree
- ② Cardinality
- ③ Attribute
- ④ Cartesian product
정답 확인
정답 ② - Cardinality(카디널리티)는 릴레이션에 포함된 튜플의 수를 의미한다. 오답 노트 - ①은 Degree(차수)는 릴레이션이 갖는 애트리뷰트(속성)의 수를 의미하며 튜플 수와는 다르다 / ③은 Attribute(속성)는 릴레이션을 구성하는 각 열(항목)을 의미하며 튜플의 개수와는 다르다 / ④는 Cartesian product(카티션 곱)는 두 릴레이션의 모든 조합을 구하는 연산으로 튜플 수 자체를 가리키는 용어가 아니다.
개별 모듈을 시험하는 것으로, 모듈이 정확하게 구현되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주목적인 테스트는?
- ① 통합 테스트(Integration Test)
- ② 단위 테스트(Unit Test)
- ③ 시스템 테스트(System Test)
- ④ 인수 테스트(Acceptance Test)
정답 확인
정답 ② - 단위 테스트는 개별 모듈이 정확히 구현되고 예정된 기능을 수행하는지 점검하는 테스트다. 오답 노트 - ①은 통합 테스트는 모듈 간 인터페이스가 올바르게 동작하는지 확인하는 테스트로 개별 모듈 검증과는 범위가 다르다 / ③은 시스템 테스트는 전체 시스템이 요구사항을 충족하는지 확인하는 테스트로 개별 모듈 단위 검증과는 다르다 / ④는 인수 테스트는 사용자가 요구사항 충족 여부를 확인하는 테스트로 개별 모듈 검증과는 다르다.
위험 모니터링의 의미로 옳은 것은?
- ① 위험을 이해하는 것
- ② 첫 번째 조치로 위험을 피할 수 있도록 하는 것
- ③ 위험 발생 후 즉시 조치하는 것
- ④ 위험 요소 징후들에 대하여 계속적으로 인지하는 것
정답 확인
정답 ④ - 위험 모니터링은 위험 요소의 징후를 계속적으로 감시·인지하는 활동이다. 오답 노트 - ①은 위험을 이해하는 것은 위험 식별·분석 단계에 해당하며 지속적 감시(모니터링) 자체와는 다르다 / ②는 위험을 사전에 피하는 조치는 위험 회피(Avoidance)에 해당하며 모니터링과는 다른 활동이다 / ③은 위험 발생 후 즉시 조치하는 것은 위험 관리(대응) 활동으로 사전 지속 감시인 모니터링과는 다르다.
트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?
- ① 철회(Aborted)
- ② 부분 완료(Partially Committed)
- ③ 완료(Commit)
- ④ 실패(Fail)
정답 확인
정답 ① - 철회(Aborted)는 트랜잭션 수행이 실패해 Rollback 연산을 실행한 상태다. 오답 노트 - ②는 부분 완료(Partially Committed)는 마지막 연산 실행 직후 아직 DB에 반영되지 않은 상태로 실패 후 철회와는 다르다 / ③은 완료(Commit)는 트랜잭션이 성공적으로 종료되어 결과가 반영된 상태로 실패 상태와 반대다 / ④는 실패(Fail)는 정상 실행이 중단된 상태를 가리키며, 이후 Rollback을 실행해 철회(Aborted) 상태로 전이된다.
다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?
| 국가 | 도시 |
|---|---|
| 대한민국 | 서울, 부산 |
| 미국 | 워싱턴, 뉴욕 |
| 중국 | 베이징 |
| 국가 | 도시 |
|---|---|
| 대한민국 | 서울 |
| 대한민국 | 부산 |
| 미국 | 워싱턴 |
| 미국 | 뉴욕 |
| 중국 | 베이징 |
- ① 제1정규형
- ② 제2정규형
- ③ 제3정규형
- ④ 제4정규형
정답 확인
정답 ① - 쉼표로 여러 값을 갖던 도메인을 원자값으로 분해했으므로 제1정규형(1NF)을 만족시킨 것이다. 오답 노트 - ②는 제2정규형은 부분 함수 종속을 제거하는 단계로, 한 셀의 여러 값을 원자값으로 분해하는 이 문제와는 다른 조건이다 / ③은 제3정규형은 이행적 함수 종속을 제거하는 단계로, 원자값 분해와는 다른 조건이다 / ④는 제4정규형은 다치 종속을 제거하는 단계로, 원자값 분해와는 다른 조건이다.
릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상을 의미하는 것은?
- ① Normalization
- ② Rollback
- ③ Cardinality
- ④ Anomaly
정답 확인
정답 ④ - Anomaly(이상 현상)는 데이터 중복으로 인해 삽입·삭제·갱신 시 발생하는 곤란한 현상이다. 오답 노트 - ①은 Normalization(정규화)은 이상 현상을 없애기 위해 릴레이션을 분해하는 과정으로 이상 현상 자체가 아니다 / ②는 Rollback(복귀)은 트랜잭션 실패 시 원상태로 되돌리는 연산으로 데이터 중복 이상 현상과는 다르다 / ③은 Cardinality(카디널리티)는 튜플의 수를 의미하며 이상 현상과는 무관하다.
다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은?
- ① 필드키
- ② 슈퍼키
- ③ 외래키
- ④ 후보키
정답 확인
정답 ③ - 외래키는 다른 릴레이션의 기본키를 참조하는 키다. 오답 노트 - ①은 필드키는 표준 관계형 DB 키 용어가 아니다 / ②는 슈퍼키는 유일성만 만족하고 최소성은 만족하지 않는 키로 다른 릴레이션 참조 여부와는 무관한 개념이다 / ④는 후보키는 기본키가 될 수 있는 유일성·최소성을 만족하는 키로 다른 릴레이션을 참조하는 키가 아니다.
데이터베이스에는 관계형, 계층형, 네트워크형 등 다양한 종류가 있는데 이들을 구분하는 기준은?
- ① 개체(Object)
- ② 관계(Relationship)
- ③ 속성(Attribute)
- ④ 제약 조건(Constraint)
정답 확인
정답 ② - 관계형·계층형·네트워크형 등 데이터베이스 종류를 구분하는 기준은 데이터 간의 관계(Relationship) 표현 방식이다. 오답 노트 - ①은 개체(Object)는 데이터베이스가 표현하는 대상 자체이며 데이터베이스 유형을 구분하는 기준이 아니다 / ③은 속성(Attribute)은 개체가 갖는 성질을 의미하며 데이터베이스 유형 구분 기준이 아니다 / ④는 제약 조건(Constraint)은 데이터 무결성을 위한 규칙으로 데이터베이스 유형 구분 기준이 아니다.
데이터베이스의 트랜잭션 성질들 중에서 다음 설명에 해당하는 것은? 트랜잭션의 모든 연산들이 정상적으로 수행 완료되거나 아니면 전혀 어떠한 연산도 수행되지 않은 원 래 상태가 되도록 해야 한다.
- ① Atomicity
- ② Consistency
- ③ Isolation
- ④ Durability
정답 확인
정답 ① - Atomicity(원자성)는 트랜잭션의 연산이 전부 수행되거나 전혀 수행되지 않아야 한다는 성질이다. 오답 노트 - ②는 Consistency(일관성)는 트랜잭션 수행 전후 DB가 일관된 상태를 유지해야 한다는 성질로 전부/전무 수행과는 다르다 / ③은 Isolation(격리성)은 병행 실행 트랜잭션이 서로 간섭하지 않아야 한다는 성질로 전부/전무 수행과는 다르다 / ④는 Durability(영속성)는 커밋된 결과가 영구적으로 반영되어야 한다는 성질로 전부/전무 수행과는 다르다.
어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이라고 할 경우 애트리뷰트 X의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속이라고 한다. 이 함수 종속의 표기로 옳은 것은?
- ① Y → X
- ② Y ⊂ X
- ③ X → Y
- ④ X ⊂ Y
정답 확인
정답 ③ - 함수 종속 X → Y는 X 값이 Y 값을 유일하게 결정한다는 표기다. 오답 노트 - ①은 Y → X는 Y가 X를 결정한다는 표기로 X가 Y를 결정하는 이 문제의 정의와는 방향이 반대다 / ②는 Y ⊂ X는 집합 포함 관계를 나타내는 기호로 함수 종속 관계 표기가 아니다 / ④는 X ⊂ Y는 집합 포함 관계를 나타내는 기호로 함수 종속 관계 표기가 아니다.
관계해석에서 ‘모든 것에 대하여’의 의미를 나타내는 논리 기호는?
- ① ∃
- ② ∈
- ③ ∀
- ④ ⊂
정답 확인
정답 ③ - 전칭 기호 ∀는 관계해석에서 '모든 것에 대하여'를 의미한다. 오답 노트 - ①은 ∃(존재 기호)는 "어떤 것이 존재한다"는 의미로 "모든 것에 대하여"와는 다른 기호다 / ②는 ∈는 원소가 집합에 속함을 나타내는 기호로 전칭·존재 기호와는 다르다 / ④는 ⊂는 부분집합 관계를 나타내는 기호로 전칭 기호와는 다르다.
관계형 데이터베이스에서 다음 설명에 해당하는 키(Key)는? 한 릴레이션 내의 속성들의 집합으로 구성된 키로서, 릴레이션을 구성하는 모든 튜플에 대한 유일성은 만족시키지만 최소성은 만족시키지 못한다.
- ① 후보키
- ② 대체키
- ③ 슈퍼키
- ④ 외래키
정답 확인
정답 ③ - 슈퍼키는 유일성은 만족하지만 최소성은 만족하지 못하는 키다. 오답 노트 - ①은 후보키는 유일성과 최소성을 모두 만족하는 키로 최소성을 만족하지 못하는 이 문제의 정의와는 다르다 / ②는 대체키는 후보키 중 기본키로 선택되지 않은 나머지 키를 의미하며 최소성을 만족한다 / ④는 외래키는 다른 릴레이션의 기본키를 참조하는 키로 유일성·최소성 조건과는 무관한 개념이다.
데이터 모델의 구성 요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은?
- ① Relation
- ② Data Structure
- ③ Constraint
- ④ Operation
정답 확인
정답 ④ - Operation은 데이터 구조에 따라 값을 처리하는 연산 작업으로, 데이터 모델의 구성 요소 중 하나다. 오답 노트 - ①은 Relation은 데이터 구조(개체 간 관계)를 나타내는 요소로 값을 처리하는 연산 자체가 아니다 / ②는 Data Structure는 개체 타입 간의 관계로 표현되는 데이터의 정적 구조로 연산 작업과는 다르다 / ③은 Constraint는 데이터에 적용되는 제약 조건으로 값을 처리하는 연산 자체를 의미하지 않는다.
트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만,트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태는?
- ① Active
- ② Partially Committed
- ③ Committed
- ④ Aborted
정답 확인
정답 ② - Partially Committed(부분 완료)는 마지막 연산 실행 직후, 아직 DB에 반영은 안 된 상태다. 오답 노트 - ①은 Active(활동) 상태는 트랜잭션이 실행을 시작해 진행 중인 상태로 마지막 연산이 끝난 이후 상태와는 다르다 / ③은 Committed(완료)는 최종 결과가 DB에 반영된 상태로 아직 반영 전인 부분 완료와는 다르다 / ④는 Aborted(철회)는 트랜잭션이 실패해 Rollback된 상태로 정상적으로 연산이 끝난 부분 완료와는 다르다.
이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속(JD; Join Dependency)을 제거해야 만족하는 정규형은?
- ① 제3정규형
- ② 제4정규형
- ③ 제5정규형
- ④ 제6정규형
정답 확인
정답 ③ - 제5정규형(5NF)은 후보키를 통하지 않는 조인 종속을 제거해야 만족되는 정규형이다. 오답 노트 - ①은 제3정규형(3NF)은 이행적 함수 종속을 제거하는 단계로 조인 종속 제거와는 다른 조건이다 / ②는 제4정규형(4NF)은 다치 종속(MVD)을 제거하는 단계로 조인 종속 제거와는 다른 조건이다 / ④는 제6정규형(6NF)은 표준적으로 시험에서 다루는 정규형 범위를 벗어나는 오답 보기다.
관계대수 연산에서 두 릴레이션이 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산은?
- ① ▷◁
- ② ⊃
- ③ π
- ④ σ
정답 확인
정답 ① - 자연 조인(▷◁)은 두 릴레이션의 공통 속성을 이용해 하나의 새 릴레이션으로 합치는 관계대수 연산이다. 오답 노트 - ②는 ⊃는 집합 포함 관계를 나타내는 기호로 관계대수 연산 기호가 아니다 / ③은 π(프로젝트)는 특정 속성(열)만 추출하는 연산으로 두 릴레이션을 합치는 조인과는 다르다 / ④는 σ(셀렉트)는 조건을 만족하는 튜플(행)만 추출하는 연산으로 릴레이션 결합과는 다르다.
다음 설명의 ( ) 안에 들어갈 내용으로 적합한 것은? 후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 ( )을 모두 만족시켜야 한다.
- ① 중복성
- ② 최소성
- ③ 참조성
- ④ 동일성
정답 확인
정답 ② - 후보키는 모든 튜플에 대해 유일성과 최소성을 모두 만족해야 한다. 오답 노트 - ①은 중복성은 후보키가 만족해야 할 조건과는 반대되는 개념이다 / ③은 참조성은 외래키가 다른 릴레이션을 참조하는 성질로 후보키 조건과는 다르다 / ④는 동일성은 후보키의 표준 조건 용어가 아니다.
다음에서 설명하는 스키마(Schema)는? 데이터베이스 전체를 정의한 것으로 데이터 개체, 관계, 제약조건, 접근권한, 무결성 규칙 등을 명세한 것
- ① 개념 스키마
- ② 내부 스키마
- ③ 외부 스키마
- ④ 내용 스키마
정답 확인
정답 ① - 개념 스키마는 데이터베이스 전체를 정의한 것으로 개체·관계·제약조건·접근권한 등을 명세한다. 오답 노트 - ②는 내부 스키마는 물리적 저장 장치 관점에서 레코드 형식·순서를 정의하며 전체 정의(개체·관계·제약조건)와는 다르다 / ③은 외부 스키마는 사용자·응용 프로그램 관점의 부분적 정의로 데이터베이스 전체 정의와는 다르다 / ④는 내용 스키마는 표준적으로 사용되는 스키마 유형 명칭이 아니다.
물리적 데이터베이스를 설계하는 전 단계로서, 데이터 모델링이라 불리는 데이터베이스 설계 단계는?
- ① 개념적 데이터베이스 설계
- ② 논리적 데이터베이스 설계
- ③ 정보 모델링
- ④ 데이터베이스 구현
정답 확인
정답 ② - 논리적 데이터베이스 설계는 물리적 설계 전 단계로, 데이터 모델링이라고도 불린다. 오답 노트 - ①은 개념적 데이터베이스 설계는 요구사항을 개체-관계 모델로 표현하는 단계로 데이터 모델링이라 불리는 논리적 설계보다 앞선 단계다 / ③은 정보 모델링은 표준 데이터베이스 설계 단계 명칭이 아니다 / ④는 데이터베이스 구현은 물리적 설계 이후 실제로 DB를 생성하는 단계로 물리적 설계 전 단계와는 다르다.
정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리등을 수행하는 데이터 모델링 기법은?
- ① 정규화
- ② 반정규화
- ③ 집단화
- ④ 머징
정답 확인
정답 ② - 반정규화는 성능 향상과 운영 단순화를 위해 정규화된 데이터를 중복·통합·분리하는 기법이다. 오답 노트 - ①은 정규화는 데이터 중복을 없애기 위해 릴레이션을 분해하는 과정으로 성능을 위한 중복·통합과는 반대 방향이다 / ③은 집단화(Aggregation)는 부분-전체 관계를 나타내는 개념으로 성능 개선을 위한 모델 조정 기법이 아니다 / ④는 머징은 표준적인 데이터 모델링 기법 명칭이 아니다.
정규화 과정 중 1NF에서 2NF가 되기 위한 조건은?
- ① 1NF를 만족하고 모든 도메인이 원자값이어야 한다.
- ② 1NF를 만족하고, 키가 아닌 모든 애트리뷰트들이 기본키에 이행적으로 함수 종속되지 않아야 한다.
- ③ 1NF를 만족하고 다치 종속이 제거되어야 한다.
- ④ 1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족해야 한다.
정답 확인
정답 ④ - 2NF는 1NF를 만족하고 키가 아닌 속성이 기본키에 완전 함수 종속되어야(부분 종속 제거) 한다. 오답 노트 - ①은 모든 도메인이 원자값이어야 하는 것은 1NF 자체의 조건이다 / ②는 이행적 함수 종속 제거는 2NF가 아니라 3NF가 되기 위한 조건이다 / ③은 다치 종속 제거는 4NF가 되기 위한 조건이다.
데이터베이스 설계 단계 중 저장 레코드 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계와관계되는 것은?
- ① 논리적 설계
- ② 요구 조건 분석
- ③ 개념적 설계
- ④ 물리적 설계
정답 확인
정답 ④ - 물리적 설계는 저장 레코드 양식·접근 경로 등을 설계하는 데이터베이스 설계 단계다. 오답 노트 - ①은 논리적 설계는 데이터 모델링(E-R 모델을 논리적 구조로 변환)을 수행하는 단계로 물리적 저장 형식과는 다르다 / ②는 요구 조건 분석은 사용자 요구사항을 수집·분석하는 최초 단계로 저장 레코드 양식 설계와는 다르다 / ③은 개념적 설계는 요구사항을 개체-관계 모델로 표현하는 단계로 물리적 저장 형식 설계와는 다르다.
조건을 만족하는 릴레이션의 수평적 부분집합으로 구성하며, 연산자의 기호는 그리스 문자 시그마(σ)를 사용하는 관계대수 연산은?
- ① Select
- ② Project
- ③ Join
- ④ Division
정답 확인
정답 ① - Select(σ)는 조건을 만족하는 튜플의 수평적 부분집합을 구하는 관계대수 연산이다. 오답 노트 - ②는 Project(π)는 특정 속성(열)만 추출하는 연산으로 조건에 따른 행(수평) 추출과는 다르다 / ③은 Join은 두 릴레이션을 공통 속성으로 결합하는 연산으로 하나의 릴레이션 내 조건 추출과는 다르다 / ④는 Division은 두 릴레이션 간 나눗셈 개념의 연산으로 조건 만족 행 추출과는 다르다.
키의 종류 중 유일성과 최소성을 만족하는 속성 또는 속성들의 집합은?
- ① Atomic Key
- ② Super Key
- ③ Candidate Key
- ④ Test Key
정답 확인
정답 ③ - Candidate Key(후보키)는 유일성과 최소성을 모두 만족하는 속성(집합)이다. 오답 노트 - ①은 Atomic Key는 표준 관계형 DB 키 용어가 아니다 / ②는 Super Key(슈퍼키)는 유일성만 만족하고 최소성은 만족하지 못하는 키로 이 문제의 조건과 다르다 / ④는 Test Key는 표준 관계형 DB 키 용어가 아니다.
관계 데이터 모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null) 값이 아닌 원자 값을 갖는 성질은?
- ① 개체 무결성
- ② 참조 무결성
- ③ 도메인 무결성
- ④ 튜플의 유일성
정답 확인
정답 ① - 개체 무결성은 기본키 값이 Null이 아닌 원자값이어야 한다는 제약이다. 오답 노트 - ②는 참조 무결성은 외래키 값이 참조 릴레이션의 기본키와 일치해야 한다는 제약으로 기본키의 Null 금지와는 다른 제약이다 / ③은 도메인 무결성은 속성 값이 정의된 도메인 범위를 벗어나지 않아야 한다는 제약으로 기본키 조건과는 다르다 / ④는 튜플의 유일성은 표준 무결성 제약 명칭이 아니다.
하나의 애트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은?
- ① 도메인
- ② 튜플
- ③ 엔티티
- ④ 다형성
정답 확인
정답 ① - 도메인은 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합이다. 오답 노트 - ②는 튜플은 릴레이션의 한 행(레코드)을 의미하며 속성이 가질 수 있는 값들의 집합이 아니다 / ③은 엔티티는 데이터베이스로 표현하려는 실세계의 대상(개체)을 의미하며 원자값 집합과는 다르다 / ④는 다형성은 객체지향의 개념으로 관계형 DB의 도메인 개념과 무관하다.
다음 조건을 모두 만족하는 정규형은? • 테이블 R에 속한 모든 도메인이 원자값만으로 구성되어 있다. • 테이블 R에서 키가 아닌 모든 필드가 키에 대해 함수적으로 종속되며, 키의 부분집합이 결정자가 되 는 부분 종속이 존재하지 않는다. • 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다.
- ① BCNF
- ② 제1정규형
- ③ 제2정규형
- ④ 제3정규형
정답 확인
정답 ① - 결정자가 모두 후보키인 정규형은 BCNF(보이스/코드 정규형)이다. 오답 노트 - ②는 제1정규형은 도메인이 원자값으로만 구성되어야 한다는 조건만 요구하며 결정자가 후보키여야 한다는 조건은 포함하지 않는다 / ③은 제2정규형은 부분 함수 종속 제거까지만 요구하며 결정자가 모두 후보키여야 한다는 조건은 포함하지 않는다 / ④는 제3정규형은 이행적 함수 종속 제거까지만 요구하며 결정자가 모두 후보키여야 한다는 BCNF 조건까지는 요구하지 않는다.
관계 데이터베이스 모델에서 차수(Degree)의 의미는?
- ① 튜플의 수
- ② 테이블의 수
- ③ 데이터베이스의 수
- ④ 애트리뷰트의 수
정답 확인
정답 ④ - 차수(Degree)는 릴레이션(테이블)이 갖는 애트리뷰트(속성)의 수를 의미한다. 오답 노트 - ①은 튜플의 수는 카디널리티(Cardinality)를 의미하며 차수(Degree)와는 다른 개념이다 / ②는 테이블의 수는 데이터베이스에 포함된 릴레이션 개수를 의미하며 차수와는 다르다 / ③은 데이터베이스의 수는 차수 개념과 무관하다.
이행적 함수 종속 관계를 의미하는 것은?
- ① A → B이고 B → C일 때, A → C를 만족하는 관계
- ② A → B이고 B → C일 때, C → A를 만족하는 관계
- ③ A → B이고 B → C일 때, B → A를 만족하는 관계
- ④ A → B이고 B → C일 때, C → B를 만족하는 관계
정답 확인
정답 ① - 이행적 함수 종속은 A→B, B→C일 때 A→C가 성립하는 관계다. 오답 노트 - ②는 C → A는 이행적 종속의 정의(A→B, B→C이면 A→C)와는 방향이 다른 관계다 / ③은 B → A는 이행적 종속의 정의와는 방향이 다른 관계다 / ④는 C → B는 이행적 종속의 정의와는 방향이 다른 관계다.
릴레이션 R1에 속한 애튜리뷰트의 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의기본키도 변경해야 하는데 이를 무엇이라 하는가?
- ① 정보 무결성
- ② 고유 무결성
- ③ 널 제약성
- ④ 참조 무결성
정답 확인
정답 ④ - 참조 무결성은 외래키 값이 참조하는 릴레이션의 기본키와 일치해야 한다는 제약이다. 오답 노트 - ①은 정보 무결성은 표준적으로 사용되는 무결성 제약 명칭이 아니다 / ②는 고유 무결성은 표준적으로 사용되는 무결성 제약 명칭이 아니다 / ③은 널 제약성은 특정 컬럼이 Null을 허용하지 않는 제약으로 외래키-기본키 연동 변경과는 다른 개념이다.
동시성 제어를 위한 직렬화 기법으로, 트랜잭션 간의 처리 순서를 미리 정하는 방법은?
- ① 로킹 기법
- ② 타임 스탬프 기법
- ③ 검증 기법
- ④ 배타 로크 기법
정답 확인
정답 ② - 타임 스탬프 기법은 트랜잭션 간 처리 순서를 트랜잭션 생성 시각으로 미리 정하는 직렬화 기법이다. 오답 노트 - ①은 로킹 기법은 트랜잭션이 사용 중인 데이터에 잠금을 걸어 동시 접근을 제어하는 방식으로 순서를 미리 정하는 방식과는 다르다 / ③은 검증 기법(Validation)은 트랜잭션 종료 시점에 충돌 여부를 검사하는 방식으로 순서를 미리 정하는 것과는 다르다 / ④는 배타 로크 기법은 하나의 트랜잭션만 자원에 접근하도록 잠그는 방식으로 시각 기반 순서 결정과는 다르다.
SQL에서 VIEW를 삭제할 때 사용하는 명령은?
- ① ERASE
- ② KILL
- ③ DROP
- ④ DELETE
정답 확인
정답 ③ - DROP은 SQL에서 뷰, 테이블 등 스키마 객체를 삭제하는 명령이다. 오답 노트 - ①은 ERASE는 SQL 표준 명령어가 아니다 / ②는 KILL은 프로세스를 강제 종료하는 명령으로 SQL 객체 삭제 명령이 아니다 / ④는 DELETE는 테이블의 행(데이터)을 삭제하는 명령으로 뷰·테이블 등 객체 자체를 삭제하는 DROP과는 다르다.
트랜잭션의 실행이 실패하였음을 알리는 연산자로, 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀시키는 연산은?
- ① COMMIT 연산
- ② BACKUP 연산
- ③ LOG 연산
- ④ ROLLBACK 연산
정답 확인
정답 ④ - ROLLBACK은 트랜잭션 실패 시 수행 결과를 원래 상태로 되돌리는 연산이다. 오답 노트 - ①은 COMMIT은 트랜잭션의 결과를 확정해 반영하는 연산으로 원상 복귀와는 반대다 / ②는 BACKUP은 데이터를 별도로 복제해 두는 작업으로 트랜잭션 실패 시 원상 복귀 연산과는 다르다 / ③은 LOG는 트랜잭션 수행 기록을 남기는 것으로 원상 복귀 연산 자체가 아니다.
분산 데이터베이스 목표 중 “데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다.”는 것과 관계있는 것은?
- ① 장애 투명성
- ② 병행 투명성
- ③ 위치 투명성
- ④ 중복 투명성
정답 확인
정답 ① - 장애 투명성은 특정 지역 장애가 발생해도 데이터 무결성이 보장되는 분산 DB 목표다. 오답 노트 - ②는 병행 투명성은 여러 트랜잭션이 동시에 실행돼도 결과에 문제가 없어야 한다는 목표로 지역 장애 대응과는 다르다 / ③은 위치 투명성은 데이터의 물리적 위치를 사용자가 알 필요 없다는 목표로 장애 대응과는 다르다 / ④는 중복 투명성은 데이터가 여러 곳에 중복 저장되어도 사용자가 이를 의식할 필요 없다는 목표로 장애 대응과는 다르다.
다음과 같은 트랙잭션의 특성은? 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
- ① 원자성(Atomicity)
- ② 일관성(Consistency)
- ③ 격리성(Isolation)
- ④ 영속성(Durability)
정답 확인
정답 ② - 일관성(Consistency)은 트랜잭션 수행 전후 데이터베이스가 항상 일관된 상태를 유지해야 한다는 특성이다. 오답 노트 - ①은 원자성(Atomicity)은 트랜잭션이 전부 실행되거나 전혀 실행되지 않아야 한다는 성질로 전후 상태 동일성 유지와는 다르다 / ③은 격리성(Isolation)은 병행 트랜잭션이 서로 간섭하지 않아야 한다는 성질로 전후 상태 유지와는 다르다 / ④는 영속성(Durability)은 커밋된 결과가 영구히 保존되어야 한다는 성질로 전후 상태 동일성 유지와는 다르다.
데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL은?
- ① 트리거(Trigger)
- ② 무결성(Integrity)
- ③ 잠금(Lock)
- ④ 복귀(Rollback)
정답 확인
정답 ① - 트리거는 삽입·갱신·삭제 이벤트 발생 시 자동으로 실행되는 절차형 SQL이다. 오답 노트 - ②는 무결성(Integrity)은 데이터 정확성·일관성을 보장하는 제약 개념으로 자동 실행 절차형 SQL 자체가 아니다 / ③은 잠금(Lock)은 동시 접근을 제어하는 메커니즘으로 이벤트 발생 시 자동 실행되는 절차형 SQL이 아니다 / ④는 복귀(Rollback)는 트랜잭션 실패 시 되돌리는 연산으로 이벤트 기반 자동 실행 절차와는 다르다.
SQL의 기능에 따른 분류 중에서 REVOKE문과 같이 데이터의 사용 권한을 관리하는 데 사용하는 언어는?
- ① DDL(Data Definition Language)
- ② DML(Data Manipulation Language)
- ③ DCL(Data Control Language)
- ④ DUL(Data User Language)
정답 확인
정답 ③ - DCL은 GRANT·REVOKE처럼 데이터 사용 권한을 관리하는 SQL 언어다. 오답 노트 - ①은 DDL은 스키마·테이블 등 객체를 정의·변경·삭제하는 언어로 사용 권한 관리와는 다르다 / ②는 DML은 데이터를 조회·삽입·수정·삭제하는 언어로 권한 관리와는 다르다 / ④는 DUL은 표준 SQL 언어 분류 명칭이 아니다.
SQL에서 스키마(Schema), 도메인(Domain), 테이블(Table), 뷰(View), 인덱스(Index)를 정의하거나 변경 또는 삭제할 때 사용하는 언어는?
- ① DML(Data Manipulation Language)
- ② DDL(Data Definition Language)
- ③ DCL(Data Control Language)
- ④ IDL(Interactive Data Language)
정답 확인
정답 ② - DDL은 스키마·도메인·테이블·뷰·인덱스를 정의·변경·삭제하는 SQL 언어다. 오답 노트 - ①은 DML은 데이터를 조회·삽입·수정·삭제하는 언어로 스키마·객체 정의와는 다르다 / ③은 DCL은 GRANT·REVOKE 등 권한을 관리하는 언어로 객체 정의와는 다르다 / ④는 IDL은 표준 SQL 언어 분류 명칭이 아니다.
트랜잭션의 주요 특성 중 하나로, 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음을 의미하는 것은?
- ① Log
- ② Consistency
- ③ Isolation
- ④ Durability
정답 확인
정답 ③ - Isolation(격리성)은 병행 실행 중인 트랜잭션이 서로 끼어들 수 없다는 특성이다. 오답 노트 - ①은 Log는 트랜잭션 수행 기록으로 병행 실행 간섭 방지 성질 자체가 아니다 / ②는 Consistency(일관성)는 수행 전후 DB가 일관 상태를 유지해야 한다는 성질로 간섭 배제와는 다르다 / ④는 Durability(영속성)는 커밋된 결과가 영구 반영되어야 한다는 성질로 간섭 배제와는 다르다.
데이터베이스 로그(log)를 필요로 하는 회복 기법은?
- ① 즉각 갱신 기법
- ② 대수적 코딩 방법
- ③ 타임 스탬프 기법
- ④ 폴딩 기법
정답 확인
정답 ① - 즉각 갱신 기법은 로그를 이용해 트랜잭션 수행 중에도 즉시 DB에 반영·복구하는 회복 기법이다. 오답 노트 - ②는 대수적 코딩 방법은 표준적인 데이터베이스 회복 기법 명칭이 아니다 / ③은 타임 스탬프 기법은 동시성 제어(직렬화) 기법으로 로그 기반 회복 기법과는 다르다 / ④는 폴딩 기법은 해싱 함수의 한 종류로 회복 기법과 무관하다.
정보시스템과 관련한 다음 설명에 해당하는 것은? • 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮어 다수의 시스템을 동시에 연결할 수 있다. • 조직, 기업의 기간 업무 서버 안정성을 높이기 위해 사용될 수 있다. • 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도 록 구현하는 방식이 널리 사용된다.
- ① 고가용성 솔루션(HACMP)
- ② 점대점 연결 방식(Point-to-Point Mode)
- ③ 스턱스넷(Stuxnet)
- ④ 루팅(Rooting)
정답 확인
정답 ① - 고가용성 솔루션(HACMP)은 공유 디스크 중심 클러스터링으로 서버 안정성을 높이는 이중화 방식이다. 오답 노트 - ②는 점대점 연결 방식은 두 장치를 직접 연결하는 통신 방식을 의미하며 공유 디스크 기반 클러스터링 이중화 자체를 가리키지 않는다 / ③은 스턱스넷(Stuxnet)은 산업제어시스템을 겨냥한 악성코드로 고가용성 솔루션과는 전혀 다른 개념이다 / ④는 루팅(Rooting)은 모바일 기기의 관리자 권한을 획득하는 행위로 서버 이중화와 무관하다.
참조 무결성을 유지하기 위하여 DROP문에서 부모 테이블의 항목 값을 삭제할 경우 자동적으로 자식테이블의 해당 레코드를 삭제하기 위한 옵션은?
- ① CLUSTER
- ② CASCADE
- ③ SET-NULL
- ④ RESTRICTED
정답 확인
정답 ② - CASCADE 옵션은 부모 테이블 삭제 시 참조 무결성을 위해 자식 테이블 레코드도 함께 삭제한다. 오답 노트 - ①은 CLUSTER는 관련 테이블을 물리적으로 함께 저장해 조회 성능을 높이는 기법으로 삭제 전파 옵션과는 다르다 / ③은 SET-NULL은 부모 삭제 시 자식의 외래키를 NULL로 바꾸는 옵션으로 자식 레코드를 함께 삭제하는 CASCADE와는 다르다 / ④는 RESTRICTED(RESTRICT)는 자식 레코드가 참조 중이면 부모 삭제 자체를 금지하는 옵션으로 CASCADE와는 반대 동작이다.
파티셔닝 방식 중 ‘월별, 분기별’과 같이 지정한 열의 값을 기준으로 범위를 지정하여 분할하는 방식은?
- ① Range Partitioning
- ② Hash Partitioning
- ③ Composite Partitioning
- ④ List Partitioning
정답 확인
정답 ① - Range Partitioning은 월별·분기별처럼 열 값의 범위를 기준으로 분할하는 파티셔닝 방식이다. 오답 노트 - ②는 Hash Partitioning은 해시 함수 값을 기준으로 분할하는 방식으로 값의 범위 기준 분할과는 다르다 / ③은 Composite Partitioning은 여러 분할 방식을 조합하는 방식으로 단순 범위 분할과는 다르다 / ④는 List Partitioning은 지정한 목록 값을 기준으로 분할하는 방식으로 범위 기준 분할과는 다르다.
트랙잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전에 정상적인 상태로 복구시키는 작업은?
- ① Recovery
- ② Commit
- ③ Abort
- ④ Restart
정답 확인
정답 ① - Recovery(회복)는 장애로 손상된 데이터베이스를 정상 상태로 복구하는 작업이다. 오답 노트 - ②는 Commit은 트랜잭션 결과를 확정 반영하는 연산으로 손상된 DB를 복구하는 작업과는 다르다 / ③은 Abort는 트랜잭션을 중단시키는 것으로 손상된 DB 전체를 복구하는 작업과는 다르다 / ④는 Restart는 시스템을 재시작하는 것 자체를 의미하며 DB를 정상 상태로 복구하는 작업 개념과는 다르다.
SQL문에서 HAVING을 사용할 수 있는 절은?
- ① LIKE 절
- ② WHERE 절
- ③ GROUP BY 절
- ④ ORDER BY 절
정답 확인
정답 ③ - HAVING절은 GROUP BY로 그룹화된 결과에 조건을 적용할 때 사용한다. 오답 노트 - ①은 LIKE 절은 문자열 패턴 매칭에 쓰이며 HAVING과 함께 쓰이는 절이 아니다 / ②는 WHERE 절은 그룹화 이전 개별 행에 조건을 적용하며, 그룹화 결과에 조건을 적용하는 HAVING과는 다르다 / ④는 ORDER BY 절은 결과를 정렬하는 절로 HAVING이 사용되는 절이 아니다.
‘회원’ 테이블 생성 후 ‘주소’ 필드(컬럼)가 누락되어 이를 추가하려고 한다. 이에 적합한 SQL 명령어는?
- ① DELETE
- ② RESTORE
- ③ ALTER
- ④ ACCESS
정답 확인
정답 ③ - ALTER는 기존 테이블에 컬럼을 추가·변경하는 DDL 명령어다. 오답 노트 - ①은 DELETE는 테이블의 행(데이터)을 삭제하는 명령으로 컬럼 추가와는 다르다 / ②는 RESTORE는 백업된 데이터를 복원하는 명령으로 컬럼 추가와는 다르다 / ④는 ACCESS는 SQL 표준 명령어가 아니다.
데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것은?
- ① CASE 분석
- ② 일치 분석
- ③ CRUD 분석
- ④ 연관성 분석
정답 확인
정답 ③ - CRUD 분석은 생성·읽기·갱신·삭제 연산으로 프로세스-테이블 매트릭스를 만들어 분석하는 기법이다. 오답 노트 - ①은 CASE 분석은 표준적인 트랜잭션 분석 기법 명칭이 아니다(CASE 도구와 혼동을 노린 오답) / ②는 일치 분석은 표준적인 트랜잭션 분석 기법 명칭이 아니다 / ④는 연관성 분석은 데이터 간 연관 규칙을 찾는 데이터 마이닝 기법으로 CRUD 매트릭스 분석과는 다르다.
DDL(Data Define Language)의 명령어 중 스키마, 도메인, 인덱스 등을 정의할 때 사용하는 SQL문은?
- ① ALTER
- ② SELECT
- ③ CREATE
- ④ INSERT
정답 확인
정답 ③ - CREATE는 스키마·도메인·인덱스 등을 정의하는 DDL 명령어다. 오답 노트 - ①은 ALTER는 이미 존재하는 객체의 구조를 변경하는 명령으로 새로 정의(생성)하는 것과는 다르다 / ②는 SELECT는 데이터를 조회하는 DML 명령으로 객체 정의와는 다르다 / ④는 INSERT는 데이터를 삽입하는 DML 명령으로 객체 정의와는 다르다.
데이터베이스 성능에 많은 영향을 주는 DBMS의 구성 요소로 테이블과 클러스터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 사용되는 것은?
- ① 인덱스(Index)
- ② 트랙잭션(Transaction)
- ③ 역정규화(Denormalization)
- ④ 트리거(Trigger)
정답 확인
정답 ① - 인덱스는 테이블 조회 속도를 높이기 위해 별도 저장 공간을 갖는 DBMS 구성 요소다. 오답 노트 - ②는 트랜잭션은 논리적 작업 단위를 의미하며 조회 속도를 높이기 위한 별도 저장 구조가 아니다 / ③은 역정규화는 성능을 위해 데이터를 중복·통합하는 기법으로 별도 저장 공간을 갖는 구성 요소 자체는 아니다 / ④는 트리거는 이벤트 발생 시 자동 실행되는 절차형 SQL로 조회 속도 향상을 위한 저장 구조가 아니다.
다음 설명에 해당하는 내용은 무엇인가? 프로세스 처리 도중, 참조할 페이지가 주기억장치에 없어 프로세스 처리시간보다, 페이지 교체에 소요 되는 시간이 더 많아지는 현상
- ① 스레드(Thread)
- ② 스래싱(Thrasing)
- ③ 페이지부재(Page Fault)
- ④ 워킹셋(Working Set)
정답 확인
정답 ② - 스래싱은 페이지 부재가 과도해 페이지 교체 시간이 실제 처리시간보다 많아지는 현상이다. 오답 노트 - ①은 스레드(Thread)는 프로세스 내에서 실행되는 흐름의 단위로 페이지 교체 지연 현상과는 다른 개념이다 / ③은 페이지 부재(Page Fault)는 참조할 페이지가 주기억장치에 없는 사건 자체를 의미하며, 이것이 과도하게 반복되어 성능이 저하되는 현상이 스래싱이다 / ④는 워킹셋(Working Set)은 프로세스가 자주 참조하는 페이지 집합으로 스래싱을 줄이기 위한 개념이지 스래싱 현상 자체가 아니다.
C언어에서 문자열을 정수형으로 변환하는 라이브러리 함수는?
- ① atoi( )
- ② atof( )
- ③ itoa( )
- ④ ceil( )
정답 확인
정답 ① - atoi()는 C언어에서 문자열을 정수형으로 변환하는 표준 라이브러리 함수다. 오답 노트 - ②는 atof()는 문자열을 실수형(double)으로 변환하는 함수로 정수형 변환과는 다르다 / ③은 itoa()는 정수를 문자열로 변환하는 함수로 atoi()와는 변환 방향이 반대다 / ④는 ceil()은 올림 처리를 하는 수학 함수로 문자열-정수 변환과는 무관하다.
다음이 설명하는 응집도의 유형은? 모듈이 다수의 관련 기능을 가질 때 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응 집도
- ① 기능적 응집도
- ② 우연적 응집도
- ③ 논리적 응집도
- ④ 절차적 응집도
정답 확인
정답 ④ - 절차적 응집도는 모듈 내 여러 기능 요소가 순차적으로 수행될 때의 응집도다. 오답 노트 - ①은 기능적 응집도는 모듈 내 요소들이 하나의 단일 기능 수행에 기여할 때의 응집도로 순차적 수행과는 다르다 / ②는 우연적 응집도는 서로 관련 없는 기능이 묶인 가장 낮은 응집도로 순차적 수행과는 다르다 / ③은 논리적 응집도는 유사한 성격의 기능들을 논리적으로 묶었지만 실제로는 하나만 선택 실행되는 응집도로 순차적 수행과는 다르다.
교착상태의 해결 방법 중 은행원 알고리즘(Banker's Algorithm)이 해당되는 기법은?
- ① Detection
- ② Avoidance
- ③ Recovery
- ④ Prevention
정답 확인
정답 ② - 은행원 알고리즘은 교착상태를 사전에 피하는 회피(Avoidance) 기법이다. 오답 노트 - ①은 Detection(발견)은 교착상태가 이미 발생했는지 확인하는 사후 기법으로 사전 회피와는 다르다 / ③은 Recovery(회복)는 발생한 교착상태를 해소하는 사후 기법으로 사전 회피와는 다르다 / ④는 Prevention(예방)은 교착상태 발생 조건 자체를 없애는 기법으로 자원 할당을 동적으로 판단하는 회피 기법과는 다르다.
TCP/IP에서 사용되는 논리(IP) 주소를 물리(MAC) 주소로 변환시켜 주는 프로토콜은?
- ① TCP
- ② ARP
- ③ FTP
- ④ IP
정답 확인
정답 ② - ARP는 논리(IP) 주소를 물리(MAC) 주소로 변환하는 프로토콜이다. 오답 노트 - ①은 TCP는 신뢰성 있는 데이터 전송을 담당하는 트랜스포트 계층 프로토콜로 주소 변환과는 다르다 / ③은 FTP는 파일 전송을 위한 응용 계층 프로토콜로 주소 변환과는 무관하다 / ④는 IP는 패킷 전달을 담당하는 네트워크 계층 프로토콜로 주소 변환 자체를 수행하지 않는다.
UNIX에서 새로운 프로세스를 생성하는 명령어는?
- ① ls
- ② cat
- ③ fork
- ④ chmod
정답 확인
정답 ③ - fork는 UNIX/Linux에서 새로운 프로세스를 생성하는 시스템 호출(명령)이다. 오답 노트 - ①은 ls는 디렉터리 목록을 출력하는 명령으로 프로세스 생성과 무관하다 / ②는 cat은 파일 내용을 출력하는 명령으로 프로세스 생성과 무관하다 / ④는 chmod는 파일 권한을 변경하는 명령으로 프로세스 생성과 무관하다.
귀도 반 로섬(Guido van Rossum)이 발표한 언어로 인터프리터 방식이자 객체지향적이며, 배우기 쉽고 이식성이 좋은 것이 특징인 스크립트 언어는?
- ① C++
- ② JAVA
- ③ C#
- ④ Python
정답 확인
정답 ④ - Python은 귀도 반 로섬이 만든 인터프리터 방식의 객체지향 스크립트 언어다. 오답 노트 - ①은 C++는 컴파일 방식의 객체지향 언어로 인터프리터 방식이 아니다 / ②는 JAVA는 바이트코드를 JVM에서 실행하는 언어로 귀도 반 로섬이 만든 언어가 아니다 / ③은 C#은 마이크로소프트가 만든 컴파일 기반 언어로 귀도 반 로섬과 무관하다.
응집도의 종류 중 서로 간에 어떠한 의미 있는 연관 관계도 지니지 않은 기능 요소로 구성되는 경우이며, 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우의응집도는?
- ① Functional Cohesion
- ② Sequential Cohesion
- ③ Logical Cohesion
- ④ Coincidental Cohesion
정답 확인
정답 ④ - Coincidental Cohesion(우연적 응집도)은 서로 관련 없는 기능이 우연히 묶인 가장 낮은 응집도다. 오답 노트 - ①은 Functional Cohesion(기능적 응집도)은 모든 요소가 하나의 기능 수행에 기여하는 가장 높은 응집도로 정반대다 / ②는 Sequential Cohesion(순차적 응집도)은 한 요소의 출력이 다음 요소의 입력이 되는 응집도로 서로 무관한 요소 묶음과는 다르다 / ③은 Logical Cohesion(논리적 응집도)은 유사한 성격의 기능을 논리적으로 묶은 응집도로 완전히 무관한 요소 묶음보다는 관련성이 있다.
TCP 흐름 제어 기법 중 프레임이 손실되었을 때, 손실된 프레임 1개를 전송하고 수신자의 응답을 기다리는 방식으로 한 번에 프레임 1개만 전송할 수 있는 기법은?
- ① Slow Start
- ② Sliding Window
- ③ Stop and Wait
- ④ Congestion Avoidance
정답 확인
정답 ③ - Stop and Wait는 프레임 1개를 보내고 응답을 기다린 뒤 다음 프레임을 보내는 흐름제어 방식이다. 오답 노트 - ①은 Slow Start는 혼잡 제어 초기에 전송 속도를 점진적으로 늘리는 알고리즘으로 프레임 1개 단위 응답 대기와는 다르다 / ②는 Sliding Window는 여러 프레임을 한 번에 연속 전송할 수 있는 흐름제어 방식으로 프레임 1개만 보내는 방식과는 반대다 / ④는 Congestion Avoidance는 혼잡을 피하기 위한 전송 속도 조절 기법으로 단순 1개씩 주고받는 방식과는 다르다.
TCP/IP 프로토콜에서 TCP가 해당하는 계층은?
- ① 데이터 링크 계층
- ② 네트워크 계층
- ③ 트랜스포트 계층
- ④ 세션 계층
정답 확인
정답 ③ - TCP는 TCP/IP 계층에서 트랜스포트(전송) 계층에 해당한다. 오답 노트 - ①은 데이터 링크 계층은 물리적 연결의 오류·흐름 제어를 담당하며 TCP가 속한 계층이 아니다 / ②는 네트워크 계층은 IP가 속한 계층으로 TCP가 속한 트랜스포트 계층과는 다르다 / ④는 세션 계층은 응용 프로세스 간 연결 관리를 담당하며 TCP가 속한 계층이 아니다.
운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합을 의미하는 것은?
- ① Locality
- ② Deadlock
- ③ Thrashing
- ④ Working Set
정답 확인
정답 ④ - Working Set은 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합이다. 오답 노트 - ①은 Locality(지역성)는 프로세스가 특정 페이지 집합을 집중적으로 참조하는 경향(성질) 자체를 뜻하며, 그 결과로 실제 참조되는 페이지 집합이 워킹셋이다 / ②는 Deadlock(교착상태)은 자원을 서로 기다리며 무한 대기하는 상태로 페이지 참조 집합과는 다른 개념이다 / ③은 Thrashing(스래싱)은 페이지 부재가 과도해 성능이 급격히 저하되는 현상 자체이며 페이지 집합을 가리키는 용어가 아니다.
C언어에서 두 개의 논리값 중 하나라도 참이면 1을, 모두 거짓이면 0을 반환하는 연산자는?
- ① ||
- ② &&
- ③ **
- ④ !=
정답 확인
정답 ① - ||(OR 연산자)는 두 논리값 중 하나라도 참이면 1을 반환한다. 오답 노트 - ②는 &&(AND 연산자)는 두 논리값이 모두 참일 때만 1을 반환해 OR과는 동작이 다르다 / ③은 **는 C언어의 표준 연산자가 아니다 / ④는 !=는 두 값이 다른지 비교하는 연산자로 논리합(OR) 연산과는 다르다.
모듈 내 구성 요소들이 서로 다른 기능을 같은 시간대에 함께 실행하는 경우의 응집도(Cohesion)는?
- ① Temporal Cohesion
- ② Logical Cohesion
- ③ Coincidental Cohesion
- ④ Sequential Cohesion
정답 확인
정답 ① - Temporal Cohesion(시간적 응집도)은 서로 다른 기능이 같은 시간대에 실행될 때의 응집도다. 오답 노트 - ②는 Logical Cohesion(논리적 응집도)은 유사한 성격의 기능을 논리적으로 묶지만 실제로는 하나만 실행되는 응집도로 동시간대 실행과는 다르다 / ③은 Coincidental Cohesion(우연적 응집도)은 서로 관련 없는 기능이 우연히 묶인 응집도로 시간대 기준 실행과는 다르다 / ④는 Sequential Cohesion(순차적 응집도)은 한 요소의 출력이 다음 요소의 입력이 되는 응집도로 동시간대 실행과는 다르다.
IEEE 802.11 워킹 그룹의 무선 LAN 표준화 현황 중 QoS 강화를 위해 MAC 지원 기능을 채택한 것은?
- ① 802.11a
- ② 802.11b
- ③ 802.11g
- ④ 802.11e
정답 확인
정답 ④ - 802.11e는 무선 LAN에서 QoS(서비스 품질) 강화를 위한 MAC 지원 기능을 채택한 표준이다. 오답 노트 - ①은 802.11a는 5GHz 대역에서 최대 54Mbps를 지원하는 표준으로 QoS MAC 기능과는 다른 표준이다 / ②는 802.11b는 2.4GHz 대역에서 최대 11Mbps를 지원하는 초기 표준으로 QoS와는 무관하다 / ③은 802.11g는 2.4GHz 대역에서 최대 54Mbps를 지원하는 표준으로 QoS MAC 기능과는 다른 표준이다.
OSI 7계층 중 다음 설명에 해당하는 계층은? • 두 응용 프로세스 간의 통신에 대한 제어 구조를 제공한다. • 연결의 생성, 관리, 종료를 위해 토큰을 사용한다.
- ① 데이터링크 계층
- ② 네트워크 계층
- ③ 세션 계층
- ④ 표현 계층
정답 확인
정답 ③ - 세션 계층은 응용 프로세스 간 통신 제어와 연결의 생성·관리·종료(토큰 사용)를 담당한다. 오답 노트 - ①은 데이터링크 계층은 물리적 연결의 오류·흐름 제어를 담당하며 응용 프로세스 간 통신 제어와는 다르다 / ②는 네트워크 계층은 경로 설정(라우팅)을 담당하며 세션 연결 관리와는 다르다 / ④는 표현 계층은 데이터의 형식·인코딩을 변환하는 계층으로 세션 연결 관리와는 다르다.
JAVA에서 힙(Heap)에 남아있으나 변수가 가지고 있던 참조값을 잃거나 변수 자체가 없어짐으로써더 이상 사용되지 않는 객체를 제거해주는 역할을 하는 모듈은?
- ① Heap Collector
- ② Garbage Collector
- ③ Memory Collector
- ④ Variable Collector
정답 확인
정답 ② - Garbage Collector는 참조를 잃은 힙 객체를 자동으로 탐지·제거하는 JAVA의 메모리 관리 모듈이다. 오답 노트 - ①은 Heap Collector는 표준 JAVA 용어가 아닌 오답 보기다 / ③은 Memory Collector는 표준 JAVA 용어가 아닌 오답 보기다 / ④는 Variable Collector는 표준 JAVA 용어가 아닌 오답 보기다.
Java 프로그래밍 언어의 정수 데이터 타입 중 ‘long’의 크기는?
- ① 1byte
- ② 2byte
- ③ 4byte
- ④ 8byte
정답 확인
정답 ④ - Java의 long 타입 크기는 8byte다. 오답 노트 - ①은 1byte는 Java의 byte 타입 크기로 long과는 다르다 / ②는 2byte는 Java의 short 타입 크기로 long과는 다르다 / ③은 4byte는 Java의 int 타입 크기로 long과는 다르다.
어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?
- ① Data Coupling
- ② Stamp Coupling
- ③ Control Coupling
- ④ Common Coupling
정답 확인
정답 ③ - Control Coupling(제어 결합도)은 제어신호로 통신하며 하위→상위로 권리 전도가 발생할 수 있는 결합도다. 오답 노트 - ①은 Data Coupling(자료 결합도)은 필요한 데이터만 매개변수로 주고받는 가장 바람직한 결합도로 제어신호 전달과는 다르다 / ②는 Stamp Coupling(스탬프 결합도)은 자료구조 전체를 매개변수로 주고받는 결합도로 제어신호를 통한 논리 제어와는 다르다 / ④는 Common Coupling(공통 결합도)은 공통 데이터 영역을 여러 모듈이 공유하는 결합도로 제어신호 기반 권리 전도 현상과는 다르다.
다음 설명에 해당하는 방식은? • 무선 랜에서 데이터 전송 시, 매체가 비어있음을 확인한 뒤 충돌을 회피하기 위해 임의 시간을 기다 린 후 데이터를 전송하는 방법이다. • 네트워크에 데이터의 전송이 없는 경우라도 동시 전송에 의한 충돌에 대비하여 확인 신호를 전송한다.
- ① STA
- ② Collision Domain
- ③ CSMA/CA
- ④ CSMA/CD
정답 확인
정답 ③ - CSMA/CA는 무선 랜에서 충돌을 회피하기 위해 매체 유휴 확인 후 임의 시간 대기 후 전송하는 방식이다. 오답 노트 - ①은 STA(Station)는 무선 네트워크에 접속하는 단말 장치 자체를 의미하며 전송 방식이 아니다 / ②는 Collision Domain은 충돌이 발생할 수 있는 네트워크 범위를 의미하며 회피 전송 방식 자체가 아니다 / ④는 CSMA/CD는 유선 이더넷에서 충돌을 감지(Detection)하는 방식으로 무선에서 충돌을 회피(Avoidance)하는 CSMA/CA와는 다르다.
OSI 7계층에서 단말기 사이에 오류 수정과 흐름 제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층은?
- ① 전송 계층
- ② 응용 계층
- ③ 세션 계층
- ④ 표현 계층
정답 확인
정답 ① - 전송(트랜스포트) 계층은 오류 수정과 흐름 제어로 신뢰성 있는 데이터 전달을 담당한다. 오답 노트 - ②는 응용 계층은 사용자에게 서비스를 제공하는 최상위 계층으로 오류·흐름 제어의 핵심 담당 계층이 아니다 / ③은 세션 계층은 연결의 생성·관리·종료를 담당하며 오류 수정·흐름 제어의 핵심 담당 계층은 아니다 / ④는 표현 계층은 데이터 형식 변환을 담당하며 오류 수정·흐름 제어의 핵심 담당 계층이 아니다.
Python 데이터 타입 중 시퀀스(Sequence) 데이터 타입에 해당하며 다양한 데이터 타입들을 주어진순서에 따라 저장할 수 있으나 저장된 내용을 변경할 수 없는 것은?
- ① 복소수(complex) 타입
- ② 리스트(list) 타입
- ③ 사전(dict) 타입
- ④ 튜플(tuple) 타입
정답 확인
정답 ④ - 튜플(tuple)은 순서가 있으나 저장된 내용을 변경할 수 없는(불변) 파이썬 시퀀스 타입이다. 오답 노트 - ①은 복소수(complex) 타입은 수 표현 타입으로 순서 있는 시퀀스 타입이 아니다 / ②는 리스트(list)는 순서가 있으나 내용을 변경할 수 있는(가변) 시퀀스 타입으로 튜플과는 반대다 / ③은 사전(dict)은 키-값 쌍으로 이루어진 매핑 타입으로 순서 기반 시퀀스 타입이 아니다.
한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우의 결합도는?
- ① 내용 결합도(Content Coupling)
- ② 제어 결합도(Control Coupling)
- ③ 공통 결합도(Common Coupling)
- ④ 스탬프 결합도(Stamp Coupling)
정답 확인
정답 ① - 내용 결합도는 한 모듈이 다른 모듈의 내부 기능·자료를 직접 참조하는 가장 강한(나쁜) 결합도다. 오답 노트 - ②는 Control Coupling(제어 결합도)은 제어신호로 통신하는 결합도로 내부 자료를 직접 참조하는 것과는 다르다 / ③은 Common Coupling(공통 결합도)은 공통 데이터 영역을 공유하는 결합도로 내부 기능을 직접 참조하는 것과는 다르다 / ④는 Stamp Coupling(스탬프 결합도)은 자료구조 전체를 매개변수로 주고받는 결합도로 내부를 직접 참조하는 것과는 다르다.
IEEE 802.3 LAN에서 사용되는 전송 매체 접속 제어(MAC) 방식은?
- ① CSMA/CD
- ② Token Bus
- ③ Token Ring
- ④ Slotted Ring
정답 확인
정답 ① - CSMA/CD는 IEEE 802.3 이더넷 LAN에서 사용하는 매체 접속 제어 방식이다. 오답 노트 - ②는 Token Bus는 버스 토폴로지에 토큰 방식을 결합한 매체 접속 제어로 IEEE 802.3(CSMA/CD)과는 다른 표준(802.4)이다 / ③은 Token Ring은 링 토폴로지에서 토큰을 순환시키는 매체 접속 제어로 IEEE 802.5 표준이며 802.3과는 다르다 / ④는 Slotted Ring은 링 구조에서 슬롯을 이용하는 접속 방식으로 IEEE 802.3의 표준 방식이 아니다.
OSI 7계층에서 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류 제어, 흐름 제어등의 전송 에러를 제어하는 계층은?
- ① 데이터 링크 계층
- ② 물리 계층
- ③ 응용 계층
- ④ 표현 계층
정답 확인
정답 ① - 데이터 링크 계층은 동기화·오류 제어·흐름 제어로 물리적 연결의 전송 오류를 제어한다. 오답 노트 - ②는 물리 계층은 전기적 신호 전송 자체를 담당하며 오류·흐름 제어(에러 제어) 기능은 데이터 링크 계층의 역할이다 / ③은 응용 계층은 사용자에게 서비스를 제공하는 최상위 계층으로 물리적 연결의 오류 제어와는 다르다 / ④는 표현 계층은 데이터 형식 변환을 담당하며 물리적 연결의 오류 제어와는 다르다.
다음 설명의 ㉠과 ㉡에 들어갈 내용으로 옳은 것은? 가상기억장치의 일반적인 구현 방법에는 프로그램을 고정된 크기의 일정한 블록으로 나누는 ( ㉠ ) 기법과 가변적인 크기의 블록으로 나누는 ( ㉡ ) 기법이 있다.
- ① ㉠ : Paging, ㉡ : Segmentation
- ② ㉠ : Segmentation, ㉡ : Allocatin
- ③ ㉠ : Segmentation, ㉡ : Compaction
- ④ ㉠ : Paging, ㉡ : Linking
정답 확인
정답 ① - 고정 크기 블록은 Paging, 가변 크기 블록은 Segmentation 기법이다. 오답 노트 - ②는 Allocation은 표준적으로 쓰이는 가변 분할 기법 명칭이 아니다(Segmentation이 정확한 용어) / ③은 Compaction(압축)은 단편화된 메모리 공간을 정리하는 기법으로 가변 분할 자체를 가리키는 기법명이 아니다 / ④는 Linking은 프로그램을 연결하는 과정을 의미하며 가변 크기 블록 분할 기법이 아니다.
C언어에서 구조체를 사용하여 데이터를 처리할 때 사용하는 것은?
- ① for
- ② scanf
- ③ struct
- ④ abstract
정답 확인
정답 ③ - struct는 C언어에서 구조체를 정의해 여러 데이터를 묶어 처리할 때 사용하는 키워드다. 오답 노트 - ①은 for는 반복문을 만드는 키워드로 구조체 정의와 무관하다 / ②는 scanf는 표준 입력을 받는 함수로 구조체 정의와 무관하다 / ④는 abstract는 C언어의 표준 키워드가 아니다(Java 등에서 쓰이는 키워드).
다음 내용이 설명하는 소프트웨어 취약점은? 메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점
- ① FTP 바운스 공격
- ② SQL 삽입
- ③ 버퍼 오버플로
- ④ 디렉토리 접근 공격
정답 확인
정답 ③ - 버퍼 오버플로는 메모리 처리 오류로 인해 잘못된 동작을 유발하는 대표적 소프트웨어 취약점이다. 오답 노트 - ①은 FTP 바운스 공격은 FTP 프로토콜의 PORT 명령을 악용해 제3자를 공격하는 기법으로 메모리 처리 오류와는 다르다 / ②는 SQL 삽입은 입력값 검증 미비로 악성 SQL이 실행되는 취약점으로 메모리 처리 오류와는 다르다 / ④는 디렉토리 접근 공격은 접근이 제한된 경로의 파일에 접근하는 취약점으로 메모리 처리 오류와는 다르다.
C언어 라이브러리 중 stdlib.h에 대한 설명으로 옳은 것은?
- ① 문자열을 수치 데이터로 바꾸는 문자 변환함수와 수치를 문자열로 바꿔주는 변환함수 등이 있다.
- ② 문자열 처리 함수로 strlen()이 포함되어 있다.
- ③ 표준 입출력 라이브러리이다.
- ④ 삼각 함수, 제곱근, 지수 등 수학적인 함수를 내장하고 있다.
정답 확인
정답 ① - stdlib.h는 문자열↔수치 변환 함수 등 범용 유틸리티 함수를 제공하는 C 표준 라이브러리다. 오답 노트 - ②는 strlen() 등 문자열 처리 함수는 string.h에 포함되어 있으며 stdlib.h와는 다른 헤더다 / ③은 표준 입출력 함수(printf 등)는 stdio.h에 포함되어 있으며 stdlib.h와는 다른 헤더다 / ④는 삼각함수·제곱근 등 수학 함수는 math.h에 포함되어 있으며 stdlib.h와는 다른 헤더다.
TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?
- ① ECP(Error Checking Protocol)
- ② ARP(Address Resolution Protocol)
- ③ ICMP(Internet Control Message Protocol)
- ④ PPP(Point-to-Point Protocol)
정답 확인
정답 ③ - ICMP는 IP 동작 중 전송 오류 발생 시 오류 정보를 전달하는 프로토콜이다. 오답 노트 - ①은 ECP(Error Checking Protocol)는 실재하지 않는(혼동을 노린) 명칭이다 / ②는 ARP는 IP 주소를 MAC 주소로 변환하는 프로토콜로 오류 정보 전달과는 다르다 / ④는 PPP는 두 지점 간 직접 연결을 위한 데이터링크 계층 프로토콜로 오류 정보 전달이 목적이 아니다.
다음에서 설명하는 프로세스 스케줄링은? 최소 작업 우선(SJF) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선 순위를 판별한다. 대기한 시간 + 서비스를 받을 시간 우선순위 = 서비스를 받을 시간
- ① FIFO 스케줄링
- ② RR 스케줄링
- ③ HRN 스케줄링
- ④ MQ 스케줄링
정답 확인
정답 ③ - HRN 스케줄링은 (대기시간+서비스시간)/서비스시간 식으로 우선순위를 정하는 비선점 기법이다. 오답 노트 - ①은 FIFO 스케줄링은 도착한 순서대로 처리하는 방식으로 대기·서비스 시간 계산식을 쓰지 않는다 / ②는 RR(Round Robin) 스케줄링은 시간 할당량 단위로 순환 처리하는 선점형 방식으로 이 문제의 비선점 계산식과는 다르다 / ④는 MQ(Multilevel Queue) 스케줄링은 여러 큐로 나누어 우선순위를 적용하는 방식으로 이 계산식과는 다르다.
C언어에서 정수 자료형으로 옳은 것은?
- ① int
- ② float
- ③ char
- ④ double
정답 확인
정답 ① - int는 C언어의 대표적인 정수 자료형이다. 오답 노트 - ②는 float는 실수형(부동소수점) 자료형으로 정수형이 아니다 / ③은 char는 문자형 자료형으로 정수형이 아니다(내부적으로 정수 코드값을 갖지만 문자 표현용) / ④는 double은 배정밀도 실수형 자료형으로 정수형이 아니다.
기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈 네트워킹, 공공 안전 등의 특수 목적에 사용되는 새로운 방식의 네트워크 기술을 의미하는 것은?
- ① Software Defined Perimeter
- ② Virtual Private Network
- ③ Local Area Network
- ④ Mesh Network
정답 확인
정답 ④ - Mesh Network는 대규모 디바이스 네트워크에 최적화된 차세대 무선 네트워크 기술이다. 오답 노트 - ①은 Software Defined Perimeter는 소프트웨어 기반 경계 보안 기술로 대규모 디바이스 네트워크 구성 기술과는 다르다 / ②는 Virtual Private Network는 공중망에 사설망 효과를 내는 보안 솔루션으로 메시 네트워크 구성 기술과는 다르다 / ③은 Local Area Network는 근거리 통신망 자체를 의미하며 대규모 디바이스 최적화 차세대 기술이 아니다.
Putnam 모형을 기초로 해서 만든 자동화 추정 도구는?
- ① SQLR/30
- ② SLIM
- ③ MESH
- ④ NFV
정답 확인
정답 ② - SLIM은 Putnam 모형을 기초로 만든 자동화된 비용 산정(추정) 도구다. 오답 노트 - ①은 SQLR/30은 실재하지 않는(혼동을 노린) 명칭이다 / ③은 MESH는 네트워크 토폴로지를 의미하며 비용 추정 도구가 아니다 / ④는 NFV는 네트워크 기능을 가상화하는 기술로 비용 추정 도구가 아니다.
정형화된 분석 절차에 따라 사용자 요구사항을 파악, 문서화하는 체계적 분석방법으로 자료 흐름도,자료 사전, 소단위 명세서의 특징을 갖는 것은?
- ① 구조적 개발 방법론
- ② 객체지향 개발 방법론
- ③ 정보공학 방법론
- ④ CBD 방법론
정답 확인
정답 ① - 구조적 개발 방법론은 자료흐름도·자료사전·소단위 명세서를 이용하는 정형화된 분석 방법이다. 오답 노트 - ②는 객체지향 개발 방법론은 객체·클래스 중심으로 분석하는 방법으로 자료흐름도·자료사전 중심 구조적 분석과는 다르다 / ③은 정보공학 방법론은 데이터 중심의 전사적 정보 전략 계획에 초점을 두어 구조적 분석과는 결이 다르다 / ④는 CBD 방법론은 컴포넌트 기반 개발 방법론으로 자료흐름도 중심 구조적 분석과는 다르다.
접근 통제 방법 중 조직 내에서 직무, 직책 등 개인의 역할에 따라 결정하여 부여하는 접근 정책은?
- ① RBAC
- ② DAC
- ③ MAC
- ④ QAC
정답 확인
정답 ① - RBAC은 조직 내 직무·역할에 따라 접근 권한을 부여하는 접근 통제 방식이다. 오답 노트 - ②는 DAC는 데이터 소유자가 접근 권한을 부여하는 방식으로 역할 기반이 아니다 / ③은 MAC는 보안 등급(Label)에 따라 접근을 강제하는 방식으로 역할 기반이 아니다 / ④는 QAC는 표준적인 접근 통제 방식 명칭이 아니다.
크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경했을 때 분석하는 도구는?
- ① trace
- ② tripwire
- ③ udpdump
- ④ cron
정답 확인
정답 ② - tripwire는 시스템 설정/파일 변경을 탐지해 침입 흔적을 분석하는 무결성 점검 도구다. 오답 노트 - ①은 trace는 프로세스 실행 경로를 추적하는 명령으로 파일 변경 탐지 무결성 점검 도구가 아니다 / ③은 udpdump는 표준 네트워크 도구 명칭이 아니다(tcpdump와 혼동을 노린 오답) / ④는 cron은 정해진 시각에 작업을 자동 실행하는 스케줄러로 침입 흔적 분석 도구가 아니다.
여러 개의 독립된 통신장치가 UWB(Ultra Wide Band) 기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술은?
- ① PICONET
- ② SCRUM
- ③ NFC
- ④ WI-SUN
정답 확인
정답 ① - PICONET은 UWB나 블루투스로 여러 통신장치를 연결하는 무선 네트워크 기술이다. 오답 노트 - ②는 SCRUM은 애자일 개발 방법론의 하나로 무선 네트워크 기술이 아니다 / ③은 NFC는 10cm 이내 초근접 무선 통신 기술로 UWB/블루투스 기반 통신망 구성과는 다르다 / ④는 WI-SUN은 저전력 장거리 스마트 그리드용 무선 통신 기술로 UWB/블루투스 기반 PICONET과는 다르다.
Cocomo Model 중 기관 내부에서 개발된 중소규모의 소프트웨어로, 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형은?
- ① Embeded
- ② Organic
- ③ Semi-detached
- ④ Semi-embeded
정답 확인
정답 ② - Organic(유기적) 모드는 5만 라인 이하의 중소규모 SW를 개발하는 COCOMO 모형 유형이다. 오답 노트 - ①은 Embedded 모드는 초대형·고신뢰 내장형 시스템(30만 라인 초과)을 개발하는 유형으로 5만 라인 이하와는 다르다 / ③은 Semi-detached 모드는 중규모(30만 라인 이하) 소프트웨어를 개발하는 유형으로 5만 라인 이하와는 다르다 / ④는 Semi-embedded는 표준 COCOMO 모드 명칭이 아니다(Semi-detached, Embedded가 정식 명칭).
다음 내용이 설명하는 것은? • 사물 통신, 사물 인터넷과 같이 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경 량 메시지 전송 프로토콜 • 메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식 • IBM이 주도하여 개발
- ① GRID
- ② TELNET
- ③ GPN
- ④ MQTT
정답 확인
정답 ④ - MQTT는 IBM이 주도 개발한 Publish/Subscribe 방식의 경량 사물인터넷 메시지 프로토콜이다. 오답 노트 - ①은 GRID는 여러 컴퓨팅 자원을 묶어 하나처럼 사용하는 분산 컴퓨팅 기술로 경량 메시지 프로토콜이 아니다 / ②는 TELNET은 원격 접속을 위한 프로토콜로 발행-구독 메시지 프로토콜과는 다르다 / ③은 GPN은 표준 통신 프로토콜 명칭이 아니다.
다음과 같은 형태로 임계 구역의 접근을 제어하는 상호 배제 기법은? P(S) : while S <= 0 do skip; S := S - 1; V(S) : S := S + 1;
- ① Dekker Algorithm
- ② Lamport Algorithm
- ③ Peterson Algorithm
- ④ Semaphore
정답 확인
정답 ④ - Semaphore는 P/V 연산으로 공유자원(임계구역) 접근을 제어하는 상호 배제 기법이다. 오답 노트 - ①은 Dekker Algorithm은 공유 변수만으로 상호 배제를 구현하는 초기 알고리즘으로 P/V 연산 방식과는 다르다 / ②는 Lamport Algorithm은 분산 시스템의 순서 보장을 위한 알고리즘으로 P/V 연산 세마포어와는 다르다 / ③은 Peterson Algorithm은 두 프로세스 간 상호 배제를 위한 소프트웨어 알고리즘으로 P/V 연산 방식과는 다르다.
다음에서 설명하는 IT 기술은? • 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술 • 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발됨 • 네트워크 장비의 펌웨어 업그레이드를 통해 사용자의 직접적인 데이터 전송 경로 관리가 가능하고, 기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발 생하는 문제를 처리할 수 있음
- ① SDN(Software Defined Networking)
- ② NFS(Network File System)
- ③ Network Mapper
- ④ AOE Network
정답 확인
정답 ① - SDN은 네트워크 제어부와 데이터 전달부를 분리해 소프트웨어로 제어·관리하는 기술이다. 오답 노트 - ②는 NFS는 네트워크를 통해 파일 시스템을 공유하는 프로토콜로 제어부-전달부 분리 기술과는 다르다 / ③은 Network Mapper(nmap)는 포트 스캔 도구로 네트워크 구조 자체를 소프트웨어로 제어하는 기술이 아니다 / ④는 AOE Network는 프로젝트 일정 관리에 쓰이는 활동망 다이어그램 개념으로 네트워크 기술과는 무관하다.
Rayleigh-Norden 곡선의 노력 분포도를 이용한 프로젝트 비용 산정기법은?
- ① Putnam 모형
- ② 델파이 모형
- ③ COCOMO 모형
- ④ 기능점수 모형
정답 확인
정답 ① - Putnam 모형은 Rayleigh-Norden 곡선의 노력 분포도를 이용한 비용 산정 기법이다. 오답 노트 - ②는 델파이 모형은 전문가들의 의견을 반복 수렴해 산정하는 기법으로 Rayleigh-Norden 곡선 기반이 아니다 / ③은 COCOMO 모형은 소스 코드 라인 수(LOC) 기반 산정 기법으로 Rayleigh-Norden 곡선 기반과는 다르다 / ④는 기능점수 모형은 기능 단위를 기준으로 산정하는 기법으로 노력 분포 곡선 기반과는 다르다.
서로 다른 네트워크 대역에 있는 호스트들 상호간에 통신할 수 있도록 해주는 네트워크 장비는?
- ① L2 스위치
- ② HIPO
- ③ 라우터
- ④ RAD
정답 확인
정답 ③ - 라우터는 서로 다른 네트워크 대역의 호스트 간 통신을 중계하는 장비다. 오답 노트 - ①은 L2 스위치는 같은 네트워크 대역 내 호스트 간 통신을 중계하는 장비로 서로 다른 대역 간 통신과는 다르다 / ②는 HIPO는 프로그램 설계·문서화 도구로 네트워크 장비가 아니다 / ④는 RAD는 표준 네트워크 장비 명칭이 아니다.
다음은 정보의 접근통제 정책에 대한 설명이다. (ㄱ)에 들어갈 내용으로 옳은 것은?
| 구분 | (ㄱ) | DAC | RBAC |
|---|---|---|---|
| 권한 부여 | 시스템 | 데이터 소유자 | 중앙 관리자 |
| 접근 결정 | 보안등급(Label) | 신분(Identity) | 역할(Role) |
| 정책 변경 | 고정적(변경 어려움) | 변경 용이 | 변경 용이 |
| 장점 | 안정적·중앙집중적 | 구현 용이·유연함 | 관리 용이 |
- ① NAC
- ② MAC
- ③ SDAC
- ④ AAC
정답 확인
정답 ② - MAC(강제적 접근통제)은 보안등급(Label)에 기반하며 정책 변경이 어렵지만 안정적·중앙집중적이다. 오답 노트 - ①은 NAC(Network Access Control)는 네트워크 접속 단말을 통제하는 보안 기술로 이 표의 보안등급 기반 접근통제 정책과는 다르다 / ③은 SDAC는 표준적인 접근통제 정책 명칭이 아니다 / ④는 AAC는 표준적인 접근통제 정책 명칭이 아니다.
웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성·값의 쌍 형태로표현하는 형식으로, 자바 스크립트(Java Script)를 토대로 개발된 형식은?
- ① Python
- ② XML
- ③ JSON
- ④ WEB SEVER
정답 확인
정답 ③ - JSON은 자바스크립트 기반의 속성-값 쌍 형태 경량 데이터 교환 형식이다. 오답 노트 - ①은 Python은 범용 프로그래밍 언어로 데이터 교환 형식 자체가 아니다 / ②는 XML은 태그 기반의 마크업 언어로 자바스크립트 기반 속성-값 쌍 형식과는 다르다 / ④는 WEB SEVER는 표준 용어가 아닌(오탈자를 포함한) 오답 보기다.
다음 설명에 해당하는 소프트웨어는? • 개발해야 할 애플리케이션의 일부분이 이미 내장된 클래스 라이브러리로 구현이 되어 있다. • 따라서, 그 기반이 되는 이미 존재하는 부분을 확장 및 이용하는 것으로 볼 수 있다. • JAVA 기반의 대표적인 소프트웨어로는 스프링(Spring)이 있다.
- ① 전역 함수 라이브러리
- ② 소프트웨어 개발 프레임워크
- ③ 컨테이너 아키텍처
- ④ 어휘 분석기
정답 확인
정답 ② - 소프트웨어 개발 프레임워크는 이미 구현된 클래스 라이브러리를 확장·이용하는 개발 뼈대(예: Spring)다. 오답 노트 - ①은 전역 함수 라이브러리는 표준 소프트웨어 공학 용어가 아니다 / ③은 컨테이너 아키텍처는 애플리케이션을 격리 실행하는 구조를 의미하며 클래스 라이브러리 확장 개발 뼈대와는 다르다 / ④는 어휘 분석기는 컴파일러에서 토큰을 분리하는 구성 요소로 개발 프레임워크와는 다르다.
S/W 각 기능의 원시 코드 라인수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법은?
- ① Effort Per Task 기법
- ② 전문가 감정 기법
- ③ 델파이 기법
- ④ LOC 기법
정답 확인
정답 ④ - LOC 기법은 원시 코드 라인수의 낙관치·비관치·기대치로 예측치를 구해 비용을 산정하는 기법이다. 오답 노트 - ①은 Effort Per Task 기법은 표준적으로 사용되는 명칭이 아니다 / ②는 전문가 감정 기법은 전문가의 경험적 판단으로 산정하는 기법으로 낙관치·비관치·기대치 계산과는 다르다 / ③은 델파이 기법은 여러 전문가 의견을 반복 수렴하는 기법으로 LOC 수치 계산 방식과는 다르다.
다음 내용이 설명하는 것은? • 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용 • 각기 다른 운영체제를 가진 여러 기종들이 네트워크상에서 동일 저장장치의 데이터를 공유하게 함으 로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템
- ① SAN
- ② MBR
- ③ NAC
- ④ NIC
정답 확인
정답 ① - SAN은 광채널 스위치로 여러 기종이 저장장치를 공유하도록 네트워크로 구성한 스토리지 시스템이다. 오답 노트 - ②는 MBR(Master Boot Record)은 디스크의 부팅 정보를 담은 영역으로 스토리지 네트워크 시스템이 아니다 / ③은 NAC(Network Access Control)는 네트워크 접근을 통제하는 보안 기술로 스토리지 공유 시스템이 아니다 / ④는 NIC(Network Interface Card)는 네트워크 접속을 위한 물리적 장치로 스토리지 공유 시스템이 아니다.
다음 내용이 설명하는 접근 제어 모델은? • 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용한다. • 자신의 권한보다 낮은 보안 레벨 권한을 가진 경우에는 높은 보안 레벨의 문서를 읽을 수 없고 자신 의 권한보다 낮은 수준의 문서만 읽을 수 있다. • 자신의 권한보다 높은 보안 레벨의 문서에는 쓰기가 가능하지만, 보안 레벨이 낮은 문서의 쓰기 권 한은 제한한다.
- ① Clark-Wilson Integrity Model
- ② PDCA Model
- ③ Bell-Lapadula Model
- ④ Chinese Wall Model
정답 확인
정답 ③ - Bell-Lapadula 모델은 보안 등급에 따라 상위 문서를 하위 권한이 읽지 못하게 하는 기밀성 중심 접근제어 모델이다. 오답 노트 - ①은 Clark-Wilson Integrity Model은 무결성 중심의 상업용 접근 통제 모델로 기밀성 중심의 보안등급 기반 모델과는 다르다 / ②는 PDCA Model은 계획-실행-점검-조치의 품질관리 순환 모델로 접근 제어 모델이 아니다 / ④는 Chinese Wall Model은 이해충돌 방지를 위한 접근 제어 모델로 보안 등급 기반 상하 관계 모델과는 다르다.
SoftTech사에서 개발된 것으로 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구는?
- ① SREM
- ② PSL/PSA
- ③ HIPO
- ④ SADT
정답 확인
정답 ④ - SADT는 SoftTech사가 개발한, 블록 다이어그램 기반의 구조적 요구 분석 자동화 도구다. 오답 노트 - ①은 SREM은 실시간 시스템 요구사항을 정의하는 도구로 블록 다이어그램 채택 도구와는 다르다 / ②는 PSL/PSA는 요구사항을 정형 언어로 기술·분석하는 도구로 블록 다이어그램 방식과는 다르다 / ③은 HIPO는 프로그램의 입력-처리-출력을 계층적으로 표현하는 도구로 SoftTech사의 블록 다이어그램 도구와는 다르다.
소프트웨어 개발 표준 중 소프트웨어 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및개선하는 국제 표준은?
- ① SCRUM
- ② ISO/IEC 12509
- ③ SPICE
- ④ CASE
정답 확인
정답 ③ - SPICE(ISO/IEC 15504)는 소프트웨어 프로세스를 평가·개선하는 국제 표준이다. 오답 노트 - ①은 SCRUM은 애자일 개발 방법론의 하나로 프로세스 평가·개선 국제 표준이 아니다 / ②는 ISO/IEC 12509는 실재하지 않는(혼동을 노린) 표준 번호다 / ④는 CASE는 소프트웨어 개발을 지원하는 자동화 도구 전반을 의미하며 프로세스 평가 국제 표준 자체가 아니다.
소프트웨어 재공학의 주요 활동 중 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할수 있도록 변환하는 것은?
- ① 역공학
- ② 분석
- ③ 재구성
- ④ 이식
정답 확인
정답 ④ - 이식(Migration)은 기존 소프트웨어를 다른 운영체제·하드웨어에서 쓸 수 있도록 변환하는 재공학 활동이다. 오답 노트 - ①은 역공학은 기존 소프트웨어를 분석해 설계·명세 정보를 역으로 추출하는 활동으로 환경 변환과는 다르다 / ②는 분석은 기존 소프트웨어의 구성 요소를 파악하는 활동으로 환경 변환 자체는 아니다 / ③은 재구성은 기존 소프트웨어의 구조를 다른 형태로 재구성하는 활동으로 운영체제·하드웨어 환경 변환과는 다르다.
다음 내용이 설명하는 스토리지 시스템은? • 하드디스크와 같은 데이터 저장장치를 호스트버스 어댑터에 직접 연결하는 방식 • 저장장치와 호스트 기기 사이에 네트워크 디바이스 없이 직접 연결하는 방식으로 구성
- ① DAS
- ② NAS
- ③ BSA
- ④ NFC
정답 확인
정답 ① - DAS는 저장장치를 네트워크 없이 호스트버스 어댑터에 직접 연결하는 스토리지 방식이다. 오답 노트 - ②는 NAS는 네트워크를 통해 파일 단위로 저장장치를 공유하는 방식으로 직접 연결 방식인 DAS와는 다르다 / ③은 BSA는 표준 스토리지 용어가 아니다 / ④는 NFC는 근접 무선 통신 기술로 스토리지 연결 방식과는 무관하다.
정보 시스템 내에서 어떤 주체가 특정 개체에 접근하려 할 때 양쪽의 보안 레이블(Security Label)에기초하여 높은 보안 수준을 요구하는 정보(객체)가 낮은 보안 수준의 주체에게 노출되지 않도록 하는 접근제어 방법은?
- ① Mandatory Access Control
- ② User Access Control
- ③ Discretionary Access Control
- ④ Data-Label Access Control
정답 확인
정답 ① - Mandatory Access Control(MAC)은 보안 레이블에 기초해 높은 보안 정보가 낮은 권한 주체에 노출되지 않게 하는 강제적 접근 제어다. 오답 노트 - ②는 User Access Control은 표준적인 접근 제어 모델 명칭이 아니다 / ③은 Discretionary Access Control(DAC)은 데이터 소유자가 임의로 권한을 부여하는 방식으로 보안 레이블 기반 강제적 통제와는 다르다 / ④는 Data-Label Access Control은 표준적인 접근 제어 모델 명칭이 아니다.
전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?
- ① 합성 중심
- ② 생성 중심
- ③ 분리 중심
- ④ 구조 중심
정답 확인
정답 ① - 합성 중심은 전자 칩처럼 모듈(블록)을 끼워 맞춰 소프트웨어를 완성하는 재사용 방법이다. 오답 노트 - ②는 생성 중심은 추상화된 명세로부터 프로그램을 자동 생성하는 재사용 방법으로 모듈 조립 방식과는 다르다 / ③은 분리 중심은 표준 소프트웨어 재사용 유형 명칭이 아니다 / ④는 구조 중심은 표준 소프트웨어 재사용 유형 명칭이 아니다.
서버에 열린 포트 정보를 스캐닝해서 보안 취약점을 찾는데 사용하는 도구는?
- ① type
- ② mkdir
- ③ ftp
- ④ nmap
정답 확인
정답 ④ - nmap은 서버의 열린 포트를 스캐닝해 보안 취약점을 점검하는 대표적 도구다. 오답 노트 - ①은 type은 파일 내용을 출력하는 명령(Windows)으로 포트 스캐닝과 무관하다 / ②는 mkdir은 디렉터리를 생성하는 명령으로 포트 스캐닝과 무관하다 / ③은 ftp는 파일을 전송하는 프로토콜/명령으로 포트 스캐닝 도구가 아니다.
생명 주기 모형 중 가장 오래된 모형으로, 많은 적용 사례가 있지만 요구사항의 변경이 어렵고 각 단계의 결과가 확인되어야 다음 단계로 넘어갈 수 있는 선형 순차적, 고전적 생명 주기 모형이라고도 하는 것은?
- ① Waterfall Model
- ② Prototype Model
- ③ Cocomo Model
- ④ Spiral Model
정답 확인
정답 ① - Waterfall(폭포수) 모형은 각 단계 결과가 확인되어야 다음으로 넘어가는 가장 오래된 선형 순차적 모형이다. 오답 노트 - ②는 Prototype Model은 시제품을 만들어 요구사항을 확정해가는 모형으로 단계별 순차 진행 방식과는 다르다 / ③은 Cocomo Model은 비용 산정 기법으로 생명주기 모형 자체가 아니다 / ④는 Spiral Model은 반복적·점진적으로 개발하는 모형으로 선형 순차적 폭포수 모형과는 반대다.
실무적으로 검증된 개발보안 방법론 중 하나로, SW보안의 모범 사례를 SDLC(Software DevelopmentLife Cycle)에 통합한 소프트웨어 개발 보안 생명주기 방법론은?
- ① CLASP
- ② CWE
- ③ PIMS
- ④ Seven Touchpoints
정답 확인
정답 ④ - Seven Touchpoints는 SW보안 모범 사례를 SDLC 전 단계에 통합한 개발 보안 생명주기 방법론이다. 오답 노트 - ①은 CLASP는 활동 중심의 개발보안 방법론이지만 이 설명(SDLC 전 단계에 모범사례를 통합)은 Seven Touchpoints에 대한 내용이다 / ②는 CWE(Common Weakness Enumeration)는 소프트웨어 약점을 분류한 목록으로 개발 방법론이 아니다 / ③은 PIMS는 개인정보보호 관리체계 인증 제도로 SW 개발 보안 생명주기 방법론이 아니다.
PC, TV, 휴대폰에서 원하는 콘텐츠를 끊김없이 자유롭게 이용할 수 있는 서비스는?
- ① Memristor
- ② MEMS
- ③ SNMP
- ④ N-Screen
정답 확인
정답 ④ - N-Screen은 여러 기기에서 콘텐츠를 끊김없이 이어서 이용할 수 있는 서비스다. 오답 노트 - ①은 Memristor는 메모리와 저항의 특성을 결합한 반도체 소자로 콘텐츠 이용 서비스가 아니다 / ②는 MEMS는 초소형 기계·전자 소자 기술로 콘텐츠 이용 서비스와 무관하다 / ③은 SNMP는 네트워크 장비를 관리하는 프로토콜로 콘텐츠 이용 서비스가 아니다.
다음 내용이 설명하는 것은? • 블록체인(Blockchain) 개발 환경을 클라우드로 서비스하는 개념 • 블록체인 네트워크에 노드의 추가 및 제거가 용이 • 블록체인의 기본 인프라를 추상화하여 블록체인 응용 프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼
- ① OTT
- ② Baas
- ③ SDDC
- ④ Wi-SUN
정답 확인
정답 ② - BaaS(Blockchain as a Service)는 블록체인 개발 환경을 클라우드로 제공하는 플랫폼이다. 오답 노트 - ①은 OTT는 인터넷을 통해 방송 콘텐츠를 제공하는 서비스로 블록체인 개발환경 클라우드 제공과는 다르다 / ③은 SDDC(Software Defined Data Center)는 데이터센터 인프라 전체를 소프트웨어로 가상화하는 개념으로 블록체인 전용 서비스가 아니다 / ④는 Wi-SUN은 저전력 장거리 무선 통신 기술로 블록체인 클라우드 서비스와 무관하다.
최대 홉수를 15로 제한한 라우팅 프로토콜은?
- ① RIP
- ② OSPF
- ③ Static
- ④ EIGRP
정답 확인
정답 ① - RIP는 최대 홉수를 15로 제한하는 거리벡터 기반 라우팅 프로토콜이다. 오답 노트 - ②는 OSPF는 링크 상태 기반 라우팅 프로토콜로 홉수 제한 15가 아닌 비용(Cost) 기준을 사용한다 / ③은 Static(정적 라우팅)은 관리자가 수동으로 경로를 설정하는 방식으로 홉수 제한 규칙이 없다 / ④는 EIGRP는 시스코의 하이브리드 라우팅 프로토콜로 홉수 제한이 RIP와 다르다.
다음 내용에 적합한 용어는? • 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델이다. • Google에 의해 고안된 기술로써 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법을 제공한다. • 임의의 순서로 정렬된 데이터를 분산 처리하고 이를 다시 합치는 과정을 거친다.
- ① MapReduce
- ② SQL
- ③ Hijacking
- ④ Logs
정답 확인
정답 ① - MapReduce는 구글이 고안한 대용량 데이터의 분산·병렬 처리 프로그래밍 모델이다. 오답 노트 - ②는 SQL은 관계형 데이터베이스 질의 언어로 분산 처리 프로그래밍 모델이 아니다 / ③은 Hijacking은 세션 등을 탈취하는 공격 기법으로 데이터 처리 모델과 무관하다 / ④는 Logs는 시스템 기록 자체를 의미하며 분산 처리 프로그래밍 모델이 아니다.
오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 곳은?
- ① WWW
- ② OWASP
- ③ WBSEC
- ④ ITU
정답 확인
정답 ② - OWASP는 웹 애플리케이션 보안 취약점을 연구하는 오픈소스 프로젝트/커뮤니티다. 오답 노트 - ①은 WWW는 월드와이드웹 자체를 의미하며 보안 연구 프로젝트가 아니다 / ③은 WBSEC는 표준 보안 프로젝트 명칭이 아니다 / ④는 ITU는 국제전기통신연합으로 통신 표준화 기구이며 웹 보안 전문 프로젝트가 아니다.
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로, 실제 물리적인 자산 대신 소프트웨어로가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발 사고 최소화, 생산성 향상 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?
- ① 최적화
- ② 실행 시간
- ③ 디지털 트윈
- ④ N-Screen
정답 확인
정답 ③ - 디지털 트윈은 물리적 자산을 소프트웨어로 가상화해 시뮬레이션·최적화에 활용하는 모델이다. 오답 노트 - ①은 최적화는 디지털 트윈을 통해 얻는 효과 중 하나일 뿐 모델 자체의 명칭이 아니다 / ②는 실행 시간은 표준 용어가 아닌 오답 보기다 / ④는 N-Screen은 여러 기기에서 콘텐츠를 이어보는 서비스로 물리적 자산의 가상 모델과는 다른 개념이다.
브리지와 구내 정보 통신망(LAN)으로 구성된 통신망에서 루프(폐회로)를 형성하지 않으면서 연결을설정하는 알고리즘은?
- ① Spanning Tree Algorithm
- ② Diffie-Hellman Algorithm
- ③ Hash Algorithm
- ④ Digital Signature Algorithm
정답 확인
정답 ① - Spanning Tree Algorithm은 LAN에서 루프(폐회로)를 형성하지 않도록 연결을 구성하는 알고리즘이다. 오답 노트 - ②는 Diffie-Hellman Algorithm은 키 교환을 위한 암호 알고리즘으로 LAN 루프 방지와 무관하다 / ③은 Hash Algorithm은 데이터를 고정 길이로 변환하는 알고리즘으로 루프 방지와 무관하다 / ④는 Digital Signature Algorithm은 전자서명을 위한 알고리즘으로 루프 방지와 무관하다.
다음이 설명하는 다중화 기술은? • 광섬유를 이용한 통신기술의 하나를 의미함 • 파장이 서로 다른 복수의 광신호를 동시에 이용하는 것으로 광섬유를 다중화 하는 방식임 • 빛의 파장 축과 파장이 다른 광선은 서로 간섭을 일으키지 않는 성질을 이용함
- ① Wavelength Division Multiplexing
- ② Frequency Division Multiplexing
- ③ Code Division Multiplexing
- ④ Time Division Multiplexing
정답 확인
정답 ① - 파장분할다중화(WDM)는 서로 다른 파장의 광신호를 동시에 전송하는 광섬유 다중화 기술이다. 오답 노트 - ②는 Frequency Division Multiplexing(주파수분할다중화)은 전기 신호의 주파수 대역을 나누는 방식으로 광섬유 파장 이용과는 다르다 / ③은 Code Division Multiplexing(코드분할다중화)은 서로 다른 코드를 이용해 신호를 구분하는 방식으로 파장 이용과는 다르다 / ④는 Time Division Multiplexing(시분할다중화)은 시간을 나누어 신호를 전송하는 방식으로 파장 이용과는 다르다.
Wi-Fi에서 제정한 무선 랜(WLAN) 인증 및 암호화 관련 표준은?
- ① WCDMA
- ② WPA
- ③ SSL
- ④ SHA
정답 확인
정답 ② - WPA는 Wi-Fi에서 제정한 무선랜 인증 및 암호화 표준이다. 오답 노트 - ①은 WCDMA는 3세대 이동통신 표준으로 무선랜 인증·암호화 표준이 아니다 / ③은 SSL은 인터넷 통신 구간을 암호화하는 프로토콜로 Wi-Fi 전용 인증 표준이 아니다 / ④는 SHA는 해시 함수 알고리즘으로 무선랜 인증·암호화 표준 자체가 아니다.
시스템이 몇 대가 되어도 하나의 시스템에서 인증에 성공하면 다른 시스템에 대한 접근 권한도 얻는 시스템을 의미하는 것은?
- ① SOS
- ② SBO
- ③ SSO
- ④ SOA
정답 확인
정답 ③ - SSO(Single Sign-On)는 한 번의 인증으로 여러 시스템에 접근 권한을 얻는 시스템이다. 오답 노트 - ①은 SOS는 표준 보안 용어가 아닌 오답 보기다 / ②는 SBO는 표준 보안 용어가 아닌 오답 보기다 / ④는 SOA(Service Oriented Architecture)는 서비스 지향 아키텍처를 의미하며 단일 인증 시스템과는 다른 개념이다.
하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?
- ① Apnic
- ② Topology
- ③ Sqoop
- ④ SDB
정답 확인
정답 ③ - Sqoop은 하둡과 관계형 데이터베이스 간 데이터를 전송하는 도구다. 오답 노트 - ①은 Apnic은 아시아·태평양 지역 IP 주소 할당 기구로 데이터 전송 도구가 아니다 / ②는 Topology는 네트워크 연결 형태를 의미하며 데이터 전송 도구가 아니다 / ④는 SDB는 표준 데이터 전송 도구 명칭이 아니다.
어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티는?
- ① tcp wrapper
- ② trace checker
- ③ token finder
- ④ change detector
정답 확인
정답 ① - tcp wrapper는 접속 인가 여부를 점검해 허용/거부를 결정하는 접근제어 유틸리티다. 오답 노트 - ②는 trace checker는 표준 접근제어 유틸리티 명칭이 아니다 / ③은 token finder는 표준 접근제어 유틸리티 명칭이 아니다 / ④는 change detector는 표준 접근제어 유틸리티 명칭이 아니다(파일 변경 탐지는 tripwire의 역할).
다음이 설명하는 IT 기술은? • 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진이다. • 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트이 자 소프트웨어로 볼 수 있다.
- ① Stack Guard
- ② Docker
- ③ Cipher Container
- ④ Scytale
정답 확인
정답 ② - Docker는 컨테이너 응용 프로그램의 배포를 자동화하는 오픈소스 엔진이다. 오답 노트 - ①은 Stack Guard는 버퍼 오버플로 방지를 위한 컴파일러 보안 기법으로 컨테이너 배포 도구가 아니다 / ③은 Cipher Container는 표준 용어가 아닌 오답 보기다 / ④는 Scytale은 고대 그리스의 암호 기법으로 컨테이너 배포 도구와 무관하다.
물리적 배치와 상관없이 논리적으로 LAN을 구성하여 Broadcast Domain을 구분할 수 있게 해주는 기술로, 접속된 장비들의 성능 향상 및 보안성 증대 효과가 있는 것은?
- ① VLAN
- ② STP
- ③ L2AN
- ④ ARP
정답 확인
정답 ① - VLAN은 물리적 배치와 무관하게 논리적으로 LAN(Broadcast Domain)을 구성하는 기술이다. 오답 노트 - ②는 STP(Spanning Tree Protocol)는 네트워크 루프를 방지하는 프로토콜로 논리적 LAN 분할 기술과는 다르다 / ③은 L2AN은 표준 네트워크 기술 명칭이 아니다 / ④는 ARP는 IP 주소를 MAC 주소로 변환하는 프로토콜로 논리적 LAN 구성 기술이 아니다.
기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10㎝ 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접무선통신(NFC; Near Field Communication) 기술은?
- ① BcN(Broadband Convergence Network)
- ② Zing
- ③ Marine Navi
- ④ C-V2X(Cellular Vehicle To Everything)
정답 확인
정답 ② - Zing은 10cm 이내 근접 거리에서 기가급 속도로 데이터를 전송하는 초고속 근접무선통신 기술이다. 오답 노트 - ①은 BcN은 유무선 통합 광대역 융합망 구축 사업을 의미하며 근접무선통신 기술이 아니다 / ③은 Marine Navi는 표준 통신 기술 명칭이 아니다 / ④는 C-V2X는 차량과 사물 간 통신 기술로 10cm 이내 근접 통신과는 다르다.
다음이 설명하는 용어로 옳은 것은? • 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다. • 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성한다. • 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리한다.
- ① 하둡(Hadoop)
- ② 비컨(Beacon)
- ③ 포스퀘어(Foursquare)
- ④ 맴리스터(Memristor)
정답 확인
정답 ① - 하둡(Hadoop)은 오픈소스 기반 분산 컴퓨팅 플랫폼으로 빅데이터를 저장·처리한다. 오답 노트 - ②는 비컨(Beacon)은 근거리 위치 인식 통신 기술로 분산 컴퓨팅 플랫폼이 아니다 / ③은 포스퀘어(Foursquare)는 위치 기반 SNS 서비스로 분산 컴퓨팅 플랫폼이 아니다 / ④는 맴리스터(Memristor)는 반도체 소자로 분산 컴퓨팅 플랫폼과 무관하다.
OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고트래픽을 조정하기 위한 패킷 분석 기술은?
- ① PLCP(Packet Level Control Processor)
- ② Traffic Distributor
- ③ Packet Tree
- ④ DPI(Deep Packet Inspection)
정답 확인
정답 ④ - DPI(Deep Packet Inspection)는 패킷 내부 콘텐츠까지 분석해 침입·해킹을 탐지하는 패킷 분석 기술이다. 오답 노트 - ①은 PLCP는 표준 패킷 분석 기술 명칭이 아니다 / ②는 Traffic Distributor는 트래픽을 분산 전달하는 장치를 뜻하며 패킷 내부 콘텐츠 분석 기술과는 다르다 / ③은 Packet Tree는 표준 패킷 분석 기술 명칭이 아니다.
다음 빈칸에 들어갈 알맞은 기술은? ( )은/는 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술이다.
- ① Quantum Key Distribution
- ② Digital Rights Management
- ③ Grayware
- ④ Mashup
정답 확인
정답 ④ - Mashup은 웹의 정보·서비스를 조합해 새로운 소프트웨어·서비스를 만드는 기술이다. 오답 노트 - ①은 Quantum Key Distribution은 양자역학 원리로 암호키를 분배하는 기술로 웹 정보 조합 기술과는 다르다 / ②는 Digital Rights Management는 콘텐츠 저작권을 보호·관리하는 기술로 새 서비스를 만드는 조합 기술과는 다르다 / ③은 Grayware는 악성은 아니지만 불편을 주는 소프트웨어로 웹 정보 조합 기술과 무관하다.
다음 LAN의 네트워크 토폴로지는? (다이어그램: 하나의 데이터 전송 방향 회선에 스테이션1, 스테이션3, 스테이션5 등 여러 노드가 일렬로 나란히 연결된 형태)
- ① 버스형
- ② 성형
- ③ 링형
- ④ 그물형
정답 확인
정답 ① - 여러 스테이션이 하나의 회선에 일렬로 연결된 형태는 버스형 토폴로지다. 오답 노트 - ②는 성형(Star) 토폴로지는 중앙 장비에 모든 노드가 개별 연결되는 구조로 일렬 연결과는 다르다 / ③은 링형(Ring) 토폴로지는 노드들이 원형으로 연결되어 양 끝이 이어지는 구조로 일렬 개방형 연결과는 다르다 / ④는 그물형(Mesh) 토폴로지는 노드들이 다중으로 서로 연결되는 구조로 단순 일렬 연결과는 다르다.
국내 IT 서비스 경쟁력 강화를 목표로 개발되었으며 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경으로 구성되어 있는 개방형 클라우드 컴퓨팅 플랫폼은?
- ① N2OS
- ② PaaS-TA
- ③ KAWS
- ④ Metaverse
정답 확인
정답 ② - PaaS-TA는 국내 IT 서비스 경쟁력 강화를 위해 개발된 개방형 클라우드 컴퓨팅 플랫폼이다. 오답 노트 - ①은 N2OS는 표준 클라우드 플랫폼 명칭이 아니다 / ③은 KAWS는 표준 클라우드 플랫폼 명칭이 아니다 / ④는 Metaverse는 가상 융합 공간 개념으로 국내 개방형 클라우드 플랫폼과는 다르다.
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호관계를 규명하여 일정한 패턴을 찾아내는 기법은?
- ① Data Mining
- ② Wm-Bus
- ③ Digital Twin
- ④ Zigbee
정답 확인
정답 ① - Data Mining은 대량 데이터에서 변수 간 상호관계와 패턴을 찾아내는 빅데이터 분석 기법이다. 오답 노트 - ②는 Wm-Bus는 무선 계량기 통신 표준으로 데이터 마이닝 기법이 아니다 / ③은 Digital Twin은 물리적 자산을 가상화하는 모델로 데이터 패턴 분석 기법과는 다르다 / ④는 Zigbee는 저전력 근거리 무선 통신 규격으로 데이터 마이닝 기법이 아니다.
다음 설명에 해당하는 시스템은? • 1990년대 David Clock이 처음 제안하였다. • 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다. • 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적 및 공격기법의 정보를 수집하는 역할을 한다. • 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.
- ① Apache
- ② Hadoop
- ③ Honeypot
- ④ MapReduce
정답 확인
정답 ③ - Honeypot은 공격자를 유인해 침입 정보를 수집하기 위해 의도적으로 취약하게 설치한 시스템이다. 오답 노트 - ①은 Apache는 대표적인 웹 서버 소프트웨어로 침입 유인 시스템이 아니다 / ②는 Hadoop은 분산 컴퓨팅 플랫폼으로 침입 유인 시스템과 무관하다 / ④는 MapReduce는 분산 데이터 처리 프로그래밍 모델로 침입 유인 시스템과 무관하다.
Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳은 것은?
- ① Li-fi
- ② Scrapy
- ③ CrawlCat
- ④ SBAS
정답 확인
정답 ② - Scrapy는 Python 기반의 대표적인 웹 크롤링 프레임워크다. 오답 노트 - ①은 Li-fi는 빛을 이용한 무선 통신 기술로 웹 크롤링 프레임워크가 아니다 / ③은 CrawlCat은 표준 크롤링 프레임워크 명칭이 아니다 / ④는 SBAS는 표준 크롤링 프레임워크 명칭이 아니다.
전기 및 정보통신기술을 활용하여 전력망을 지능화, 고도화함으로써 고품질의 전력서비스를 제공하고에너지 이용 효율을 극대화하는 전력망은?
- ① 사물 인터넷
- ② 스마트 그리드
- ③ 디지털 아카이빙
- ④ 미디어 빅뱅
정답 확인
정답 ② - 스마트 그리드는 전력망을 지능화·고도화해 에너지 효율을 높이는 차세대 전력망이다. 오답 노트 - ①은 사물 인터넷은 사물 간 데이터를 주고받는 통신 기술로 전력망 지능화 자체를 가리키는 용어가 아니다 / ③은 디지털 아카이빙은 디지털 자료를 장기 보존하는 기술로 전력망과 무관하다 / ④는 미디어 빅뱅은 미디어 산업의 급격한 변화를 뜻하는 용어로 전력망 기술이 아니다.
다음에서 설명하는 IT 스토리지 기술은? • 가상화를 적용하여 필요한 공간만큼 나눠 사용할 수 있도록 하며 서버 가상화와 유사함 • 컴퓨팅 소프트웨어로 규정하는 데이터 스토리지 체계이며, 일정 조직 내 여러 스토리지를 하나처럼 관리하고 운용하는 컴퓨터 이용 환경 • 스토리지 자원을 효율적으로 나누어 쓰는 방법으로 이해할 수 있음
- ① Software Defined Storage
- ② Distribution Oriented Storage
- ③ Network Architected Storage
- ④ Systematic Network Storage
정답 확인
정답 ① - Software Defined Storage는 여러 스토리지를 소프트웨어로 가상화해 하나처럼 관리하는 기술이다. 오답 노트 - ②는 Distribution Oriented Storage는 표준 스토리지 기술 명칭이 아니다 / ③은 Network Architected Storage는 표준 스토리지 기술 명칭이 아니다 / ④는 Systematic Network Storage는 표준 스토리지 기술 명칭이 아니다.
컴퓨터 운영체제의 커널에 보안 기능을 추가한 것으로 운영체제의 보안상 결함으로 인하여 발생 가능한 각종 해킹으로부터 시스템을 보호하기 위하여 사용되는 것은?
- ① GPIB
- ② CentOS
- ③ XSS
- ④ Secure OS
정답 확인
정답 ④ - Secure OS는 커널에 보안 기능을 추가해 해킹으로부터 시스템을 보호하는 운영체제다. 오답 노트 - ①은 GPIB는 계측기 간 데이터 통신을 위한 병렬 버스 표준으로 운영체제 보안 강화 기술이 아니다 / ②는 CentOS는 리눅스 배포판 중 하나로 커널에 보안 기능을 추가한 전용 보안 OS 개념과는 다르다 / ③은 XSS는 웹 취약점 공격 기법으로 운영체제 보안 강화 기술이 아니다.
구글의 구글 브레인 팀이 제작하여 공개한 기계 학습(Machine Leaming)을 위한 오픈소스 소프트웨어 라이브러리는?
- ① 타조(Tajo)
- ② 원 세그(One Seg)
- ③ 포스퀘어(Foursquare)
- ④ 텐서플로(TensorFlow)
정답 확인
정답 ④ - TensorFlow는 구글 브레인 팀이 공개한 오픈소스 기계학습 라이브러리다. 오답 노트 - ①은 타조(Tajo)는 하둡 기반 대용량 데이터 질의 엔진으로 기계학습 라이브러리가 아니다 / ②는 원 세그(One Seg)는 일본의 모바일 방송 표준으로 기계학습과 무관하다 / ③은 포스퀘어(Foursquare)는 위치 기반 SNS 서비스로 기계학습 라이브러리가 아니다.
침입 차단 시스템(방화벽) 중 다음과 같은 형태의 구축 유형은? (다이어그램: Internet - Router - Bastion Host와 내부 서버들이 함께 위치한 서브넷 - 또 다른 Router - 내부 PC들, 이렇게 라우터 2대 사이에 별도의 완충 네트워크(서브넷)를 두어 베스천 호스트를 배치한 구조)
- ① Block Host
- ② Tree Host
- ③ Screened Subnet
- ④ Ring Homed
정답 확인
정답 ③ - Screened Subnet(스크린 서브넷)은 라우터 2대 사이에 완충 네트워크를 두고 베스천 호스트를 배치하는 방화벽 구축 유형이다. 오답 노트 - ①은 Block Host는 표준 방화벽 구축 유형 명칭이 아니다 / ②는 Tree Host는 표준 방화벽 구축 유형 명칭이 아니다 / ④는 Ring Homed는 표준 방화벽 구축 유형 명칭이 아니다(단일 홈 게이트웨이 방식과 혼동을 노린 오답).
코드의 기입 과정에서 원래 ‘12536’으로 기입되어야 하는데 ‘12936’으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?
- ① Addition Error
- ② Omission Error
- ③ Sequence Error
- ④ Transcription Error
정답 확인
정답 ④ - Transcription Error(오기 오류)는 한 자리 숫자를 다른 숫자로 잘못 기입한 코드 오류다(12536→12936). 오답 노트 - ①은 Addition Error는 코드에 없는 자리가 추가되는 오류(예: 12536→125036)로 자릿수가 늘어나지 않은 이 사례와는 다르다 / ②는 Omission Error는 코드의 한 자리가 누락되는 오류(예: 12536→1536)로 자릿수가 그대로인 이 사례와는 다르다 / ③은 Sequence Error는 코드의 자릿수 순서가 뒤바뀌는 오류(예: 12536→12563)로 숫자 자체가 다른 숫자로 바뀐 이 사례와는 다르다.
다음 내용이 설명하는 것은? 개인과 기업, 국가적으로 큰 위협이 되고 있는 주요 사이버 범죄 중 하나로, Snake, Darkside 등 시스 템을 잠그거나 데이터를 암호화해 사용할 수 없도록 하고 이를 인질로 금전을 요구하는 데 사용되는 악성 프로그램
- ① Format String
- ② Ransomware
- ③ Buffer overflow
- ④ Adware
정답 확인
정답 ② - Ransomware는 데이터를 암호화해 인질로 삼고 금전을 요구하는 악성 프로그램이다. 오답 노트 - ①은 Format String은 서식 문자열 취약점을 이용한 공격 기법으로 데이터 암호화 인질과는 다르다 / ③은 Buffer overflow는 메모리 처리 오류를 이용한 공격 기법으로 금전 요구 악성 프로그램과는 다른 개념이다 / ④는 Adware는 광고를 강제로 노출하는 프로그램으로 데이터를 암호화해 금전을 요구하지 않는다.
소셜 네트워크에서 악의적인 사용자가 지인 또는 특정 유명인으로 가장하여 활동하는 공격 기법은?
- ① TearDrop
- ② Phishing
- ③ Logic Bomb
- ④ Cyberbullying
정답 확인
정답 ② - Phishing은 지인이나 유명인으로 가장해 신뢰를 얻어 정보를 탈취하는 사회공학적 공격이다. 오답 노트 - ①은 TearDrop은 패킷 조각화(Fragmentation) 정보를 조작해 시스템을 마비시키는 공격으로 신원 사칭과는 다르다 / ③은 Logic Bomb은 특정 조건이 충족되면 실행되는 악성코드로 신원 사칭과는 다르다 / ④는 Cyberbullying(사이버 불링)은 온라인에서 지속적으로 괴롭히는 행위로 신원을 사칭하는 공격 기법 자체는 아니다.
비대칭 암호화 방식으로 소수를 활용한 암호화 알고리즘은?
- ① DES
- ② AES
- ③ SMT
- ④ RSA
정답 확인
정답 ④ - RSA는 소수(소인수분해의 어려움)를 활용한 대표적 비대칭키 암호화 알고리즘이다. 오답 노트 - ①은 DES는 대칭키 블록 암호 알고리즘으로 소수를 활용하지 않는다 / ②는 AES는 대칭키 블록 암호 알고리즘으로 소수를 활용하지 않는다 / ③은 SMT는 표준 암호화 알고리즘 명칭이 아니다.
웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격을 유발할 수 있는 취약점은?
- ① Ransomware
- ② Pharming
- ③ Phishing
- ④ XSS
정답 확인
정답 ④ - XSS(Cross Site Scripting)는 웹페이지에 악성 스크립트를 삽입해 사용자 측에서 실행시키는 취약점이다. 오답 노트 - ①은 Ransomware는 데이터를 암호화해 금전을 요구하는 악성 프로그램으로 스크립트 삽입 취약점과는 다르다 / ②는 Pharming은 DNS 조작을 통해 가짜 사이트로 유도하는 공격으로 스크립트 삽입 취약점과는 다르다 / ③은 Phishing은 위장된 이메일·사이트로 정보를 탈취하는 사회공학적 공격으로 스크립트 삽입 취약점과는 다르다.
이용자가 인터넷과 같은 공중망에 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안솔루션은?
- ① ZIGBEE
- ② NDD
- ③ IDS
- ④ VPN
정답 확인
정답 ④ - VPN은 공중망에 사설망처럼 암호화된 전용 통신로를 구축하는 보안 솔루션이다. 오답 노트 - ①은 ZIGBEE는 저전력 근거리 무선 통신 규격으로 사설망 구축 보안 솔루션이 아니다 / ②는 NDD는 표준 보안 솔루션 명칭이 아니다 / ③은 IDS(침입 탐지 시스템)는 비정상적인 접근을 탐지하는 시스템으로 사설망 터널링 구축과는 다른 개념이다.
시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은? • 자신의 신원(Identity)을 시스템에 증명하는 과정이다. • 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
- ① Aging
- ② Accounting
- ③ Authorization
- ④ Authentication
정답 확인
정답 ④ - Authentication(인증)은 아이디·패스워드 등으로 자신의 신원을 시스템에 증명하는 과정이다. 오답 노트 - ①은 Aging은 오래된 데이터·비밀번호를 주기적으로 갱신·만료시키는 정책으로 신원 증명 절차 자체가 아니다 / ②는 Accounting(과금/계정 관리)은 사용자의 자원 사용 내역을 기록하는 절차로 신원 증명과는 다르다 / ③은 Authorization(인가)은 인증된 사용자에게 권한을 부여하는 절차로, 신원을 증명하는 인증(Authentication)과는 순서·역할이 다르다.
다음 설명에 해당하는 암호화 알고리즘은? • DES의 보안 문제를 해결하기 위해 개발되었다. • NIST에서 개발한 개인키 암호화 알고리즘이다.
- ① ARIA
- ② AES
- ③ DSA
- ④ SEED
정답 확인
정답 ② - AES는 DES의 보안 문제를 해결하기 위해 NIST가 채택한 개인키(대칭키) 암호화 알고리즘이다. 오답 노트 - ①은 ARIA는 한국에서 개발된 대칭키 블록 암호 알고리즘으로 NIST가 개발한 알고리즘이 아니다 / ③은 DSA는 전자서명을 위한 알고리즘으로 DES를 대체하는 개인키 암호화 알고리즘이 아니다 / ④는 SEED는 한국인터넷진흥원이 개발한 대칭키 블록 암호 알고리즘으로 NIST가 개발한 알고리즘이 아니다.
시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소는?
- ① 기밀성
- ② 부인방지
- ③ 가용성
- ④ 무결성
정답 확인
정답 ④ - 무결성은 인가된 사용자만 정보를 수정할 수 있도록 보장하는 보안 요소다. 오답 노트 - ①은 기밀성은 인가된 사용자만 정보에 접근(열람)할 수 있도록 하는 요소로 수정 권한 통제와는 다른 개념이다 / ②는 부인방지는 송수신 사실을 나중에 부인할 수 없도록 하는 요소로 수정 권한 통제와는 다른 개념이다 / ③은 가용성은 필요할 때 정보에 접근할 수 있도록 보장하는 요소로 수정 권한 통제와는 다른 개념이다.
다음 내용이 설명하는 로그 파일은? • 리눅스 시스템에서 사용자의 성공한 로그인/로그아웃 정보기록 • 시스템의 종료/시작 시간 기록
- ① tapping
- ② xtslog
- ③ linuxer
- ④ wtmp
정답 확인
정답 ④ - wtmp는 리눅스에서 사용자의 로그인/로그아웃 및 시스템 시작/종료 시간을 기록하는 로그 파일이다. 오답 노트 - ①은 tapping은 표준 리눅스 로그 파일 명칭이 아니다 / ②는 xtslog는 표준 리눅스 로그 파일 명칭이 아니다 / ③은 linuxer는 표준 리눅스 로그 파일 명칭이 아니다.
메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?
- ① 모드체크
- ② 리커버리 통제
- ③ 시스로그
- ④ 스택가드
정답 확인
정답 ④ - 스택가드는 복귀 주소 옆에 특정 값을 저장해 두어 값 변경 시 오버플로우로 판단하고 실행을 중단시키는 기법이다. 오답 노트 - ①은 모드체크는 표준 보안 기법 명칭이 아니다 / ②는 리커버리 통제는 장애 발생 후 복구를 위한 통제로 오버플로 탐지 기법과는 다르다 / ③은 시스로그(Syslog)는 시스템 로그를 수집·기록하는 프로토콜로 오버플로 탐지·중단 기법과는 다르다.
위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격은?
- ① Parsing
- ② LAN Tapping
- ③ Switch Jamming
- ④ FTP Flooding
정답 확인
정답 ③ - Switch Jamming은 위조 MAC 주소를 대량 전송해 스위치를 더미 허브처럼 만드는 공격이다. 오답 노트 - ①은 Parsing은 데이터를 분석해 구조화하는 처리 과정으로 스위치 공격 기법이 아니다 / ②는 LAN Tapping은 네트워크 케이블에서 신호를 도청하는 공격으로 MAC 테이블 혼란과는 다른 기법이다 / ④는 FTP Flooding은 FTP 서비스에 과도한 요청을 보내는 공격으로 스위치 MAC 테이블 혼란과는 다른 기법이다.
다음 설명에 해당하는 공격 기법은? 시스템 공격 기법 중 하나로 허용 범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비 시킨다.
- ① Ping of Death
- ② Session Hijacking
- ③ Piggyback Attack
- ④ XSS
정답 확인
정답 ① - Ping of Death는 허용 범위 이상의 ICMP 패킷을 보내 네트워크를 마비시키는 공격이다. 오답 노트 - ②는 Session Hijacking은 세션을 가로채 정당한 사용자인 것처럼 위장하는 공격으로 ICMP 패킷 크기와는 무관하다 / ③은 Piggyback Attack은 인증된 사용자를 따라 들어가 인가받지 않은 접근을 하는 공격으로 ICMP 패킷 공격과는 다르다 / ④는 XSS는 웹페이지에 악성 스크립트를 삽입하는 공격으로 ICMP 패킷 크기 공격과는 다르다.
시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호 공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?
- ① Pass flag
- ② Bucket
- ③ Opcode
- ④ Salt
정답 확인
정답 ④ - Salt는 동일 패스워드가 다른 해시 값으로 저장되도록 추가하는 값으로, 암호 공격을 방지한다. 오답 노트 - ①은 Pass flag는 표준 보안 용어가 아니다 / ②는 Bucket은 해싱에서 데이터가 저장되는 공간을 의미하며 패스워드에 추가하는 값과는 다른 개념이다 / ③은 Opcode는 명령어의 연산 코드를 의미하며 패스워드 해시 강화 값과는 무관하다.
컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹공격은?
- ① Key Logger Attack
- ② Worm
- ③ Rollback
- ④ Zombie Worm
정답 확인
정답 ① - Key Logger Attack은 키보드 입력을 탐지해 ID·패스워드 등을 몰래 빼가는 해킹 공격이다. 오답 노트 - ②는 Worm은 취약점을 이용해 스스로 전파·증식하는 악성코드로 키보드 입력을 탈취하는 방식과는 다르다 / ③은 Rollback은 트랜잭션을 원상 복귀시키는 연산으로 정보 탈취 공격과는 무관하다 / ④는 Zombie Worm은 표준 악성코드 분류 명칭이 아니다(좀비 PC와 웜을 혼합한 오답 보기).
IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의상태를 불능으로 만드는 공격 방법은?
- ① TearDrop
- ② Smishing
- ③ Qshing
- ④ Smurfing
정답 확인
정답 ④ - Smurfing은 IP/ICMP 특성을 악용해 특정 사이트에 데이터를 집중시켜 마비시키는 공격이다. 오답 노트 - ①은 TearDrop은 패킷 조각화 정보를 조작해 시스템을 마비시키는 공격으로 트래픽 집중 공격과는 다른 기법이다 / ②는 Smishing은 문자메시지를 이용한 피싱 공격으로 IP/ICMP 트래픽 집중 공격과는 다르다 / ③은 Qshing은 QR코드를 이용한 피싱 공격으로 IP/ICMP 트래픽 집중 공격과는 다르다.
악성코드의 유형 중 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식하는 것은?
- ① Worm
- ② Rogue Ware
- ③ Adware
- ④ Reflection Attack
정답 확인
정답 ① - Worm은 취약점을 이용해 스스로 전파·증식하는 악성코드다. 오답 노트 - ②는 Rogue Ware는 가짜 보안 프로그램으로 사용자를 속이는 악성 소프트웨어로 취약점을 통한 자기복제·전파와는 다르다 / ③은 Adware는 광고를 강제로 노출하는 프로그램으로 자기복제·전파 방식과는 다르다 / ④는 Reflection Attack은 반사 서버를 이용해 트래픽을 증폭시키는 공격으로 자기복제 악성코드와는 다른 개념이다.
특정 사이트에 매우 많은 ICMP Echo를 보내면, 이에 대한 응답(Respond)을 하기 위해 시스템 자원을 모두 사용해버려 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법은?
- ① Role-Based Access Control
- ② Ping Flood
- ③ Brute-Force
- ④ Trojan Horses
정답 확인
정답 ② - Ping Flood는 많은 ICMP Echo를 보내 시스템 자원을 소진시켜 정상 동작을 방해하는 공격이다. 오답 노트 - ①은 Role-Based Access Control은 역할 기반 접근 통제 방식으로 공격 기법이 아니다 / ③은 Brute-Force는 모든 경우의 수를 대입해 암호를 알아내는 공격으로 ICMP 자원 소진 공격과는 다르다 / ④는 Trojan Horses는 정상 프로그램으로 위장해 침투하는 악성코드로 ICMP 자원 소진 공격과는 다르다.
소프트웨어 공학에서 워크스루(Walkthrough)에 대한 설명으로 틀린 것은?
- ① 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
- ② 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
- ③ 인스펙션(Inspection)과 동일한 의미를 가진다.
- ④ 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
정답 확인
정답 ③ - 워크스루와 인스펙션은 절차가 다른 별개의 정적 검토 기법이다. 오답 노트 - ①은 워크스루가 요구사항, 설계 다이어그램, 원시코드, 테스트 케이스 등에 폭넓게 적용될 수 있다는 옳은 설명이라 오답 / ②는 복잡한 로직·병행처리 이해에 유용하다는 옳은 설명이라 오답 / ④는 준비된 테스트 케이스로 수작업 시연하는 워크스루의 실제 방식을 설명한 옳은 내용이라 오답.
애자일 방법론에 해당하지 않는 것은?
- ① 기능 중심 개발
- ② 개발 및 검증
- ③ 익스트림 프로그래밍
- ④ 칸반
정답 확인
정답 ② - "개발 및 검증"은 실존하는 애자일 방법론 명칭이 아니다. 오답 노트 - ①기능 중심 개발(FDD)은 실제 애자일 방법론이라 오답 / ③익스트림 프로그래밍(XP)은 실제 애자일 방법론이라 오답 / ④칸반(Kanban)은 실제 애자일 방법론이라 오답.
익스트림 프로그래밍에 대한 설명으로 틀린 것은?
- ① 대표적인 구조적 방법론 중 하나이다.
- ② 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
- ③ 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
- ④ 구체적인 실천 방법을 정의하고 있으며 개발 문서 보다는 소스 코드에 중점을 둔다.
정답 확인
정답 ① - XP는 애자일 방법론이며 구조적 방법론이 아니다. 오답 노트 - ②는 소규모·요구 변경이 잦은 환경에 적합하다는 옳은 설명이라 오답 / ③은 상식·경험을 최대한 끌어올린다는 XP의 실제 원리를 설명한 옳은 내용이라 오답 / ④는 문서보다 소스 코드를 중시한다는 XP의 실제 특징이라 오답.
럼바우(Rumbaugh) 분석 기법에서 정보 모델링이라고도 하며, 시스템에서 요구되는 객체를 찾아내어 속성과 연산 식별 및 객체들 간의 관계를 규정하여 다이어그램을 표시하는 모델링은?
- ① Object
- ② Dynamic
- ③ Function
- ④ Static
정답 확인
정답 ① - 객체 모델링(Object Modeling)은 시스템의 정적 구조(객체·속성·관계)를 나타내는 정보 모델링이다. 오답 노트 - ②Dynamic(동적 모델링)은 시간 흐름에 따른 객체의 상태 변화를 표현하는 모델링이라 오답 / ③Function(기능 모델링)은 데이터 흐름과 변환 과정을 표현하는 모델링이라 오답 / ④Static은 럼바우가 제시한 3대 모델링(Object·Dynamic·Function) 명칭에 해당하지 않아 오답.
설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
- ① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
- ② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 필요하다.
- ③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
- ④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
정답 확인
정답 ④ - 상향식 설계는 인터페이스가 미리 정의되지 않아 기능 추가·통합이 오히려 어렵다. 오답 노트 - ①은 하향식 설계가 인터페이스를 먼저 정의해 통합이 간단하다는 옳은 설명이라 오답 / ②는 하향식 설계에서 세부 데이터 구조가 설계 초기에 필요하다는 옳은 설명이라 오답 / ③은 상향식 설계가 최하위 모듈부터 설계·결합해 검사한다는 옳은 설명이라 오답.
요구사항 명세에 대한 설명으로 틀린 것은?
- ① 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것이다.
- ② 기능 요구사항은 빠짐없이 완전하고 명확하게 기술해야 한다.
- ③ 잘못된 부분이 확인될 경우 그 내용을 요구사항 정의서에서 추적할 수 있어야 한다.
- ④ 구체적인 명세를 위해 자료 사전(DD)가 사용될 수 있다.
정답 확인
정답 ④ - 이 선지는 오히려 옳은 설명이며(자료 사전은 실제로 명세에 사용됨), 출제 의도상 나머지 셋보다 상대적으로 부정확한 서술로 처리된 문항이다. (공식 정답 기준 ④) 오답 노트 - ①은 요구사항 명세가 분석 결과를 모델화·문서화하는 작업이라는 옳은 설명이라 오답 / ②는 기능 요구사항을 완전하고 명확하게 기술해야 한다는 옳은 설명이라 오답 / ③은 요구사항 정의서에서 추적 가능해야 한다는 옳은 설명이라 오답.
바람직한 소프트웨어 설계 지침이 아닌 것은?
- ① 결합도를 최소화하고 응집도를 최대화한다.
- ② 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
- ③ 하나의 입구와 하나의 출구를 갖도록 해야 한다.
- ④ 모듈의 크기를 가능한 작게 구성하여 병행성 수준을 높여야 한다.
정답 확인
정답 ④ - 모듈 크기와 병행성 수준은 직접적인 설계 지침 관계가 아니다. 오답 노트 - ①은 결합도 최소화·응집도 최대화라는 실제 설계 지침이라 오답 / ②는 복잡도·중복성 감소, 일관성 유지라는 실제 설계 지침이라 오답 / ③은 단일 입구·단일 출구 원칙이라는 실제 설계 지침이라 오답.
UML(Unified Modeling Language)에 대한 설명 중 틀린 것은?
- ① 기능적 모델은 사용자 측면에서 본 시스템 기능이며, UML에서는 Use Case Diagram을 사용한다.
- ② 정적 모델은 객체, 속성, 연관관계, 오퍼레이션 등 시스템의 구조를 나타내며, UML에서는 Class Diagram을 사용한다.
- ③ 동적 모델은 시스템의 내부 동작을 말하며, UML에서는 Sequence Diagram, State Diagram, Activity Diagram을 사용한다.
- ④ State Diagram은 객체들 사이의 메시지 교환을 나타내며, Sequence Diagram은 하나의 객체가 가진 상태와 그 상태의 변화에 의한 동작 순서를 나타낸다.
정답 확인
정답 ④ - 두 다이어그램의 설명이 서로 뒤바뀌었다(State=상태, Sequence=메시지 교환). 오답 노트 - ①은 기능적 모델=Use Case Diagram이라는 옳은 설명이라 오답 / ②는 정적 모델=Class Diagram이라는 옳은 설명이라 오답 / ③은 동적 모델=Sequence·State·Activity Diagram이라는 옳은 설명이라 오답.
코드 설계에서 일정한 일련번호를 부여하는 방식의 코드는?
- ① 연상 코드
- ② 블록 코드
- ③ 순차 코드
- ④ 표의 숫자 코드
정답 확인
정답 ③ - 순차 코드(Sequence Code)는 발생 순서대로 일련번호를 부여하는 방식이다. 오답 노트 - ①연상 코드는 코드에서 대상의 특성을 유추할 수 있도록 구성하는 방식이라 오답 / ②블록 코드는 공통 특성의 항목들을 블록으로 구분해 코드화하는 방식이라 오답 / ④표의 숫자 코드는 대상의 속성을 여러 자리 숫자로 조합해 표현하는 방식이라 오답.
시스템의 구성 요소로 볼 수 없는 것은?
- ① Process
- ② Feedback
- ③ Maintenance
- ④ Control
정답 확인
정답 ③ - 시스템 구성요소는 Input, Process, Output, Feedback, Control 등이며 Maintenance는 해당하지 않는다. 오답 노트 - ①Process는 입력을 처리하는 실제 시스템 구성요소라 오답 / ②Feedback은 출력을 재입력해 조정하는 실제 시스템 구성요소라 오답 / ④Control은 목표에 맞게 시스템을 통제하는 실제 구성요소라 오답.
파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
- ① 노드와 간선으로 구성된다.
- ② 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
- ③ 계층 모델이라고도 한다.
- ④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
정답 확인
정답 ② - 파이프-필터 구조의 핵심은 필터가 데이터를 처리해 파이프로 다음 필터에 전달하는 것이다. 오답 노트 - ①노드와 간선 구성은 그래프·네트워크 구조의 설명이라 오답 / ③계층 모델은 Layered 아키텍처의 별칭이라 오답 / ④모델-뷰-제어 3개 서브시스템 구성은 MVC 아키텍처의 설명이라 오답.
데이터 흐름도(DFD)의 구성 요소에 포함되지 않는 것은?
- ① Data Flow
- ② Data Dictionary
- ③ Process
- ④ Data Store
정답 확인
정답 ② - Data Dictionary(자료 사전)는 DFD를 보완하는 별도의 명세 도구이지 DFD 구성요소가 아니다. 오답 노트 - ①Data Flow(자료 흐름)는 DFD의 실제 구성요소라 오답 / ③Process(처리)는 DFD의 실제 구성요소라 오답 / ④Data Store(자료 저장소)는 DFD의 실제 구성요소라 오답.
사용자 인터페이스의 설계 지침에 대한 설명으로 옳지 않은 것은?
- ① 조작 방법을 가능한 다양화하여 많은 기능이 들어갈 수 있도록 구성해야 한다.
- ② 버튼이나 조작 방법 등을 일관성 있게 제공해야 한다.
- ③ 작동시킬 기능만 보고도 결과를 미리 예측할 수 있게 설계해야 한다.
- ④ 사용자가 쉽게 이해하고 편리하게 사용할 수 있는 환경을 제공해야 한다.
정답 확인
정답 ① - UI는 조작 방법을 단순화·일관화해야 하며, 다양화가 지침이 아니다. 오답 노트 - ②는 조작 방법의 일관성 제공이라는 실제 설계 지침이라 오답 / ③은 직관적 예측 가능성이라는 실제 설계 지침이라 오답 / ④는 사용자 편의성 제공이라는 실제 설계 지침이라 오답.
UI 설계 원칙에서 누구나 쉽게 이해하고 사용할 수 있어야 한다는 것은?
- ① 유효성
- ② 직관성
- ③ 학습성
- ④ 유연성
정답 확인
정답 ② - 직관성은 누구나 쉽게 이해·사용 가능해야 한다는 UI 설계 원칙이다. 오답 노트 - ①유효성은 UI가 정확하고 완전한 기능을 수행해야 한다는 원칙이라 오답 / ③학습성은 초보자도 짧은 시간 안에 배울 수 있어야 한다는 별개 원칙이라 오답 / ④유연성은 사용자의 다양한 요구와 환경을 수용할 수 있어야 한다는 별개 원칙이라 오답.
디자인 패턴 사용의 장단점에 대한 설명으로 거리가 먼 것은?
- ① 소프트웨어 구조 파악이 용이하다.
- ② 초기 투자 비용 및 개발 시간이 절약된다.
- ③ 재사용을 위한 개발 시간이 단축된다.
- ④ 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
정답 확인
정답 ② - 디자인 패턴 도입은 오히려 초기 학습·설계 비용이 발생할 수 있어 "초기 비용 절약"은 장점으로 보기 어렵다. 오답 노트 - ①은 실제 장점(구조 파악 용이)이라 오답 / ③은 실제 장점(재사용으로 개발 시간 단축)이라 오답 / ④는 실제 장점(객체지향 설계·구현 생산성 향상)이라 오답.
UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?
- ① 생명선
- ② 실행
- ③ 확장
- ④ 메시지
정답 확인
정답 ③ - "확장(Extend)"은 Use Case Diagram의 관계 요소이지 시퀀스 다이어그램 구성 항목이 아니다. 오답 노트 - ①생명선(Lifeline)은 시퀀스 다이어그램의 실제 구성요소라 오답 / ②실행(Activation)은 시퀀스 다이어그램의 실제 구성요소라 오답 / ④메시지는 시퀀스 다이어그램의 핵심 구성요소라 오답.
소프트웨어 설계에서 각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미하는 것은?
- ① 모듈 분해
- ② 클래스 도출
- ③ 연관 관계
- ④ 디자인 패턴
정답 확인
정답 ④ - 디자인 패턴은 반복되는 설계 문제에 대한 전형적인 해결책 템플릿이다. 오답 노트 - ①모듈 분해는 시스템을 하위 모듈로 나누는 설계 활동이라 오답 / ②클래스 도출은 객체지향 분석에서 클래스를 식별하는 작업이라 오답 / ③연관 관계는 클래스 간의 관계를 정의하는 것이라 오답.
소프트웨어 모델링과 관련한 설명으로 틀린 것은?
- ① 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
- ② 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구사항의 결과를 표현한다.
- ③ 객체지향 방법론에서는 UML 표기법을 사용한다.
- ④ 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
정답 확인
정답 ① - 모델링 산출물은 후속 모델링 작업의 입력이 되어 서로 영향을 준다. 오답 노트 - ②는 구조적 방법론이 DFD·DD를 사용한다는 옳은 설명이라 오답 / ③은 객체지향 방법론이 UML을 사용한다는 옳은 설명이라 오답 / ④는 모델이 이해도·의사소통 향상에 도움된다는 옳은 설명이라 오답.
UML 모델에서 사용하는 구조적 다이어그램에 속하지 않은 것은?
- ① State Diagram
- ② Object Diagram
- ③ Component Diagram
- ④ Class Diagram
정답 확인
정답 ① - State Diagram은 행위(동적) 다이어그램에 속한다. 오답 노트 - ②Object Diagram은 구조적 다이어그램이라 오답 / ③Component Diagram은 구조적 다이어그램이라 오답 / ④Class Diagram은 구조적 다이어그램이라 오답.
객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?
- ① Method
- ② Class
- ③ Field
- ④ Message
정답 확인
정답 ② - 클래스는 공통 속성·행위를 갖는 객체들을 추상화한 템플릿이다. 오답 노트 - ①Method는 클래스가 갖는 동작(연산)이지 추상화 자체가 아니라 오답 / ③Field는 클래스의 속성(데이터) 항목이지 추상화 자체가 아니라 오답 / ④Message는 객체 간 주고받는 요청 신호이지 추상화 자체가 아니라 오답.
소스 코드 품질 분석 도구 중 정적 분석 도구가 아닌 것은?
- ① pmd
- ② cppcheck
- ③ valMeter
- ④ checkstyle
정답 확인
정답 ③ - valMeter는 실존하지 않는 도구명이다. pmd, cppcheck, checkstyle은 실제 정적 분석 도구다. 오답 노트 - ①pmd는 실제 Java 코드 품질 정적 분석 도구라 오답 / ②cppcheck는 실제 C/C++ 코드 정적 분석 도구라 오답 / ④checkstyle은 실제 Java 코딩 표준 정적 분석 도구라 오답.
White Box Testing에 대한 설명으로 옳지 않은 것은?
- ① Base Path Testing, Boundary Value Analysis가 대표적인 기법이다.
- ② Source Code의 모든 문장을 한 번 이상 수행함으로써 진행된다.
- ③ 모듈 안의 작동을 직접 관찰할 수 있다.
- ④ 산출물의 각 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.
정답 확인
정답 ① - Boundary Value Analysis(경계값 분석)는 대표적인 블랙박스 테스트 기법이다. 오답 노트 - ②는 모든 문장을 한 번 이상 수행한다는 화이트박스 테스트의 옳은 설명이라 오답 / ③은 모듈 내부 작동을 직접 관찰한다는 옳은 설명이라 오답 / ④는 제어 구조에 따른 논리적 경로 점검이라는 옳은 설명이라 오답.
소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다는 법칙은?
- ① Brooks의 법칙
- ② Boehm의 법칙
- ③ Pareto의 법칙
- ④ Jackson의 법칙
정답 확인
정답 ③ - 80:20 법칙으로 알려진 파레토 법칙이다. 오답 노트 - ①Brooks의 법칙은 "지연된 프로젝트에 인력을 추가하면 오히려 더 늦어진다"는 법칙이라 오답 / ②Boehm의 법칙은 결함을 늦게 발견할수록 수정 비용이 커진다는 법칙이라 오답 / ④Jackson의 법칙은 이 80:20 오류 분포와 관련된 표준 용어가 아니라 오답.
다음 트리의 차수(degree)는?
A
/ \
B C
/ | \ \
D E F G
/ \
H I
- ① 2
- ② 3
- ③ 4
- ④ 5
정답 확인
정답 ② - 트리의 차수는 노드가 가질 수 있는 최대 자식 수이며, 노드 B가 D,E,F 3개의 자식을 가져 차수는 3이다. 오답 노트 - ①2는 실제 최대 자식 수(3)보다 작은 값이라 오답 / ③4·④5는 실제 최대 자식 수(3)보다 큰 값이라 오답.
디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?
- ① 콘텐츠 암호화 및 키 관리
- ② 콘텐츠 식별체계 표현
- ③ 콘텐츠 오류 감지 및 복구
- ④ 라이센스 발급 및 관리
정답 확인
정답 ③ - 오류 감지·복구는 DRM 핵심 기술이 아니며, DRM은 암호화·식별·인증·라이선스 관리 중심이다. 오답 노트 - ①콘텐츠 암호화 및 키 관리는 DRM 핵심 기술이라 오답 / ②콘텐츠 식별체계 표현은 DRM 핵심 기술이라 오답 / ④라이선스 발급·관리는 DRM 핵심 기술이라 오답.
다음 자료에 대하여 "Selection Sort"를 사용하여 오름차순으로 정렬한 경우 PASS 3의 결과는? (초기상태: 8, 3, 4, 9, 7)
- ① 3, 4, 7, 9, 8
- ② 3, 4, 8, 9, 7
- ③ 3, 8, 4, 9, 7
- ④ 3, 4, 7, 8, 9
정답 확인
정답 ① - PASS1: 3,8,4,9,7 → PASS2: 3,4,8,9,7 → PASS3: 3,4,7,9,8 (남은 구간의 최솟값 7을 세 번째 자리로 이동). 오답 노트 - ②는 PASS2 결과를 PASS3으로 잘못 표기한 값이라 오답 / ③은 정렬 진행이 반영되지 않은 배치라 오답 / ④는 PASS4~5까지 진행된 최종 정렬 결과라 PASS3에는 해당하지 않아 오답.
소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?
- ① 품질 높은 소프트웨어 상품 개발
- ② 지속적인 검증 시행
- ③ 결과에 대한 명확한 기록 유지
- ④ 최대한 많은 인력 투입
정답 확인
정답 ④ - 인력을 무작정 늘리는 것은 소프트웨어 공학 원칙이 아니며 오히려 생산성을 저해할 수 있다(브룩스의 법칙). 오답 노트 - ①은 품질 높은 상품 개발이라는 실제 원칙이라 오답 / ②는 지속적인 검증 시행이라는 실제 원칙이라 오답 / ③은 결과에 대한 명확한 기록 유지라는 실제 원칙이라 오답.
빌드 자동화 도구에 대한 설명으로 틀린 것은?
- ① Gradle은 실행할 처리 명령들을 모아 태스크로 만든 후 태스크 단위로 실행한다.
- ② 빌드 자동화 도구는 지속적인 통합 개발 환경에서 유용하게 활용된다.
- ③ 빌드 자동화 도구에는 Ant, Gradle, Jenkins 등이 있다.
- ④ Jenkins는 Groovy를 기반으로 한 오픈 소스로 안드로이드 앱 개발 환경에서 사용된다.
정답 확인
정답 ④ - Groovy 기반 DSL 특징은 Gradle의 설명이며, Jenkins는 Java 기반 CI/CD 서버다. 오답 노트 - ①은 Gradle이 태스크 단위로 실행된다는 옳은 설명이라 오답 / ②는 빌드 자동화 도구가 CI 환경에서 유용하다는 옳은 설명이라 오답 / ③은 Ant·Gradle·Jenkins가 실제 빌드 도구군에 속한다는 옳은 설명이라 오답.
소프트웨어 형상 관리에서 관리 항목에 포함되지 않는 것은?
- ① 운영 및 설치 지침서
- ② 프로젝트 개발 비용
- ③ 소스 코드
- ④ 프로젝트 요구 분석서
정답 확인
정답 ② - 개발 비용은 형상관리 대상(산출물)이 아니라 프로젝트 관리 영역이다. 오답 노트 - ①운영·설치 지침서는 형상관리 대상 산출물이라 오답 / ③소스 코드는 대표적 형상관리 대상이라 오답 / ④요구 분석서는 형상관리 대상 산출물이라 오답.
EAI(Enterprise Application Integration) 구축 유형 중 Hybrid에 대한 설명으로 틀린 것은?
- ① Hub & Spoke와 Message Bus의 혼합 방식이다.
- ② 필요한 경우 한 가지 방식으로 EAI 구현이 가능하다.
- ③ 데이터 병목 현상을 최소화할 수 있다.
- ④ 중간에 미들웨어를 두지 않고 각 애플리케이션을 point to point로 연결한다.
정답 확인
정답 ④ - 미들웨어 없이 point-to-point로 연결하는 것은 Point-to-Point 유형의 설명이지 Hybrid가 아니다. 오답 노트 - ①은 Hub&Spoke와 Message Bus의 혼합이라는 옳은 설명이라 오답 / ②는 필요시 한 방식만으로도 구현 가능하다는 옳은 설명이라 오답 / ③은 병목 현상을 최소화할 수 있다는 옳은 설명이라 오답.
자료 구조에 대한 설명으로 틀린 것은?
- ① 큐는 비선형 구조에 해당한다.
- ② 큐는 First In – First Out 처리를 수행한다.
- ③ 스택은 Last In – First Out 처리를 수행한다.
- ④ 스택은 서브루틴 호출, 인터럽트 처리, 수식 계산 및 수식 표기법에 응용된다.
정답 확인
정답 ① - 큐는 선형 구조(Linear Structure)에 해당한다. 오답 노트 - ②는 큐가 FIFO 처리를 수행한다는 옳은 설명이라 오답 / ③은 스택이 LIFO 처리를 수행한다는 옳은 설명이라 오답 / ④는 스택이 서브루틴 호출·인터럽트·수식 계산에 응용된다는 옳은 설명이라 오답.
그래프의 특수한 형태로 노드(Node)와 선분(Branch)으로 되어 있고, 정점 사이에 사이클(Cycle)이 형성되어 있지 않으며 자료 사이의 관계성이 계층 형식으로 나타나는 비선형 구조는?
- ① tree
- ② network
- ③ stack
- ④ distributed
정답 확인
정답 ① - 사이클이 없고 계층적인 비선형 구조는 트리(tree)이다. 오답 노트 - ②network(그래프)는 사이클이 허용되는 구조라 오답 / ③stack은 선형 자료구조라 오답 / ④distributed는 자료구조 분류 용어가 아니라 오답.
테스트와 디버그의 목적으로 옳은 것은?
- ① 테스트는 오류를 수정하는 작업이고 디버깅은 오류를 찾는 작업이다.
- ② 둘 다 소프트웨어 오류의 발견, 수정과 무관하다.
- ③ 테스트는 오류를 찾는 작업이고 디버깅은 오류를 수정하는 작업이다.
- ④ 둘 다 소프트웨어의 오류를 찾는 작업으로 오류 수정은 하지 않는다.
정답 확인
정답 ③ - 테스트는 결함 발견, 디버깅은 발견된 결함의 원인 파악·수정이 목적이다. 오답 노트 - ①은 테스트·디버깅의 정의가 서로 뒤바뀐 설명이라 오답 / ②는 둘 다 오류의 발견·수정과 밀접히 관련되므로 오답 / ④는 디버깅에서 실제로 오류를 수정하므로 오답.
인터페이스 구현 검증 도구가 아닌 것은?
- ① Foxbase
- ② STAF
- ③ watir
- ④ xUnit
정답 확인
정답 ① - Foxbase는 과거 PC용 데이터베이스 관리 프로그램으로 인터페이스 검증 도구가 아니다. 오답 노트 - ②STAF는 실제 인터페이스 테스트 자동화 프레임워크라 오답 / ③watir는 실제 웹 애플리케이션 테스트 도구라 오답 / ④xUnit은 실제 단위·인터페이스 테스트 프레임워크군이라 오답.
소프트웨어 패키징에 대한 설명으로 틀린 것은?
- ① 패키징은 개발자 중심으로 진행한다.
- ② 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징 한다.
- ③ 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
- ④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 확인
정답 ① - 소프트웨어 패키징은 사용자(고객) 중심으로 진행해야 한다. 오답 노트 - ②는 신규·변경 소스를 식별해 모듈화한다는 옳은 설명이라 오답 / ③은 매뉴얼·버전관리를 지속한다는 옳은 설명이라 오답 / ④는 범용 배포 형태로 패키징이 진행된다는 옳은 설명이라 오답.
소프트웨어 품질 목표 중 하나 이상의 하드웨어 환경에서 운용되기 위해 쉽게 수정될 수 있는 시스템 능력을 의미하는 것은?
- ① Correctness
- ② Portability
- ③ Efficiency
- ④ Usability
정답 확인
정답 ② - 이식성(Portability)은 다양한 하드웨어 환경에 쉽게 적응할 수 있는 능력이다. 오답 노트 - ①Correctness(정확성)는 명세된 기능을 충족하는 능력이라 오답 / ③Efficiency(효율성)는 최소 자원으로 기능을 수행하는 능력이라 오답 / ④Usability(사용성)는 사용자가 쉽게 사용할 수 있는 능력이라 오답.
개별 모듈을 시험하는 것으로, 모듈이 정확하게 구현되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주목적인 테스트는?
- ① 통합 테스트(Integration Test)
- ② 단위 테스트(Unit Test)
- ③ 시스템 테스트(System Test)
- ④ 인수 테스트(Acceptance Test)
정답 확인
정답 ② - 개별 모듈 단위의 검증은 단위 테스트다. 오답 노트 - ①통합 테스트는 모듈 간 인터페이스 결합을 검증하는 테스트라 오답 / ③시스템 테스트는 전체 시스템의 요구사항 충족 여부를 검증하는 테스트라 오답 / ④인수 테스트는 고객의 인수 여부를 판단하는 테스트라 오답.
소프트웨어 테스트에서 검증(Verification)과 확인(Validation)에 대한 설명으로 틀린 것은?
- ① 소프트웨어 테스트에서 검증과 확인을 구별하면 찾고자 하는 결함 유형을 명확하게 하는 데 도움이 된다.
- ② 검증은 소프트웨어 개발 과정을 테스트하는 것이고, 확인은 소프트웨어 결과를 테스트하는 것이다.
- ③ 검증은 작업 제품이 요구 명세의 기능, 비기능 요구사항을 얼마나 잘 준수하는지 측정하는 작업이다.
- ④ 검증은 작업 제품이 사용자의 요구에 적합한지 측정하며, 확인은 작업 제품이 개발자의 기대를 충족시키는지를 측정한다.
정답 확인
정답 ④ - 검증(개발자 관점: 명세 준수)과 확인(사용자 관점: 요구 충족)의 정의가 서로 바뀌어 서술됐다. 오답 노트 - ①은 검증·확인을 구별하면 결함 유형이 명확해진다는 옳은 설명이라 오답 / ②는 검증=개발과정, 확인=결과라는 옳은 설명이라 오답 / ③은 검증이 요구 명세 준수 여부를 측정한다는 옳은 설명이라 오답.
테스트를 목적에 따라 분류했을 때, 강도(Stress) 테스트에 대한 설명으로 옳은 것은?
- ① 시스템에 고의로 실패를 유도하고 시스템이 정상적으로 복귀하는지 테스트한다.
- ② 시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지를 테스트한다.
- ③ 사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 테스트한다.
- ④ 부당하고 불법적인 침입을 시도하여 보안시스템이 불법적인 침투를 잘 막아내는지 테스트한다.
정답 확인
정답 ② - 강도 테스트는 과부하 상황에서도 시스템이 정상 동작하는지를 검증한다. (①은 복구 테스트, ③은 성능 테스트, ④는 보안 테스트) 오답 노트 - ①은 복구 테스트(Recovery Test)의 설명이라 오답 / ③은 성능 테스트(Performance Test)의 설명이라 오답 / ④는 보안 테스트(Security Test)의 설명이라 오답.
프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?
- ① 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
- ② 이해하기 쉽고 코드 변환이 용이하다.
- ③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
- ④ 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
정답 확인
정답 ③ - NS Chart는 화살표나 GOTO를 사용하지 않는 것이 핵심 특징이다. 오답 노트 - ①은 논리 기술 중심의 도형 표현이라는 옳은 설명이라 오답 / ②는 이해·코드 변환이 용이하다는 옳은 설명이라 오답 / ④는 연속·선택·반복 구조를 표현한다는 옳은 설명이라 오답.
데이터 제어 언어(DCL)의 기능으로 옳지 않은 것은?
- ① 데이터 보안
- ② 논리적, 물리적 데이터 구조 정의
- ③ 무결성 유지
- ④ 병행수행 제어
정답 확인
정답 ② - 데이터 구조 정의는 DDL의 기능이다. 오답 노트 - ①데이터 보안은 DCL(GRANT/REVOKE)의 실제 기능이라 오답 / ③무결성 유지는 DCL의 실제 기능이라 오답 / ④병행수행 제어는 DCL의 실제 기능이라 오답.
병행제어의 로킹(Locking) 단위에 대한 설명으로 옳지 않은 것은?
- ① 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
- ② 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.
- ③ 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.
- ④ 한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 한다.
정답 확인
정답 ② - 로킹 단위가 작아지면 병행성은 높아지지만 로킹 오버헤드는 오히려 증가한다. 오답 노트 - ①은 DB·파일·레코드 모두 로킹 단위가 될 수 있다는 옳은 설명이라 오답 / ③은 로킹 단위가 작아지면 공유도가 증가한다는 옳은 설명이라 오답 / ④는 로킹 단위의 정의를 옳게 설명한 것이라 오답.
이행적 함수 종속 관계를 의미하는 것은?
- ① A → B이고 B → C일 때, A → C를 만족하는 관계
- ② A → B이고 B → C일 때, C → A를 만족하는 관계
- ③ A → B이고 B → C일 때, B → A를 만족하는 관계
- ④ A → B이고 B → C일 때, C → B를 만족하는 관계
정답 확인
정답 ① - A→B, B→C이면 A→C가 성립하는 것이 이행적 함수 종속이다. 오답 노트 - ②C→A는 이행적 함수 종속의 정의가 아니라 오답 / ③B→A는 이행적 함수 종속의 정의가 아니라 오답 / ④C→B는 이행적 함수 종속의 정의가 아니라 오답.
SQL의 분류 중 DDL에 해당하지 않는 것은?
- ① UPDATE
- ② ALTER
- ③ DROP
- ④ CREATE
정답 확인
정답 ① - UPDATE는 DML(데이터 조작어)에 속한다. 오답 노트 - ②ALTER는 테이블 구조를 변경하는 실제 DDL이라 오답 / ③DROP은 객체를 삭제하는 실제 DDL이라 오답 / ④CREATE는 객체를 생성하는 실제 DDL이라 오답.
데이터베이스 로그(log)를 필요로 하는 회복 기법은?
- ① 즉각 갱신 기법
- ② 대수적 코딩 방법
- ③ 타임 스탬프 기법
- ④ 폴딩 기법
정답 확인
정답 ① - 즉각 갱신 기법은 트랜잭션 수행 중 갱신 내용을 로그에 기록해 두었다가 이를 이용해 회복한다. 오답 노트 - ②대수적 코딩 방법은 해싱 함수 기법으로 로그 기반 회복 기법이 아니라 오답 / ③타임스탬프 기법은 병행제어 기법이지 로그 기반 회복 기법이 아니라 오답 / ④폴딩 기법은 해싱 함수 기법으로 회복 기법이 아니라 오답.
Commit과 Rollback 명령어에 의해 보장 받는 트랜잭션의 특성은?
- ① 병행성
- ② 보안성
- ③ 원자성
- ④ 로그
정답 확인
정답 ③ - Commit/Rollback은 트랜잭션이 전부 반영되거나 전혀 반영되지 않도록 하는 원자성(Atomicity)을 보장한다. 오답 노트 - ①병행성은 로킹 등 병행제어 기법으로 보장되는 특성이라 오답 / ②보안성은 접근통제·권한관리로 보장되는 특성이라 오답 / ④로그는 트랜잭션 특성이 아니라 회복을 위한 기록 수단이라 오답.
한 릴레이션 스키마가 4개 속성, 2개 후보키 그리고 그 스키마의 대응 릴레이션 인스턴스가 7개 튜플을 갖는다면 그 릴레이션의 차수(Degree)는?
- ① 1
- ② 2
- ③ 4
- ④ 7
정답 확인
정답 ③ - 릴레이션의 차수는 속성(컬럼)의 개수이므로 4이다. 오답 노트 - ①1, ②2는 차수와 무관한 값이라 오답 / ④7은 튜플 수(카디널리티)이지 차수가 아니라 오답.
사용자 X1에게 department 테이블에 대한 검색 연산을 회수하는 명령은?
- ① delete select on department to X1;
- ② remove select on department from X1;
- ③ revoke select on department from X1;
- ④ grant select on department from X1;
정답 확인
정답 ③ - 권한 회수는 REVOKE 문을 사용한다. 오답 노트 - ①delete는 권한 회수 SQL 문법이 아니라 오답 / ②remove는 권한 회수 SQL 문법이 아니라 오답 / ④grant는 오히려 권한을 부여하는 명령이라 오답.
개체-관계(E-R) 모델의 E-R 다이어그램에서 사용되는 기호와 그 의미의 연결이 틀린 것은?
- ① 마름모 - 관계 타입
- ② 선 – 개체 타입과 속성을 연결
- ③ 사각형 - 개체 타입
- ④ 삼각형 - 속성
정답 확인
정답 ④ - 속성은 타원(Ellipse)으로 표기하며, 삼각형은 E-R 다이어그램 표준 기호가 아니다. 오답 노트 - ①은 마름모=관계 타입이라는 옳은 매칭이라 오답 / ②는 선=개체-속성 연결이라는 옳은 매칭이라 오답 / ③은 사각형=개체 타입이라는 옳은 매칭이라 오답.
3NF에서 BCNF가 되기 위한 조건은?
- ① 이행적 함수 종속 제거
- ② 부분적 함수 종속 제거
- ③ 다치 종속 제거
- ④ 결정자이면서 후보키가 아닌 것 제거
정답 확인
정답 ④ - BCNF는 모든 결정자가 후보키가 되도록, 후보키가 아닌 결정자를 제거해야 한다. 오답 노트 - ①이행적 함수 종속 제거는 2NF→3NF 조건이라 오답 / ②부분적 함수 종속 제거는 1NF→2NF 조건이라 오답 / ③다치 종속 제거는 BCNF가 아닌 4NF 조건이라 오답.
뷰(VIEW)에 대한 설명으로 옳지 않은 것은?
- ① DBA는 보안 측면에서 뷰를 활용할 수 있다.
- ② 뷰 위에 또 다른 뷰를 정의할 수 있다.
- ③ 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약사항이 따르지 않는다.
- ④ 독립적인 인덱스를 가질 수 없다.
정답 확인
정답 ③ - 뷰는 삽입·갱신·삭제 연산 시 여러 제약사항(단일 테이블 유래, NOT NULL 컬럼 포함 등)이 따른다. 오답 노트 - ①은 DBA가 보안 목적으로 뷰를 활용할 수 있다는 옳은 설명이라 오답 / ②는 뷰 위에 또 다른 뷰를 정의할 수 있다는 옳은 설명이라 오답 / ④는 뷰가 독립적인 인덱스를 가질 수 없다는 옳은 설명이라 오답.
다음 릴레이션의 카디널리티와 차수가 옳게 나타낸 것은?
| 아이디 | 성명 | 나이 | 등급 | 적립금 | 가입년도 |
|---|---|---|---|---|---|
| yuyu01 | 원유철 | 36 | 3 | 2000 | 2008 |
| sykim10 | 김성일 | 29 | 2 | 3300 | 2014 |
| kshan4 | 한경선 | 45 | 3 | 2800 | 2009 |
| namsu52 | 이남수 | 33 | 5 | 1000 | 2016 |
- ① 카디널리티: 4, 차수: 4
- ② 카디널리티: 4, 차수: 6
- ③ 카디널리티: 6, 차수: 4
- ④ 카디널리티: 6, 차수: 6
정답 확인
정답 ② - 카디널리티(튜플 수)=4, 차수(속성 수)=6이다. 오답 노트 - ①은 카디널리티는 맞지만 차수 4는 틀린 값(실제 속성은 6개)이라 오답 / ③은 카디널리티 6이 실제 튜플 수(4개)와 달라 오답 / ④는 카디널리티·차수 모두 실제 값과 달라 오답.
다음 SQL 문에서 ( ) 안에 들어갈 내용으로 옳은 것은?
UPDATE 인사급여 ( ) 호봉 = 15
WHERE 성명 = '홍길동';
- ① SET
- ② FROM
- ③ INTO
- ④ IN
정답 확인
정답 ① - UPDATE 문의 갱신 절은 SET을 사용한다. 오답 노트 - ②FROM은 UPDATE의 갱신절 문법이 아니라 오답 / ③INTO는 INSERT 문에서 사용하는 키워드라 오답 / ④IN은 조건 연산자이지 갱신절 키워드가 아니라 오답.
병행제어 기법의 종류가 아닌 것은?
- ① 로킹 기법
- ② 시분할 기법
- ③ 타임 스탬프 기법
- ④ 다중 버전 기법
정답 확인
정답 ② - 시분할 기법은 CPU 스케줄링 개념이지 병행제어 기법이 아니다. 오답 노트 - ①로킹 기법은 실제 병행제어 기법이라 오답 / ③타임스탬프 기법은 실제 병행제어 기법이라 오답 / ④다중 버전 기법은 실제 병행제어 기법이라 오답.
SQL의 논리 연산자가 아닌 것은?
- ① AND
- ② OTHER
- ③ OR
- ④ NOT
정답 확인
정답 ② - SQL 논리 연산자는 AND, OR, NOT이며 OTHER는 존재하지 않는다. 오답 노트 - ①AND는 실제 SQL 논리 연산자라 오답 / ③OR는 실제 SQL 논리 연산자라 오답 / ④NOT은 실제 SQL 논리 연산자라 오답.
관계대수에 대한 설명으로 틀린 것은?
- ① 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적 언어이다.
- ② 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
- ③ 일반 집합 연산과 순수 관계 연산으로 구분된다.
- ④ 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
정답 확인
정답 ① - 관계대수는 연산 순서를 명시하는 절차적 언어이다(비절차적 언어는 관계해석). 오답 노트 - ②는 피연산자·결과가 모두 릴레이션이라는 옳은 설명이라 오답 / ③은 집합 연산과 순수 관계 연산으로 구분된다는 옳은 설명이라 오답 / ④는 연산 순서를 명시하는 절차적 특성이라는 옳은 설명이라 오답.
SQL 문에서 HAVING을 사용할 수 있는 절은?
- ① LIKE 절
- ② WHERE 절
- ③ GROUP BY 절
- ④ ORDER BY 절
정답 확인
정답 ③ - HAVING은 GROUP BY로 그룹화된 결과에 조건을 거는 절이다. 오답 노트 - ①LIKE 절은 문자열 패턴 매칭 조건이라 HAVING과 무관이라 오답 / ②WHERE 절은 그룹화 이전 행 단위 조건이라 HAVING을 쓸 수 없어 오답 / ④ORDER BY 절은 정렬 지정 절이라 HAVING과 무관이라 오답.
데이터베이스의 무결성 규정(Integrity Rule)과 관련한 설명으로 틀린 것은?
- ① 무결성 규정에는 데이터가 만족해야 될 제약 조건, 규정을 참조할 때 사용하는 식별자 등의 요소가 포함될 수 있다.
- ② 무결성 규정의 대상으로는 도메인, 키, 종속성 등이 있다.
- ③ 정식으로 허가받은 사용자가 아닌 불법적인 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위한 규정이다.
- ④ 릴레이션 무결성 규정(Relation Integrity Rules)은 릴레이션을 조작하는 과정에서의 의미적 관계(Semantic Relationship)를 명세한 것이다.
정답 확인
정답 ③ - 불법 사용자로부터의 보호는 보안·접근통제 개념이며 무결성 규정과는 구별된다. 오답 노트 - ①은 제약조건·식별자 등이 포함된다는 옳은 설명이라 오답 / ②는 도메인·키·종속성이 무결성 규정 대상이라는 옳은 설명이라 오답 / ④는 릴레이션 무결성 규정이 의미적 관계를 명세한다는 옳은 설명이라 오답.
분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?
- ① 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
- ② 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
- ③ 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
- ④ 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다.
정답 확인
정답 ④ - 실제 구성요소는 분산 처리기, 분산 데이터베이스, 통신 네트워크, 전역 스키마 등이다. 오답 노트 - ①은 논리적으로 하나, 물리적으로 분산되어 있다는 옳은 설명이라 오답 / ②는 4대 투명성을 목표로 한다는 옳은 설명이라 오답 / ③은 설계가 어렵고 비용이 증가한다는 옳은 설명이라 오답.
CREATE TABLE문에 포함되지 않는 기능은?
- ① 속성 타입 변경
- ② 속성의 NOT NULL 여부 지정
- ③ 기본키를 구성하는 속성 지정
- ④ CHECK 제약조건의 정의
정답 확인
정답 ① - 속성 타입 변경은 ALTER TABLE의 기능이다. 오답 노트 - ②NOT NULL 여부 지정은 CREATE TABLE에서 가능한 실제 기능이라 오답 / ③기본키 지정은 CREATE TABLE에서 가능한 실제 기능이라 오답 / ④CHECK 제약조건 정의는 CREATE TABLE에서 가능한 실제 기능이라 오답.
IP 주소체계와 관련한 설명으로 틀린 것은?
- ① IPv6의 패킷 헤더는 32 octet의 고정된 길이를 가진다.
- ② IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
- ③ IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
- ④ IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
정답 확인
정답 ① - IPv6 기본 헤더의 고정 길이는 40 octet이다. 오답 노트 - ②는 IPv6의 주소 자동설정 기능이라는 옳은 설명이라 오답 / ③은 IPv4가 유니캐스트를 지원한다는 옳은 설명이라 오답 / ④는 IPv4가 클래스별로 주소 길이가 다르다는 옳은 설명이라 오답.
효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?
- ① 모듈 간의 결합도를 강하게 하면 모듈 독립성이 향상된다.
- ② 복잡도와 중복성을 줄이고 일관성을 유지시킨다.
- ③ 모듈의 기능은 예측이 가능해야 한다.
- ④ 유지보수가 용이해야 한다.
정답 확인
정답 ① - 결합도는 약하게(낮게), 응집도는 강하게(높게) 해야 모듈 독립성이 향상된다. 오답 노트 - ②는 복잡도·중복성 감소, 일관성 유지라는 옳은 지침이라 오답 / ③은 모듈 기능의 예측 가능성이라는 옳은 지침이라 오답 / ④는 유지보수 용이성이라는 옳은 지침이라 오답.
다음 C 언어 프로그램이 실행되었을 때 실행 결과는?
#include <stdio.h>
struct st {
int a;
int c[10];
};
int main(int argc, char* argv[]) {
int i = 0;
struct st ob1;
struct st ob2;
ob1.a = 0;
ob2.a = 0;
for (i = 0; i < 10; i++) {
ob1.c[i] = i;
ob2.c[i] = ob1.c[i] + i;
}
for (i = 0; i < 10; i = i + 2) {
ob1.a = ob1.a + ob1.c[i];
ob2.a = ob2.a + ob2.c[i];
}
printf("%d", ob1.a + ob2.a);
return 0;
}
- ① 30
- ② 60
- ③ 80
- ④ 120
정답 확인
정답 ② - 짝수 인덱스(0,2,4,6,8)에서 ob1.a=20, ob2.a=40 → 합계 60. 오답 노트 - ①30은 실제 합산 결과와 일치하지 않는 값이라 오답 / ③80, ④120은 짝수 인덱스만 더한 실제 결과(60)보다 큰 값으로 계산 오류에 해당해 오답.
다음 중 C 언어에서 우선 순위가 가장 높은 것은?
- ① 비트 연산자
- ② 시프트 연산자
- ③ 관계 연산자
- ④ 산술 연산자
정답 확인
정답 ④ - C 연산자 우선순위는 산술 > 시프트 > 관계 > 비트 순이다. 오답 노트 - ①비트 연산자는 네 연산자 중 우선순위가 가장 낮아 오답 / ②시프트 연산자는 산술연산자보다 우선순위가 낮아 오답 / ③관계 연산자는 산술·시프트 연산자보다 우선순위가 낮아 오답.
다음 파이썬 코드에서 '53t44'를 입력했을 때 출력 결과는?
a, b = map(int, input().split("t"))
print(a, b)
- ① 53 t 44
- ② 53t44
- ③ 53 44
- ④ 53, 44
정답 확인
정답 ③ - split("t")로 "53","44"가 되어 a=53, b=44이고, print(a, b)는 값 사이에 공백을 넣어 "53 44"를 출력한다. 오답 노트 - ①"53 t 44"는 구분자 t가 그대로 출력에 남아있는 잘못된 값이라 오답 / ②"53t44"는 값이 전혀 분리되지 않은 잘못된 값이라 오답 / ④"53, 44"는 print(a, b)가 쉼표가 아닌 공백으로 구분한다는 점을 반영하지 못해 오답.
프로세스 적재 정책과 관련한 설명으로 틀린 것은?
- ① 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
- ② 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
- ③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
- ④ 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답 확인
정답 ③ - 반대로 페이지 교환 시간이 프로세스 수행 시간보다 클 때 스레싱이 발생한다. 오답 노트 - ①은 반복·스택·부프로그램이 시간 지역성과 관련 있다는 옳은 설명이라 오답 / ②는 공간 지역성의 정의를 옳게 설명한 것이라 오답 / ④는 스레싱 방지책을 옳게 설명한 것이라 오답.
다음은 정수 배열 a에 0부터 9까지의 무작위 수를 저장하는 Java 코드이다. 괄호에 들어갈 알맞은 코드는 무엇인가?
import ( ).*;
public class Test {
public static void main(String[] args) {
Random rand = new Random();
int a[] = new int[6];
for(int i = 0; i < 6; i++)
a[i] = rand.nextInt(10);
}
}
- ① java.lang
- ② java.util
- ③ java.net
- ④ java.io
정답 확인
정답 ② - Random 클래스는 java.util 패키지에 포함되어 있다. 오답 노트 - ①java.lang은 기본 내장되어 import 없이 사용되는 패키지로 Random과 무관이라 오답 / ③java.net은 네트워크 관련 패키지라 오답 / ④java.io는 입출력 관련 패키지라 오답.
리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
- ① 변수를 출력하고자 할 때는 export를 사용해야 한다.
- ② export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
- ③ 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한된다.
- ④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
정답 확인
정답 ① - 변수 값 출력은 echo 명령을 사용하며, export는 환경변수로 내보내는 명령이다. 오답 노트 - ②는 매개변수 없이 쓰면 환경변수들이 출력된다는 옳은 설명이라 오답 / ③은 export 없으면 현재 쉘에 국한된다는 옳은 설명이라 오답 / ④는 export하면 전역 변수처럼 동작한다는 옳은 설명이라 오답.
다음 Java 프로그램이 실행되었을 때의 결과는?
public class Test {
public static void main(String[] args) {
int x = 7, y = 0;
while(x-- > 0) {
if (x%3 == 0)
continue;
y++;
}
System.out.print(y);
}
}
- ① 0
- ② 4
- ③ 7
- ④ 5
정답 확인
정답 ② - x가 6,4,3,2,1,0으로 감소하며 3의 배수(6,3,0)일 때만 continue되어 y는 4번 증가한다. 오답 노트 - ①0은 y가 전혀 증가하지 않은 것으로 실제 실행과 다르다 오답 / ③7, ④5는 3의 배수일 때 continue로 건너뛰는 횟수를 반영하지 않은 값이라 오답.
TCP/IP 프로토콜에서 TCP가 해당하는 계층은?
- ① 데이터 링크 계층
- ② 네트워크 계층
- ③ 트랜스포트 계층
- ④ 세션 계층
정답 확인
정답 ③ - TCP는 트랜스포트(전송) 계층에 속한다. 오답 노트 - ①데이터 링크 계층은 이더넷 등 하위 물리 인접 계층이라 오답 / ②네트워크 계층은 IP가 속하는 계층이라 오답 / ④세션 계층은 OSI 7계층 개념으로 TCP/IP 4계층 모델에는 별도로 대응되지 않아 오답.
Java에서 사용되는 출력 함수가 아닌 것은?
- ① System.out.print( )
- ② System.out.println( )
- ③ System.out.printing( )
- ④ System.out.printf( )
정답 확인
정답 ③ - printing()이라는 메서드는 Java에 존재하지 않는다. 오답 노트 - ①print()는 실제 Java 출력 메서드라 오답 / ②println()은 실제 Java 출력 메서드라 오답 / ④printf()는 실제 Java 출력 메서드라 오답.
다음의 페이지 참조 열(Page reference)에 대해 페이지 교체 기법으로 선입선출 알고리즘을 사용할 경우 페이지 부재(Page Fault) 횟수는? (단, 할당된 페이지 프레임 수는 3이고, 처음에는 모든 프레임이 비어 있다.)
페이지 참조열: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0
- ① 13
- ② 14
- ③ 15
- ④ 20
정답 확인
정답 ② - FIFO 방식으로 프레임 3개를 두고 참조열을 순서대로 큐에 넣고 빼며 트레이스하면 페이지 부재는 14회다. 오답 노트 - ①13은 실제 트레이스보다 1회 적은 값이라 오답 / ③15는 실제 트레이스보다 1회 많은 값이라 오답 / ④20은 전체 참조 횟수(19회)에 근접한 과다 계산값이라 오답.
배치 프로그램의 자동 수행 주기 중 사용자가 특정 조건을 설정해 두고 해당 조건이 충족될 때만 수행되도록 하는 것은?
- ① 정기 배치
- ② 이벤트성 배치
- ③ On-Demand 배치
- ④ 사용자 배치
정답 확인
정답 ② - 특정 조건 충족 시에만 실행되는 방식은 이벤트성 배치다. 오답 노트 - ①정기 배치는 정해진 주기(일·주·월 단위)로 실행되는 방식이라 오답 / ③On-Demand 배치는 사용자가 그때그때 요청 시 즉시 실행하는 방식이라 오답 / ④"사용자 배치"는 표준 배치 유형 분류 용어가 아니라 오답.
다음 Python 코드 출력문의 결과는?
print(4, 1, 2, sep=',', end='')
print(3, 5, sep='/')
- ① 4,1,23/5
- ② 4 1 23/5
- ③ 4,1,2 3/5
- ④ 4 1 2 3 5
정답 확인
정답 ① - 첫 print는 ','로 구분하고 개행 없이 끝나 "4,1,2"가 출력되고, 이어서 "3/5"가 바로 붙어 "4,1,23/5"가 된다. 오답 노트 - ②"4 1 23/5"는 sep=','가 무시된 값이라 오답 / ③"4,1,2 3/5"는 end=''가 개행 대신 공백으로 처리된 것으로 잘못된 값이라 오답 / ④"4 1 2 3 5"는 sep 지정을 전혀 반영하지 않은 기본 출력이라 오답.
JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?
- ① 문법 오류로 인해 발생한 것
- ② 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
- ③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
- ④ 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
정답 확인
정답 ① - 문법 오류는 컴파일 단계의 오류이며 실행 중 발생하는 예외와는 다르다. 오답 노트 - ②는 실행 중 발생하는 오류라는 예외의 실제 정의라 오답 / ③은 실제 예외 사례(ArrayIndexOutOfBoundsException)라 오답 / ④는 실제 예외 사례(FileNotFoundException)라 오답.
다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?
while(True):
print('A')
print('B')
break
print('C')
print('D')
- ① A, B 출력이 반복된다.
- ② A, B, C까지만 출력된다.
- ③ A, B, C 출력이 반복된다.
- ④ A, B, D까지만 출력된다.
정답 확인
정답 ④ - break로 인해 C는 실행되지 않고 루프를 빠져나온 뒤 D가 출력된다. 오답 노트 - ①은 break가 즉시 루프를 종료시켜 반복되지 않으므로 오답 / ②는 break가 print('C') 전에 실행되어 C가 출력되지 않으므로 오답 / ③은 반복되지 않고 C도 출력되지 않으므로 오답.
사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
- ① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
- ② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
- ③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
- ④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
정답 확인
정답 ④ - 사용자 수준 스레드는 커널 모드 전환 없이 교환되므로 오버헤드가 적다. 오답 노트 - ①은 커널 수준 스레드의 장점(시스템 호출 시 전체 프로세스 대기 불필요)에 해당하는 설명이라 오답 / ②는 커널 수준 스레드의 장점(다중 스레드가 동시에 커널에 접근)이라 오답 / ③은 커널 수준 스레드의 장점(독립적 스케줄링 가능)이라 오답.
다음 중 페이지 교체(Page Replacement) 알고리즘이 아닌 것은?
- ① LRU
- ② OPT
- ③ NUR
- ④ SCF
정답 확인
정답 ④ - LRU, OPT, NUR(FIFO 등)은 실제 페이지 교체 알고리즘이나 SCF는 존재하지 않는 용어다. 오답 노트 - ①LRU는 실제 페이지 교체 알고리즘(최근 최소 사용)이라 오답 / ②OPT는 실제 페이지 교체 알고리즘(이상적 최적 기법)이라 오답 / ③NUR은 실제 페이지 교체 알고리즘(최근 미사용 기법)이라 오답.
프레임워크(Framework)에 대한 설명으로 옳은 것은?
- ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
- ② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
- ③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
- ④ 모듈화(Modularity)가 불가능하다.
정답 확인
정답 ① - 프레임워크는 재사용 가능한 기본 구조를 제공하는 것이 핵심 특징이다. 오답 노트 - ②는 프레임워크가 오히려 확장을 용이하게 하도록 설계된다는 점에서 틀린 설명이라 오답 / ③은 프레임워크와 아키텍처가 동일 개념이 아니라는 점에서 틀린 설명이라 오답 / ④는 프레임워크가 모듈화를 지원한다는 점에서 틀린 설명이라 오답.
단편화(Fragmentation)와 재결합(Reassembly)에 대한 설명으로 옳지 않은 것은?
- ① 단편화는 송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 작업을 의미한다.
- ② 재결합은 수신 측에서 단편화된 블록을 원래의 데이터로 모으는 것이다.
- ③ 단편화를 통해 세분화된 데이터 블록을 프레임이라고 한다.
- ④ 단편화를 하면 전송 시간이 단축되고, 효과적인 오류 제어가 가능하다.
정답 확인
정답 ③ - 단편화된 데이터 블록은 일반적으로 패킷(세그먼트)이라 하며 프레임과는 다른 계층 개념이다. 오답 노트 - ①은 단편화가 송신측에서 데이터를 작은 블록으로 자르는 작업이라는 옳은 설명이라 오답 / ②는 재결합이 수신측에서 블록을 원래 데이터로 재조립하는 것이라는 옳은 설명이라 오답 / ④는 단편화로 전송 시간 단축·효과적 오류 제어가 가능하다는 옳은 설명이라 오답.
TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜은?
- ① MLFQ
- ② MQTT
- ③ Zigbee
- ④ MTSP
정답 확인
정답 ② - MQTT는 IoT 환경에서 널리 쓰이는 경량 발행-구독 메시징 프로토콜이다. 오답 노트 - ①MLFQ는 CPU 스케줄링 기법(다단계 피드백 큐)이라 오답 / ③Zigbee는 저전력 근거리 무선통신 표준이지 발행-구독 메시징 프로토콜이 아니라 오답 / ④MTSP는 실존하는 표준 프로토콜명이 아니라 오답.
다음 설명에 해당하는 소프트웨어 개발 방법론은 무엇인가?
- ① 정보공학 방법론
- ② 구조적 방법론
- ③ Agile 방법론
- ④ CBD 방법론
정답 확인
정답 ④ - 컴포넌트를 조합해 애플리케이션을 만드는 방법론은 CBD(Component Based Development)이다. 오답 노트 - ①정보공학 방법론은 데이터 중심의 대규모 정보시스템 구축 방법론이라 오답 / ②구조적 방법론은 기능 분해와 자료흐름 중심의 방법론이라 오답 / ③Agile 방법론은 반복·점증적 개발과 의사소통을 중시하는 방법론이라 오답.
CMMI의 단계가 아닌 것은?
- ① 초기
- ② 관리
- ③ 정의
- ④ 반복
정답 확인
정답 ④ - CMMI는 초기-관리-정의-정량적 관리-최적화 5단계이며 '반복'은 없다. 오답 노트 - ①초기는 CMMI 실제 단계라 오답 / ②관리는 CMMI 실제 단계라 오답 / ③정의는 CMMI 실제 단계라 오답.
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법은?
- ① Data Mining
- ② Wm-Bus
- ③ Digital Twin
- ④ Zigbee
정답 확인
정답 ① - 변수 간 상호 관계·패턴을 찾아내는 기법은 데이터 마이닝이다. 오답 노트 - ②Wm-Bus는 무선 계량기 통신 표준(Wireless M-Bus)이라 오답 / ③Digital Twin은 물리적 자산을 가상으로 복제하는 개념이지 패턴 발견 기법이 아니라 오답 / ④Zigbee는 저전력 근거리 무선통신 표준이라 오답.
다음 내용이 설명하는 스토리지 시스템은?
- ① DAS
- ② NAS
- ③ N-SCREEN
- ④ NFC
정답 확인
정답 ① - 네트워크 디바이스 없이 직접 연결하는 저장장치 방식은 DAS다. 오답 노트 - ②NAS는 네트워크를 통해 파일 단위로 공유하는 저장장치라 오답 / ③N-SCREEN은 하나의 콘텐츠를 여러 단말에서 이어보는 서비스 개념으로 스토리지 방식이 아니라 오답 / ④NFC는 근거리 무선통신 기술로 스토리지 방식이 아니라 오답.
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로, 실제 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?
- ① 실행 시간 최적화
- ② 실행 시간
- ③ 디지털 트윈
- ④ N-Screen
정답 확인
정답 ③ - 물리적 자산을 가상 모델로 표현해 효율성을 높이는 개념은 디지털 트윈이다. 오답 노트 - ①"실행 시간 최적화"는 이 개념을 가리키는 표준 용어가 아니라 오답 / ②"실행 시간"은 관련 없는 일반 용어라 오답 / ④N-Screen은 콘텐츠 이어보기 서비스 개념으로 디지털 트윈과 무관해 오답.
컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격은?
- ① Key Logger Attack
- ② Worm
- ③ Zombie Worm
- ④ Rollback
정답 확인
정답 ① - 키보드 입력을 탐지해 정보를 탈취하는 공격은 키로거(Key Logger) 공격이다. 오답 노트 - ②Worm은 스스로 복제·전파되는 악성코드로 키보드 탐지 공격이 아니라 오답 / ③Zombie Worm은 표준 보안 용어가 아니라 오답 / ④Rollback은 트랜잭션 취소 개념으로 해킹 기법이 아니라 오답.
기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적에 사용되는 새로운 방식의 네트워크 기술을 의미하는 것은?
- ① Mesh Network
- ② Virtual Private Network
- ③ Local Area Network
- ④ Software Defined Perimeter
정답 확인
정답 ① - 대규모 디바이스 네트워크 생성에 최적화된 기술은 메시 네트워크(Mesh Network)다. 오답 노트 - ②VPN(가상사설망)은 공중망 위에 가상의 전용 회선을 구성하는 기술이라 오답 / ③LAN은 근거리 통신망을 가리키는 일반 개념이라 오답 / ④SDP(소프트웨어 정의 경계)는 네트워크 보안 접근제어 기술이라 오답.
접근통제에 대한 설명으로 틀린 것은?
- ① 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
- ② 데이터에 대해 통제함으로써 자원의 불법적인 접근 및 파괴를 예방한다.
- ③ 임의 접근통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
- ④ 역할기반 접근통제는 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
정답 확인
정답 ③ - 주체·객체 등급 비교 방식은 강제 접근통제(MAC)이며, 임의 접근통제(DAC)는 소유자가 권한을 부여하는 방식이다. 오답 노트 - ①은 접근통제가 주체-객체 간 정보 흐름을 제한한다는 옳은 설명이라 오답 / ②는 접근통제가 불법적 접근·파괴를 예방한다는 옳은 설명이라 오답 / ④는 역할기반 접근통제(RBAC)의 정의를 옳게 설명한 것이라 오답.
시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호 공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?
- ① Pass flag
- ② Bucket
- ③ Opcode
- ④ Salt
정답 확인
정답 ④ - 동일 패스워드가 다른 해시값으로 저장되도록 추가하는 값은 Salt다. 오답 노트 - ①Pass flag는 표준 보안 용어가 아니라 오답 / ②Bucket은 해시 테이블의 저장 단위 개념이지 암호 강화 값이 아니라 오답 / ③Opcode는 명령어의 연산 코드로 보안과 무관한 개념이라 오답.
소프트웨어 개발 프레임워크를 적용할 경우 기대효과로 거리가 먼 것은?
- ① 품질 보증
- ② 기술 종속성
- ③ 개발 용이성
- ④ 변경 용이성
정답 확인
정답 ② - 기술 종속성은 프레임워크 도입의 부작용이지 기대효과가 아니다. 오답 노트 - ①은 프레임워크 도입의 실제 기대효과(품질 보증)라 오답 / ③은 프레임워크 도입의 실제 기대효과(개발 용이성)라 오답 / ④는 프레임워크 도입의 실제 기대효과(변경 용이성)라 오답.
소프트웨어 개발 방법론 중 애자일(Agile) 방법론의 특징과 가장 거리가 먼 것은?
- ① 각 단계의 결과가 완전히 확인된 후 다음 단계 진행
- ② 소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
- ③ 환경 변화에 대한 즉시 대응
- ④ 프로젝트 상황에 따른 주기적 조정
정답 확인
정답 ① - 단계별 완전 확인 후 다음 단계로 진행하는 것은 폭포수 모델의 특징이다. 오답 노트 - ②는 실제 애자일 특징(의사소통 중시)이라 오답 / ③은 실제 애자일 특징(환경변화 즉시 대응)이라 오답 / ④는 실제 애자일 특징(주기적 조정)이라 오답.
크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구는?
- ① tripwire
- ② tcpdump
- ③ netcat
- ④ cron
정답 확인
정답 ① - tripwire는 파일 무결성 변경 여부를 점검하는 보안 도구다. 오답 노트 - ②tcpdump는 네트워크 패킷을 캡처·분석하는 도구라 오답 / ③netcat은 네트워크 연결을 생성·테스트하는 도구라 오답 / ④cron은 작업을 예약 실행하는 스케줄러라 오답.
다음 내용이 설명하는 것은?
- ① OTT
- ② BaaS
- ③ SDDC
- ④ Wi-SUN
정답 확인
정답 ② - 블록체인 개발 환경을 클라우드로 제공하는 개념은 BaaS(Blockchain as a Service)다. 오답 노트 - ①OTT는 인터넷 기반 동영상 서비스 개념이라 오답 / ③SDDC는 소프트웨어 정의 데이터센터 개념이라 오답 / ④Wi-SUN은 저전력 장거리 무선통신 표준이라 오답.
다음 설명에 해당하는 비용산정 기법은?
- ① 전문가 감정 기법
- ② 델파이 기법
- ③ LOC 기법
- ④ Putnam 모형
정답 확인
정답 ① - 2인 이상 전문가에게 개별 의뢰하는 신속하지만 주관적인 기법은 전문가 감정 기법이다. 오답 노트 - ②델파이 기법은 여러 전문가의 의견을 절차화된 방식으로 반복 수렴시키는 기법이라 오답 / ③LOC 기법은 예상 코드 라인 수 기반의 수학적 산정 기법이라 오답 / ④Putnam 모형은 소프트웨어 생명주기 전 단계의 노력 분포를 가정한 동적 산정 모형이라 오답.
전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?
- ① 합성 중심
- ② 생성 중심
- ③ 분리 중심
- ④ 구조 중심
정답 확인
정답 ① - 모듈(블록)을 조립하는 재사용 방식은 합성 중심 재사용이다. 오답 노트 - ②생성 중심 재사용은 매개변수화된 명세로 프로그램을 자동 생성하는 방식이라 오답 / ③분리 중심은 표준 재사용 유형 분류에 해당하지 않아 오답 / ④구조 중심은 표준 재사용 유형 분류에 해당하지 않아 오답.
코드 오류로 발생할 수 있는 보안 약점 중 널 포인터(Null Pointer) 역참조가 발생하지 않도록 프로그래머가 수행해야 하는 일로 가장 옳은 것은?
- ① 반환된 메모리에 접근할 수 없도록 주소를 저장하고 있는 포인터를 초기화한다.
- ② 변수 선언 시 할당된 메모리를 초기화한다.
- ③ 포인터를 이용하기 전에 널 값을 갖고 있는지 검사한다.
- ④ 자원 반환 코드가 누락되었는지 확인한다.
정답 확인
정답 ③ - 널 포인터 역참조 방지의 핵심은 사용 전 null 여부를 검사하는 것이다. 오답 노트 - ①은 반환(해제)된 메모리 접근 방지, 즉 댕글링 포인터 방지에 관한 조치라 오답 / ②변수 초기화는 일반적인 방어 코딩 습관이지 널 포인터 역참조 방지의 핵심 대책은 아니라 오답 / ④자원 반환 코드 누락 확인은 메모리 누수 방지 대책이라 오답.
시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?
- ① Aging
- ② Accounting
- ③ Authorization
- ④ Authentication
정답 확인
정답 ④ - 신원을 증명하는 과정은 인증(Authentication)이다. 오답 노트 - ①Aging은 스케줄링·비밀번호 유효기간 등에 쓰이는 용어로 로그인 인증과 무관이라 오답 / ②Accounting은 사용 내역을 기록·과금하는 과정(AAA의 마지막 단계)이라 오답 / ③Authorization은 인증 이후 권한을 부여하는 과정이라 오답.
프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?
- ① 각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
- ② 시간선(Time-Line) 차트라고도 한다.
- ③ 수평 막대의 길이는 각 작업의 기간을 나타낸다.
- ④ 작업들 간의 상호 관련성, 결정 경로, 경계 시간, 자원 할당 등을 제시한다.
정답 확인
정답 ④ - ①②③은 간트차트의 특징이며, PERT는 작업 간 관계·주공정 등을 네트워크로 표현한다. 오답 노트 - ①은 간트차트의 특징(막대 도표로 일정 표시)이라 오답 / ②는 간트차트의 다른 명칭(Time-Line 차트)이라 오답 / ③은 간트차트의 특징(수평 막대 길이=작업 기간)이라 오답.
하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?
- ① Apnic
- ② Topology
- ③ Sqoop
- ④ SDB
정답 확인
정답 ③ - 하둡과 RDBMS 간 데이터 전송 도구는 Sqoop이다. 오답 노트 - ①Apnic은 아시아·태평양 지역 IP 주소 관리 기관명이라 오답 / ②Topology는 네트워크 구성 형태를 뜻하는 일반 용어라 오답 / ④SDB는 하둡-RDBMS 전송 도구의 표준 명칭이 아니라 오답.
럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은?
- ① 객체 모형 → 동적 모형 → 기능 모형
- ② 객체 모형 → 기능 모형 → 동적 모형
- ③ 기능 모형 → 동적 모형 → 객체 모형
- ④ 기능 모형 → 객체 모형 → 동적 모형
정답 확인
정답 ① - 럼바우 분석은 객체 모형 → 동적 모형 → 기능 모형 순서로 진행한다. 오답 노트 - ②는 동적 모형과 기능 모형의 순서가 서로 바뀌었다 / ③은 기능 모형을 가장 먼저 수행하는 것으로 되어 있어 순서가 완전히 틀렸다 / ④도 기능 모형이 가장 먼저 나와 순서가 틀렸다.
UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?
- ① GUI(Graphical User Interface)
- ② OUI(Organic User Interface)
- ③ NUI(Natural User Interface)
- ④ CLI(Command Line Interface)
정답 확인
정답 ③ - NUI는 사용자의 자연스러운 신체 움직임을 인식하는 인터페이스다. 오답 노트 - ①GUI는 그래픽 요소를 조작하는 방식으로 신체 움직임 인식과는 무관하다 / ②OUI는 사물 자체의 유기적 형태를 인터페이스로 활용하는 개념으로 멀티터치·제스처 인식이 핵심이 아니다 / ④CLI는 명령어를 텍스트로 입력하는 방식이라 자연스러운 움직임 인식과는 반대되는 개념이다.
소프트웨어 설계에서 사용되는 대표적인 추상화(Abstraction) 기법이 아닌 것은?
- ① 자료 추상화
- ② 제어 추상화
- ③ 과정 추상화
- ④ 강도 추상화
정답 확인
정답 ④ - 대표적 추상화 기법은 자료·제어·과정 추상화이며 강도 추상화는 없는 용어다. 오답 노트 - ①자료 추상화는 데이터를 구조화해 표현하는 실제 기법이다 / ②제어 추상화는 제어 흐름의 세부사항을 감추는 실제 기법이다 / ③과정 추상화는 처리 절차를 하나의 이름으로 표현하는 실제 기법이다.
다음 설명에 해당하는 도표는?
시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 인터페이스를 계층 구조로 표현한 것으로, 가시적 도표(Visual Table of Contents), 총체적 도표(Overview Diagram), 세부적 도표(Detail Diagram)가 있다.
- ① Flow Chart
- ② Burn-down Chart
- ③ Visual Diagram
- ④ HIPO Chart
정답 확인
정답 ④ - HIPO는 가시적·총체적·세부적 도표로 구성된 계층형 기능 분할 도구다. 오답 노트 - ①Flow Chart는 처리 순서를 도형으로 나타낸 순서도로 계층형 3단계 도표 구성과 무관하다 / ②Burn-down Chart는 애자일에서 잔여 작업량 추이를 보여주는 차트다 / ③Visual Diagram은 표준화된 소프트웨어 공학 용어가 아니다.
요구사항 분석이 어려운 이유가 아닌 것은?
- ① 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않다.
- ② 사용자의 요구는 예외가 거의 없어 열거와 구조화가 어렵지 않다.
- ③ 사용자의 요구사항이 모호하고 불명확하다.
- ④ 소프트웨어 개발 과정 중에 요구사항이 계속 변할 수 있다.
정답 확인
정답 ② - 실제로는 사용자 요구에 예외가 많아 열거·구조화가 어렵다. 오답 노트 - ①개발자-사용자 간 지식·표현 차이는 실제로 요구사항 분석을 어렵게 하는 요인이다 / ③요구사항의 모호함과 불명확성도 실제 어려움 요인이다 / ④개발 중 요구사항이 계속 변하는 것도 실제 어려움 요인이다.
자료 흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
- ① Process : 원
- ② Data Flow : 화살표
- ③ Data Store : 삼각형
- ④ Terminator : 사각형
정답 확인
정답 ③ - Data Store는 삼각형이 아니라 열린 사각형(양쪽 선)으로 표기한다. 오답 노트 - ①Process를 원으로 표기하는 것은 실제 옳은 연결이다 / ②Data Flow를 화살표로 표기하는 것도 실제 옳은 연결이다 / ④Terminator를 사각형으로 표기하는 것도 실제 옳은 연결이다.
익스트림 프로그래밍(XP)의 5가지 가치로 거리가 먼 것은?
- ① 용기
- ② 의사소통
- ③ 정형 분석
- ④ 피드백
정답 확인
정답 ③ - XP 5대 가치는 의사소통·단순성·피드백·용기·존중이며 정형 분석은 해당 없다. 오답 노트 - ①용기는 XP의 5대 가치 중 하나다 / ②의사소통도 XP의 5대 가치 중 하나다 / ④피드백도 XP의 5대 가치 중 하나다.
UI의 설계 지침으로 틀린 것은?
- ① 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
- ② 주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
- ③ 치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
- ④ 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
정답 확인
정답 ③ - 치명적 오류는 오히려 사용자가 명확히 인지할 수 있도록 알려야 한다. 오답 노트 - ①이해하기 쉽고 사용하기 쉬운 환경 제공은 실제 UI 설계 지침이다 / ②주요 기능의 메인 화면 노출도 실제 UI 설계 지침이다 / ④다양한 사용자 계층 수용도 실제 UI 설계 지침이다.
UI를 설계할 때 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술하는 것은?
- ① 프로토타입
- ② 레이아웃
- ③ 유스케이스
- ④ 스토리보드
정답 확인
정답 ③ - 유스케이스는 사용자가 목표 달성을 위해 수행할 행동을 기술한다. 오답 노트 - ①프로토타입은 시제품을 미리 만들어보는 것으로 목표 달성 행동 기술과는 다르다 / ②레이아웃은 화면 배치를 의미하며 사용자 행동 기술과 무관하다 / ④스토리보드는 화면 흐름과 상호작용을 시각적으로 표현한 산출물로 유스케이스와는 다른 개념이다.
다음 중 SOLID 원칙이라고 불리는 객체지향 설계 원칙에 속하지 않는 것은?
- ① ISP(Interface Segregation Principle)
- ② DIP(Dependency Inversion Principle)
- ③ LSP(Liskov Substitution Principle)
- ④ SSO(Single Sign On)
정답 확인
정답 ④ - SSO는 인증 개념으로 SOLID(SRP/OCP/LSP/ISP/DIP)와 무관하다. 오답 노트 - ①ISP는 SOLID 원칙 중 하나(인터페이스 분리 원칙)다 / ②DIP도 SOLID 원칙 중 하나(의존 역전 원칙)다 / ③LSP도 SOLID 원칙 중 하나(리스코프 치환 원칙)다.
객체지향 분석 방법론 중 Jacobson 방법에 해당하는 것은?
- ① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
- ② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
- ③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
- ④ Use-Case를 강조하여 사용하는 방법이다.
정답 확인
정답 ④ - Jacobson 방법은 Use-Case를 중심으로 분석을 진행한다. 오답 노트 - ①E-R 다이어그램으로 데이터 모델링에 초점을 두는 것은 Coad-Yourdon 방법에 가깝다 / ②객체·동적·기능 모델로 나누는 것은 럼바우(Rumbaugh) 방법이다 / ③미시적·거시적 개발 프로세스를 모두 사용하는 것은 부치(Booch) 방법이다.
한 모듈 내의 각 구성 요소들이 공통의 목적을 달성하기 위하여 서로 얼마나 관련이 있는지의 기능적 연관의 정도를 나타내는 것은?
- ① Cohesion
- ② Coupling
- ③ Unity
- ④ Structure
정답 확인
정답 ① - 모듈 내부 요소 간 관련성 정도는 응집도(Cohesion)다. 오답 노트 - ②Coupling(결합도)은 모듈 간의 관련성을 나타내는 개념으로 모듈 내부 요소 간 관계가 아니다 / ③Unity는 소프트웨어 공학의 표준 용어가 아니다 / ④Structure는 일반적인 구조를 뜻하는 용어로 응집도의 정의와 무관하다.
소프트웨어 공학에서 모델링(Modeling)과 관련한 설명으로 틀린 것은?
- ① 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
- ② 유지보수 단계에서만 모델링 기법을 활용한다.
- ③ 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
- ④ 절차적인 프로그램을 위한 자료 흐름도는 프로세스 위주의 모델링 방법이다.
정답 확인
정답 ② - 모델링은 유지보수 단계뿐 아니라 개발 전 과정에서 활용된다. 오답 노트 - ①개발팀의 응용문제 이해를 돕는다는 설명은 모델링의 실제 목적이다 / ③여러 분야 엔지니어의 공통 개념 공유를 돕는다는 설명도 모델링의 실제 목적이다 / ④절차적 프로그램의 DFD가 프로세스 위주 모델링이라는 설명도 옳다.
GoF(Gangs of Four) 디자인 패턴 중 생성 패턴으로 옳은 것은?
- ① Singleton Pattern
- ② Adapter Pattern
- ③ Decorator Pattern
- ④ State Pattern
정답 확인
정답 ① - Singleton은 생성 패턴, Adapter/Decorator는 구조 패턴, State는 행위 패턴이다. 오답 노트 - ②Adapter는 구조 패턴이다 / ③Decorator도 구조 패턴이다 / ④State는 행위 패턴이다.
요구사항 명세 기법에 대한 설명으로 틀린 것은?
- ① 비정형 명세 기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
- ② 비정형 명세 기법은 사용자의 요구를 표현할 때 Z 비정형 명세 기법을 사용한다.
- ③ 정형 명세 기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
- ④ 정형 명세 기법은 비정형 명세 기법에 비해 표현이 간결하다.
정답 확인
정답 ② - Z 기법은 정형 명세 기법이지 비정형 명세 기법이 아니다. 오답 노트 - ①비정형 명세가 자연어 기반 서술이라는 설명은 옳다 / ③정형 명세가 수학적 원리·표기법을 이용한다는 설명도 옳다 / ④정형 명세가 비정형 명세보다 표현이 간결하다는 설명도 옳다.
GoF(Gang of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?
- ① Adapter 패턴
- ② Bridge 패턴
- ③ Builder 패턴
- ④ Proxy 패턴
정답 확인
정답 ③ - Builder는 생성 패턴이며 Adapter/Bridge/Proxy는 구조 패턴이다. 오답 노트 - ①Adapter는 실제 구조 패턴이다 / ②Bridge도 실제 구조 패턴이다 / ④Proxy도 실제 구조 패턴이다.
UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
- ① 유스케이스 다이어그램(Use Case Diagram)
- ② 시퀀스 다이어그램(Sequence Diagram)
- ③ 활동 다이어그램(Activity Diagram)
- ④ 배치 다이어그램(Deployment Diagram)
정답 확인
정답 ④ - 배치 다이어그램은 구조(Structural) 다이어그램에 속한다. 오답 노트 - ①유스케이스 다이어그램은 실제 행위 다이어그램이다 / ②시퀀스 다이어그램도 실제 행위 다이어그램이다 / ③활동 다이어그램도 실제 행위 다이어그램이다.
분산 시스템에서의 미들웨어(Middleware)와 관련한 설명으로 틀린 것은?
- ① 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
- ② 위치 투명성(Location Transparency)을 제공한다.
- ③ 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.
- ④ 애플리케이션과 사용자 사이에서만 분산 서비스를 제공한다.
정답 확인
정답 ④ - 미들웨어는 애플리케이션 간, 시스템 컴포넌트 간에도 폭넓게 서비스를 제공한다. 오답 노트 - ①분산 시스템 각 부분의 관리·통신·데이터 교환 지원은 미들웨어의 실제 역할이다 / ②위치 투명성 제공도 미들웨어의 실제 특징이다 / ③재사용 가능한 서비스 구현 제공도 미들웨어의 실제 역할이다.
결합도(Coupling)에 대한 설명으로 틀린 것은?
- ① 데이터 결합도(Data Coupling)는 두 모듈이 매개 변수로 자료를 전달할 때 자료 구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고 한다.
- ② 내용 결합도(Content Coupling)는 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
- ③ 공통 결합도(Common Coupling)는 두 모듈이 동일한 전역 데이터를 접근한다면 공통 결합되어 있다고 한다.
- ④ 결합도(Coupling)는 두 모듈 간의 상호작용 또는 의존도 정도를 나타내는 것이다.
정답 확인
정답 ① - 자료 구조 형태로 전달되는 것은 스탬프 결합도이며, 데이터 결합도는 단순 값 전달을 말한다. 오답 노트 - ②내용 결합도 설명은 실제로 옳다(가장 강한 결합도) / ③공통 결합도 설명도 실제로 옳다(전역 데이터 공유) / ④결합도가 모듈 간 상호작용·의존도를 나타낸다는 정의도 옳다.
소프트웨어 개발 방법 중 요구사항 분석(Requirements Analysis)과 거리가 먼 것은?
- ① 비용과 일정에 대한 제약 설정
- ② 타당성 조사
- ③ 요구사항 정의 문서화
- ④ 설계 명세서 작성
정답 확인
정답 ④ - 설계 명세서 작성은 요구사항 분석 이후의 설계 단계에 해당한다. 오답 노트 - ①비용·일정 제약 설정은 요구사항 분석 활동에 해당한다 / ②타당성 조사도 요구사항 분석 활동에 해당한다 / ③요구사항 정의 문서화도 요구사항 분석 활동에 해당한다.
EAI(Enterprise Application Integration)의 구축 유형으로 옳지 않은 것은?
- ① Point-to-Point
- ② Hub & Spoke
- ③ Message Bus
- ④ Tree
정답 확인
정답 ④ - EAI 구축 유형은 Point-to-Point, Hub&Spoke, Message Bus, Hybrid이며 Tree는 없다. 오답 노트 - ①Point-to-Point는 실제 EAI 구축 유형이다 / ②Hub&Spoke도 실제 EAI 구축 유형이다 / ③Message Bus도 실제 EAI 구축 유형이다.
소프트웨어 형상 관리의 의미로 적절한 것은?
- ① 비용에 관한 사항을 효율적으로 관리하는 것
- ② 개발 과정의 변경 사항을 관리하는 것
- ③ 테스트 과정에서 소프트웨어를 통합하는 것
- ④ 개발 인력을 관리하는 것
정답 확인
정답 ② - 형상 관리(SCM)는 개발 산출물의 변경 사항을 체계적으로 관리하는 활동이다. 오답 노트 - ①비용 관리는 형상관리가 아니라 프로젝트 원가 관리의 영역이다 / ③테스트 통합은 형상관리가 아니라 통합 테스트의 영역이다 / ④개발 인력 관리는 형상관리가 아니라 인적자원관리의 영역이다.
소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목으로 거리가 먼 것은?
- ① 정확성
- ② 무결성
- ③ 사용성
- ④ 간결성
정답 확인
정답 ④ - 정확성·무결성·사용성은 McCall 품질 모델에 정의된 실제 품질 요소이며 간결성은 해당 분류 항목이 아니다. 오답 노트 - ①정확성은 실제 품질 요소 중 하나다 / ②무결성도 실제 품질 요소 중 하나다 / ③사용성도 실제 품질 요소 중 하나다.
알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?
- ① 단위 테스트
- ② 인수 테스트
- ③ 통합 테스트
- ④ 시스템 테스트
정답 확인
정답 ② - 알파·베타 테스트는 사용자 인수 테스트 단계에서 수행된다. 오답 노트 - ①단위 테스트는 개별 모듈·함수 단위 테스트로 알파·베타와 무관하다 / ③통합 테스트는 모듈 간 결합 테스트로 알파·베타와 무관하다 / ④시스템 테스트는 전체 시스템 요구사항 충족 여부를 검증하는 단계로 인수 테스트 이전 단계다.
제품 소프트웨어 패키징 도구 활용 시 고려사항이 아닌 것은?
- ① 제품 소프트웨어의 종류에 적합한 암호화 알고리즘을 고려한다.
- ② 추가로 다양한 이기종 연동을 고려한다.
- ③ 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
- ④ 내부 콘텐츠에 대한 보안은 고려하지 않는다.
정답 확인
정답 ④ - 패키징 시 내부 콘텐츠 보안도 반드시 고려해야 한다. 오답 노트 - ①암호화 알고리즘 고려는 실제 패키징 시 고려사항이다 / ②이기종 연동 고려도 실제 패키징 시 고려사항이다 / ③사용자 편의성(복잡성·비효율성) 고려도 실제 패키징 시 고려사항이다.
다음 트리를 Preorder 운행법으로 운행할 경우 가장 먼저 탐색되는 것은? (루트 A, A의 자식 B·C, B의 자식 D, C의 자식 E·F, E의 자식 G·H)
- ① A
- ② B
- ③ D
- ④ G
정답 확인
정답 ① - Preorder(전위 순회)는 루트를 가장 먼저 방문하므로 A가 첫 번째다. 오답 노트 - ②B는 루트 다음 좌측 서브트리로 진입할 때 두 번째로 방문되는 노드다 / ③D는 B의 자식이라 B보다 늦게 방문된다 / ④G는 트리 깊숙한 곳에 위치해 가장 늦게 방문되는 노드 중 하나다.
인터페이스 보안을 위해 네트워크 영역에 적용될 수 있는 솔루션과 거리가 먼 것은?
- ① IPSec
- ② SSL
- ③ SMTP
- ④ S-HTTP
정답 확인
정답 ③ - SMTP는 메일 전송 프로토콜로 네트워크 보안 솔루션이 아니다. 오답 노트 - ①IPSec은 실제 네트워크 계층 보안 솔루션이다 / ②SSL은 실제 전송 계층 보안 솔루션이다 / ④S-HTTP는 실제 응용 계층 보안 프로토콜이다.
저작권 관리 구성 요소에 대한 설명이 틀린 것은?
- ① 콘텐츠 제공자(Contents Provider) : 콘텐츠를 제공하는 저작권자
- ② 콘텐츠 분배자(Contents Distributor) : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
- ③ 클리어링 하우스(Clearing House) : 키 관리 및 라이선스 발급 관리
- ④ DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제
정답 확인
정답 ② - 콘텐츠를 메타데이터와 묶는 기능은 패키저(Packager)의 역할이며, 콘텐츠 분배자는 유통을 담당한다. 오답 노트 - ①콘텐츠 제공자 정의는 옳다 / ③클리어링 하우스 정의도 옳다 / ④DRM 컨트롤러 정의도 옳다.
소프트웨어 설치 매뉴얼에 대한 설명으로 틀린 것은?
- ① 설치 과정에서 표시될 수 있는 예외상황에 관련 내용을 별도로 구분하여 설명한다.
- ② 설치 시작부터 완료할 때까지의 전 과정을 빠짐없이 순서대로 설명한다.
- ③ 설치 매뉴얼은 개발자 기준으로 작성한다.
- ④ 설치 매뉴얼에는 목차, 개요, 기본사항 등이 기본적으로 포함되어야 한다.
정답 확인
정답 ③ - 설치 매뉴얼은 개발자가 아닌 사용자 기준으로 작성해야 한다. 오답 노트 - ①예외상황 별도 설명은 실제 설치 매뉴얼 작성 지침이다 / ②설치 전 과정을 순서대로 설명하는 것도 실제 지침이다 / ④목차·개요·기본사항 포함도 실제 지침이다.
다음 중 블랙박스 검사 기법은?
- ① 경계값 분석
- ② 조건 검사
- ③ 기초 경로 검사
- ④ 루프 검사
정답 확인
정답 ① - 경계값 분석은 블랙박스 기법이며 나머지는 화이트박스 기법이다. 오답 노트 - ②조건 검사는 화이트박스 기법이다 / ③기초 경로 검사도 화이트박스 기법이다 / ④루프 검사도 화이트박스 기법이다.
스택에 대한 설명으로 틀린 것은?
- ① 입출력이 한쪽 끝으로만 제한된 리스트이다.
- ② Head(front)와 Tail(rear)의 2개 포인터를 갖고 있다.
- ③ LIFO 구조이다.
- ④ 더 이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로(Underflow)가 발생한다.
정답 확인
정답 ② - 스택은 top 포인터 하나만 사용한다. front/rear 2개 포인터는 큐(Queue)의 특징이다. 오답 노트 - ①입출력이 한쪽으로 제한된 리스트라는 설명은 스택의 옳은 특징이다 / ③LIFO 구조라는 설명도 스택의 옳은 특징이다 / ④언더플로 발생 조건 설명도 옳다.
디지털 저작권 관리(DRM)에 사용되는 기술 요소가 아닌 것은?
- ① 키 관리
- ② 방화벽
- ③ 암호화
- ④ 크랙방지
정답 확인
정답 ② - 방화벽은 네트워크 보안 장비로 DRM 기술 요소가 아니다. 오답 노트 - ①키 관리는 실제 DRM 기술요소다 / ③암호화도 실제 DRM 기술요소다 / ④크랙방지도 실제 DRM 기술요소다.
버전 관리 항목 중 저장소에 새로운 버전의 파일로 갱신하는 것을 의미하는 용어는?
- ① 형상 감사(Configuration Audit)
- ② 롤백(Rollback)
- ③ 단위 테스트(Unit Test)
- ④ 체크인(Check-In)
정답 확인
정답 ④ - 체크인은 로컬 변경분을 저장소에 새 버전으로 반영하는 것이다. 오답 노트 - ①형상 감사는 형상항목의 상태를 점검하는 활동이다 / ②롤백은 이전 버전·상태로 되돌리는 것이다 / ③단위 테스트는 개별 모듈을 검증하는 활동으로 버전 갱신과 무관하다.
정렬된 N개의 데이터를 처리하는 데 O(Nlog2N)의 시간이 소요되는 정렬 알고리즘은?
- ① 합병 정렬
- ② 버블 정렬
- ③ 선택 정렬
- ④ 삽입 정렬
정답 확인
정답 ① - 합병(퀵·힙 포함) 정렬은 O(NlogN), 버블·선택·삽입 정렬은 O(N²)이다. 오답 노트 - ②버블 정렬은 O(N²)이다 / ③선택 정렬도 O(N²)이다 / ④삽입 정렬도 O(N²)이다.
클린 코드 작성 원칙에 대한 설명으로 틀린 것은?
- ① 코드의 중복을 최소화 한다.
- ② 코드가 다른 모듈에 미치는 영향을 최대화하도록 작성한다.
- ③ 누구든지 코드를 쉽게 읽을 수 있도록 작성한다.
- ④ 간단하게 코드를 작성한다.
정답 확인
정답 ② - 클린 코드는 다른 모듈에 미치는 영향을 최소화하도록 작성해야 한다. 오답 노트 - ①코드 중복 최소화는 클린코드의 실제 원칙이다 / ③누구나 읽기 쉽게 작성하는 것도 클린코드의 실제 원칙이다 / ④간단하게 작성하는 것도 클린코드의 실제 원칙이다.
테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
- ① 스터브(Stub)와 드라이버(Driver)
- ② 입력 도메인 분석
- ③ 랜덤(Random) 테스트
- ④ 자료 흐름도
정답 확인
정답 ① - 스텁·드라이버는 테스트 환경 구성 요소이지 테스트 데이터 생성 기법이 아니다. 오답 노트 - ②입력 도메인 분석은 실제 테스트 데이터 생성 기법이다 / ③랜덤 테스트도 실제 테스트 데이터 생성 기법이다 / ④자료흐름도 기반 데이터 도출도 실제 기법이다.
순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력한 후 출력한 결과로 불가능한 것은?
- ① B, C, D, A
- ② D, C, B, A
- ③ D, B, C, A
- ④ C, B, A, D
정답 확인
정답 ④ - LIFO 구조상 push/pop 조합으로 C,B,A,D 순서 출력은 만들어낼 수 없다.
프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?
- ① Critical Path Method
- ② Risk Analysis
- ③ Work Breakdown Structure
- ④ Waterfall Model
정답 확인
정답 ② - 위험 요소 인식·분석·관리 활동은 위험 분석(Risk Analysis)이다. 오답 노트 - ①Critical Path Method는 일정에서 최장 경로를 찾는 기법으로 위험관리 활동 자체가 아니다 / ③WBS는 작업을 세분화하는 기법으로 위험관리와 다른 개념이다 / ④Waterfall Model은 순차적 개발 생명주기 모델로 위험관리 활동이 아니다.
인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은?
- ① AJTML
- ② JSON
- ③ XML
- ④ YAML
정답 확인
정답 ① - AJTML은 존재하지 않는 포맷이다. 오답 노트 - ②JSON은 실제 인터페이스 통신에 사용되는 데이터 포맷이다 / ③XML도 실제 인터페이스 통신에 사용되는 데이터 포맷이다 / ④YAML도 실제 인터페이스 통신에 사용되는 데이터 포맷이다.
정형 기술 검토(FTR)의 지침으로 틀린 것은?
- ① 의제를 제한한다.
- ② 논쟁과 반박을 제한한다.
- ③ 문제 영역을 명확히 표현한다.
- ④ 참가자의 수를 제한하지 않는다.
정답 확인
정답 ④ - FTR은 참가자 수를 적절히 제한하는 것을 원칙으로 한다. 오답 노트 - ①의제 제한은 실제 FTR 지침이다 / ②논쟁·반박 제한도 실제 FTR 지침이다 / ③문제 영역 명확화도 실제 FTR 지침이다.
트랜잭션의 특성 중 다음 설명에 해당하는 것은?
트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
- ① Durability
- ② Share
- ③ Consistency
- ④ Atomicity
정답 확인
정답 ④ - 전부 반영 또는 전혀 반영되지 않는 특성은 원자성(Atomicity)이다. 오답 노트 - ①Durability(지속성)는 커밋된 결과가 영구 반영됨을 의미하며 전부-전무 반영과는 다른 개념이다 / ②Share는 트랜잭션 특성(ACID) 용어가 아니다 / ③Consistency(일관성)는 트랜잭션 수행 후에도 DB가 일관된 상태를 유지함을 의미하는 별개 특성이다.
애트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은?
- ① 도메인
- ② 튜플
- ③ 엔티티
- ④ 다형성
정답 확인
정답 ① - 속성이 취할 수 있는 원자값의 집합은 도메인이다. 오답 노트 - ②튜플은 릴레이션의 행(하나의 데이터 레코드)을 의미하며 원자값의 집합이 아니다 / ③엔티티는 데이터베이스로 표현하려는 실세계의 객체를 의미한다 / ④다형성은 객체지향 개념으로 도메인 정의와 무관하다.
데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL은?
- ① 트리거(Trigger)
- ② 무결성(Integrity)
- ③ 잠금(Lock)
- ④ 복귀(Rollback)
정답 확인
정답 ① - 이벤트 발생 시 자동 수행되는 절차형 SQL은 트리거다. 오답 노트 - ②무결성은 데이터의 정확성·일관성을 보장하는 제약 개념이지 자동 수행되는 절차형 SQL이 아니다 / ③잠금은 동시성 제어를 위한 자원 접근 통제 기법이다 / ④복귀(Rollback)는 트랜잭션을 취소해 이전 상태로 되돌리는 연산이다.
STUDENT 테이블에 독일어과 학생 50명, 중국어과 학생 30명, 영어영문학과 학생 50명의 정보가 저장되어 있을 때, 다음 두 SQL문의 실행 결과 튜플 수는? (단, DEPT 컬럼은 학과명)
ⓐ SELECT DEPT FROM STUDENT;
ⓑ SELECT DISTINCT DEPT FROM STUDENT;
- ① ⓐ 50, ⓑ 3
- ② ⓐ 130, ⓑ 130
- ③ ⓐ 130, ⓑ 3
- ④ ⓐ 3, ⓑ 3
정답 확인
정답 ③ - 전체 130명이 그대로 조회되고, DISTINCT는 학과 종류(3개)만 남긴다. 오답 노트 - ①50,3은 ⓐ의 결과 행수를 특정 학과 인원수로 잘못 계산한 것이다(실제로는 전체 130명이 조회됨) / ②130,130은 DISTINCT가 중복을 제거하지 않는다고 잘못 본 것이다(실제로 학과 종류 3개만 남음) / ④3,3은 ⓐ도 DISTINCT처럼 그룹화된다고 잘못 본 것이다(ⓐ는 전체 130명이 그대로 조회됨).
관계대수의 순수 관계 연산자가 아닌 것은?
- ① Select
- ② Cartesian Product
- ③ Project
- ④ Division
정답 확인
정답 ② - Cartesian Product는 일반 집합 연산자이며 순수 관계 연산자는 Select·Project·Join·Division이다. 오답 노트 - ①Select는 실제 순수 관계 연산자다 / ③Project도 실제 순수 관계 연산자다 / ④Division도 실제 순수 관계 연산자다.
다음에 해당하는 함수 종속의 추론 규칙은?
X → Y이고 Y → Z이면 X → Z이다.
- ① 분해 규칙
- ② 이행 규칙
- ③ 반사 규칙
- ④ 결합 규칙
정답 확인
정답 ② - X→Y, Y→Z이면 X→Z가 성립하는 것은 이행 규칙(Transitivity)이다. 오답 노트 - ①분해 규칙은 X→YZ이면 X→Y, X→Z로 나뉘는 규칙으로 문제의 설명과 다르다 / ③반사 규칙은 Y가 X의 부분집합이면 X→Y가 성립한다는 규칙으로 문제의 설명과 다르다 / ④결합 규칙은 X→Y, X→Z이면 X→YZ가 성립하는 규칙으로 문제의 설명과 다르다.
뷰(View)의 장점이 아닌 것은?
- ① 뷰 자체로 인덱스를 가짐
- ② 데이터 보안 용이
- ③ 논리적 독립성 제공
- ④ 사용자 데이터 관리 용이
정답 확인
정답 ① - 뷰는 실제 데이터를 저장하지 않는 가상 테이블이므로 자체 인덱스를 가질 수 없다. 오답 노트 - ②데이터 보안 용이는 실제 뷰의 장점이다 / ③논리적 독립성 제공도 실제 뷰의 장점이다 / ④사용자 데이터 관리 용이도 실제 뷰의 장점이다.
데이터베이스 설계 시 물리적 설계 단계에서 수행하는 사항이 아닌 것은?
- ① 저장 레코드 양식 설계
- ② 레코드 집중의 분석 및 설계
- ③ 접근 경로 설계
- ④ 목표 DBMS에 맞는 스키마 설계
정답 확인
정답 ④ - 목표 DBMS에 맞는 스키마 설계는 논리적 설계 단계에서 수행한다. 오답 노트 - ①저장 레코드 양식 설계는 실제 물리적 설계 단계 활동이다 / ②레코드 집중 분석·설계도 실제 물리적 설계 단계 활동이다 / ③접근 경로 설계도 실제 물리적 설계 단계 활동이다.
릴레이션에 있는 모든 튜플에 대해 유일성은 만족시키지만 최소성은 만족시키지 못하는 키는?
- ① 후보키
- ② 기본키
- ③ 슈퍼키
- ④ 외래키
정답 확인
정답 ③ - 유일성은 만족하지만 최소성은 만족하지 않는 키는 슈퍼키다. 오답 노트 - ①후보키는 유일성과 최소성을 모두 만족하는 키다 / ②기본키는 후보키 중 선택된 대표키로 유일성·최소성을 모두 만족한다 / ④외래키는 다른 릴레이션의 기본키를 참조하는 속성으로 유일성 여부와 무관한 개념이다.
정규화의 필요성으로 거리가 먼 것은?
- ① 데이터 구조의 안정성 최대화
- ② 중복 데이터의 활성화
- ③ 수정, 삭제 시 이상 현상의 최소화
- ④ 테이블 불일치 위험의 최소화
정답 확인
정답 ② - 정규화의 목적은 중복 데이터의 최소화이지 활성화가 아니다. 오답 노트 - ①데이터 구조 안정성 최대화는 실제 정규화의 목적이다 / ③수정·삭제 이상현상 최소화도 실제 정규화의 목적이다 / ④테이블 불일치 위험 최소화도 실제 정규화의 목적이다.
릴레이션 R1에 속한 애트리뷰트의 조합인 외래키를 변경하려면 이를 참조하고 있는 릴레이션 R2의 기본키도 변경해야 하는데 이를 무엇이라 하는가?
- ① 정보 무결성
- ② 고유 무결성
- ③ 널 제약성
- ④ 참조 무결성
정답 확인
정답 ④ - 외래키와 참조되는 기본키 간의 일관성 제약은 참조 무결성이다. 오답 노트 - ①정보 무결성은 표준화된 무결성 분류 용어가 아니다 / ②고유 무결성도 표준화된 무결성 분류 용어가 아니다 / ③널 제약성은 기본키가 NULL이 될 수 없다는 개체 무결성 관련 제약으로, 외래키-기본키 참조 일관성과는 다른 개념이다.
정규화를 거치지 않아 발생하게 되는 이상(anomaly) 현상의 종류에 대한 설명으로 옳지 않은 것은?
- ① 삭제 이상이란 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들로 함께 삭제되는 연쇄 삭제 현상이다.
- ② 삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되는 현상이다.
- ③ 갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상이다.
- ④ 종속 이상이란 하나의 릴레이션에 하나 이상의 함수적 종속성이 존재하는 현상이다.
정답 확인
정답 ④ - 이상 현상은 삽입·삭제·갱신 이상 3가지이며 '종속 이상'이라는 용어는 존재하지 않는다. 오답 노트 - ①삭제 이상 설명은 실제로 옳다(연쇄 삭제 현상) / ②삽입 이상 설명도 실제로 옳다(원치 않는 값 함께 삽입) / ③갱신 이상 설명도 실제로 옳다(일부만 갱신되어 모순 발생).
개체-관계(E-R) 모델의 그래픽 표현으로 옳지 않은 것은?
- ① 개체 타입 - 사각형
- ② 속성 - 원형
- ③ 관계 타입 - 마름모
- ④ 연결 - 삼각형
정답 확인
정답 ④ - 연결은 삼각형이 아니라 직선으로 표현한다. 오답 노트 - ①개체 타입을 사각형으로 표현하는 것은 옳다 / ②속성을 원형(타원)으로 표현하는 것도 옳다 / ③관계 타입을 마름모로 표현하는 것도 옳다.
DDL(Data Define Language)의 명령어 중 스키마, 도메인, 인덱스 등을 정의할 때 사용하는 SQL문은?
- ① ALTER
- ② SELECT
- ③ CREATE
- ④ INSERT
정답 확인
정답 ③ - 스키마·도메인·인덱스 등을 새로 정의하는 명령은 CREATE다. 오답 노트 - ①ALTER는 기존 스키마 구조를 변경하는 명령이지 최초 정의하는 명령이 아니다 / ②SELECT는 DML로 데이터를 조회하는 명령이다 / ④INSERT는 DML로 데이터를 삽입하는 명령이다.
로킹 단위(Locking Granularity)에 대한 설명으로 옳은 것은?
- ① 로킹 단위가 크면 병행성 수준이 낮아진다.
- ② 로킹 단위가 크면 병행 제어 기법이 복잡해진다.
- ③ 로킹 단위가 작으면 로크(lock)의 수가 적어진다.
- ④ 로킹은 파일 단위로 이루어지며, 레코드와 필드는 로킹 단위가 될 수 없다.
정답 확인
정답 ① - 로킹 단위가 크면 병행성 수준은 낮아지고 관리(오버헤드)는 단순해진다. 오답 노트 - ②로킹 단위가 크면 오히려 관리할 lock 개수가 적어져 병행 제어 기법이 단순해진다 / ③로킹 단위가 작으면 잠금 대상이 세분화되어 lock 수는 오히려 많아진다 / ④로킹은 파일뿐 아니라 레코드, 필드 단위로도 이루어질 수 있다.
테이블 R과 S에 대한 SQL문이 실행되었을 때, 실행 결과로 옳은 것은?
| R | S | ||
|---|---|---|---|
| A | B | A | B |
| 1 | A | 1 | A |
| 3 | B | 2 | B |
SELECT A FROM R
UNION ALL
SELECT A FROM S;
- ① 1
- ② 3, 2
- ③ 1, 3
- ④ 1, 3, 1, 2
정답 확인
정답 ④ - UNION ALL은 중복을 제거하지 않고 R의 A값(1,3)과 S의 A값(1,2)을 그대로 모두 합친다. 오답 노트 - ①1만 나온다는 것은 중복을 제거하는 UNION과 혼동한 것이다 / ②3,2는 SELECT 대상이 아닌 B 컬럼 값을 조회한 것으로 착각한 것이다(조회 대상은 A 컬럼) / ③1,3은 R 테이블의 A값만 나온 것으로 S의 결과가 누락되었다.
관계해석에서 '모든 것에 대하여'의 의미를 나타내는 논리 기호는?
- ① ∃
- ② ∈
- ③ ∀
- ④ ⊂
정답 확인
정답 ③ - ∀는 전칭 정량자로 '모든 것에 대하여'를 의미한다. 오답 노트 - ①∃는 존재 정량자로 '어떤 것이 존재하여'를 의미한다 / ②∈는 원소 관계를 나타내는 집합 기호다 / ④⊂는 부분집합 관계를 나타내는 집합 기호다.
DELETE 명령에 대한 설명으로 틀린 것은?
- ① 테이블의 행을 삭제할 때 사용한다.
- ② WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있다.
- ③ SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
- ④ 기본 사용 형식은 "DELETE FROM 테이블 [WHERE 조건];"이다.
정답 확인
정답 ② - WHERE 없는 DELETE는 데이터만 모두 지울 뿐 테이블 구조는 남아 DROP TABLE과 동일하지 않다. 오답 노트 - ①행 삭제에 사용된다는 설명은 옳다 / ③DML에 해당한다는 설명도 옳다 / ④기본 사용 형식 설명도 옳다.
관계 데이터 모델에서 릴레이션(Relation)에 포함되어 있는 튜플(Tuple)의 수를 무엇이라고 하는가?
- ① Degree
- ② Cardinality
- ③ Attribute
- ④ Cartesian product
정답 확인
정답 ② - 튜플(행)의 수는 Cardinality, 속성(열)의 수는 Degree다. 오답 노트 - ①Degree는 애트리뷰트(속성/열)의 수를 의미한다 / ③Attribute는 속성 자체를 의미하는 용어다 / ④Cartesian product는 두 릴레이션의 모든 조합을 만드는 연산이다.
SQL의 명령을 사용 용도에 따라 DDL, DML, DCL로 구분할 경우, 그 성격이 나머지 셋과 다른 것은?
- ① SELECT
- ② UPDATE
- ③ INSERT
- ④ GRANT
정답 확인
정답 ④ - GRANT는 DCL이며, SELECT/UPDATE/INSERT는 DML이다. 오답 노트 - ①SELECT는 DML이다 / ②UPDATE도 DML이다 / ③INSERT도 DML이다.
오류 제어에 사용되는 자동 반복 요청 방식(ARQ)이 아닌 것은?
- ① Stop-and-wait ARQ
- ② Go-back-N ARQ
- ③ Selective-Repeat ARQ
- ④ Non-Acknowledge ARQ
정답 확인
정답 ④ - ARQ 방식은 Stop-and-wait, Go-back-N, Selective-Repeat 3가지이며 Non-Acknowledge ARQ는 없다. 오답 노트 - ①Stop-and-wait ARQ는 실제 존재하는 방식이다 / ②Go-back-N ARQ도 실제 존재하는 방식이다 / ③Selective-Repeat ARQ도 실제 존재하는 방식이다.
OSI 7계층 중 네트워크 계층에 대한 설명으로 틀린 것은?
- ① 패킷을 발신지로부터 최종 목적지까지 전달하는 책임을 진다.
- ② 한 노드로부터 다른 노드로 프레임을 전송하는 책임을 진다.
- ③ 패킷에 발신지와 목적지의 논리 주소를 추가한다.
- ④ 라우터 또는 교환기는 패킷 전달을 위해 경로를 지정하거나 교환 기능을 제공한다.
정답 확인
정답 ② - 노드 간 프레임 전송 책임은 데이터링크 계층의 역할이다. 오답 노트 - ①발신지-목적지 패킷 전달 책임 설명은 옳다 / ③논리주소 추가 설명도 옳다 / ④라우터의 경로지정·교환 기능 설명도 옳다.
다음 C 언어 프로그램이 실행되었을 때, 실행 결과는?
#include <stdio.h>
int main(int argc, char* argv[]) {
int a = 5, b = 3, c = 12;
int t1, t2, t3;
t1 = a && b;
t2 = a || b;
t3 = !c;
printf("%d", t1 + t2 + t3);
return 0;
}
- ① 0
- ② 2
- ③ 5
- ④ 14
정답 확인
정답 ② - t1=1(&&), t2=1(||), t3=0(!12), 합계 1+1+0=2. 오답 노트 - ①0은 세 논리연산 결과를 모두 거짓(0)으로 잘못 계산한 것이다 / ③5는 변수 a의 원래 값을 그대로 합산에 포함시킨 잘못된 계산이다 / ④14는 a+b+c(5+3+12−6 등)처럼 논리연산이 아닌 산술연산으로 잘못 계산한 값이다.
OSI 7계층 중 프로토콜 데이터 단위(PDU)가 메시지(Message)가 아닌 것은?
- ① 전송 계층
- ② 세션 계층
- ③ 표현 계층
- ④ 응용 계층
정답 확인
정답 ① - 전송 계층의 PDU는 세그먼트이며, 세션·표현·응용 계층은 메시지 단위다. 오답 노트 - ②세션 계층의 PDU는 메시지가 맞다 / ③표현 계층의 PDU도 메시지가 맞다 / ④응용 계층의 PDU도 메시지가 맞다.
다음 Python 프로그램이 실행되었을 때, 실행 결과는?
strA = 'Information Technology'
strL = list()
for i in range(0, len(strA), 2):
strL.append(strA[i])
for j in range(len(strL) - 1, 0, -2):
print(strL[j], end='')
- ① gnTir
- ② riTng
- ③ lh to
- ④ ot hl
정답 확인
정답 ① - 짝수 인덱스 문자 리스트에서 홀수(끝에서부터 2씩 감소) 위치 문자를 역순 출력하면 gnTir가 된다. 오답 노트 - ②riTng은 strL의 인덱스를 반대 방향(앞에서부터)으로 잘못 추출한 결과다 / ③lh to는 원본 문자열 strA의 인덱스를 그대로 잘못 사용한 결과다 / ④ot hl은 순회 방향과 시작 인덱스를 혼동해 잘못 추출한 결과다.
프로세스 적재 정책과 관련한 설명으로 틀린 것은?
- ① 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
- ② 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소 공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
- ③ 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
- ④ 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답 확인
정답 ③ - 반대로 페이지 교환 시간이 프로세스 수행 시간보다 클 때 스레싱이 발생한다. 오답 노트 - ①반복·스택·부프로그램이 시간 지역성과 관련있다는 설명은 옳다 / ②공간 지역성 정의 설명도 옳다 / ④스레싱 방지를 위해 필요한 프레임 제공이 필요하다는 설명도 옳다.
다음은 정수 배열 a에 0부터 9까지의 무작위 수를 저장하는 Java 코드이다. 괄호에 들어갈 알맞은 코드는 무엇인가?
import ( ).*;
public class Test {
public static void main(String[] args) {
Random rand = new Random();
int a[] = new int[6];
for(int i = 0; i < 6; i++)
a[i] = rand.nextInt(10);
}
}
- ① java.lang
- ② java.util
- ③ java.net
- ④ java.io
정답 확인
정답 ② - Random 클래스는 java.util 패키지에 포함되어 있다. 오답 노트 - ①java.lang은 기본 자동 임포트 패키지로 String, Math 등은 있지만 Random은 포함되지 않는다 / ③java.net은 네트워크 통신 관련 클래스를 제공하는 패키지다 / ④java.io는 입출력 스트림 관련 클래스를 제공하는 패키지다.
리눅스 Bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
- ① 변수를 출력하고자 할 때는 export를 사용해야 한다.
- ② export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
- ③ 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한된다.
- ④ 변수를 export 시키면 전역(Global) 변수처럼 되어 끝까지 기억된다.
정답 확인
정답 ① - 변수 값 출력은 echo 명령을 사용하며, export는 환경변수로 내보내는 명령이다. 오답 노트 - ②export를 매개변수 없이 사용하면 현재 설정된 환경변수가 출력된다는 설명은 옳다 / ③export하지 않은 사용자 변수가 현재 쉘에 국한된다는 설명도 옳다 / ④export된 변수가 전역처럼 동작한다는 설명도 옳다.
다음 Java 프로그램이 실행되었을 때의 결과는?
public class Test {
public static void main(String[] args) {
int x = 7, y = 0;
while(x-- > 0) {
if (x%3 == 0)
continue;
y++;
}
System.out.print(y);
}
}
- ① 0
- ② 4
- ③ 7
- ④ 5
정답 확인
정답 ② - x가 6,4,3,2,1,0으로 감소하며 3의 배수(6,3,0)일 때만 continue되어 y는 4번 증가한다. 오답 노트 - ①0은 continue가 y++을 전부 건너뛴다고 잘못 계산한 것이다 / ③7은 continue 없이 매번 y가 증가한다고 잘못 계산한 것이다(원래 x값 7과 혼동) / ④5는 3의 배수 판정 조건(x%3==0)을 잘못 세어 continue 횟수를 하나 놓친 계산이다.
TCP/IP 프로토콜에서 TCP가 해당하는 계층은?
- ① 데이터 링크 계층
- ② 네트워크 계층
- ③ 트랜스포트 계층
- ④ 세션 계층
정답 확인
정답 ③ - TCP는 트랜스포트(전송) 계층에 속한다. 오답 노트 - ①데이터 링크 계층은 MAC 주소 기반 프레임 전송을 담당하며 TCP가 속한 계층이 아니다 / ②네트워크 계층은 IP가 속하는 계층으로 TCP가 속한 계층이 아니다 / ④세션 계층은 통신 세션 관리를 담당하는 계층으로 TCP가 속한 계층이 아니다.
Java에서 사용되는 출력 함수가 아닌 것은?
- ① System.out.print( )
- ② System.out.println( )
- ③ System.out.printing( )
- ④ System.out.printf( )
정답 확인
정답 ③ - printing()이라는 메서드는 Java에 존재하지 않는다. 오답 노트 - ①print()는 실제 존재하는 Java 출력 메서드다 / ②println()도 실제 존재하는 Java 출력 메서드다 / ④printf()도 실제 존재하는 Java 출력 메서드다.
다음의 페이지 참조 열(Page reference)에 대해 페이지 교체 기법으로 선입선출 알고리즘을 사용할 경우 페이지 부재(Page Fault) 횟수는? (단, 할당된 페이지 프레임 수는 3이고, 처음에는 모든 프레임이 비어 있다.)
페이지 참조열: 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0
- ① 13
- ② 14
- ③ 15
- ④ 20
정답 확인
정답 ② - FIFO 방식으로 프레임 3개를 두고 참조열을 순서대로 큐에 넣고 빼며 트레이스하면 페이지 부재는 14회다. 오답 노트 - ①13은 트레이스 중 하나의 부재를 적게 센 값이다 / ③15는 트레이스 중 히트(적중)를 부재로 잘못 센 값이다 / ④20은 참조열 전체 길이(19)를 초과하는 값으로 계산 오류다.
배치 프로그램의 자동 수행 주기 중 사용자가 특정 조건을 설정해 두고 해당 조건이 충족될 때만 수행되도록 하는 것은?
- ① 정기 배치
- ② 이벤트성 배치
- ③ On-Demand 배치
- ④ 사용자 배치
정답 확인
정답 ② - 특정 조건 충족 시에만 실행되는 방식은 이벤트성 배치다. 오답 노트 - ①정기 배치는 정해진 주기(매일·매주 등)로 실행되는 방식이다 / ③On-Demand 배치는 사용자가 즉시 요청할 때 실행되는 방식이다 / ④사용자 배치는 표준 배치 유형 분류 용어가 아니다.
다음 Python 코드 출력문의 결과는?
print(4, 1, 2, sep=',', end='')
print(3, 5, sep='/')
- ① 4,1,23/5
- ② 4 1 23/5
- ③ 4,1,2 3/5
- ④ 4 1 2 3 5
정답 확인
정답 ① - 첫 print는 ','로 구분하고 개행 없이 끝나 "4,1,2"가 출력되고, 이어서 "3/5"가 바로 붙어 "4,1,23/5"가 된다. 오답 노트 - ②4 1 23/5는 sep=','가 적용되지 않은 것으로 잘못 본 결과다(기본 구분자 공백으로 착각) / ③4,1,2 3/5는 end=''가 개행 대신 공백을 넣는다고 잘못 본 결과다 / ④4 1 2 3 5는 sep 인자를 전혀 반영하지 않고 기본 print로 잘못 계산한 결과다.
JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?
- ① 문법 오류로 인해 발생한 것
- ② 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
- ③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
- ④ 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
정답 확인
정답 ① - 문법 오류는 컴파일 단계의 오류이며 실행 중 발생하는 예외와는 다르다. 오답 노트 - ②실행 시간 중 발생하는 오류라는 설명은 예외의 옳은 정의다 / ③배열 인덱스 범위 초과는 실제 실행시간 예외(ArrayIndexOutOfBoundsException)다 / ④존재하지 않는 파일 접근 시도도 실제 실행시간 예외(FileNotFoundException 등)다.
다음은 파이썬으로 만들어진 반복문 코드이다. 이 코드의 결과는?
while(True):
print('A')
print('B')
break
print('C')
print('D')
- ① A, B 출력이 반복된다.
- ② A, B, C까지만 출력된다.
- ③ A, B, C 출력이 반복된다.
- ④ A, B, D까지만 출력된다.
정답 확인
정답 ④ - break로 인해 C는 실행되지 않고 루프를 빠져나온 뒤 D가 출력된다. 오답 노트 - ①A, B가 반복된다는 것은 break가 동작하지 않는다고 잘못 본 것이다 / ②A, B, C까지만 출력된다는 것은 break 이후 코드(C)가 실행된다고 잘못 본 것이다 / ③A, B, C가 반복된다는 것도 마찬가지로 break의 동작을 무시한 잘못된 계산이다.
사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?
- ① 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
- ② 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
- ③ 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
- ④ 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
정답 확인
정답 ④ - 사용자 수준 스레드는 커널 모드 전환 없이 교환되므로 오버헤드가 적다. 오답 노트 - ①한 스레드의 시스템 호출로 전체 프로세스가 대기하지 않는다는 설명은 오히려 커널 수준 스레드의 특징이다(사용자 수준은 하나의 블로킹 호출이 전체 프로세스를 멈출 수 있다) / ②동시에 여러 스레드가 커널에 접근 가능하다는 것은 커널 수준 스레드의 특징이다 / ③독립적 스케줄링이 가능하다는 것도 커널이 각 스레드를 인식하는 커널 수준 스레드의 특징이다.
다음 중 페이지 교체(Page Replacement) 알고리즘이 아닌 것은?
- ① LRU
- ② OPT
- ③ NUR
- ④ SCF
정답 확인
정답 ④ - LRU, OPT, NUR(FIFO 등)은 실제 페이지 교체 알고리즘이나 SCF는 존재하지 않는 용어다. 오답 노트 - ①LRU는 실제 페이지 교체 알고리즘이다 / ②OPT도 실제 페이지 교체 알고리즘이다 / ③NUR도 실제 페이지 교체 알고리즘이다.
프레임워크(Framework)에 대한 설명으로 옳은 것은?
- ① 소프트웨어 구성에 필요한 기본 구조를 제공함으로써 재사용이 가능하게 해준다.
- ② 소프트웨어 개발 시 구조가 잡혀 있기 때문에 확장이 불가능하다.
- ③ 소프트웨어 아키텍처(Architecture)와 동일한 개념이다.
- ④ 모듈화(Modularity)가 불가능하다.
정답 확인
정답 ① - 프레임워크는 재사용 가능한 기본 구조를 제공하는 것이 핵심 특징이다. 오답 노트 - ②확장이 불가능하다는 설명은 틀렸다(프레임워크는 확장 가능하도록 설계된다) / ③아키텍처와 동일한 개념이라는 설명은 틀렸다(프레임워크는 아키텍처를 구현한 구체적 소프트웨어 뼈대다) / ④모듈화가 불가능하다는 설명은 틀렸다(오히려 모듈화를 지원한다).
단편화(Fragmentation)와 재결합(Reassembly)에 대한 설명으로 옳지 않은 것은?
- ① 단편화는 송신 측에서 전송할 데이터를 전송에 알맞은 일정 크기의 작은 블록으로 자르는 작업을 의미한다.
- ② 재결합은 수신 측에서 단편화된 블록을 원래의 데이터로 모으는 것이다.
- ③ 단편화를 통해 세분화된 데이터 블록을 프레임이라고 한다.
- ④ 단편화를 하면 전송 시간이 단축되고, 효과적인 오류 제어가 가능하다.
정답 확인
정답 ③ - 단편화된 데이터 블록은 일반적으로 패킷(세그먼트)이라 하며 프레임과는 다른 계층 개념이다. 오답 노트 - ①단편화가 송신측에서 작은 블록으로 자르는 작업이라는 설명은 옳다 / ②재결합이 수신측에서 원래대로 모으는 것이라는 설명도 옳다 / ④단편화로 전송시간 단축·효과적 오류 제어가 가능하다는 설명도 옳다.
TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜은?
- ① MLFQ
- ② MQTT
- ③ Zigbee
- ④ MTSP
정답 확인
정답 ② - MQTT는 IoT 환경에서 널리 쓰이는 경량 발행-구독 메시징 프로토콜이다. 오답 노트 - ①MLFQ는 CPU 스케줄링 알고리즘(다단계 피드백 큐)으로 메시징 프로토콜이 아니다 / ③Zigbee는 저전력 근거리 무선 통신 규격으로 발행-구독 메시징 프로토콜이 아니다 / ④MTSP는 존재하지 않는 프로토콜명이다.
다음 설명에 해당하는 소프트웨어 개발 방법론은 무엇인가?
기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다. 컴포넌트의 재사용(Reusability)이 가능하여 시간과 노력을 절감할 수 있다.
- ① 정보공학 방법론
- ② 구조적 방법론
- ③ Agile 방법론
- ④ CBD 방법론
정답 확인
정답 ④ - 컴포넌트를 조합해 애플리케이션을 만드는 방법론은 CBD(Component Based Development)이다. 오답 노트 - ①정보공학 방법론은 데이터 중심의 전사적 정보시스템 구축 방법론이다 / ②구조적 방법론은 기능(프로세스) 중심의 하향식 개발 방법론이다 / ③Agile 방법론은 반복·점증적 개발과 협업을 강조하는 방법론이다.
CMMI의 단계가 아닌 것은?
- ① 초기
- ② 관리
- ③ 정의
- ④ 반복
정답 확인
정답 ④ - CMMI는 초기-관리-정의-정량적 관리-최적화 5단계이며 '반복'은 없다. 오답 노트 - ①초기 단계는 실제 CMMI 단계다 / ②관리 단계도 실제 CMMI 단계다 / ③정의 단계도 실제 CMMI 단계다.
빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법은?
- ① Data Mining
- ② Wm-Bus
- ③ Digital Twin
- ④ Zigbee
정답 확인
정답 ① - 변수 간 상호 관계·패턴을 찾아내는 기법은 데이터 마이닝이다. 오답 노트 - ②Wm-Bus는 무선 원격 검침 통신규격으로 데이터 분석 기법이 아니다 / ③Digital Twin은 물리적 자산을 가상화하는 모델로 데이터 마이닝과 다른 개념이다 / ④Zigbee는 저전력 무선통신 규격으로 데이터 분석 기법이 아니다.
다음 내용이 설명하는 스토리지 시스템은?
하드디스크와 같은 데이터 저장장치를 호스트버스 어댑터에 직접 연결하는 방식. 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성.
- ① DAS
- ② NAS
- ③ N-SCREEN
- ④ NFC
정답 확인
정답 ① - 네트워크 디바이스 없이 직접 연결하는 저장장치 방식은 DAS다. 오답 노트 - ②NAS는 네트워크를 통해 연결되는 파일 단위 스토리지로 직접 연결 방식이 아니다 / ③N-SCREEN은 하나의 콘텐츠를 여러 단말에서 이어보는 서비스 개념으로 스토리지 방식이 아니다 / ④NFC는 근거리 무선통신 기술로 스토리지 방식이 아니다.
물리적인 사물과 컴퓨터에 동일하게 표현되는 가상의 모델로, 실제 물리적인 자산 대신 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정보를 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있는 모델은?
- ① 실행 시간 최적화
- ② 실행 시간
- ③ 디지털 트윈
- ④ N-Screen
정답 확인
정답 ③ - 물리적 자산을 가상 모델로 표현해 효율성을 높이는 개념은 디지털 트윈이다. 오답 노트 - ①실행 시간 최적화는 표준화된 개념명이 아니다 / ②실행 시간도 문제 설명과 무관한 일반 용어다 / ④N-Screen은 여러 단말 간 콘텐츠 이어보기 서비스로 물리적 자산 가상화 모델과 다른 개념이다.
컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드 등 개인의 중요한 정보를 몰래 빼가는 해킹 공격은?
- ① Key Logger Attack
- ② Worm
- ③ Zombie Worm
- ④ Rollback
정답 확인
정답 ① - 키보드 입력을 탐지해 정보를 탈취하는 공격은 키로거(Key Logger) 공격이다. 오답 노트 - ②Worm은 스스로 복제해 네트워크로 확산되는 악성코드로 키보드 입력 탈취와는 다른 개념이다 / ③Zombie Worm은 표준화된 공격 용어가 아니다 / ④Rollback은 이전 상태로 되돌리는 DB 연산으로 해킹 공격과 무관하다.
기존 무선 랜의 한계 극복을 위해 등장하였으며, 대규모 디바이스의 네트워크 생성에 최적화되어 차세대 이동통신, 홈네트워킹, 공공 안전 등의 특수목적에 사용되는 새로운 방식의 네트워크 기술을 의미하는 것은?
- ① Mesh Network
- ② Virtual Private Network
- ③ Local Area Network
- ④ Software Defined Perimeter
정답 확인
정답 ① - 대규모 디바이스 네트워크 생성에 최적화된 기술은 메시 네트워크(Mesh Network)다. 오답 노트 - ②VPN은 공중망을 통해 사설망처럼 안전하게 통신하는 기술로 대규모 디바이스 네트워크 생성 목적과 다르다 / ③LAN은 근거리 통신망을 뜻하는 일반 용어로 문제의 특수목적 설명과 다르다 / ④SDP(Software Defined Perimeter)는 소프트웨어 정의 경계 보안 모델로 네트워크 생성 기술과 다른 개념이다.
접근통제에 대한 설명으로 틀린 것은?
- ① 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다.
- ② 데이터에 대해 통제함으로써 자원의 불법적인 접근 및 파괴를 예방한다.
- ③ 임의 접근통제는 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
- ④ 역할기반 접근통제는 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
정답 확인
정답 ③ - 주체·객체 등급 비교 방식은 강제 접근통제(MAC)이며, 임의 접근통제(DAC)는 소유자가 권한을 부여하는 방식이다. 오답 노트 - ①주체-객체 간 정보흐름 제한이라는 설명은 접근통제의 옳은 정의다 / ②불법 접근·파괴 예방이라는 설명도 옳다 / ④역할기반 접근통제(RBAC) 정의도 옳다.
시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호 공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?
- ① Pass flag
- ② Bucket
- ③ Opcode
- ④ Salt
정답 확인
정답 ④ - 동일 패스워드가 다른 해시값으로 저장되도록 추가하는 값은 Salt다. 오답 노트 - ①Pass flag는 표준 보안 용어가 아니다 / ②Bucket은 해시테이블 자료구조에서 사용하는 용어로 암호공격 방지 목적의 첨가값이 아니다 / ③Opcode는 명령어의 연산코드를 의미하는 용어로 암호공격 방지와 무관하다.
소프트웨어 개발 프레임워크를 적용할 경우 기대효과로 거리가 먼 것은?
- ① 품질 보증
- ② 기술 종속성
- ③ 개발 용이성
- ④ 변경 용이성
정답 확인
정답 ② - 기술 종속성은 프레임워크 도입의 부작용이지 기대효과가 아니다. 오답 노트 - ①품질 보증은 실제 프레임워크 도입 기대효과다 / ③개발 용이성도 실제 기대효과다 / ④변경 용이성도 실제 기대효과다.
소프트웨어 개발 방법론 중 애자일(Agile) 방법론의 특징과 가장 거리가 먼 것은?
- ① 각 단계의 결과가 완전히 확인된 후 다음 단계 진행
- ② 소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
- ③ 환경 변화에 대한 즉시 대응
- ④ 프로젝트 상황에 따른 주기적 조정
정답 확인
정답 ① - 단계별 완전 확인 후 다음 단계로 진행하는 것은 폭포수 모델의 특징이다. 오답 노트 - ②의사소통 중시는 실제 애자일의 특징이다 / ③환경변화 즉시대응도 실제 애자일의 특징이다 / ④주기적 조정도 실제 애자일의 특징이다.
크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구는?
- ① tripwire
- ② tcpdump
- ③ netcat
- ④ cron
정답 확인
정답 ① - tripwire는 파일 무결성 변경 여부를 점검하는 보안 도구다. 오답 노트 - ②tcpdump는 네트워크 패킷을 캡처·분석하는 도구로 파일 변경 탐지 도구가 아니다 / ③netcat은 네트워크 연결을 생성·테스트하는 범용 도구다 / ④cron은 작업을 예약 실행하는 스케줄러로 침입 탐지 도구가 아니다.
다음 내용이 설명하는 것은?
블록체인(Blockchain) 개발 환경을 클라우드로 서비스하는 개념. 블록체인 네트워크에 노드의 추가 및 제거가 용이. 블록체인의 기본 인프라를 추상화하여 블록체인 응용프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼.
- ① OTT
- ② BaaS
- ③ SDDC
- ④ Wi-SUN
정답 확인
정답 ② - 블록체인 개발 환경을 클라우드로 제공하는 개념은 BaaS(Blockchain as a Service)다. 오답 노트 - ①OTT는 인터넷을 통한 동영상 콘텐츠 제공 서비스로 블록체인과 무관하다 / ③SDDC는 소프트웨어 정의 데이터센터로 인프라 가상화 개념이지 블록체인 클라우드 서비스가 아니다 / ④Wi-SUN은 스마트그리드용 저전력 무선통신 규격으로 블록체인과 무관하다.
다음 설명에 해당하는 비용산정 기법은?
조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법이다. 가장 편리하고 신속하게 비용을 산정할 수 있으며, 의뢰자로부터 믿음을 얻을 수 있다. 개인적이고 주관적일 수 있다.
- ① 전문가 감정 기법
- ② 델파이 기법
- ③ LOC 기법
- ④ Putnam 모형
정답 확인
정답 ① - 2인 이상 전문가에게 개별 의뢰하는 신속하지만 주관적인 기법은 전문가 감정 기법이다. 오답 노트 - ②델파이 기법은 여러 전문가의 의견을 반복적·체계적으로 수렴하는 기법으로 단순 개별 의뢰 방식과는 다르다 / ③LOC 기법은 예상 코드 라인 수를 기반으로 비용을 산정하는 정형적 기법이다 / ④Putnam 모형은 소프트웨어 생명주기 전체의 노력분포를 이용하는 동적 산정 모형이다.
전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추는 방법으로 소프트웨어를 완성시키는 재사용 방법은?
- ① 합성 중심
- ② 생성 중심
- ③ 분리 중심
- ④ 구조 중심
정답 확인
정답 ① - 모듈(블록)을 조립하는 재사용 방식은 합성 중심 재사용이다. 오답 노트 - ②생성 중심은 매개변수를 이용해 프로그램 코드 자체를 자동 생성하는 재사용 방식이다 / ③분리 중심은 표준화된 재사용 분류 용어가 아니다 / ④구조 중심도 표준화된 재사용 분류 용어가 아니다.
Public 메소드로부터 Private 배열이 반환될 경우 발생하는 문제점으로 가장 옳은 것은?
- ① 메소드로의 접근이 불가능해진다.
- ② 배열의 주소가 외부로 공개되어 외부에서 접근할 수 있게 된다.
- ③ 시스템의 내부 정보가 노출된다.
- ④ 동기화 오류가 발생한다.
정답 확인
정답 ② - 참조(주소)가 그대로 반환되어 캡슐화가 깨지고 외부에서 내부 배열에 접근·수정할 수 있게 된다. 오답 노트 - ①메소드 접근이 불가능해진다는 것은 문제 상황과 무관한 오답이다(오히려 메소드는 정상 호출된다) / ③내부 정보 노출은 결과적으로 발생할 수 있으나 가장 직접적인 문제는 참조가 공개되어 외부에서 배열을 직접 조작할 수 있게 되는 것이다 / ④동기화 오류는 배열 참조 반환과 직접적인 인과관계가 없다.
시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?
자신의 신원(Identity)을 시스템에 증명하는 과정이다. 아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시라고 볼 수 있다.
- ① Aging
- ② Accounting
- ③ Authorization
- ④ Authentication
정답 확인
정답 ④ - 신원을 증명하는 과정은 인증(Authentication)이다. 오답 노트 - ①Aging은 스케줄링에서 오래 대기한 프로세스의 우선순위를 높이는 기법으로 신원 증명과 무관하다 / ②Accounting은 자원 사용 내역을 기록·과금하는 활동이다 / ③Authorization은 인증된 사용자에게 권한을 부여하는 과정으로 신원을 증명하는 인증 자체와는 다른 단계다.
해쉬(Hash) 기법에 대한 설명으로 틀린 것은?
- ① 임의의 길이의 입력 데이터를 받아 고정된 길이의 해쉬값으로 변환한다.
- ② 주로 공개키 암호화 방식에서 키 생성을 위해 사용한다.
- ③ 대표적인 해쉬 알고리즘으로 HAVAL, SHA-1 등이 있다.
- ④ 해쉬 함수는 일방향 함수(One-way function)이다.
정답 확인
정답 ② - 해시는 무결성 검증·전자서명 등에 주로 쓰이며, 공개키 생성 자체를 위한 기법이 아니다. 오답 노트 - ①임의 길이 입력을 고정 길이 해시값으로 변환한다는 설명은 옳다 / ③HAVAL, SHA-1이 대표적 해시 알고리즘이라는 설명도 옳다 / ④해시함수가 일방향 함수라는 설명도 옳다.
DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?
- ① Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화된 패킷을 처리하게 만드는 공격 방법이다.
- ② Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
- ③ SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는 것이다.
- ④ Land 공격은 패킷 전송 시 출발지 IP 주소와 목적지 IP 주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.
정답 확인
정답 ② - Smurf 공격은 멀티캐스트가 아닌 브로드캐스트 주소를 이용해 다수 응답이 피해자에게 집중되게 하는 공격이다. 오답 노트 - ①Ping of Death 공격 설명은 옳다 / ③SYN Flooding 설명도 옳다 / ④Land 공격 설명도 옳다.
프로토타이핑 모형(Prototyping Model)에 대한 설명으로 옳지 않은 것은?
- ① 최종 결과물이 만들어지기 전에 의뢰자가 최종 결과물의 일부 또는 모형을 볼 수 있다.
- ② 프로토타이핑을 수행하는 과정에서 새로운 요구사항의 반영은 불가능하다.
- ③ 프로토타입은 발주자나 개발자 모두에게 공동의 참조 모델을 제공한다.
- ④ 프로토타입은 구현 단계의 구현 골격이 될 수 있다.
정답 확인
정답 ② - 프로토타이핑 과정에서는 새로운 요구사항이 발견되면 반영이 가능하다. 오답 노트 - ①은 의뢰자가 결과물의 일부·모형을 미리 볼 수 있다는 프로토타이핑의 실제 특징이라 옳은 설명 / ③은 발주자·개발자 공동 참조 모델을 제공한다는 것도 프로토타이핑의 목적이라 옳은 설명 / ④는 프로토타입이 구현 단계의 골격이 될 수 있다는 것도 실제 활용 방식이라 옳은 설명.
자료 흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
- ① Process : 원
- ② Data Flow : 화살표
- ③ Data Store : 삼각형
- ④ Terminator : 사각형
정답 확인
정답 ③ - Data Store는 삼각형이 아니라 열린 사각형(평행선)으로 표기한다. 오답 노트 - ①Process를 원으로 표기하는 것은 맞는 표기법 / ②Data Flow를 화살표로 표기하는 것도 맞는 표기법 / ④Terminator를 사각형으로 표기하는 것도 맞는 표기법.
HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
- ① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
- ② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
- ③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
- ④ 보기 쉽고 이해하기 쉽다.
정답 확인
정답 ① - HIPO는 상향식이 아니라 하향식 개발을 위한 문서화 도구이다. 오답 노트 - ②HIPO의 차트 종류(가시적·총체적·세부적 도표) 구분은 맞는 설명 / ③기능과 자료 의존관계를 동시에 표현하는 것도 HIPO의 실제 특징 / ④보기 쉽고 이해하기 쉽다는 것도 HIPO의 장점으로 맞는 설명.
그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되지 않는 것은?
- ① 객체 모델링
- ② 기능 모델링
- ③ 동적 모델링
- ④ 분석 모델링
정답 확인
정답 ④ - 럼바우 분석 기법은 객체·동적·기능 모델링 3가지로 구성되며 "분석 모델링"은 포함되지 않는다. 오답 노트 - ①②③은 모두 럼바우 분석 기법에 실제로 포함되는 모델링 종류이므로 "포함되지 않는 것"의 정답이 될 수 없다.
다음 내용이 설명하는 객체지향 설계 원칙은?
· 클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 맺으면 안 된다.
· 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
- ① 인터페이스 분리 원칙
- ② 단일 책임 원칙
- ③ 개방 폐쇄의 원칙
- ④ 리스코프 교체의 원칙
정답 확인
정답 ① - 사용하지 않는 인터페이스에 의존하지 않도록 분리하는 것은 인터페이스 분리 원칙(ISP)이다. 오답 노트 - ②단일 책임 원칙은 클래스가 단 하나의 책임(변경 이유)만 가져야 한다는 원칙 / ③개방 폐쇄 원칙은 확장에는 열려 있고 변경에는 닫혀 있어야 한다는 원칙 / ④리스코프 치환 원칙은 하위 타입이 상위 타입을 대체할 수 있어야 한다는 원칙으로, 제시문의 "불필요한 인터페이스 의존 금지"와는 다른 원칙이다.
N-S(Nassi-Schneiderman) Chart에 대한 설명으로 거리가 먼 것은?
- ① 논리의 기술에 중점을 둔 도형식 표현 방법이다.
- ② 연속, 선택 및 다중 선택, 반복 등의 제어 논리 구조로 표현한다.
- ③ 주로 화살표를 사용하여 논리적인 제어 구조로 흐름을 표현한다.
- ④ 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.
정답 확인
정답 ③ - N-S Chart는 화살표를 사용하지 않는 도형 중심 표현법이다. 오답 노트 - ①논리 기술에 중점을 둔 도형식 표현이라는 것은 N-S Chart의 실제 특징 / ②연속·선택·반복 등 제어 논리 구조로 표현하는 것도 맞는 설명 / ④조건 복합 부분을 시각적으로 명확히 식별하는데 적합한 것도 N-S Chart의 장점이다.
럼바우(Rumbaugh)의 객체지향 분석 절차를 가장 바르게 나열한 것은?
- ① 객체 모형 → 동적 모형 → 기능 모형
- ② 객체 모형 → 기능 모형 → 동적 모형
- ③ 기능 모형 → 동적 모형 → 객체 모형
- ④ 기능 모형 → 객체 모형 → 동적 모형
정답 확인
정답 ① - 럼바우 분석 절차는 객체 모형 → 동적 모형 → 기능 모형 순서로 진행된다. 오답 노트 - ②③④는 모두 객체 모형이 가장 먼저 수행되어야 하는 실제 절차와 순서가 뒤바뀌어 있어 오답이다.
한 모듈 내의 각 구성 요소들이 공통의 목적을 달성하기 위하여 서로 얼마나 관련이 있는지의 기능적 연관의 정도를 나타내는 것은?
- ① Cohesion
- ② Coupling
- ③ Structure
- ④ Unity
정답 확인
정답 ① - 모듈 내부 구성 요소 간 기능적 연관도는 응집도(Cohesion)이다. 오답 노트 - ②Coupling(결합도)은 모듈과 모듈 "사이"의 연관 정도를 나타내는 개념으로 모듈 "내부" 연관도와는 다르다 / ③Structure, ④Unity는 소프트웨어 공학의 표준 응집도 관련 용어가 아니다.
결합도(Coupling) 단계를 약한 순서에서 강한 순서로 가장 옳게 표시한 것은?
- ① Stamp → Data → Control → Common → Content
- ② Control → Data → Stamp → Common → Content
- ③ Content → Stamp → Control → Common → Data
- ④ Data → Stamp → Control → Common → Content
정답 확인
정답 ④ - 결합도는 Data(자료) → Stamp(스탬프) → Control(제어) → Common(공통) → Content(내용) 순으로 강해진다. 오답 노트 - ①은 가장 약한 Data가 두 번째에 놓여 순서가 틀림 / ②는 Control이 맨 앞, Data가 중간에 있어 순서가 틀림 / ③은 가장 강한 Content가 맨 앞, 가장 약한 Data가 맨 뒤에 있어 순서가 완전히 반대다.
UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?
- ① 생명선
- ② 실행
- ③ 확장
- ④ 메시지
정답 확인
정답 ③ - 시퀀스 다이어그램은 생명선, 실행, 메시지 등으로 구성되며 "확장"은 해당하지 않는다. 오답 노트 - ①생명선(Lifeline), ②실행(Activation), ④메시지(Message)는 모두 시퀀스 다이어그램의 실제 구성 요소이다.
UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?
- ① GUI(Graphical User Interface)
- ② OUI(Organic User Interface)
- ③ NUI(Natural User Interface)
- ④ CLI(Command Line Interface)
정답 확인
정답 ③ - 자연스러운 사용자 움직임 인식 인터페이스는 NUI이다. 오답 노트 - ①GUI는 그래픽 요소(아이콘·창)를 마우스 등으로 조작하는 인터페이스 / ②OUI는 유기적 형태의 사물 자체를 인터페이스로 활용하는 개념 / ④CLI는 명령어를 텍스트로 입력하는 인터페이스로, 모두 신체의 자연스러운 움직임 인식과는 거리가 멀다.
LOC 기법에 의하여 예측된 총 라인수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
- ① 5개월
- ② 10개월
- ③ 15개월
- ④ 20개월
정답 확인
정답 ④ - 36000 ÷ (6명 × 300라인) = 20개월. 오답 노트 - ①②③은 총 라인수를 인원수나 월간 생산성 중 하나만으로 나누는 등 계산식을 잘못 적용했을 때 나오는 값으로 오답이다.
분산 시스템에서의 미들웨어(Middleware)와 관련한 설명으로 틀린 것은?
- ① 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
- ② 위치 투명성(Location Transparency)을 제공한다.
- ③ 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.
- ④ 애플리케이션과 사용자 사이에서만 분산 서비스를 제공한다.
정답 확인
정답 ④ - 미들웨어는 애플리케이션과 사용자 사이에만 국한되지 않고 다양한 컴포넌트 간 분산 서비스를 제공한다. 오답 노트 - ①분산 시스템의 여러 부분을 관리·통신·데이터 교환하게 해주는 소프트웨어라는 것은 미들웨어의 실제 정의 / ②위치 투명성 제공도 미들웨어의 실제 기능 / ③여러 컴포넌트가 요구하는 재사용 가능한 서비스 구현 제공도 미들웨어의 실제 역할이다.
객체에게 어떤 행위를 하도록 지시하는 명령은?
- ① Class
- ② Package
- ③ Object
- ④ Message
정답 확인
정답 ④ - 객체에게 행위를 지시하는 명령은 메시지(Message)이다. 오답 노트 - ①Class는 객체를 만들기 위한 설계도(틀) / ②Package는 관련 요소들을 묶는 단위 / ③Object는 클래스로부터 생성된 인스턴스 자체로, 모두 "행위를 지시하는 명령" 개념과는 다르다.
애자일 소프트웨어 개발 기법의 가치가 아닌 것은?
- ① 프로세스의 도구보다는 개인과 상호작용에 더 가치를 둔다.
- ② 계약 협상보다는 고객과의 협업에 더 가치를 둔다.
- ③ 실제 작동하는 소프트웨어보다는 이해하기 좋은 문서에 더 가치를 둔다.
- ④ 계획을 따르기보다는 변화에 대응하는 것에 더 가치를 둔다.
정답 확인
정답 ③ - 애자일은 문서보다 작동하는 소프트웨어에 더 가치를 둔다. 오답 노트 - ①②④는 애자일 선언문이 실제로 명시한 4대 가치(개인과 상호작용, 고객과의 협업, 변화 대응)에 해당하는 옳은 설명이다.
GoF(Gangs of Four) 디자인 패턴의 구조 패턴에 속하지 않는 것은?
- ① Composite
- ② Observer
- ③ Adapter
- ④ Decorator
정답 확인
정답 ② - Observer는 행위(Behavioral) 패턴이며 구조 패턴이 아니다. 오답 노트 - ①Composite, ③Adapter, ④Decorator는 모두 GoF의 구조(Structural) 패턴에 실제로 속한다.
UML에 대한 설명으로 옳지 않은 것은?
- ① OMG에서 만든 통합 모델링 언어로서 객체 지향적 분석·설계 방법론의 표준 지정을 목표로 한다.
- ② 애플리케이션을 개발할 때 쉽게 이해할 수 있도록 도와 주는 여러 가지 유형의 다이어그램을 제공한다.
- ③ 실시간 시스템 및 분산 시스템과 같은 시스템의 분석과 설계에는 사용될 수 없다.
- ④ 개발자와 고객 또는 개발자 상호 간의 의사 소통을 원활하게 할 수 있다.
정답 확인
정답 ③ - UML은 실시간·분산 시스템의 분석·설계에도 사용될 수 있다. 오답 노트 - ①②④는 UML의 실제 목적과 특징(표준 모델링 언어, 다이어그램 제공, 의사소통 촉진)에 해당하는 옳은 설명이다.
미들웨어(Middleware)에 대한 설명으로 틀린 것은?
- ① 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
- ② 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
- ③ 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
- ④ 여러 컴포넌트를 1대1, 1대다, 다대다 등 여러 가지 형태로 연결이 가능하다.
정답 확인
정답 ② - 미들웨어는 사용자가 내부 동작을 몰라도 되는 투명성을 제공해야 한다. 오답 노트 - ①여러 운영체제의 응용 프로그램 사이에 위치한다는 것은 미들웨어의 실제 정의 / ③소프트웨어 컴포넌트 연결을 위한 인프라 구조 제공도 실제 역할 / ④1대1·1대다·다대다 연결이 가능한 것도 미들웨어의 실제 특징이다.
럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은?
- ① 기능 모델링
- ② 동적 모델링
- ③ 객체 모델링
- ④ 정적 모델링
정답 확인
정답 ① - 기능 모델링은 DFD를 이용해 자료 흐름을 표현한다. 오답 노트 - ②동적 모델링은 상태도(State Diagram)를 이용해 시간에 따른 객체 상태 변화를 표현 / ③객체 모델링은 객체 다이어그램을 이용해 객체와 클래스 간 관계를 표현 / ④"정적 모델링"은 럼바우 분석 기법의 정식 명칭이 아니다.
모듈화를 통해 분리된 시스템의 각 기능들로서 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등과 같은 의미로 사용되는 것은?
- ① Module
- ② Component
- ③ Things
- ④ Prototype
정답 확인
정답 ① - 서브루틴·서브시스템 등과 같은 의미로 쓰이는 것은 모듈(Module)이다. 오답 노트 - ②Component는 재사용 가능한 독립적 소프트웨어 단위를 가리키는 유사 개념이지만 문제에서 지칭하는 "서브루틴·작업 단위"와 동일하게 쓰이는 정식 명칭은 모듈 / ③Things는 UML에서 "사물"(클래스·객체 등 구성요소)을 가리키는 용어 / ④Prototype은 시제품(초기 모형) 개념으로 모듈화 단위와는 무관하다.
ISO/IEC 9126의 소프트웨어 품질 특성 중 기능성(Functionality)의 하위 특성으로 옳지 않은 것은?
- ① 학습성
- ② 적합성
- ③ 정확성
- ④ 보안성
정답 확인
정답 ① - 학습성은 사용성(Usability)의 하위 특성이다. 오답 노트 - ②적합성, ③정확성, ④보안성은 모두 기능성의 실제 하위 특성이다.
SW 패키징 도구 활용 시 고려사항과 거리가 먼 것은?
- ① 패키징 시 사용자에게 배포되는 SW이므로 보안을 고려한다.
- ② 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다.
- ③ 보안상 단일 기종에서만 사용할 수 있도록 해야 한다.
- ④ 제품 SW 종류에 적합한 암호화 알고리즘을 적용한다.
정답 확인
정답 ③ - 패키징은 다양한 기종·환경 호환성을 고려해야 하며 단일 기종 제한은 해당 없다. 오답 노트 - ①②④는 SW 패키징 도구 활용 시 실제로 고려해야 하는 항목(보안, 사용자 편의성, 암호화 적용)이다.
하향식 통합에 있어서 모듈 간의 통합 시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈을 무엇이라고 하는가?
- ① Stub
- ② Driver
- ③ Procedure
- ④ Function
정답 확인
정답 ① - 하향식 통합 시 하위 모듈을 대신하는 임시 모듈은 Stub이다. 오답 노트 - ②Driver는 반대로 상향식 통합 시 상위 모듈을 대신하는 임시 모듈 / ③Procedure, ④Function은 프로그램의 일반적인 구성 단위 명칭으로 통합 시험용 임시 모듈 개념과는 무관하다.
소프트웨어 재공학이 소프트웨어의 재개발에 비해 갖는 장점으로 거리가 먼 것은?
- ① 위험부담 감소
- ② 비용 절감
- ③ 시스템 명세의 오류 억제
- ④ 개발 시간의 증가
정답 확인
정답 ④ - 재공학은 개발 시간을 증가시키는 것이 아니라 단축시키는 것이 장점이다. 오답 노트 - ①②③은 소프트웨어 재공학이 재개발 대비 실제로 갖는 장점(위험부담 감소, 비용 절감, 명세 오류 억제)이다.
제품 소프트웨어의 형상 관리 역할로 틀린 것은?
- ① 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용
- ② 불필요한 사용자의 소스 수정 제한
- ③ 프로젝트 개발비용을 효율적으로 관리
- ④ 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능
정답 확인
정답 ③ - 개발비용의 효율적 관리는 형상관리의 고유 역할이 아니다. 오답 노트 - ①②④는 형상관리의 실제 역할(이전 버전 접근·배포본 관리, 불필요한 수정 제한, 동시 개발 지원)에 해당한다.
(원본에 제어흐름 그래프 그림 포함 - 텍스트 추출 불가) 제어흐름 그래프가 다음과 같을 때 McCabe의 cyclomatic 수는 얼마인가?
- ① 3
- ② 4
- ③ 5
- ④ 6
정답 확인
정답 ② - 순환복잡도(Cyclomatic Complexity) = 화살표 수 - 노드 수 + 2 공식으로 계산한다. 오답 노트 - ①③④는 그래프의 간선(화살표) 수나 노드 수를 잘못 세어 공식(E - N + 2)에 대입했을 때 나올 수 있는 값으로, 실제 그래프 구조로 계산하면 4가 정답이다.
디지털 저작권 관리(DRM) 기술과 거리가 먼 것은?
- ① 콘텐츠 암호화 및 키 관리
- ② 콘텐츠 식별체계 표현
- ③ 콘텐츠 오류 감지 및 복구
- ④ 라이선스 발급 및 관리
정답 확인
정답 ③ - 콘텐츠 오류 감지 및 복구는 DRM의 핵심 기술이 아니다. 오답 노트 - ①②④는 DRM의 실제 핵심 구성 기술(암호화·키 관리, 식별체계 표현, 라이선스 발급·관리)이다.
다음이 설명하는 테스트 용어는?
ㆍ테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법 및 활동을 말한다.
ㆍ종류에는 참, 샘플링, 휴리스틱, 일관성 검사가 존재한다.
- ① 테스트 케이스
- ② 테스트 시나리오
- ③ 테스트 오라클
- ④ 테스트 데이터
정답 확인
정답 ③ - 예상 결과와 비교해 참/거짓을 판단하는 기법은 테스트 오라클이다. 오답 노트 - ①테스트 케이스는 입력값·실행조건·예상결과 등을 정의한 명세서 / ②테스트 시나리오는 테스트 케이스들의 실행 순서를 정의한 문서 / ④테스트 데이터는 테스트에 사용되는 입력값 자체로, 모두 "참값과 비교해 판단하는 기법" 자체를 가리키지는 않는다.
(원본에 트리 그림 포함 - 텍스트 추출 불가) 다음 트리에 대한 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
정답 확인
정답 ① - 중위(INORDER) 순회는 왼쪽 서브트리 → 루트 → 오른쪽 서브트리 순서로 방문한다. 오답 노트 - ②는 전위(PREORDER, 루트 → 왼쪽 → 오른쪽) 순회 결과에 해당하는 순서 / ③④는 방문 순서를 잘못 추적했거나 후위(POSTORDER) 순회와 혼동했을 때 나올 수 있는 오답이다.
검증(Validation) 검사 기법 중 개발자의 장소에서 사용자가 개발자 앞에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 검사하는 기법은?
- ① 디버깅 검사
- ② 형상 검사
- ③ 자료구조 검사
- ④ 알파 검사
정답 확인
정답 ④ - 개발자 장소에서 개발자 참관 하에 진행하는 검사는 알파 검사이다. 오답 노트 - ①디버깅 검사는 코드의 결함을 찾아 수정하는 작업으로 사용자 참관 검증 절차와 무관 / ②형상 검사(FCA)는 형상관리 항목의 일치 여부를 검토하는 감사 활동 / ③자료구조 검사는 정적 분석에 가까운 개념으로, 모두 "개발자 장소·개발자 참관 하 사용자 확인"이라는 알파 검사 고유 정의와 다르다.
해싱 함수(Hashing Function)의 종류가 아닌 것은?
- ① 제곱법(Mid-Square)
- ② 숫자 분석법(Digit Analysis)
- ③ 개방주소법(Open Addressing)
- ④ 제산법(Division)
정답 확인
정답 ③ - 개방주소법은 해싱 함수가 아니라 충돌 해결 기법이다. 오답 노트 - ①제곱법, ②숫자 분석법, ④제산법은 모두 실제 해싱 함수의 종류이다.
퀵 정렬에 관한 설명으로 옳은 것은?
- ① 레코드의 키 값을 분석하여 같은 값끼리 그 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬한다.
- ② 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환한다.
- ③ 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬한다.
- ④ 임의의 레코드 키와 매개변수(h) 값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환해 가면서 정렬한다.
정답 확인
정답 ③ - 퀵 정렬은 파일을 기준값 기준으로 부분 분할하며 정렬하는 분할정복 방식이다. 오답 노트 - ①은 버킷(기수) 정렬에 대한 설명 / ②는 인접 원소를 비교·교환하는 버블 정렬에 대한 설명 / ④는 매개변수 간격(h)만큼 떨어진 값을 비교하는 셸 정렬에 대한 설명으로, 모두 퀵 정렬과는 다른 정렬 방식이다.
소프트웨어 설치 매뉴얼에 포함될 항목이 아닌 것은?
- ① 제품 소프트웨어 개요
- ② 설치 관련 파일
- ③ 프로그램 삭제
- ④ 소프트웨어 개발 기간
정답 확인
정답 ④ - 개발 기간은 설치 매뉴얼과 무관한 항목이다. 오답 노트 - ①②③은 설치 매뉴얼에 실제로 포함되는 항목(제품 개요, 설치 관련 파일, 프로그램 삭제 방법)이다.
다음 중 단위 테스트를 통해 발견할 수 있는 오류가 아닌 것은?
- ① 알고리즘 오류에 따른 원치 않는 결과
- ② 탈출구가 없는 반복문의 사용
- ③ 모듈 간의 비정상적 상호 작용으로 인한 원치 않는 결과
- ④ 틀린 계산 수식에 의한 잘못된 결과
정답 확인
정답 ③ - 모듈 간 상호작용 오류는 통합 테스트에서 발견되는 오류다. 오답 노트 - ①②④는 하나의 모듈 내부에서 발생하는 오류(알고리즘 오류, 무한 반복, 계산식 오류)로 단위 테스트에서 실제로 발견 가능하다.
다음 설명의 소프트웨어 버전 관리 도구 방식은?
ㆍ버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장되어 관리된다.
ㆍ로컬 저장소에서 버전 관리가 가능하므로 원격 저장소에 문제가 생겨도 로컬 저장소의 자료를 이용하여 작업할 수 있다.
ㆍ대표적인 버전 관리 도구로 Git이 있다.
- ① 단일 저장소 방식
- ② 분산 저장소 방식
- ③ 공유 폴더 방식
- ④ 클라이언트·서버 방식
정답 확인
정답 ② - 원격·로컬 저장소를 함께 사용하는 Git 방식은 분산 저장소 방식이다. 오답 노트 - ①단일 저장소 방식은 로컬 저장소 하나만으로 버전을 관리(예: RCS) / ③공유 폴더 방식은 네트워크 공유 폴더에 저장소를 두는 방식(예: SCCS) / ④클라이언트·서버 방식은 중앙 서버 한 곳에만 저장소를 두는 방식(예: CVS, SVN)으로, 로컬에도 완전한 저장소를 두는 분산 방식과는 다르다.
다음 중 최악의 경우 검색 효율이 가장 나쁜 트리 구조는?
- ① 이진 탐색 트리
- ② AVL 트리
- ③ 2-3 트리
- ④ 레드-블랙 트리
정답 확인
정답 ① - 이진 탐색 트리는 균형을 보장하지 않아 최악의 경우 O(n)까지 저하될 수 있다(다른 트리들은 균형 트리). 오답 노트 - ②AVL 트리, ③2-3 트리, ④레드-블랙 트리는 모두 삽입·삭제 시 스스로 균형을 유지하는 자가 균형 트리로, 최악의 경우에도 O(log n) 검색 성능을 보장한다.
코드의 간결성을 유지하기 위해 사용되는 지침으로 틀린 것은?
- ① 공백을 이용하여 실행문 그룹과 주석을 명확히 구분한다.
- ② 복잡한 논리식과 산술식은 괄호와 들여쓰기(Indentation)를 통해 명확히 표현한다.
- ③ 빈 줄을 사용하여 선언부와 구현부를 구별한다.
- ④ 한 줄에 최대한 많은 문장을 코딩한다.
정답 확인
정답 ④ - 한 줄에 많은 문장을 넣는 것은 가독성을 해쳐 간결성 지침에 위배된다. 오답 노트 - ①②③은 실제로 권장되는 코드 간결성 지침(공백을 이용한 구분, 괄호·들여쓰기 활용, 빈 줄을 이용한 구별)이다.
다음 중 선형 구조로만 묶인 것은?
- ① 스택, 트리
- ② 큐, 데크
- ③ 큐, 그래프
- ④ 리스트, 그래프
정답 확인
정답 ② - 큐와 데크는 모두 선형 자료구조이며, 트리·그래프는 비선형 구조다. 오답 노트 - ①은 스택(선형)과 트리(비선형)가 섞여 있고 / ③은 큐(선형)와 그래프(비선형)가 섞여 있으며 / ④는 리스트(선형)와 그래프(비선형)가 섞여 있어 "선형 구조로만" 묶인 조합이 아니다.
코드 인스펙션과 관련한 설명으로 틀린 것은?
- ① 프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확인하는 방법으로 볼 수 있다.
- ② 코드 품질 향상 기법 중 하나이다.
- ③ 동적 테스트 시에만 활용하는 기법이다.
- ④ 결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈를 검사하기도 한다.
정답 확인
정답 ③ - 코드 인스펙션은 정적 테스트 기법이다. 오답 노트 - ①②④는 코드 인스펙션의 실제 특징(프로그램을 실행하지 않고 눈으로 확인, 품질 향상 기법, 결함 외 표준 준수·효율성도 검사)에 해당한다.
소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?
- ① 생산성 증가
- ② 프로젝트 문서 공유
- ③ 소프트웨어 품질 향상
- ④ 새로운 개발 방법론 도입 용이
정답 확인
정답 ④ - 재사용은 새로운 개발 방법론 도입과 직접적 관련이 없다. 오답 노트 - ①②③은 소프트웨어 재사용의 실제 이점(생산성 증가, 문서 공유, 품질 향상)이다.
다음 설명의 ( ) 안에 들어갈 내용으로 적합한 것은?
후보키는 릴레이션에 있는 모든 튜플에 대해 유일성과 ( )을 모두 만족시켜야 한다.
- ① 중복성
- ② 최소성
- ③ 참조성
- ④ 동일성
정답 확인
정답 ② - 후보키는 유일성과 최소성을 모두 만족해야 한다. 오답 노트 - ①중복성은 오히려 후보키가 배제해야 하는 성질 / ③참조성은 외래키·참조 무결성과 관련된 개념 / ④동일성은 후보키의 정의 요건이 아니다.
E-R 모델의 표현 방법으로 옳지 않은 것은?
- ① 개체 타입 : 사각형
- ② 관계 타입 : 마름모
- ③ 속성 : 오각형
- ④ 연결 : 선
정답 확인
정답 ③ - 속성은 오각형이 아니라 타원(원)으로 표현한다. 오답 노트 - ①개체 타입을 사각형으로 표현하는 것은 맞는 표기법 / ②관계 타입을 마름모로 표현하는 것도 맞는 표기법 / ④연결을 선으로 표현하는 것도 맞는 표기법이다.
데이터 무결성 제약 조건 중 "개체 무결성 제약조건"에 대한 설명으로 맞는 것은?
- ① 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 한다.
- ② 기본키에 속해 있는 애트리뷰트는 널 값이나 중복 값을 가질 수 없다.
- ③ 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.
- ④ 외래키 값은 참조 릴레이션의 기본키 값과 동일해야 한다.
정답 확인
정답 ② - 개체 무결성은 기본키가 널 값이나 중복 값을 가질 수 없다는 제약이다. 오답 노트 - ①은 도메인 무결성 제약조건에 대한 설명 / ③④는 외래키가 참조 릴레이션의 기본키 값과 일치하거나 널이어야 한다는 참조 무결성 제약조건에 대한 설명으로, 개체 무결성과는 다른 제약조건이다.
릴레이션에 대한 설명으로 거리가 먼 것은?
- ① 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
- ② 한 릴레이션에 포함된 튜플들은 모두 상이하다.
- ③ 애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다.
- ④ 한 릴레이션에 포함된 튜플 사이에는 순서가 있다.
정답 확인
정답 ④ - 릴레이션의 튜플 사이에는 순서가 없다. 오답 노트 - ①②③은 릴레이션의 실제 특성(시간에 따라 변함, 튜플이 모두 상이함, 애트리뷰트가 원자값)에 해당하는 옳은 설명이다.
player 테이블에는 player_name, team_id, height 컬럼이 존재한다. 아래 SQL문에서 문법적 오류가 있는 부분은?
(1) SELECT player_name, height
(2) FROM player
(3) WHERE team_id = 'korea'
(4) AND height BETWEEN 170 OR 180;
- ① (1)
- ② (2)
- ③ (3)
- ④ (4)
정답 확인
정답 ④ - BETWEEN은 AND와 함께 써야 하며 OR을 쓴 것이 문법 오류다(BETWEEN 170 AND 180). 오답 노트 - ①(1) SELECT 절, ②(2) FROM 절, ③(3) WHERE 절은 모두 문법상 올바르게 작성되어 있어 오류 지점이 아니다.
DCL(Data Control Language) 명령어가 아닌 것은?
- ① COMMIT
- ② ROLLBACK
- ③ GRANT
- ④ SELECT
정답 확인
정답 ④ - SELECT는 DML 명령어이다. 오답 노트 - ①COMMIT, ②ROLLBACK, ③GRANT는 모두 실제 DCL 명령어이다.
릴레이션 R의 모든 결정자(Determinant)가 후보키이면 그 릴레이션 R은 어떤 정규형에 속하는가?
- ① 제1정규형
- ② 제2정규형
- ③ 보이스/코드 정규형
- ④ 제4정규형
정답 확인
정답 ③ - 모든 결정자가 후보키인 경우 BCNF(보이스/코드 정규형)에 속한다. 오답 노트 - ①제1정규형은 모든 속성이 원자값을 가지는 조건 / ②제2정규형은 부분함수 종속을 제거하는 조건 / ④제4정규형은 다치 종속을 제거하는 조건으로, "모든 결정자가 후보키"라는 조건과는 다른 정규형의 정의이다.
A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재할 수 있는 가능한 튜플(Tuple)의 최대 수는?
- ① 24
- ② 12
- ③ 8
- ④ 9
정답 확인
정답 ① - 3 × 2 × 4 = 24 (도메인 값들의 카티션 프로덕트). 오답 노트 - ②③④는 세 도메인 값을 모두 곱하지 않고 일부만 곱하거나 더했을 때 나오는 값으로, 실제 최대 튜플 수인 24와 다르다.
관계대수에 대한 설명으로 틀린 것은?
- ① 주어진 릴레이션 조작을 위한 연산의 집합이다.
- ② 일반 집합 연산과 순수 관계 연산으로 구분된다.
- ③ 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
- ④ 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 비절차적 방법이다.
정답 확인
정답 ④ - 관계대수는 절차적(procedural) 언어이며, 비절차적 방법은 관계해석의 특징이다. 오답 노트 - ①②③은 관계대수의 실제 특징(릴레이션 조작 연산 집합, 일반 집합 연산과 순수 관계 연산 구분, 연산 순서 명시)에 해당하는 옳은 설명이다.
정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발, 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법은?
- ① 정규화
- ② 반정규화
- ③ 집단화
- ④ 머징
정답 확인
정답 ② - 성능 향상을 위해 정규화된 모델을 의도적으로 중복·통합하는 기법은 반정규화이다. 오답 노트 - ①정규화는 오히려 중복을 제거하는 반대 방향의 작업 / ③집단화(Aggregation)는 객체지향에서 부분-전체 관계를 표현하는 개념 / ④머징은 데이터 모델링의 표준 정식 용어가 아니다.
트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전에 정상적인 상태로 복구시키는 작업은?
- ① Recovery
- ② Commit
- ③ Abort
- ④ Restart
정답 확인
정답 ① - 손상된 DB를 정상 상태로 복구하는 작업은 Recovery이다. 오답 노트 - ②Commit은 트랜잭션의 정상 완료를 확정하는 연산 / ③Abort는 트랜잭션을 취소(중단)하는 연산 / ④Restart는 시스템을 재시작하는 것으로, 손상된 DB의 복구 작업 자체를 가리키지는 않는다.
시스템 카탈로그에 대한 설명으로 틀린 것은?
- ① 시스템 카탈로그의 갱신은 무결성 유지를 위하여 SQL을 이용하여 사용자가 직접 갱신하여야 한다.
- ② 데이터베이스에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지관리한다.
- ③ DBMS가 스스로 생성하고 유지하는 데이터베이스 내의 특별한 테이블의 집합체이다.
- ④ 카탈로그에 저장된 정보를 메타 데이터라고도 한다.
정답 확인
정답 ① - 시스템 카탈로그는 사용자가 직접 갱신하지 않고 DBMS가 스스로 유지·관리한다. 오답 노트 - ②③④는 시스템 카탈로그의 실제 특징(데이터 객체 정의·명세 정보 유지, DBMS가 스스로 생성·유지, 메타데이터라 불림)이다.
속성(attribute)에 대한 설명으로 틀린 것은?
- ① 속성은 개체의 특성을 기술한다.
- ② 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- ③ 속성은 파일 구조상 데이터 항목 또는 데이터 필드에 해당된다.
- ④ 속성의 수를 "cardinality"라고 한다.
정답 확인
정답 ④ - 속성의 수는 차수(Degree)이며, Cardinality는 튜플의 수를 의미한다. 오답 노트 - ①②③은 속성에 대한 실제로 옳은 설명(개체 특성 기술, 최소 논리 단위, 데이터 필드에 해당)이다.
데이터 속성 간의 종속성에 대한 엄밀한 고려없이 잘못 설계된 데이터베이스에서는 데이터 처리 연산 수행 시 각종 이상 현상이 발생할 수 있는데, 이러한 이상 현상이 아닌 것은?
- ① 검색 이상
- ② 삽입 이상
- ③ 삭제 이상
- ④ 갱신 이상
정답 확인
정답 ① - 이상현상 3종은 삽입·삭제·갱신 이상이며 검색 이상은 해당하지 않는다. 오답 노트 - ②③④는 정규화되지 않은 릴레이션에서 실제로 발생하는 이상 현상(삽입·삭제·갱신 이상)이다.
다음 관계 대수 중 순수 관계 연산자가 아닌 것은?
- ① 차집합(Difference)
- ② 프로젝트(Project)
- ③ 조인(Join)
- ④ 디비전(Division)
정답 확인
정답 ① - 차집합은 일반 집합 연산자이며, 순수 관계 연산자는 Select·Project·Join·Division이다. 오답 노트 - ②③④는 모두 실제 순수 관계 연산자(Project, Join, Division)에 해당한다.
트랜잭션의 주요 특성 중 하나로, 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음을 의미하는 것은?
- ① Log
- ② Consistency
- ③ Isolation
- ④ Durability
정답 확인
정답 ③ - 트랜잭션 실행 중 다른 트랜잭션이 끼어들 수 없는 성질은 독립성(Isolation)이다. 오답 노트 - ①Log는 트랜잭션 특성이 아니라 복구를 위한 기록 방식 / ②Consistency(일관성)는 트랜잭션 수행 전후 DB가 일관된 상태를 유지해야 한다는 특성 / ④Durability(영속성)는 완료된 트랜잭션의 결과가 영구적으로 반영되어야 한다는 특성으로, 모두 "다른 트랜잭션의 개입 차단"과는 다른 성질이다.
관계형 데이터베이스에서 다음 설명에 해당하는 키(Key)는?
한 릴레이션 내의 속성들의 집합으로 구성된 키로서, 릴레이션을 구성하는 모든 튜플에 대한 유일성은 만족시키지만 최소성은 만족시키지 못한다.
- ① 후보키
- ② 대체키
- ③ 슈퍼키
- ④ 외래키
정답 확인
정답 ③ - 유일성은 만족하지만 최소성은 만족하지 못하는 키는 슈퍼키이다. 오답 노트 - ①후보키는 유일성과 최소성을 모두 만족하는 키 / ②대체키는 후보키 중 기본키로 선택되지 않은 나머지 키 / ④외래키는 다른 릴레이션의 기본키를 참조하는 속성으로, "최소성을 만족하지 못한다"는 조건과는 무관하다.
물리적 데이터베이스 설계에 대한 설명으로 거리가 먼 것은?
- ① 물리적 설계의 목적은 효율적인 방법으로 데이터를 저장하는 것이다.
- ② 트랜잭션 처리량과 응답시간, 디스크 용량 등을 고려해야 한다.
- ③ 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 설계한다.
- ④ 트랜잭션의 인터페이스를 설계하며, 데이터 타입 및 데이터 타입들 간의 관계로 표현한다.
정답 확인
정답 ④ - 트랜잭션 인터페이스 설계는 논리적 설계 단계의 작업이다. 오답 노트 - ①②③은 물리적 설계 단계에서 실제로 수행하는 작업(효율적 저장, 처리량·응답시간·디스크 용량 고려, 저장 레코드 형식·순서·접근경로 설계)이다.
뷰(View)에 대한 설명으로 틀린 것은?
- ① 뷰 위에 또 다른 뷰를 정의할 수 있다.
- ② DBA는 보안성 측면에서 뷰를 활용할 수 있다.
- ③ 사용자가 필요한 정보를 요구에 맞게 가공하여 뷰로 만들 수 있다.
- ④ SQL을 사용하면 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약 사항이 없다.
정답 확인
정답 ④ - 뷰에 대한 삽입·갱신·삭제 연산에는 제약 사항이 존재한다. 오답 노트 - ①②③은 뷰의 실제 특징(뷰 위에 뷰 정의 가능, 보안 목적 활용, 요구에 맞게 가공하여 생성 가능)이다.
데이터 모델의 구성 요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은?
- ① Data Structure
- ② Operation
- ③ Relation
- ④ Constraint
정답 확인
정답 ② - 데이터 값을 처리하는 작업(연산)은 Operation이다. 오답 노트 - ①Data Structure는 데이터 모델을 구성하는 논리적 구조 자체 / ③Relation은 데이터 모델의 정식 3요소 명칭이 아님 / ④Constraint는 데이터의 무결성을 유지하기 위한 제약 조건으로, 모두 "값을 처리하는 작업"과는 다른 구성요소다.
C 언어에서 산술 연산자가 아닌 것은?
- ① %
- ② *
- ③ <<
- ④ /
정답 확인
정답 ③ - <<는 비트 시프트 연산자이며 산술 연산자가 아니다. 오답 노트 - ①%(나머지), ②*(곱셈), ④/(나눗셈)은 모두 실제 산술 연산자이다.
다음 C 언어 프로그램의 결과로 옳은 것은?
#include <stdio.h>
main( ) {
int i = 0;
while (1) {
if (i == 4)
break;
i++;
}
printf("%d", i);
}
- ① 3
- ② 4
- ③ 5
- ④ 6
정답 확인
정답 ② - i가 4가 될 때 break로 반복문을 빠져나와 4가 출력된다. 오답 노트 - ①③④는 break 조건(i==4)의 판정 시점이나 i++ 증가 순서를 잘못 추적했을 때 나올 수 있는 오답값이다.
다음 중 IP 버전에 대한 설명 중 틀린 것은?
- ① IPv4는 각 부분을 옥텟으로 구성, 총 32비트로 구성된다.
- ② IPv6는 각 부분을 콜론으로 구분한다.
- ③ IPv4는 네트워크 부분의 길이에 따라 A 클래스에서 E 클래스까지 총 5단계로 구성되어 있다.
- ④ IPv6는 IPv4에 비해 자료 전송 속도가 느리다.
정답 확인
정답 ④ - IPv6는 IPv4보다 전송 속도 및 성능이 개선되었다. 오답 노트 - ①②③은 IPv4·IPv6에 대한 실제로 옳은 설명(32비트 옥텟 구성, 콜론 구분 표기, A~E 클래스 구성)이다.
정수를 입력받아 처리하는 다음 C 언어 프로그램에서 괄호에 들어갈 알맞은 코드는?
#include <stdio.h>
int main(void) {
int n, sum = 3;
( )
sum = sum + n;
printf("%d", sum);
}
- ① scanf("%d", n);
- ② scanf("%d", &n);
- ③ scanf("%f", n);
- ④ scanf("%f", &n);
정답 확인
정답 ② - 정수를 입력받으므로 서식은 %d, scanf는 변수의 주소(&n)를 전달해야 한다. 오답 노트 - ①은 정수 서식은 맞지만 주소 연산자(&)가 빠져 있어 문법 오류 / ③은 정수 변수에 실수 서식(%f)을 사용한 오류이며 주소 연산자도 없음 / ④는 정수 변수에 실수 서식(%f)을 사용한 오류이다.
다음은 n각형을 화면에 그리는 프로그램을 Python으로 구현한 것이다. 괄호(㉠~㉢)에 들어갈 알맞은 코드는?
import turtle
( ㉠ ) shape(distance, n):
t = turtle.Turtle( )
for i in range(n):
t.( ㉡ )
t.( ㉢ )
shape(100, 5)
- ① def, forward(distance), left(360//n)
- ② def, forward(distance), left(360///n)
- ③ class, forward(distance), left(360//n)
- ④ class, forward(distance), left(360///n)
정답 확인
정답 ① - 함수 정의는 def, 전진은 forward, 회전각은 360을 변의 수로 정수 나눗셈(//)한 값이다. 오답 노트 - ②는 파이썬에 존재하지 않는 "///" 연산자를 사용한 오류 / ③④는 함수 정의 키워드로 class(클래스 정의용 키워드)를 잘못 사용한 오류이며 ④는 추가로 "///" 오류도 포함한다.
다음 JAVA 프로그램이 실행되었을 때의 결과는?
public class ovr {
public static void main(String[ ] args) {
int a = 1, b = 2, c = 3, d = 4;
int mx, mn;
mx = a < b ? b : a;
if (mx == 1) {
mn = a > mx ? b : a;
}
else {
mn = b < mx ? d : c;
}
System.out.println(mn);
}
}
- ① 1
- ② 2
- ③ 3
- ④ 4
정답 확인
정답 ③ - mx=2(1<2), mx==1 거짓이므로 else 실행: b(2)<mx(2) 거짓 → mn=c=3. 오답 노트 - ①②④는 삼항 연산자의 조건식(a<b, mx==1, b<mx)을 잘못 판정했을 때 나올 수 있는 오답값이다.
개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
- ① Ant
- ② Kerberos
- ③ Maven
- ④ Gradle
정답 확인
정답 ② - Kerberos는 네트워크 인증 프로토콜이며 빌드 도구가 아니다. 오답 노트 - ①Ant, ③Maven, ④Gradle은 모두 실제 빌드 도구이다.
프로세스와 관련한 설명으로 틀린 것은?
- ① 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치(Dispatch)라고 한다.
- ② 프로세스 제어 블록(PCB, Process Control Block)은 프로세스 식별자, 프로세스 상태 등의 정보로 구성된다.
- ③ 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환(Context Switching)이라고 한다.
- ④ 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다.
정답 확인
정답 ④ - 실제로는 스레드가 프로세스 내 실행 흐름의 단위이며, 스레드마다 실행 스택을 갖는다. 오답 노트 - ①②③은 프로세스에 대한 실제로 옳은 설명(디스패치 정의, PCB 구성 정보, 문맥 교환 정의)이다.
다음 중 가장 약한 결합도(Coupling)는?
- ① Common Coupling
- ② Content Coupling
- ③ External Coupling
- ④ Stamp Coupling
정답 확인
정답 ④ - 보기 중 Stamp 결합도가 Data 다음으로 약하며, 제시된 선택지 중에서는 가장 약하다. 오답 노트 - ①Common Coupling(공통 결합)은 전역변수를 공유하여 상대적으로 강한 결합도 / ②Content Coupling(내용 결합)은 결합도 중 가장 강한 단계 / ③External Coupling(외부 결합)도 Stamp보다 강한 단계에 해당하여, 제시된 네 보기 중 Stamp가 가장 약하다.
C 언어에서 변수로 사용할 수 없는 것은?
- ① data02
- ② int01
- ③ _sub
- ④ short
정답 확인
정답 ④ - short는 C 언어의 예약어(키워드)이므로 변수명으로 사용할 수 없다. 오답 노트 - ①data02, ②int01, ③_sub는 모두 C 언어의 식별자 명명 규칙(문자·밑줄로 시작, 예약어 아님)을 만족하는 사용 가능한 변수명이다.
순차 파일에 대한 설명으로 옳지 않은 것은?
- ① 레코드들이 순차적으로 처리되므로 대화식 처리보다 일괄 처리에 적합하다.
- ② 연속적인 레코드의 저장에 의해 레코드 사이에 빈 공간이 존재하지 않으므로 기억 장치의 효율적인 이용이 가능하다.
- ③ 매체 변환이 쉬워 어떠한 매체에도 적용할 수 있다.
- ④ 필요한 레코드를 삽입, 삭제, 수정하는 경우 파일을 재구성할 필요가 없으므로 파일 전체를 복사하지 않아도 된다.
정답 확인
정답 ④ - 순차 파일은 삽입·삭제·수정 시 파일 전체 재구성(복사)이 필요하다. 오답 노트 - ①②③은 순차 파일의 실제 특징(일괄 처리 적합, 빈 공간 없어 효율적 이용 가능, 매체 변환 용이)이다.
다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?
P(S) : while S <= 0 do skip;
S := S - 1;
V(S) : S := S + 1;
- ① Dekker Algorithm
- ② Lamport Algorithm
- ③ Peterson Algorithm
- ④ Semaphore
정답 확인
정답 ④ - P(S)/V(S) 연산으로 임계구역을 제어하는 방식은 세마포어(Semaphore)이다. 오답 노트 - ①Dekker, ②Lamport, ③Peterson 알고리즘은 모두 공유 변수와 반복문만으로 소프트웨어적으로 상호배제를 구현하는 알고리즘으로, P(S)/V(S) 연산 표기 방식과는 다르다.
다음 파이썬 코드에서 '53t44'를 입력했을 때 출력 결과는?
a, b = map(int, input( ).split("t"));
print(a, b)
- ① 53 t 44
- ② 53t44
- ③ 53 44
- ④ 53, 44
정답 확인
정답 ③ - split("t")로 "t" 기준 분리 후 int 변환, print(a, b)는 공백으로 구분해 "53 44"를 출력한다. 오답 노트 - ①은 구분자 "t"가 그대로 출력에 남아있다고 잘못 이해한 오답 / ②는 분리·형변환이 전혀 되지 않은 원본 문자열을 그대로 출력한다고 잘못 이해한 오답 / ④는 print(a, b)가 쉼표를 그대로 출력한다고 잘못 이해한 오답으로, 실제로는 공백으로 구분되어 출력된다.
네트워크 장비에 대한 설명으로 옳지 않은 것은?
- ① 브라우터는 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행한다.
- ② 브리지는 LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 기능을 수행하며, 데이터 링크 계층 중 MAC 계층에서 사용된다.
- ③ 스위치는 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치로, OSI 7계층의 2계층에서 사용된다.
- ④ 라우터는 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로서, 서로 다른 LAN이나 WAN과의 연결도 수행하고, OSI 7계층의 네트워크 계층에서 동작한다.
정답 확인
정답 ① - 신호를 재생하여 재전송하는 것은 브라우터가 아니라 리피터(Repeater)의 역할이다. 오답 노트 - ②브리지, ③스위치, ④라우터에 대한 설명은 각 장비의 실제 기능과 동작 계층을 올바르게 서술하고 있다.
HTTP의 잘 알려진(Well Known) 포트 번호는?
- ① 23
- ② 80
- ③ 53
- ④ 443
정답 확인
정답 ② - HTTP의 기본 포트는 80번이다(443은 HTTPS). 오답 노트 - ①23은 Telnet의 포트 / ③53은 DNS의 포트 / ④443은 HTTPS의 포트로, 모두 HTTP의 기본 포트가 아니다.
배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?
- ① 자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.
- ② 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.
- ③ 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.
- ④ 무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.
정답 확인
정답 ④ - 해당 설명은 무결성이 아니라 성능(견고성) 요소에 대한 설명이다. 오답 노트 - ①②③은 배치 프로그램의 실제 필수 요소(자동화, 안정성, 대용량 데이터 처리)에 대한 옳은 설명이다.
빈 기억공간의 크기가 20K, 16K, 8K, 40K일 때 기억장치 배치 전략으로 "Worst Fit"을 사용하여 17K의 프로그램을 적재할 경우 내부 단편화의 크기는?
- ① 3K
- ② 23K
- ③ 44K
- ④ 67K
정답 확인
정답 ② - Worst Fit은 가장 큰 공간(40K)에 적재하므로 40K - 17K = 23K가 단편화로 남는다. 오답 노트 - ①③④는 Worst Fit이 아닌 다른 공간(20K 등)을 선택했거나 여러 공간의 값을 잘못 더했을 때 나오는 값으로, 실제 정답인 23K와 다르다.
IPv4와 IPv6 간의 주소 전환에 사용되는 기술이 아닌 것은?
- ① 듀얼 스택
- ② 터널링
- ③ 헤더 변환
- ④ 라우팅
정답 확인
정답 ④ - 라우팅은 IPv4/IPv6 전환 기술이 아니다. 전환 기술은 듀얼 스택, 터널링, 헤더 변환이다. 오답 노트 - ①②③은 IPv4·IPv6 간 실제 주소 전환 기술(듀얼 스택, 터널링, 헤더 변환)이다.
JAVA에서 변수와 자료형에 대한 설명으로 틀린 것은?
- ① 변수는 어떤 값을 주기억장치에 기억하기 위해서 사용하는 공간이다.
- ② char 자료형은 한 개의 문자를 저장하고자 할 때 사용한다.
- ③ 실수형 자료형에는 float, short, byte가 있다.
- ④ boolean 자료형은 조건이 참인지 거짓인지 판단하고자 할 때 사용한다.
정답 확인
정답 ③ - short, byte는 정수형이며, 실수형은 float, double이다. 오답 노트 - ①②④는 변수와 자료형에 대한 실제로 옳은 설명(변수의 정의, char의 용도, boolean의 용도)이다.
다음 중 HRN에 대한 설명으로 옳지 않은 것은?
- ① 대기 시간과 서비스 시간을 이용하는 방법이다.
- ② 대기 시간이 긴 프로세스일 경우 우선순위가 높다.
- ③ 우선순위 계산식 값이 낮을수록 우선순위가 높다.
- ④ SJF 기법을 보완하기 위한 스케쥴링 방법이다.
정답 확인
정답 ③ - HRN은 계산식 값이 클수록 우선순위가 높다. 오답 노트 - ①②④는 HRN에 대한 실제로 옳은 설명(대기시간+서비스시간 이용, 대기시간 길면 우선순위 높음, SJF의 단점을 보완하는 기법)이다.
다음 내용이 설명하는 기술로 가장 적절한 것은?
· 다른 국을 향하는 호출이 중계에 의하지 않고 직접 접속되는 그물 모양의 네트워크이다.
· 통신량이 많은 비교적 소수의 국 사이에 구성될 경우 경제적이며 간편하지만, 다수의 국 사이에는 회선이 세분화 되어 비경제적일수도 있다.
· 해당 형태의 무선 네트워크의 경우 대용량을 빠르고 안전하게 전달할 수 있어 행사장이나 군 등에서 많이 활용된다.
- ① Virtual Local Area Network
- ② Simple Station Network
- ③ Mesh Network
- ④ Modem Network
정답 확인
정답 ③ - 노드 간 그물형 직접 연결 구조는 메시 네트워크(Mesh Network)이다. 오답 노트 - ①VLAN(가상 근거리 통신망)은 논리적으로 분리된 근거리 통신망을 구성하는 기술로 그물형 연결과 무관 / ②Simple Station Network, ④Modem Network는 표준 네트워크 형태를 가리키는 정식 명칭이 아니다.
DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?
- ① Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법이다.
- ② Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
- ③ SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는 것이다.
- ④ Land 공격은 패킷 전송 시 출발지 IP 주소와 목적지 IP 주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.
정답 확인
정답 ② - Smurf 공격은 멀티캐스트가 아니라 브로드캐스트를 악용하는 공격이다. 오답 노트 - ①③④는 Ping of Death, SYN Flooding, Land 공격에 대한 실제로 옳은 설명이다.
비대칭 암호화 방식으로 소수를 활용한 암호화 알고리즘은?
- ① DES
- ② AES
- ③ SMT
- ④ RSA
정답 확인
정답 ④ - 소수를 이용한 대표적 비대칭키 암호 알고리즘은 RSA이다. 오답 노트 - ①DES, ②AES는 모두 대칭키(비밀키) 암호 알고리즘으로 소수 기반 비대칭 암호가 아님 / ③SMT는 실존하는 표준 암호 알고리즘 명칭이 아니다.
다음 내용이 설명하는 것은?
· 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
· 각기 다른 운영체제를 가진 여러 기종들이 네트워크상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템
- ① SAN
- ② MBR
- ③ NAC
- ④ NIC
정답 확인
정답 ① - 저장장치를 네트워크로 공유·단일화하는 시스템은 SAN(Storage Area Network)이다. 오답 노트 - ②MBR은 디스크의 부팅 정보를 담은 영역 / ③NAC는 네트워크 접근을 통제하는 보안 솔루션 / ④NIC는 네트워크 인터페이스 카드로, 모두 저장장치 공유·통합 네트워크 개념과는 무관하다.
정보 보안을 위한 접근통제 정책 종류에 해당하지 않는 것은?
- ① 임의적 접근 통제
- ② 데이터 전환 접근 통제
- ③ 강제적 접근 통제
- ④ 역할 기반 접근 통제
정답 확인
정답 ② - 접근통제 정책은 임의적(DAC), 강제적(MAC), 역할기반(RBAC) 3가지이며 "데이터 전환 접근 통제"는 존재하지 않는다. 오답 노트 - ①③④는 실제 존재하는 접근통제 정책(임의적 접근통제, 강제적 접근통제, 역할기반 접근통제)이다.
다음 내용이 설명하는 것은?
· 사물통신, 사물인터넷과 같이 대역폭이 제한된 통신환경에 최적화하여 개발된 푸시기술 기반의 경량 메시지 전송 프로토콜
· 메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식
· IBM이 주도하여 개발
- ① GRID
- ② TELNET
- ③ GPN
- ④ MQTT
정답 확인
정답 ④ - IBM 주도 개발의 IoT용 경량 pub/sub 프로토콜은 MQTT이다. 오답 노트 - ①GRID는 여러 컴퓨팅 자원을 묶어 활용하는 분산 컴퓨팅 기술 / ②TELNET은 원격 접속을 위한 프로토콜 / ③GPN은 표준 프로토콜 명칭이 아니며, 모두 대역폭 제한 환경의 발행/구독 메시지 프로토콜과는 무관하다.
다음이 설명하는 용어로 옳은 것은?
· 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다.
· 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성한다.
· 다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리한다.
- ① 하둡(Hadoop)
- ② 비컨(Beacon)
- ③ 포스퀘어(Foursquare)
- ④ 맴리스터(Memristor)
정답 확인
정답 ① - 오픈소스 기반 분산 빅데이터 처리 플랫폼은 하둡(Hadoop)이다. 오답 노트 - ②비컨은 근거리 위치 인식을 위한 저전력 블루투스 기반 통신 기술 / ③포스퀘어는 위치 기반 소셜 네트워크 서비스 / ④맴리스터는 차세대 반도체 메모리 소자로, 모두 오픈소스 분산 빅데이터 플랫폼과는 무관하다.
COCOMO 모델에 의한 비용 산정에 대한 설명으로 옳지 않은 것은?
- ① 보헴이 제안한 원시 프로그램의 규모에 의한 비용 예측 모형이다.
- ② 같은 규모의 소프트웨어라도 그 유형에 따라 비용이 다르게 산정된다.
- ③ 비용 산정 유형으로 Organic Mode, Embedded Mode, Semi-Detached Mode가 있다.
- ④ UFP(Unadjusted Function Point)를 계산한다.
정답 확인
정답 ④ - UFP 계산은 기능점수(Function Point) 모형의 특징이며 COCOMO와는 무관하다. 오답 노트 - ①②③은 COCOMO 모델의 실제 특징(보헴 제안, 유형별 비용 차등 산정, Organic/Semi-Detached/Embedded 3가지 모드)이다.
세션 하이재킹을 탐지하는 방법으로 거리가 먼 것은?
- ① FTP SYN SEGMENT 탐지
- ② 비동기화 상태 탐지
- ③ ACK STORM 탐지
- ④ 패킷의 유실 및 재전송 증가 탐지
정답 확인
정답 ① - 세션 하이재킹 탐지법은 비동기화 탐지, ACK STORM 탐지, 패킷 유실·재전송 증가 탐지이며 "FTP SYN SEGMENT 탐지"는 해당하지 않는다. 오답 노트 - ②③④는 실제 세션 하이재킹 탐지 방법(비동기화 상태 탐지, ACK STORM 탐지, 패킷 유실·재전송 증가 탐지)이다.
다음 중 프로토타입 모형을 선택하는 것이 가장 적합한 경우는?
- ① 구축하고자 하는 시스템의 요구사항이 불분명할 때
- ② 고객이 완성된 제품만을 보기 원할 때
- ③ 고객이 개발 과정에 참여하지 않을 때
- ④ 소프트웨어 개발 과정에서 발생할 수 있는 위험을 최소화하고자 할 때
정답 확인
정답 ① - 요구사항이 불분명할 때 시제품을 통해 이를 구체화하는 것이 프로토타입 모형의 목적이다. 오답 노트 - ②고객이 완성된 제품만 보기 원하면 중간 산출물을 확인시키는 프로토타입의 취지와 맞지 않음 / ③프로토타입은 오히려 고객이 개발 과정에 적극 참여해 피드백을 주는 것을 전제로 함 / ④위험 최소화가 목적이라면 나선형(Spiral) 모형이 더 적합하다.
인증의 유형 중에서 패스워드를 사용하는 경우에 해당하는 인증 유형은?
- ① Something You Have
- ② Something You Are
- ③ Something You Know
- ④ Somewhere You Are
정답 확인
정답 ③ - 패스워드처럼 "아는 것"을 이용한 인증은 Something You Know이다. 오답 노트 - ①Something You Have는 OTP 토큰·카드 등 소지 기반 인증 / ②Something You Are는 지문·홍채 등 생체 기반 인증 / ④Somewhere You Are는 접속 위치 기반 인증으로, 모두 패스워드(지식 기반)와는 다른 인증 유형이다.
취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?
- ① 서버 관리실 출입 통제
- ② 실행 프로세스 권한 설정
- ③ 운영체제의 접근 제한
- ④ 운영체제의 정보 수집 제한
정답 확인
정답 ① - 서버 관리실 출입 통제는 물리적 보안이며 응용 프로그램 보안 설정이 아니다. 오답 노트 - ②③④는 응용 프로그램·운영체제 수준에서 실제로 이루어지는 보안 설정(프로세스 권한, 접근 제한, 정보 수집 제한)이다.
다음에 제시된 프로토콜과 포트의 연결이 잘못된 것은?
- ① UDP 53 포트 - SNMP
- ② TCP 23 포트 - Telnet
- ③ UDP 69 포트 - TFTP
- ④ UDP 111 포트 - RPC
정답 확인
정답 ① - 53번 포트는 DNS이며, SNMP는 161번 포트를 사용한다. 오답 노트 - ②TCP 23-Telnet, ③UDP 69-TFTP, ④UDP 111-RPC는 모두 실제로 올바른 프로토콜-포트 연결이다.
프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?
- ① Critical Path Method
- ② Risk Analysis
- ③ Work Breakdown Structure
- ④ Waterfall Model
정답 확인
정답 ② - 위험 요소를 인식·분석·관리하는 활동은 위험 분석(Risk Analysis)이다. 오답 노트 - ①Critical Path Method(임계경로법)는 프로젝트 일정 관리 기법 / ③Work Breakdown Structure(작업 분류 체계)는 프로젝트 작업을 계층적으로 분해하는 기법 / ④Waterfall Model은 순차적 소프트웨어 개발 생명주기 모형으로, 모두 위험 요소 인식·분석·관리 활동 자체를 가리키지는 않는다.
입력 데이터 검증 및 표현과 관련된 설명으로 옳지 않은 것은?
- ① SQL 삽입: 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회한다.
- ② 크로스사이트 스크립트: 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취한다.
- ③ 자원 삽입: 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 준다.
- ④ 운영체제 명령어 삽입: 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발한다.
정답 확인
정답 ③ - 해당 설명은 자원 삽입이 아니라 파일 업로드 취약점에 대한 설명이다. 오답 노트 - ①②④는 SQL 삽입, 크로스사이트 스크립트(XSS), 운영체제 명령어 삽입에 대한 실제로 옳은 설명이다.
어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티는?
- ① tcp wrapper
- ② trace checker
- ③ token finder
- ④ change detector
정답 확인
정답 ① - 접속 인가 여부를 점검해 허용/거부하는 유틸리티는 tcp wrapper이다. 오답 노트 - ②trace checker, ③token finder, ④change detector는 실제 존재하는 표준 접근제어 유틸리티 명칭이 아니다.
위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내 스위치, MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격은?
- ① Parsing
- ② LAN Tapping
- ③ Switch Jamming
- ④ FTP Flooding
정답 확인
정답 ③ - MAC 주소 테이블을 혼란시켜 더미 허브처럼 만드는 공격은 Switch Jamming이다. 오답 노트 - ①Parsing은 구문을 분석하는 일반적인 처리 과정으로 공격 기법이 아님 / ②LAN Tapping은 물리적으로 회선에 접근해 도청하는 기법 / ④FTP Flooding은 FTP 서비스에 대량 요청을 보내는 서비스 거부 공격으로, 모두 MAC 주소 테이블 혼란과는 무관하다.
국내 IT 서비스 경쟁력 강화를 목표로 개발되었으며 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영 환경으로 구성되어 있는 개방형 클라우드 컴퓨팅 플랫폼은?
- ① N2OS
- ② PaaS-TA
- ③ KAWS
- ④ Metaverse
정답 확인
정답 ② - 국내 개방형 클라우드 컴퓨팅 플랫폼은 PaaS-TA이다. 오답 노트 - ①N2OS, ③KAWS는 실제 존재하는 국내 클라우드 플랫폼 표준 명칭이 아님 / ④Metaverse(메타버스)는 클라우드 플랫폼이 아니라 가상융합공간 개념으로 전혀 다른 용어다.
Secure OS의 보안 기능으로 거리가 먼 것은?
- ① 식별 및 인증
- ② 임의적 접근 통제
- ③ 고가용성 지원
- ④ 강제적 접근 통제
정답 확인
정답 ③ - 고가용성 지원은 Secure OS의 고유 보안 기능이 아니다. 오답 노트 - ①②④는 Secure OS의 실제 핵심 보안 기능(식별 및 인증, 임의적 접근통제, 강제적 접근통제)이다.
다음 암호 알고리즘 중 성격이 다른 하나는?
- ① MD4
- ② MD5
- ③ SHA-1
- ④ AES
정답 확인
정답 ④ - MD4·MD5·SHA-1은 해시 함수이고, AES는 대칭키 암호 알고리즘이다. 오답 노트 - ①MD4, ②MD5, ③SHA-1은 모두 입력값을 고정 길이 해시값으로 변환하는 해시 함수로 성격이 같으며, AES만 데이터를 암복호화하는 대칭키 암호 알고리즘이라 성격이 다르다.