43. CommitRollback 명령어에 의해 보장 받는 트랜잭션의 특성은?

 병행성

 ② 보안성

 ③ 원자성

 ④ 로그

 

[해설] 트랜잭션의 특징

1. 원자성: 트랜잭션 연산은 DB에 모두 반영되어 Commit 되든지 모두 반영되지 않아 Rollback 되어야 함

2. 일관성: 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성있는 DB 상태로 변환

3. 독립성: 둘 이상의 트랜잭션이 동시 병행 실행될 경우 트랜잭션 실행 중 타 트랜잭션의 연산이 끼어들 수 없음

4. 지속성: 성공적으로 완료된 트랜잭션 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

** Commit과 Rollback이 나오면 원자성!!!


47. 관계 데이터모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null)값이 아닌 원자 값을 갖는 성질은?

 ① 개체 무결성

 ② 참조 무결성

 도메인 무결성

 ④ 튜플의 유일성

 

[해설] 관계 데이터모델의 무결정 제약

- NULL과 관련된 무결성은 개체 무결성

- 참조 무결성: 외래키를 통해 릴레이션을 참조할 수 없는 외래키를 가질 수 없도록 하는 것


49. 분산 데이터베이스의 투명성(Transparency)에 해당 하지 않는 것은?

 Location Transparency

 Replication Transparency

 Failure Transparency

 ④ Media Access Transparency

 

[해설] 분산 데이터베이스의 투명성

1. 위치 투명성

2. 분할 투명성(단편화)

3. 지역사상 투명성

4. 중복 투명성

5. 장애 투명성

6. 병행 투명성


57. 관계대수의 순수관계 연산자가 아닌 것은?

 Select

 ② Cartesian Product

 Division

 ④ Project

 

[해설] 관계대수 연산자

1. 일반집합 연산자: 합집합, 교집합, 차집합, 카티션 프로덕트(교차곱)

2. 순수관계 연산자: select / join / division / project


60. 릴레이션에 대한 설명으로 거리가 먼 것은?

 ① 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.

 한 릴레이션에 포함된 튜플들은 모두 상이하다.

 애트리뷰트는 논리적으로 쪼갤 수 없는 원자값으로 저장한다.

 ④ 한 릴레이션에 포함된 튜플 사이에는 순서가 있다.

 

[해설] 릴레이션의 특징

1. 똑같은 튜플을 포함하지 않는다.

2. 튜플 사이에는 순서가 없다.

3. 속성 사이에 순서는 중요하지 않다.

4. 속성의 명칭은 유일 구성값은 동일한 값이 가능하다.

5. 속성 값은 원자값이다.

26. 제어흐름 그래프가 다음과 같을 때 McCabecyclomatic 수는 얼마인가?

    3

    ② 4

    5

    ④ 6

 

 

[해설] McCabe의 Cyclomatic 수

V(G) = Edge 수 - Node 수 + 2

→ 6 - 4 + 2 = 4


27. 다음 자료에 대하여 선택(Selection) 정렬을 이용하여 오름차순으로 정렬하고자 한다. 3회전 후의 결과로 옳은 것은?

37, 14, 17, 40, 35

 14, 17, 37, 40, 35

 ② 14, 37, 17, 40, 35

 17, 14, 37, 35, 40

 ④ 14, 17, 35, 40, 37

 

[해설] 삽입 정렬

- 가장 작은 수를 맨 앞으로 보내는 정렬

1회전: 14, 37, 17, 40, 35

2회전: 14, 17, 37, 40, 35

3회전: 14, 17, 35, 40, 37

4회전: 14, 17, 35, 37, 40


31. 알고리즘 설계 기법으로 거리가 먼 것은?

 ① Divide and Conquer

 ② Greedy

 ③ Static Block

 ④ Backtracking

 

[해설] 알고리즘 설계 기법

1. Divide and Conquer: 작은 문제로 분할하여 문제를 해결

2. Greedy: 현재 시점에서 최적의 방법을 선택하여 문제를 해결

3. Backtracking: 모든 조합을 시도하여 문제를 해결


32. 제품 소프트웨어의 형상 관리 역할로 틀린 것은?

 ① 형상 관리를 통해 이전 리버전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용

 불필요한 사용자의 소스 수정 제한

 ③ 프로젝트 개발비용을 효율적으로 관리

 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능

 

[해설] 형상 관리의 역할

- 버전, 수정사항 관리

- 개발비용은 관리하지 않음


39. 알파, 베타 테스트와 가장 밀접한 연관이 있는 테스트 단계는?

 ① 단위 테스트

 ② 인수 테스트

 통합 테스트

 ④ 시스템 테스트

 

[해설] 인수테스트의 종류

1. 사용자 인수 테스트

2. 운영상의 인수 테스트

3. 계약 인수 테스트

4. 규정 인수 테스트

5. 알파 테스트

6. 베타 테스트

1. 요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?

 청취과 인터뷰 질문 기술

 분석과 중재기술

 ③ 설계 및 코딩 기술

 ④ 관찰 및 모델 작성 기술

 

[해설] 요구사항 분석 기술

1. 청취와 인터뷰 및 설문

2. 브레인스토밍

3. 관찰 및 모델 작성 기술

4. 분석과 중재기술


6. UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?

 ① 생명선

 ② 실행

 ③ 확장

 ④ 메시지

 

[해설] UML 시퀀스 다이어그램 구성 항목

1. 액터

2. 활성 객체

3. 생명선

4. 메시지

5. 제어 삼각형


11. 다음 ( ) 안에 들어갈 내용으로 옳은 것은?

① 협약(Contract)

프로토콜(Protocol)

패턴(Pattern)

관계(Relation)

 

 

[해설] 협약에 의한 설계
1. 선행조건: 오퍼레이션이 호출되기 전에 참이 되어야 하는 조건

2. 결과조건: 오퍼레이션이 수행된 후 만족해야 하는 조건

3. 불변조건: 클래스 내부가 실행되는 동안 항상 만족해야 하는 조건


16. 자료 사전에서 자료의 반복을 의미하는 것은?

 ① =

 ② ( )

 ③ { }

 ④ [ ]

 

[해설] 자료 사전 표기법

1. =: 자료의 정의

2. +: 자료의 연결

3. ( ): 자료의 생략

4. [ ]: 자료의 선택

5. { }: 자료의 반복

6. **: 자료의 설명


18. 자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은?

 ① process, data flow, data store, comment

 ② process, data flow, data store, terminator

 data flow, data store, terminator, data dictionary

 process, data store, terminator, mini-spec

 

[해설] 자료 흐름도의 구성 요소

1. 프로세스(Process)
2. 자료 흐름(Data Flow)

3. 자료 저장소(Data Storage)

4. 단말(Terminator)


19. CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은?

 ① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.

 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.

 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.

 ④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.

 

[해설] CASE 도구

- 소프트웨어 공학의 자동화를 의미

- 소프트웨어 공학작업을 자동화한 소프트웨어 패키지

- 소프트웨어 관리자들과 실무자들이 소프트웨어 프로세스와 관련된 활동 지원

- 프로젝트 관리 활동 자동화, 결과물 관리, 엔지니어의 분석, 설계 및 코딩 작업 지원

- 1980년대에 소개되어 1990년대부터 자주 사용됨


20. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?

 ① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악

 ② 동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견

 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토

 CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견

 

[해설] 인터페이스 요구 사항 검토 방법

1. 동료검토: 요구사항 명세서 작성자가 요구사항 명세서를 설명하고, 이해관계자들이 설명을 들으며 결함 발견

2. 워크스루: 검토 회의 전 명세서를 미리 배포하여 사전검토 후에 짧은 검토 회의를 통해 결함 발견

3. 인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 명세서를 확인하면서 결함 발견

 

81. Rayleigh-Norden 곡선의 노력 분포도를 이용한 프로젝트 비용 산정기법은?

 ① Putnam 모형

 ② 델파이 모형

 COCOMO 모형

 ④ 기능점수 모형

 

[해설] 프로젝트 비용산정 기법

1. Putnam 기법: Rayleigh-Norden 곡선의 노력 분포도 이용

2. 델파이 기법: 많은 전문가의 의견을 종합하여 전문가 감정의 주관적 편견을 보완

3. LOC: 원시 코드 라인수의 비관치, 낙관치, 기대치를 추정하여 산정

4. COCOMO 기법: 보헴이 제안한 LOC에 의한 비용산정 기법


82. 메모리상에서 프로그램의 복귀 주소와 변수사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?

 모드체크

 ② 리커버리 통제

 시스로그

 ④ 스택가드

 

[해설] 시스템 보안

1. 스택가드: 메모리 상에서 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되면 오버플로 상태로

                가정하여 프로그램 실행을 중단

2. 시스로그: 시스템 로그메시지를 처리하기 위해 제공


83. 백도어 탐지 방법으로 틀린 것은?

 무결성 검사

 ② 닫힌 포트 확인

 로그 분석

 ④ SetUID 파일 검사

 

[해설] 백도어 탐지 방법

1. 무결성 검사

2. 로그 분석

3. SetUID 파일 검사

3. 열린 포트 검사

4. 바이러스/백도어 탐지 툴 이용


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

 최적단계

 ② 관리단계

 정의단계

 ④ 계획단계

 

[해설] CMM 모델의 레벨

1. 초기 단계

2. 관리 단계

3. 정의 단계
4. 정량적 관리 단계

5. 최적화 단계


87. 크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경했을 때 분석하는 도구는?

 trace

 ② tripwire

 udpdump

 ④ cron

 

[해설] 시스템 침입 탐지 및 무결성 도구

1. TipWire: 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구

2. Aide: Tripwire를 대신할 수 있는 도구로 파일의 무결성을 검사하는데 사용

3. sXid: MD5 체크섬을 사용하여 suid, sgid파일을 추적 루트키트가 설치되어있는지 검사

4. Claymore: 침입탐지/무결성 모니터링 도구로 크론테이블을 이용하여 주기적으로 파일시스템의 변조유무를 확인하고

                 변조되었을 경우 관리자에게 메일로 통보해 주는 기능

5. Samhain: 시스템의 무결성을 점검하는 도구로 여러 시스템을 관리할 수 있는 수단을 제공

6. Slipwire: 파일시스템의 무결성을 검사하는 도구로 파일의 SHA-1 hashes값을 비교하여 변경될 경우 사용자에게 경고

7. Fcheck: 유닉스 파일시스템의 변조유무를 점검하기 위한 PERL script 도구

* Cron: 작업 예약 스케쥴러 


100. 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있는 보안 요소는?

 기밀성

 ② 부인방지

 가용성

 ④ 무결성

 

[해설] 보안 요소

1. 기밀성: 인가된 사용자만 내용 확인 가능

2. 무결성: 인가된 사용자만 내용 수정 가능

3. 가용성: 인가된 사용자만 언제든지 사용 가능

63. TCP/IP 프로토콜 중 전송계층 프로토콜은?

 HTTP

 ② SMTP

 FTP

 ④ TCP

 

[해설] TCP/IP 계층별 프로토콜

1. 네트워크 액세스계층: HDLC / LAPB / LAPD / LLC / MAC / PPP

2. 인터넷 계층: IP / ICMP / IGMP / ARP

3. 전송 계층: TCP / UDP

4. 응용 계층: HTTP / TELNEL / FTP / SMTP


65. 은행가 알고리즘(Banker's Algorithm)은 교착상태의 해결 방법 중 어떤 기법에 해당하는가?

 ① Avoidance

 ② Detection

  Prevention

 ④ Recovery

 

[해설] 교착 상태의 해결 기법

1. 회피(Avoidance): 은행가 알고리즘

2. 탐지(Detection): 자원 할당 그래프

3. 복구(Recovery): 자원 선점 및 프로세스 종료


67. 교착 상태 발생의 필요 충분 조건이 아닌 것은?

    상호 배제(mutual exclusion)

    점유와 대기(hold and wait)

    환형 대기(circular wait)

    ④ 선점(preemption)

 

[해설] 교착 상태의 필요충분조건

1. 상호 배제

2. 점유와 대기

3. 환형 대기

4. 비선점


71. 프로세스 상태의 종류가 아닌 것은?

 Ready

 ② Running

 ③ Request

 ④ Exit

 

[해설] 프로세스 상태의 종류

1. 보류(Pending)

2. 준비(Ready)

3. 실행(Running)

4. 대기(Blocked)

5. 교착(Deadlock)

6. 완료(Terminated, Exit)


72. 스레드(Thread)에 대한 설명으로 옳지 않은 것은?

 ① 한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.

 커널 스레드의 경우 운영체제에 의해 스레드를 운용한다.

 사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.

 스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있다.

 

[해설] 스레드(Thread)

- 프로세스 내에서의 작업단위로 여러 자원을 할당받아 실행하는 프로그램 단위

- 한 개의 프로세스에는 하나 이상의 스레드가 존재

- 커널 스레드: 운영체제에 의해 스레드를 운영하며, 구현이 쉬우나 속도가 느림

- 사용자 스레드: 사용자가 만든 라이브러리를 사용하여 스레드를 운영하며, 속도가 빠르나 구현이 어려움

- 하드웨어, 운영체제의 성능과 처리율을 향상시킬 수 있음


76. 스크립트 언어가 아닌 것은?

 PHP

 Cobol

 Basic

 ④ Python

 

[해설] 스크립트 언어의 종류

1. 클라이언트용 스크립트 언어: JavaScript

2. 서버용 스크립트 언어: ASP / JSP / PHP / Python

* Cobol은 절차적 프로그래밍 언어

41. SQL 의 분류 중 DDL에 해당하지 않는 것은?

 ① UPDATE

 ② ALTER

 DROP

 ④ CREATE

 

55. DML에 해당하는 SQL 명령으로만 나열된 것은?

 DELETE, UPDATE, CREATE, ALTER

 INSERT, DELETE, UPDATE, DROP

 ③ SELECT, INSERT, DELETE, UPDATE

 SELECT, INSERT, DELETE, ALTER

 

[해설] SQL의 분류

1. DDL(데이터 정의어, Data Definition Language): CREATE, ALTER, DROP

2. DML(데이터 조작어, Data Manipulation Language): SELECT, INSERT, DELETE, UPDATE

3. DCL(데이터 제어어, Data Control Language): GRANT, REVOKE


46. 데이터베이스의 논리적 설계(logical design) 단계에서 수행하는 작업이 아닌 것은?

 ① 레코드 집중의 분석 및 설계

 논리적 데이터베이스 구조로 매핑(mapping)

 트랜잭션 인터페이스 설계

 스키마의 평가 및 정제

 

[해설] DB의 논리적 설계

1. 논리적 DB구조로 매핑

2. 트랜잭션 인터페이스 설계

3. 스키마 평가, 정제

* 레코드 집중의 분석, 설계: 물리적 설계


48. 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은?

 ① 도메인

 ② 튜플

 엔티티

 ④ 다형성

 

[해설] DB 용어 정리

1. 속성: 개체의 특징이나 상태를 기술 - 릴레이션의 열

2. 도메인: 속성이 가질 수 있는 모든 값들의 집합

3. 튜플: 속성의 모임 - 릴레이션의 행

4. 엔티티: 현실 세계의 객체이며 서로 구별될 수 있는 것

5. 다형성: 오버라이딩, 오버로딩


57. 병행제어의 로킹(Locking) 단위에 대한 설명으로 옳지 않은 것은?

 데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.

 ② 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.

 로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.

 한꺼번에 로킹 할 수 있는 객체의 크기를 로킹 단위라고 한다.

 

[해설] 병행제어의 로킹(Locking)

- 로킹↑: 로크수, 병행성, 오버헤드, 공유도 ↓ / 제어기법 간단해져 관리 수월

+ Recent posts