User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?
① 메시지는 이해하기 쉬워야 한다.
② 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한 다.
③ 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으 로 사용자들에게 알려야 한다.
④ 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.
정답 확인 · 해설
정답 ④
1) 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함. 2) 유효성(Effectiveness) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함. 3) 학습성(Learnablilty) : 초보와 숙련자 모두가 쉽게 배우고 사 용할 수 있게 제작해야 함. 4) 유연성(Flexibility) : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함. 특정 위험 또는 오류를 연상시키는 색깔의 사용은 상식적으로 직관성을 높이는 수단이 될 것이다. UI 설계 시 오류 메시지나 경고에 관한 3가지 지침
2번
다음 중 애자일(Agile) 소프트웨어 개발에 대한 설명으로 틀 린 것은?
① 공정과 도구보다 개인과의 상호작용을 더 가치 있게 여긴 다.
② 동작하는 소프트웨어보다는 포괄적인 문서를 가치 있게 여긴다.
③ 계약 협상보다는 고객과의 협력을 가치 있게 여긴다.
④ 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다.
정답 확인 · 해설
정답 ②
애자일 방법론 특징 1) 프로젝트 요구사항은 '기능' 중심 2) 공정과 도구보다 '개인'과 소통을 중요시 3) '변화'에 유연하고 신속한 대처 4) '고객'과의 피드백을 중요시
3번
소프트웨어 설계에서 요구사항 분석에 대한 설명으로 틀린 것은?
① 소프트웨어가 무엇을 해야하는가를 추적하여 요구사항 명 세를 작성하는 작업이다.
② 사용자의 요구를 추출하여 목표를 정하고 어떤 방식으로 해결할 것인지 결정하는 단계이다.
③ 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정 리하는 단계이다.
④ 소프트웨어 개발의 출발점이면서 실질적인 첫 번째 단계 이다.
정답 확인 · 해설
정답 ③
요구 사항 개발 프로세스 도출 - 분석 - 명세 - 확인 요구사항 검증 단계이다. 요구 사항 검증 방법중에 '정형 기술 검토 활용'이 있다. '정형 기술 검토 활용' 3가지 종류가 있다. 동료 검토, 워크 스루, 인스펙션 * 인스펙션 : 전문가 또는 팀이 검사하여 오류를 찾아내는 공식 적 검토 방법 동료검사 : 2~3명이서 리뷰의 형태 워크스루 : 오류를 조기에 검출하는데 목적 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계는 테스트 단계이다.
4번
객체지향 기법에서 상위 클래스의 메소드와 속성을 하위 클 래스가 물려받는 것을 의미하는 것은?
① Abstraction
② Polymorphism
③ Encapsulation
④ Inheritance
정답 확인 · 해설
정답 ④
객체지향의 주요 개념(원칙) 캡슐화(Encapsulation) -데이터와 데이터를 처리하는 함수를 하나로 묶은 것 -캡슐화된 객체의 세부 내용이 은폐되어 변경이 발생해도 오류 의 파급효과가 적음 -캡슐화된 객체들은 재사용이 용이함 -인터페이스가 단순해지고 객체간의 결합도가 낮아짐 상속성(Inheritance) -객체지향 프로그래밍에서 이미 정의된 상위 클래스(부모 클래 스)의 모든 속성과 연산을 하위 클래스가 상속(물려)받는 것 -하위 클래스는 상위 클래스로부터 받은 속성과 연산 외에도 새 로운 것을 첨가 가능 -클래스의 재사용, 소프트웨어의 재사용을 높이는 중요한 개념 + 속성과 연산 등을 물려주는 클래스를 상위 클래스 또는 슈퍼 클래스, 물려받는 클래스를 하위 클래스 또는 서브 클래스라고 한다. 다형성(Polymorphism) -하나의 메시지에 대해 각 객체가 갖고 있는 고유한 방법대로 응답하는 것을 의미 -하나의 클래스나 메서드가 다양한 방식으로 동작이 가능한 것 을 의미 -오버로딩과 오버라이딩이 존재 추상화(abstraction) -데이터들의 공통된 성질을 추출해 슈퍼 클래스 선정
5번
설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의 되어 있어 통합이 간단하다.
② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다.
③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하 고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않 더라도 기능 추가가 쉽다.
정답 확인
정답 ④
6번
자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
① Process : 원
② Data Flow : 화살표
③ Data Store : 삼각형
④ Terminator : 사각형
정답 확인 · 해설
정답 ③
자료흐름도 4가지 구성요소 - 처리 Process : 원 - 자료흐름 Data Flow : 화살표 - 자료저장소 Data Store : 평행선 - 단말 Terminal : 사각형
7번
소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거 리가 먼 것은?
① 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각 적으로 표현한다.
② 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있 다.
③ 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
④ 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.
정답 확인 · 해설
정답 ④
소프트웨어 개발시 모델은 향후 개발될 시스템을 유추하기 위해 서 하는 활동이며, 주로 시스템 개발자가 실행합니다.
8번
다음의 설명에 해당하는 언어는?
① JAVA
② C
③ UML
④ Python
정답 확인 · 해설
정답 ③
Unified Modeling Language
9번
다음 내용이 설명하는 UI설계 도구는?
① 스토리보드(Storyboard)
② 목업(Mockup)
③ 프로토타입(Prototype)
④ 유스케이스(Usecase)
정답 확인 · 해설
정답 ②
스토리보드 : 디자이너와 개발자가 최종적으로 참고하는 작업지 침서 상단이나 우측에 제목,작성자등을 입력하고 좌측에는 UI화면,우 측엔 디스크립션을 기입한다. 프로토타입 : 와이어프레임이나 스토리보드등에 인터랙션을 적 용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형 유스케이스 : 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
10번
애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?
① 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따 르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장 하는 역할 등을 맡는다.
② 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등 이 포함될 수 있다.
③ 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.
④ 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정 도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
정답 확인 · 해설
정답 ③
스프린트 - 실제 개발을 2~4주간 진행하는 과정 - 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측 정한 후 담당 개발 자에게 할당합니다. - Task는 할 일, 진행 중, 완료의 상태로 구성된다.
11번
UML 다이어그램 중 정적 다이어그램이 아닌 것은?
① 컴포넌트 다이어그램
② 배치 다이어그램
③ 순차 다이어그램
④ 패키지 다이어그램
정답 확인 · 해설
정답 ③
정적(구조적)다이어그램 : 클객컴배복패 UML 다이어그램의 분류 정적구조: [ 클래스, 객체, 패키지, 컴포넌트, 복합구조, 배치] 동적구조: [ 유스케이스, 상태, 활동, 시퀀스, 통신, 상호작용, 타이밍] 1) 클래스 다이어그램: 객체를 생성하기 위한 도구 2) 객체 다이어그램: 객체 간의 연결관계를 표현 3) 패키지 다이어그램: 객체들의 그룹화된 표현 4) 컴포넌트 다이어그램: 시스템을 구성하는 컴포넌트 사이에 의 존관계를 표현 * 컴포넌트는 1개이상의 클래스로 구현됨. 5) 복합구조 다이어그램: 컴포넌트나 클래스의 내부 구조를 보여 주기 위해 사용 à 내부 연결 형태를 표현 6) 배치 다이어그램: H/W자원에 연결된 S/W컴포넌트 배치를 표 현 7) 유스케이스 다이어그램: 사용자의 시각에서 소프트웨어의 범 위와 기능을 표현 8) 상태 다이어그램: 시간에 따라 객체가 변하는 상태를 표현 9) 활동 다이어그램: 객체의 동적행위를 활동으로 표현 10) 시퀀스 다이어그램: 객체간 상호작용을 시간 순서에 따른 메시지로 표현 11) 통신 다이어그램: 객체간 상호작용을 관계형태의 메세지로 표현 12) 상호작용 다이어그램: 객체들의 상호작용 관계를 표현 13) 타이밍 다이어그램: 객체간 상태변화를 구체적인 시간으로 표현 오답해설) 순차(sequence,시퀀스) 다이어그램은 동적 다이어그 램
12번
LOC기법에 의하여 예측된 총 라인수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
① 5개월
② 10개월
③ 15개월
④ 20개월
정답 확인 · 해설
정답 ④
노력(M/M)=원시 코드 라인 수(LOC)/(1인당 월 평균 생산 코드 라인 수) =36,000라인/300라인=120M/M 개발 기간=(M/M)/참여 인원=120(M/M)/6명=20개월 개발 소요기간 계산방법 총 라인수 36000라인 / 월간 평균 생산성 300라인 = 120 120 / 참여 프로그래머 6 = 20 20개월
13번
클래스 설계원칙에 대한 바른 설명은?
① 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다.
② 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
③ 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스 는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
정답 확인 · 해설
정답 ②
단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변 경에 대해 닫혀 있어야 한다. 리스코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자로 사 용할 때, 그 타입의 하위 타입도 문제 없이 작동해야 함 의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하는 전 통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층 의 구현으로부터 독립되게 할 수 있음
14번
GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) 패 턴에 해당하는 것은?
소프트웨어 아키텍처의 설계과정 설계목표설정 -시스템 타입 결정 - 아키텍처 패턴 적용 - 서브 시스템 구체화 - 검토 조금더 디테일하게 정리 할 필요가 있겠네요..
16번
사용자 인터페이스를 설계할 경우 고려해야 할 가이드라인 과 가장 거리가 먼 것은?
① 심미성을 사용성보다 우선하여 설계해야 한다.
② 효율성을 높이게 설계해야 한다.
③ 발생하는 오류를 쉽게 수정할 수 있어야 한다.
④ 사용자에게 피드백을 제공해야 한다.
정답 확인 · 해설
정답 ①
사용자 친화적이게 설계되어야 하기에 사용성이 최우선으로 고 려되어야 함
17번
소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이 고 반복적인 해결 방법을 무엇이라고 하는가?
① 모듈 분해
② 디자인 패턴
③ 연관 관계
④ 클래스 도출
정답 확인 · 해설
정답 ②
디자인패턴 : 객체 지향 프로그래밍 설계를 할 때 자주 발생하 는 문제들을 피하기 위해 사용되는 패턴.
18번
객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모 형의 3개 모형을 생성하는 방법은?
① Wirfs-Block Method
② Rumbaugh Method
③ Booch Method
④ Jacobson Method
정답 확인 · 해설
정답 ②
Rumbaugh(럼바우) 방법 모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링 하는 기법으로, 객체 모델링 기법(Object Modeling Technique) 라고도 한다..분석활동은 객체모델링 -> 동적 모델링 -> 기능 모델링 순으로 통해 이루어진다 Booch(부치) 방법 미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별 하고 클래스의 속성과 연산을 정의한다. Jacobson 방법 Use Case를 강조하여 사용하는 분석 방법이다. Coad와 Yourdon 방법 E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식 별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법 Wirfs-Brock 방법 분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
19번
입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미 리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그 램이나 하드웨어를 말하는 것은?
① EAI
② FEP
③ GPL
④ Duplexing
정답 확인 · 해설
정답 ②
EAI(Enterprise Application Integration): 기업 응용 프로그램 통 합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴 FEP(Front-End Processor): 입력되는 데이터를 컴퓨터의 프로 세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간 을 줄여주는 프로그램이나 하드웨어 GPL(General Public License): 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스 Duplexing: 이중화(데이터베이스의 회복 기법 중 가장 간단한 것) 이중통신(duplex) 또는 쌍방향 통신은 두 지점 사이에서 정보를 주고 받는 전자 통신 시스템을 말한다..이중 통신을 할 때 전송 방향마다 두 개의 통신 선호를 사용하면 단순하지만 전송로를 아끼기 위해 여러 종류의 전송 방식이 쓰인다.
20번
객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통 된 특성을 표현한 데이터 추상화를 의미하는 것은?
① Method
② Class
③ Field
④ Message
정답 확인 · 해설
정답 ②
Method(메서드) : 클래스로부터 생성된 객체를 사용하는 방법, 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산 Message(메시지) : 객체 간 상호 작용을 하기 위한 수단, 객체 에게 어떤 행위를 하도록 지시하는 방법 Class(클래스) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀, 객체 지향 프로그래밍에서 데이터를 추상화하는 단 위 Field(필드) : SQL에서 열 또는 속성이라고 불리는 것
21번
클린 코드(Clean Code)를 작성하기 위한 원칙으로 틀린 것 은?
① 추상화 : 하위 클래스/메소드/함수를 통해 애플리케이션 의 특성을 간략하게 나타내고, 상세 내용은 상위 클래스/ 메소드/함수에서 구현한다.
② 의존성 : 다른 모듈에 미치는 영향을 최소화하도록 작성 한다.
③ 가독성 : 누구든지 읽기 쉽게 코드를 작성한다.
④ 중복성 : 중복을 최소화 할 수 있는 코드를 작성한다.
정답 확인 · 해설
정답 ①
추상화 : 상위 클래스; 프로그램 특성만 간략하게, 하위 클래스; 세부적 내용 구현 의존성(배제) : 다른 모듈에 미치는 영향을 최소화하여 코드 변 경시 영향이 가지 않도록 중복성(최소화) : 코드의 중복을 최소화 가독성 : 누구든지 읽기 쉽게 작성 단순성 : 코드를 단순하게 작성(프로그램을 최소단위로 분리해 작업을 한번에 하나씩 처리하도록) 추상화 : 상위 클래스, 메소드, 함수에서는 간략하게 애플리케이 션의 특성을 나타냄, 상세 내용은 하위 클래스,메소드, 함수에서 구현
22번
단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하 고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은?
① 테스트 스텁(Test Stub)
② 테스트 드라이버(Test Driver)
③ 테스트 슈트(Test Suites)
④ 테스트 케이스(Test Case)
정답 확인 · 해설
정답 ②
테스트 스텁 - 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 테 스트용 모듈 테스트 슈트 - 테스트 대상 컴포넌트나 모듈, 시스템에 사용되 는 테스트 케이스의 집합 테스트 케이스 - 사용자의 요구사항을 정확히 준수했는지 확인 하기 위한 입력 값, 실행조건, 기대결과 등으로 만들어진 테스트 항목의 명세서 스텁(stub)은 하향식 드라이버(driver)는 상향식
23번
스택(Stack)에 대한 옳은 내용으로만 나열된 것은?
① ㉠, ㉡
② ㉡, ㉢
③ ㉣
④ ㉠, ㉡, ㉢, ㉣
정답 확인 · 해설
정답 ③
FIFO-큐 방식 한쪽에서 삽입과 삭제가 모두 이루어 짐 ㉡ 큐 방식 ㉢ 데크(Deque)설명 스택은 LIFO방식으로 처리된다.
24번
소프트웨어 모듈화의 장점이 아닌 것은?
① 오류의 파급 효과를 최소화한다.
② 기능의 분리가 가능하여 인터페이스가 복잡하다.
③ 모듈의 재사용 가능으로 개발과 유지보수가 용이하다.
④ 프로그램의 효율적인 관리가 가능하다.
정답 확인 · 해설
정답 ②
모듈화의 장점 - 프로그램의 효율적인 관리 - 이해하기 쉬운 소프트웨어 - 소프트웨어 시험, 통합, 수정 시 용이 - 모듈 재사용 가능 - 오류의 파급력 최소화
25번
소프트웨어 프로젝트 관리에 대한 설명으로 가장 옳은 것 은?
① 개발에 따른 산출물 관리
② 소요인력은 최대화하되 정책 결정은 신속하게 처리
③ 주어진 기간은 연장하되 최소의 비용으로 시스템을 개발
④ 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발
정답 확인 · 해설
정답 ④
· 프로젝트 관리는 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동 · 프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기의 전 과정에 걸쳐 진행됨 · 소프트웨어 프로젝트를 성공적으로 수행하기 위해서는 수행할 작업의 범위, 필요한 자원, 수행 업무, 이정표, 비용 추진 일정 들을 알아야 함 - 소요인력은 최소화 하는 것이 좋음 ※ 프로젝트 관리는 제한된 시간과 비용으로 좋은 품질의 시스 템을 개발하여 고객에게 제공함
26번
정형 기술 검토(FTR)의 지침으로 틀린 것은?
① 의제를 제한한다.
② 논쟁과 반박을 제한한다.
③ 문제 영역을 명확히 표현한다.
④ 참가자의 수를 제한하지 않는다.
정답 확인 · 해설
정답 ④
### 정형기술검토(FTR)의 지침 - 오류 검출에 초점을 두고 해결책을 나중으로 미룸(제품 검토 의 집중성) - 검토를 위한 자료를 사전에 배포하여 검토하도록 한다(사전 준비성) - 의견을 제한하되 충분히 받아들인다(의제의 제한성) - 안건을 세우면 고수한다(안건 고수성) - 논쟁과 반박을 제한한다(논쟁 반박의 제한성) - 문제 영역을 공개한다(문제 공개성) - 참가자의 수를 제한한다(참가 인원의 제한성) - 발견된 오류는 문서화한다(문서성) FTR 지침 사항 : 한번 더 리뷰하세요~~ 제품 검토에만 집중하라 의제를 제한하여 진행하라 논쟁과 반박을 제한하라 문제영역을 정확히 표현하라 해결책이나 개선책에 대해서는 논하지 말라 참가자수를 제한하고 사전준비를 강요하라 자원과 시간 일정을 할당하라 모든 검토자들을 위해 의미있는 훈련을 시행하라 검토자들은 사전에 작성한 메모들을 공유하라 검토의 과정과 결과를 재검토하라
27번
소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템 을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하는 것은?
① Analysis
② Migration
③ Restructuring
④ Reverse Engineering
정답 확인 · 해설
정답 ②
Analysis: 기존 소프트웨어를 분석하여 재공학 대상을 선정하는 것 Migration: 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에 서 사용할 수 있도록 변환하는 작업 Restructuring: 기존 소프트웨어를 향상시키기 위하여 코드를 재 구성하는 작업(기능과 외적 동작은 변하지 않음) Reverse Engineering: 기존 소프트웨어를 분석하여 소스코드를 얻어내는 작업(소스코드로 소프트웨어를 만드는 작업의 역작업)
28번
정보시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항으로 가장 거리가 먼 것은?
① 개발 정보시스템의 특성
② 사용자의 요구사항
③ 컴파일러의 가용성
④ 컴파일러의 독창성
정답 확인 · 해설
정답 ④
프로그래밍 언어의 선정 기준 - 친밀감 - 언어의 능력 - 처리의 효율성 - 프로그램 구조 - 프로그램의 길이 프로그래밍 언어의 선정 기준 : 친밀감, 언어의 능력, 처리의 효율성, 프로그램 구조, 프로그램 의 길이, 이식성, 과거의 개발 실적, 알고리즘과 계산상의 난이 도, 자료 구조의 난이도, 성능 고려 사항들, 대상 업무의 성격, 소프트웨어의 수행 환경, 개발 담당자의 경험과 지식, 사용자의 요구사항, 컴파일러의 이용 가능성
29번
소프트웨어 패키징에 대한 설명으로 틀린 것은?
① 패키징은 개발자 중심으로 진행한다.
② 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상 용제품으로 패키징한다.
③ 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
정답 확인 · 해설
정답 ①
소프트웨어 패키징은 소비자 중심으로 진행한다. - 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만 드는 것. - 개발자가 아니라 사용자 중심으로 진행함. - 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징함. - 사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징함. - 사용자를 중심으로 진행되는 작업이므로 사용자의 편의성 및 실행 환경을 우선적으로 고려해야 함.
30번
자료 구조의 분류 중 선형 구조가 아닌 것은?
① 트리
② 리스트
③ 스택
④ 데크
정답 확인 · 해설
정답 ①
-비선형 구조 : 트리, 그래프 -선형 구조 : 스택, 큐, 데크, 리스트 -파일 구조 : 순차파일, 색인파일, 직접파일
31번
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작 업이 아주 어려운 프로그램을 의미하는 것은?
① Title Code
② Source Code
③ Object Code
④ Alien Code
정답 확인 · 해설
정답 ④
Alien code : 개발자가 퇴사를 했거나 현재 사용하지 않는 환경 및 언어로 작성되었거나 프로그램의 관련 문서나 주석이 없는 상태에서 시간이 흐른 뒤 유지보수가 불가능하거나 힘든 프로그 램 소스 코드
32번
소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?
① 생산성 증가
② 프로젝트 문서 공유
③ 소프트웨어 품질 향상
④ 새로운 개발 방법론 도입 용이
정답 확인 · 해설
정답 ④
**소프트웨어 재사용함으로써 얻을 수 있는 이점들**
33번
인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은?
① AJTML
② JSON
③ XML
④ YAML
정답 확인 · 해설
정답 ①
▶JSON(Javascript Object Notation) 속성-값 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이 터 포맷 ▶ XML(Extensible Markup Language) HTML의 단점을 보완한 인터넷 언어, SGML의 복잡한 단점을 개 선한 특수한 목적을 갖는 마크업 언어 ▶ AJAX(Asynchronous Javascript And XML) 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으 로 XML 데이터를 교환하고 조작하기 위한 웹 기술, XMLHttpRequest 객체를 이용해 전체 페이지를 새로 로드하지 않고 필요한 부분만 로드한다. ▶ REST(Representational State Transfer) ⦁ 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처 (리소스, 메서드, 메시지) ⦁ HTTP URI를 통해 자원을 명시하고, HTTP 메서드(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱 신, 삭제 등의 명령을 적용할 수 있는 분산 하이퍼미디어 시스 템을 위한 소프트웨어 아키텍처이다. YAML: JSON과 비슷하게 사람이 읽기 쉬운 형태의 데이터 표현 형식. - YAML은 XML과 문법적으로 유사한 점이 많음. - YAML에서도 주석을 사용 가능하며 개행, 공백으로 블록을 인 식. - 태그를 사용하지 않고 공백 위주로 데이터를 구분하므로 한 줄로 작성할 수 없다는 특징.
34번
프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?
① 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이 다.
② 이해하기 쉽고 코드 변환이 용이하다.
③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
④ 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
정답 확인 · 해설
정답 ③
NS-Chart(Nassi-Schneiderman Chart) - 3가지 기본구조만으로 논리를 표현(표준화 가능) - Flow Chart의 최대 단점인 화살표가 표시되지 않음 - 기본구조의 입구와 출구는 각 하나씩 - 전체적인 알고리즘을 일목요연하게 볼 수 있음 N-S 차트는 논리 기술에 중점을 둔 도형을 이용한 표현 방법으 로 박스 다이어그램, Chapin Chart 라고도 한다. - GOTO나 화살표를 사용하지 않는다.
35번
순서가 A, B, C, D로 정해진 입력자료를 push, push, pop, push, push, pop, pop, pop 순서로 스택연산을 수행하는 경우 출력 결과는?
① B D C A
② A B C D
③ B A C D
④ A B D C
정답 확인 · 해설
정답 ①
스택연산 : 입구 및 출구가 하나 A B C D 순으로 입력되었을때 출력순서는 D C B A 순 push 입력 pop 출력 push A push A B pop_ A / B push A C / B push A C D / B pop_ A C / B D pop_ A / B D C pop_ / B D C A
36번
분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피 벗(pivot)을 사용하며 최악의 경우 회의 비교 를 수행해야 하는 정렬(Sort)은?
① Selection Sort
② Bubble Sort
③ Insert Sort
④ Quick Sort
정답 확인 · 해설
정답 ④
- Selection Sort - 배열 내에서 최소값을 찾은 다음 정렬 되지 않은 맨 앞 값과 교환을 하며 정렬을 해 나아가는 방법 (정렬 시간 복잡도 모두 O(n^2)) - Bubble Sort - 왼쪽에서 부터 두 데이터를 비교해서 앞에 있 는 데이터가 뒤에 있는 데이터 보다 크면 자리를 바꾸는 정렬 알고리즘(정렬 시간 복잡도 모두 O(n^2)) - Insert Sort - 한 개의 값을 추출한 다음 앞쪽으로 비교해서 본인의 자리를 알맞게 찾아가게끔 하는 정렬 방법. 정렬 시간 복잡도는 최상일 경우 O(n), 평균과 최악일 경우 O(n^2) - 병합 정렬 - 또한 분할 정복에 기반한 알고리즘으로 리스트를 1 이하인 상태까지 절반으로 자른 다음 재귀적으로 합병 정렬을 이용해서 전체적인 리스트를 합병하는 정렬 과정. O(n log n) ※ n(n-1)/2 = O(n^2) 정렬이란? 여러 개의 자료를 순서에 따라 나열하는 방법 8개 종류: [선택, 버블, 삽입, 쉘, 퀵, 힙, 이진병합, 버킷정렬] 종류 최상 평균 최악 선택 정렬 O(n) O(n2) O(n2) 버블 정렬 O(n2) O(n2) O(n2) 삽입 정렬 O(n2) O(n2) O(n2) 쉘 정렬 O(n) O(n1.5) O(n2) 퀵 정렬 O(nlog2n) O(nlog2n) O(n2) 힙 정렬 O(nlog2n) O(nlog2n) O(nlog2n) 이진병합 정렬 O(nlog2n) O(nlog2n) O(nlog2n) 버킷 정렬 O(dn) O(dn) O(dn) 퀵 정렬: 분할 정복 알고리즘의 하나로, 평균적으로 매우 빠른 수행 속도를 자랑하는 정렬 방법 - 하나의 리스트를 피벗(pivot)을 기준으로 두 개의 비균등한 크 기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정 렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법
37번
화이트 박스 검사 기법에 해당하는 것으로만 짝지어진 것 은?
① ㉠, ㉡
② ㉠, ㉣
③ ㉡, ㉤
④ ㉢, ㉥
정답 확인 · 해설
정답 ①
화이트박스 테스트의 종류
38번
소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명으로 옳지 않은 것은?
① 소프트웨어 품질 평가를 위한 소프트웨어 품질평가 통합 모델 표준이다.
② System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 한다.
③ ISO/IEC 2501n에서는 소프트웨어의 내부 측정, 외부측 정, 사용품질 측정, 품질 측정 요소 등을 다룬다.
④ 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절 차 모델인 ISO/IEC 9126과 ISO/IEC 14598을 통합하였 다.
정답 확인 · 해설
정답 ③
ISO/IEC 25000 - SW 품질 평가 통합 모델 - SQuaRE로도 불림 - ISO/IEC 9126, ISO/IEC 12119, ISO/IEC 14598의 3개 표준 을 통합한 모델 - 2500n : 개요 및 품질관리 - 2501n : 품질모델 - 2502n : 품질측정 - 2503n : 품질요구 - 2504n : 품질평가 - 2505n : 확장분야
39번
코드 인스펙션과 관련한 설명으로 틀린 것은?
① 프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확 인하는 방법으로 볼 수 있다.
② 코드 품질 향상 기법 중 하나이다.
③ 동적 테스트 시에만 활용하는 기법이다.
④ 결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품 질 이슈를 검사하기도 한다.
정답 확인 · 해설
정답 ③
코드 인스펙션 - 결함 뿐만 아니라 모든 것이 표준대로 되어 있는 지 확인하기 위한 검토 - 표준이나 명세서에 서술한 내용과 비교하여 편차와 에러를 식 별하기 위해 산출물을 근거로 수행하는 검사 - 정적 테스트에 가까움
40번
프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하 여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하 여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?
① Critical Path Method
② Risk Analysis
③ Work Breakdown Structure
④ Waterfall Model
정답 확인
정답 ②
41번
데이터베이스 설계 단계 중 물리적 설계 시 고려 사항으로 적절하지 않은 것은?
① 스키마의 평가 및 정제
② 응답 시간
③ 저장 공간의 효율화
④ 트랜잭션 처리량
정답 확인 · 해설
정답 ①
o 어떤 인덱스를 만들 것인지에 대한 고려 o 성능 향상을 위한 개념 스키마의 변경 여부 검토 o 레코드의 크기 o 파일과 구조 저장을 위한 최소한의 공간 o 빈번한 질의와 트랜잭션들의 수행 속도를 높이기 위한 고려사 항 - 응답 시간 - 저장 공간의 효율화 - 트랜잭션 처리량 스키마의 평가 및 정제는 논리적 설계에서 실행된다.
42번
DELETE 명령에 대한 설명으로 틀린 것은?
① 테이블의 행을 삭제할 때 사용한다.
② WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있 다.
③ SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
④ 기본 사용 형식은 “DELETE FROM 테이블 [WHERE 조 건];” 이다.
정답 확인 · 해설
정답 ②
DELETE문은 테이블내의 튜플들만 삭제, DROP문은 테이블 자 체를 삭제
43번
어떤 릴레이션 R의 모든 조인 종속성의 만족이 R의 후보 키를 통해서만 만족될 때, 이 릴레이션 R이 해당하는 정규 형은?
① 제5정규형
② 제4정규형
③ 제3정규형
④ 제1정규형
정답 확인 · 해설
정답 ①
- 제1정규형 : 릴레이션에 속한 모든 속성의 도메인이 원자값으 로만 구성되어 있으면 제 1 정규형에 속한다. - 제2정규형 : 제1 정규형에 속하고, 기본키가 아닌 모든 속성 이 기본키에 완전 함수 종속되면 제2 정규형에 속한다.(부분 함 수 종속 제거) - 제3정규형 : 제2 정규형에 속하고, 기본키가 아닌 모든 속성 이 기본키에 이행적 함수 종속이 되지 않으면 제3 정규형에 속 한다. - BCNF(보이스/코드) 정규형 : 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 보이스/코드 정규형에 속한다. - 제4정규형 : BCNF 정규형을 만족하면서 함수 종속이 아닌 다 치 종속을 제거해야 만족할 수 있다. - 제5정규형 : 제4 정규형을 만족하면서 후보키를 통하지 않는 조인 종속을 제거해야 만족할 수 있다. 정규화 단계 - 원부이 결다조
45번
다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은?
① 필드키
② 슈퍼키
③ 외래키
④ 후보키
정답 확인 · 해설
정답 ③
* 키 : 레코드 또는 튜플을 확인하기 위해 이용되는 속성값
46번
관계해석에서 '모든 것에 대하여'의 의미를 나타내는 논리 기호는?
① ∃
② ∈
③ ∀
④ ⊂
정답 확인 · 해설
정답 ③
All의 'A'를 뒤집어놓은 상태 * ∃: 존재한다(There exist) * ∈: t가 r에 속함( t ∈ r ) * ∀: 모든 것에 대하여(for all) * ∪: 합집합
거꾸로 풀면됨 문제에서 학생이 가장 뒤에 있음 - 맨 앞에 생각 하는 from문에 삽입 from 학생 그럼 2 or 4 문제에서 학과 = 교육 이니까 2번 답 Select 연산의 표기형식: σ조건(릴레이션) σ학과='교육'(학생) 의미 -> <학생> 릴레이션에서 '학과'가 '교육'인 튜플들을 추출 해줘. Project 연산의 표기형식: π속성리스트(릴레이션) π이름 의미 -> '이름' 속성을 추출해줘. SELECCT (속성명) FROM (테이블) WHERE (조건) 이 SQL 질의에 맞춰 표현하면 SELECT 이름 FROM 학생 WHERE 학과 = '교육';
50번
정규화 과정에서 함수 종속이 A→B 이고 B→C 일 때 A→C 인 관계를 제거하는 단계는?
① 1NF → 2NF
② 2NF → 3NF
③ 3NF → BCNF
④ BCNF → 4NF
정답 확인 · 해설
정답 ②
A→B 이고 B→C 일 때 A→C를 만족하는 관계를 다른 말로 말 하면, 이행적 종속(Transive Dependency) 관계입니다. 이행적 함수 종속을 제거한다는 뜻은, 2NF(2정규형)에서 3NF(3 정규형)가 되는 과정이라고도 볼 수 있겠죠.
51번
CREATE TABLE문에 포함되지 않는 기능은?
① 속성 타입 변경
② 속성의 NOT NULL 여부 지정
③ 기본키를 구성하는 속성 지정
④ CHECK 제약조건의 정의
정답 확인 · 해설
정답 ①
PRIMARY KEY : 테이블의 기본 키를 정의 / 유일하게 테이블의 각 행을 식별 FOREIGN KEY : 참조 대상을 테이블로 명시 / 외래 키를 정의 / 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설 정 UNIQUE : 테이블 내에서 얻은 유일한 값을 갖도록 하는 속 성 NOT NULL : 해당 컬럼은 NULL값을 포함하지 않도록 하는 속성 CHECK : 개발자가 정의하는 제약조건 / 참(TRUE)이어야 하 는 조건을 지정 DEFAULT : 해당 필드의 기본값을 설정 2~4번은 해당이 된다..1번은 속성타입 변경이라는 것은 CREATE TABLE에서 사용하는 것중에는 없다 속성타입 변경은 ALTER TABLE 문에 포함되어있다. CREATE TABLE에 포함되는 기능: 테이블 생성: 새로운 테이블을 데이터베이스에 추가합니다. 컬럼 정의: 각 컬럼의 이름과 데이터 타입을 지정합니다. 제약조건 설정: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL 등의 제약조건을 설정하여 데이터 무결성을 강화합니다. 기본값 설정: DEFAULT를 통해 특정 컬럼에 기본값을 지정할 수 있습니다. CREATE TABLE에 포함되지 않는 기능: 속성 타입 변경: 이미 생성된 테이블의 컬럼 데이터 타입을 변 경하는 것은 ALTER TABLE 명령어를 사용해야 합니다..CREATE TABLE은 테이블 생성 시의 초기 구조 설정에만 사용됩니다. 데이터 조작: 데이터를 추가, 삭제, 수정하는 기능은 INSERT, DELETE, UPDATE 명령어를 통해 수행됩니다..CREATE TABLE 은 이러한 데이터 조작 기능을 포함하지 않습니다. 테이블 삭제: 테이블을 삭제하는 작업은 DROP TABLE 명령어로 수행됩니다.
52번
SQL과 관련한 설명으로 틀린 것은?
① REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
② 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.
③ DISTINCT를 활용하여 중복 값을 제거할 수 있다.
④ JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
정답 확인 · 해설
정답 ①
REVOKE는 DCL에 해당 하는 권한을 해제하는 명령어 #### DDL(Data Define Language, 데이터 정의어) >DDL은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거 나 변경 또는 삭제할 때 사용하는 언어이다. - CREATE: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의 한다. - ALTER: TABLE에 대한 정의를 변경하는 데 사용한다. - DROP: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제한 다. #### DML(Data Manipulation Language, 데이터 조작어) >DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통 하여 저장된 데이터를 실질적으로 처리하는데 사용되는 언어이 다. 데이터베이스 사용자와 데이터베이스 관리시스템 간의 인터페이 스를 제공한다. - SELECT: 테이블에서 조건에 맞는 튜플을 검색한다. - INSERT: 테이블에 새로운 튜플을 삽입한다. - DELETE: 테이블에서 조건에 맞는 튜플을 삭제한다. - UPDATE: 테이블에서 조건에 맞는 튜플의 내용을 변경한다. #### DCL(Data Control Language, 데이터 제어어) > DCL은 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정 의하는 데 사용되는 언어이다. 데이터 베이스 관리자가 데이터 관리를 목적으로 사용한다. - COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려준다. - ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 종료되 었을 때 원래의 상태로 복구한다. - GRANT: 데이터베이스 사용자에게 사용권한을 부여한다. - REVOKE: 데이터베이스 사용자의 권한을 취소한다.
53번
다음 SQL문의 실행결과로 생성되는 튜플 수는?
① 1
② 3
③ 4
④ 5
정답 확인 · 해설
정답 ④
SQL문은 : SELECT(컬럼 명) FROM (테이블 명) SQL의 조건이 없으므로 모든 급여가 생성된다..따라서 5개의 튜 플이 생성됨.
54번
다음 SQL문에서 사용된 BETWEEN 연산의 의미와 동일한 것은?
① 점수 >= 90 AND 점수 <= 95
② 점수 > 90 AND 점수 < 95
③ 점수 > 90 AND 점수 <= 95
④ 점수 >= 90 AND 점수 < 95
정답 확인 · 해설
정답 ①
SQL문의 조건은 성적 테이블에 성적(점수)가 90이상 95이하인 학과를 찾아라 이다.
55번
트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?
① 철회(Aborted)
② 부분 완료(Partially Committed)
③ 완료(Commit)
④ 실패(Fail)
정답 확인 · 해설
정답 ①
ROLLBACK = 데이터베이스 조작 작업이 비정상적으로 종료되 었을 때 원래의 상태로 복구 = 철회
56번
데이터 제어어(DCL)에 대한 설명으로 옳은 것은?
① ROLLBACK : 데이터의 보안과 무결성을 정의한다.
② COMMIT : 데이터베이스 사용자의 사용 권한을 취소한 다.
③ GRANT : 데이터베이스 사용자의 사용 권한을 부여한다.
④ REVOKE : 데이터베이스 조작 작업이 비정상적으로 종료 되었을 때 원래 상태로 복구한다.
정답 확인
정답 ③
58번
분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?
① 분산 데이터베이스는 논리적으로는 하나의 시스템에 속 하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되 어 있다.
② 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
③ 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처 리 비용이 증가한다는 단점이 있다.
④ 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처 리기, P2P 시스템, 단일 데이터베이스 등이 있다.
정답 확인 · 해설
정답 ④
분산 데이터베이스 주요 구성 요소는 전역, 분할, 할당, 지역 스키마가 있다. 구성요소는 분산처리기, 분산 데이터베이스, 통신 네트워크 분산 데이터베이스의 구성 요소 - '분산' 1) 분산 처리기 2) 분산 데이터베이스 3) 통신 네트워크 4) 분산 트랜잭션 분산 데이터베이스의 구조 - 전역, 분할(단편화), 할당, 지역 스 키마
59번
테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하 여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은?
① V_1만 삭제된다.
② V_2만 삭제된다.
③ V_1과 V_2 모두 삭제된다.
④ V_1과 V_2 모두 삭제되지 않는다.
정답 확인 · 해설
정답 ③
CASCADE - 데이터베이스 내의 임의의 다른 테이블과 PRIMARY KEY 또 는 FOREIGN KEY로서의 관계가 여전히 존재하는 경우 PRIMARY KEY가 존재하는 테이블을 마음대로 제거 및 비활성화 할 수 없다. - 즉, 부모 테이블과 자식테이블 간에 참조 설정이 되어 있을때 부모 테이블의 제약 조건을 비활성화 시키면서 이를 참조하고 있는 자식 테이블의 제약 조건까지 함께 비활성화시키기 위해 사용한다. - 또한 부모 테이블만 삭제하고 싶을 경우, 원래는 자식테이블 을 먼저 삭제하고 부모를 삭제 한 뒤 자식테이블을 다시 만들어 야하는 번거로움이 따른다. - 하지만 CASCADE를 쓰면 일시적으로 참조관계를 끊을수 있 다. CASCADE : 연쇄적으로 삭제하라는 뜻. 참조하는(자식) 개체까 지 모두 삭제된다. RESTRICTED : 참조 중일 때는 에러를 띄우고 삭제 작업 중지.
60번
데이터베이스에서 병행제어의 목적으로 틀린 것은?
① 시스템 활용도 최대화
② 사용자에 대한 응답시간 최소화
③ 데이터베이스 공유 최소화
④ 데이터베이스 일관성 유지
정답 확인 · 해설
정답 ③
병행제어의 목적 - 여러 사용자들의 데이터베이스 공동 사용을 최대화 - 사용자의 응답 시간 최소화 - 데이터베이스 시스템의 활용도 최대화 - 데이터베이스의 일관성 유지
61번
IP 주소체계와 관련한 설명으로 틀린 것은?
① IPv6의 패킷 헤더는 32 octet의 고정된 길이를 가진다.
② IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
③ IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트 (Unicast)를 지원한다.
④ IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다 르다.
정답 확인 · 해설
정답 ①
IPv4와 IPv6의 차이는 정보처리기사 뿐만이 아니라 대부분의 IT 관련 시험에서 다루고 있음 주로 다루는 차이점과 핵심 단어는 아래와 같음 1) IPv4 ㄱ. 32비트 주소 ㄴ. 유니캐스트/멀티캐스트/브로드캐스트 사용 2) IPv6 ㄱ. 128비트 주소 ㄴ. 기존 IPv4의 주소 부족 문제를 해결하기 개발 ㄷ. 인증성/기밀성/무결성 지원 (=보안성 강화) ㄹ. 유니캐스트, 애니캐스트, 멀티캐스트 사용 IPv6 헤더의 경우는 40 octet의 고정된 길이를 가진다. 1번 보면 "패킷 헤더"라고 했기 때문에 오답이다. IPv4는 헤더가 가변적이고, 주소크기는 32bit IPv6는 헤더가 40byte(320bit)로 고정되어 있고, 주소크기는 128bit
62번
다음 C언어 프로그램이 실행되었을 때, 실행 결과는?
① 7, 5
② 8, 5
③ 8, 9
④ 7, 9
정답 확인 · 해설
정답 ③
p[0]=arr[0] -> p[0]+1=arr[0][1]=2 p[1]=arr[1] -> p[1]+2=arr[1][2]=6 2+6=8 p=arr[0]의 주소 -> p+1=arr[1] -> *(*(p+1)+0)=arr[1][0]=4 위와 같은 계산으로 *(*(p+1)+1=arr[1][1]=5 4+5=9 그림으로 그려보자 int arr[2][3] = {1,2,3,4,5,6}; int arr [2][3] 를 좀 쉽게 봐볼까요? int arr [2] [3] 세로 가로 세로가 2개 가로가 3개 1 2 3 4 5 6 이렇게 상상해 보고 좀더 자세히 구분해 보아요 0 1 2 0 1[0][0] 2[0][1] 3[0][2] 1 4[1][0] 5[1][1] 6[1][2] p[0]+1 는 [0][1] 와 같다..[0][1]에 들어 있는 숫자는 '2'이다. p[1]+2 는 [1][2] 와 같다 [1][2]에 들어 있는 숫자 는 '6'이다. 2+6 = 8 *(*(p+1)+0는 [1][0] 와 같다 [1][0]에 들어 있는 숫자는 '4'이다. *(*(p+1)+1는 [1][1] 와 같다 [1][1]에 들어 있는 숫자는 '5'이다. 4+5= 9
63번
OSI 7계층 중 데이터링크 계층에 해당되는 프로토콜이 아닌 것은?
① HTTP
② HDLC
③ PPP
④ LLC
정답 확인 · 해설
정답 ①
1계층 - 물리계층(Physical Layer) : Coax, Fiber, Wireless 2계층 - 데이터 링크계층(DataLink Layer) : Ethernet, SLIP, PPP, FDDI, HDLC 3계층 - 네트워크 계층(Network Layer) : IP, IPSec, ICMP, IGMP 4계층 - 전송 계층(Transport Layer) : TCP, UDP, ECN, SCTP, DCCP 5계층 - 세션 계층(Session Layer) : VARIOUS API;S, SOCKETS 6계층 - 표현 계층(Presentation Layer) : SSL, FTP, IMAP, SSH 7계층 - 응용 계층(Application Layer) : HTTP, FTP, IRC, SSH, DNS
64번
C언어에서 두 개의 논리 값 중 하나라도 참이면 1을, 모두 거짓이면 0을 반환하는 연산자는?
① ||
② &&
③ **
④ !=
정답 확인 · 해설
정답 ①
1) || : OR 연산 - 둘 중 하나라도 참이면 1 2) && : AND 연산 - 둘 다 참이어야 1 3) ** : 거듭제곱 4) != : 부등(피연산자가 서로 다를 시 true)
65번
IPv6에 대한 특성으로 틀린 것은?
① 표시방법은 8비트씩 4부분의 10진수로 표시한다.
② 2128개의 주소를 표현할 수 있다.
③ 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장이 용이하다.
④ 확장기능을 통해 보안기능을 제공한다.
정답 확인 · 해설
정답 ①
IPv6 : 16비트씩 8부분의 16진수로 표시
66번
JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?
① 문법 오류로 인해 발생한 것
② 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동 안에 발생한 오류
③ 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오 류
④ 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
정답 확인 · 해설
정답 ①
문법 오류는 컴파일 시 에러가 발생하기 때문에 프로그램의 정 상적인 실행이 불가능하므로 자바에서 정의한 예외 조건에 부합 하지 않는다.
67번
TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사 용하는 프로토콜은?
① ECP(Error Checking Protocol)
② ARP(Address Resolution Protocol)
③ ICMP(Internet Control Message Protocol)
④ PPP(Point-to-Point Protocol)
정답 확인 · 해설
정답 ③
ARP : IP 네트워크 상에서 IP주소를 MAC주소로 변환하는 프로 토콜 ICMP : IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 하는 프로 토콜 ARP : 호스트의 IP주소를 호스트와 연결된 네트워크 접속 장치 의 물리적 주소로 바꾸는 역할을 하는 프로트콜 PPP : 점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화시 켜 전송하는 프로토콜 ECP(Error Checking Protocol)는 없음
68번
좋은 소프트웨어 설계를 위한 소프트웨어의 모듈간의 결합 도(Coupling)와 모듈 내 요소 간 응집도(Cohesion)에 대한 설명으로 옳은 것은?
① 응집도는 낮게 결합도는 높게 설계한다.
② 응집도는 높게 결합도는 낮게 설계한다.
③ 양쪽 모두 낮게 설계한다.
④ 양쪽 모두 높게 설계한다.
정답 확인 · 해설
정답 ②
좋은 소프트웨어일수록 결합도는 낮고, 응집도는 높다 결합도 : 어떤 모듈이 다른 모듈에 의존하는 정도 응집도 : 한 모듈 내부의 처리 요소들이 서로 관련되어 있는 정 도(독립적 기능 수행 정도) 코딩할 때로 예를 들자면 모듈을 만들었는데 이 코드 저 코드 엮어서 거미줄 코딩을 한 경우 서로에 대한 의존도가 높으므로 결합도가 높다고 할 수 있고, 하나의 모듈을 만들었는데 독립적 기능을 수행하며 타 코드와 큰 연관성이 없을 경우 응집도가 높 다고 할 수 있다..(한마디로 독립적인 모듈이냐 의존적인 모듈이 냐!) 응집도 결합도는 필기/실기 엄청 자주 출제되므로 꼭 잘 모르겠 으면, 구글링해서 꼭 제대로 알고 넘어가도록 합시다.
69번
다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?
① Dekker Algorithm
② Lamport Algorithm
③ Peterson Algorithm
④ Semaphore
정답 확인
정답 ④
70번
소프트웨어 개발에서 모듈(Module)이 되기 위한 주요 특징 에 해당하지 않는 것은?
① 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위 (Unit)이다.
② 독립적인 컴파일이 가능하다.
③ 유일한 이름을 가져야 한다.
④ 다른 모듈에서의 접근이 불가능해야 한다.
정답 확인 · 해설
정답 ④
다른 모듈에서의 접근이 불가능한 것은 폐쇄적인 것. 모듈은 폐쇄적이거나 접근이 불가능하게 설계할 필요는 없음.
71번
빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB 일 때 기억 장치 배치 전략으로 “Best Fit"을 사용하여 17KB의 프로그 램을 적재할 경우 내부단편화의 크기는 얼마인가?
① 3KB
② 23KB
③ 64KB
④ 67KB
정답 확인 · 해설
정답 ①
문제에서 Best Fit을 물을 시 내부단편화가 제일 작은 보기를 찾 으면 됨 1) 20KB - 17KB = 3KB 2) 16KB - 17KB = 불가 3) 8KB - 17KB = 불가 4) 40KB - 17KB = 23KB 따라서 1번이 정답 - First Fit: 들어갈 수 있는 첫 번째 공간에 넣음 - Best Fit: 내부 단편화(자투리)가 가장 적게 남는 공간에 넣음 - Worst Fit: 가장 큰 공간에 넣음
72번
다음 C언어프로그램이 실행되었을 때, 실행 결과는?
① i = 0
② i = 1
③ i = 3
④ i = 4
정답 확인 · 해설
정답 ④
while에서 조건식 대신 1을 지정하면 무한히 반복하는 루프가 만들어집니다..i가 4가 되면 break로 while문을 빠져나오게 되면 서 i는 4가 됩니다.
73번
다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
① BCDABCA
② BCDABCC
③ CDDACCC
④ CDDACCA
정답 확인 · 해설
정답 ②
rs(c)는 대충 a=c라고 생각하고 rs(char a[])=rs(char c[]) c의 문자열 크기는 7이므로 a.length=7 rs()는 i가 7미만일때까지 반복한다는 의미 {'A', 'B', 'D', 'D', 'A', 'B', 'C'} 에서 a[0]='A', a[1]='B' 이런 식으로 이해하면되는데 rs 첫번째 if문은 a[i]의 값이'B'인 경우 그 값을 B에서 C로 바 꾸라는 의미이고 rs 두번째 else if는 i=6일때 a[6]=a[5]로 바꾸라는 의미이고 rs 세번째 else 는 1, 2번째 if문에 충족되지 않는 나머지 경우 는 다 a[i]=a[i+1]을 해주라는 의미 {'A', 'B', 'D', 'D', 'A', 'B', 'C'}에서 i=0 이면 A[0]를 A[1]로 변경해서 {'B', 'B', 'D', 'D', 'A', 'B', 'C'} i=1 이면 값이 B이기 때문에 C로 변경 {'B', 'C', 'D', 'D', 'A', 'B', 'C'} i=2 이면 A[2]를 A[3]으로 변경 {'B', 'C', 'D', 'D', 'A', 'B', 'C'} -똑같아서 그대로 방치 i=3 이면 A[3]를 A[4]로 변경 {'B', 'C', 'D', 'A', 'A', 'B', 'C'} i=4 이면 A[4]를 A[5]로 변경 {'B', 'C', 'D', 'A', 'B', 'B', 'C'} i=5 이면 값이 B이기 때문에 C로 변경 {'B', 'C', 'D', 'A', 'B', 'C', 'C'} i=6 이면 A[6]를 A[5]로 변경 {'B', 'C', 'D', 'A', 'B', 'C', 'C'} pca(c)로 와서 char a[] 그대로 출력 정답은 {'B', 'C', 'D', 'A', 'B', 'C', 'C'} = 2번
74번
개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
① Ant
② Kerberos
③ Maven
④ Gradle
정답 확인 · 해설
정답 ②
Build = 작성된 Source Code를 실제 기기에서 실행 할 수 있는 소프트웨어로 변환하기 위한 과정 1) Ant = 아파치 재단에서 개발한 자바의 공식적인 빌드 도구 2) Kerberos = 컴퓨터 네트워크 인증 암호화 프로토콜로 3) Maven = 아파치 재단에서 개발, Ant 대안으로 개발되었음 4) Gradle = Ant, Maven 의 보완으로 개발된 빌드 도구(안드로 이드 스튜디오 주 빌드 도구)
75번
3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서 가 1, 2, 1, 0, 4, 1, 3 일 경우 FIFO 알고리즘에 의한 페이 지 교체의 경우 프레임의 최종 상태는?
str1[1]=str2[2] => str1의 KOREA중 O가 V로 변경 str1= KVREA str2[3]=str1[4] =>str2의 LOVE중 E가 A로 변경 str2=LOVA p1+2= str1[2]= R 덧붙이자면 strcat(str1, str2);에 의해 str1 => "KVREALOVA"가 됩니다. char str1 [20] = KOREA *20개의 칸이 있고, 맨앞에서부터 KOREA가 들어감 char str2 [20] = LOVE *20개의 칸이 있고, 맨앞에서부터 LOVE가 들어감 p1=str1 (p1을 str1이라고 여김) p2=str2 (p2을 str2이라고 여 김) str1[1]=p2[2] *p2(str2)의 2번째인 O를 str1(p1)의 1번째인 O에 삽입. str1 = KVREA str2[3]=p1[4] *p1(str1)의 4번째 A를 str2(p2)의 3번째인 V에 삽입. str2=LOVA strcat에 의해 str2를 str1 뒤로 붙임. KVREALOVE라는 값이 나옴. 여기서 p1+2(str1[2])를 구하면 2번째인 R. **혹시나 해서 말하지만 첫칸은 1이 아니라, 0이에요. list_data에 a가 아니라 'a'이기 때문에 문자 그대로 a로 출력되 고 dict_data는 90으로 출력됨 list_data {a, b, c} p[] 0 1 2 dict_data a=90 b=95 print(list_datap[0]) // list_data의 p[0]주소의 값을 출력 print(dict_data['a'] // dict_data의 키값 'a'의 값 90을 출력 ** dict_data는 '키값'을 가지고 해당 키의 '값'을 출력한다.. 따라서 실행 결과는 a 다음 90
78번
C언어에서 정수 변수 a, b에 각각 1, 2가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은?
① 0
② 1
③ 3
④ 5
정답 확인 · 해설
정답 ②
연산자 우선순위 문제 a < (b+2) -> true a<<1 = 00000001 (1) 에서 좌측시프트 00000010 (2)/ 2<=b = true && - and 연산은 둘다 참일결우 1을 반환 C언어라는것을 한번더 체크 a<b+2&&a<<1<=b // && : 좌항(a<b+2)과 우항(a<<1<=b)이 모두 True(1)이면 True(1)이다..추가사항 : false 는 0, True 는 이때 a=1, b=2 식에 대입하면 -> 1<2+2&&1<<1<=2 좌항 : 1<2+2 // 사칙연산을 먼저한다. 따라서, 1<4 는 True(1) 우항 : 1<<1<=2 // <<n 는 n비트 만큼 왼쪽으로 이동하라는 뜻 // 1을 binary(2진수)으로 변환하 면 1(000000001)이다 // 1을 <<1 해주면 01(00000010)이 된다 // 10을 decimal(10진수)로 변환 하면 2가된다. 따라서, 2<=2 는 True(1) 다시 돌아와 본식에 대입해 1<4&&2<=2 면 True(1) 가 된다..따라서 최종답은 2번 True True for (반복변수) in [리스트] 결국 리스트에 있는 값 인덱스 기반으로 하나 씩 출력 파이썬은 print()하면 자동으로 개행된다
80번
UNIX 시스템의 쉘(shell)의 주요 기능에 대한 설명이 아닌 것은?
① 사용자 명령을 해석하고 커널로 전달하는 기능을 제공한 다.
② 반복적인 명령 프로그램을 만드는 프로그래밍 기능을 제 공한다.
③ 쉘 프로그램 실행을 위해 프로세스와 메모리를 관리한 다.
④ 초기화 파일을 이용해 사용자 환경을 설정하는 기능을 제공한다.
정답 확인 · 해설
정답 ③
프로세스, 메모리 관리는 커널의 기능
81번
소프트웨어 생명주기 모델 중 나선형 모델(Spiral Model)과 관련한 설명으로 틀린 것은??
① 소프트웨어 개발 프로세스를 위험 관리(Risk Management) 측면에서 본 모델이다.
② 위험 분석(Risk Analysis)은 반복적인 개발 진행 후 주기 의 마지막 단계에서 최종적으로 한 번 수행해야 한다.
③ 시스템을 여러 부분으로 나누어 여러 번의 개발 주기를 거치면서 시스템이 완성된다.
④ 요구사항이나 아키텍처를 이해하기 어렵다거나 중심이 되는 기술에 문제가 있는 경우 적합한 모델이다.
정답 확인 · 해설
정답 ②
점진적으로 개발 과정이 반복되므로 위험분석 또한 계획 수립 이후 추가적인 위험 분석이 가능함
82번
정보시스템과 관련한 다음 설명에 해당하는 것은?
① 고가용성 솔루션(HACMP)
② 점대점 연결 방식(Point-to-Point Mode)
③ 스턱스넷(Stuxnet)
④ 루팅(Rooting)
정답 확인 · 해설
정답 ①
고가용성 솔루션(HACMP:High Availability Cluster Multi Processing) - AIX를 기반으로 한 IBM의 High Availability Solution - Resource의 중복 또는 공유를 통해 Application의 보호를 가 능하게 해줌 - 같은 Data를 공유하거나 동시에 access하는 node들에서 여 러 개의 application을 실행하게 해줌 - 두대 이상의 시스템을 하나의 Cluster로 묶어 Cluster내의 한 시스템에서 장애가 발생할 경우 다른 시스템이 장애가 발생한 시스템의 자원을 인수할 수 있도록 하여 서비스의 중단을 최소 화 할 수 있도록 도와주는 솔루션 점대점 연결 방식(Point-to-Point Mode) - 네트워크에 있어 물리적으로는 중개 장치를 통과하지 않고 한 지점에서 다른 지점으로 직접 가는 채널 - 두 스테이션간을 별도의 회선을 사용하여 1 대 1로 연결. - 전용회선이나 공중 전화 회선을 이용. - 회선 구성이 간단하고 대용량 전송에 유리. - 별도의 회선과 포트에 따른 높은 설치비용 스턱스넷(Stuxnet) - 2010년 6월에 발견된 웜 바이러스 - 윈도우를 통해 감염, 지맨스산업의 SW 및 장비를 공격 루팅(Rooting) - 모바일 기기에서 구동되는 안드로이드 운영체제상에서 최상위 권한 (루트 권한)을 얻음으로 해당 기기의 생산자 또는 판매자 측에서 걸어 놓은 제약을 해제하는 행위
83번
위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크 로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란 시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격은?
① Parsing
② LAN Tapping
③ Switch Jamming
④ FTP Flooding
정답 확인 · 해설
정답 ③
- Parsing - 하나의 프로그램을 런타임 환경(예를 들면, 브라우저 내 자바스크립트 엔진)이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미함 - LAN Tapping - 처음 들어보는 용어이고, 찾아도 제대로된 정의가 나 오지 않으나 Lan+Tapping으로 해석한다면 LAN신호를 직접 자 신에게 끌어오는 방식의 공격정도로 해석 가능함 - Switch Jamming - 스위치의 기능이 방해 받아 정상 동작을 하지 못해 스위치가 더미 허브처럼 작동 하게 되는 것 - Switch + Jamming(방해) - FTP(SYN) Flooding - TCP의 3 Way Handshake 취약점을 이용한 DoS 공 격으로 다량의 SYN패킷을 보내 백로그큐를 가득 채우는 공격 - 통상적으로 위의 공격법을 TCP SYN Flooding 이라 고 칭하는 경우가 많음 - FTP프로토콜을 사용한 서버에 다량의 SYN 패킷을 보내 마비시키는것을 FTP Flooding이라고 볼 수 있음.
84번
다음 내용이 설명하는 스토리지 시스템은?
① DAS
② NAS
③ BSA
④ NFC
정답 확인 · 해설
정답 ①
직접 연결 저장장치(Direct-attached storage,DAS) Network Attached Storage. 네트워크 결합 스토리지 근거리 무선 통신(NFC)
85번
취약점 관리를 위해 일반적으로 수행하는 작업이 아닌 것 은?
① 무결성 검사
② 응용 프로그램의 보안 설정 및 패치(Patch) 적용
③ 중단 프로세스 및 닫힌 포트 위주로 확인
④ 불필요한 서비스 및 악성 프로그램의 확인과 제거
정답 확인 · 해설
정답 ③
중단된 프로세스와 닫힌 포트가 아니라, 활성화된 프로세스와 열린 포트를 중심으로 확인해야 취약점이 관리될 수 있음.
86번
소프트웨어 생명주기 모델 중 V 모델과 관련한 설명으로 틀 린 것은?
① 요구 분석 및 설계단계를 거치지 않으며 항상 통합 테스 트를 중심으로 V 형태를 이룬다.
② Perry에 의해 제안되었으며 세부적인 테스트 과정으로 구성되어 신뢰도 높은 시스템을 개발하는데 효과적이다.
③ 개발 작업과 검증 작업 사이의 관계를 명확히 드러내 놓 은 폭포수 모델의 변형이라고 볼 수 있다.
④ 폭포수 모델이 산출물 중심이라면 V 모델은 작업과 결과 의 검증에 초점을 둔다.
정답 확인 · 해설
정답 ①
V 모델(V-model)은 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나로 볼 수 있다..아래 방향으로 선형적으로 내려가면서 진행되는 폭포수 모델과 달리, 이 프로세스는 오른 쪽 그림과 같이 코딩 단계에서 위쪽으로 꺾여서 알파벳 V자 모 양으로 진행된다 검증(Verification)단계
87번
블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바 르게 연결된 것은?
① 블루버그(BlueBug) - 블루투스의 취약점을 활용하여 장 비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
② 블루스나프(BlueSnarf) - 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
③ 블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미
④ 블루재킹(BlueJacking) - 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
정답 확인 · 해설
정답 ③
블루버그: 블루투스 장비사이의 취약한 연결 관리를 악용한 공 격 블루스나프(블루스나핑): 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람 블루재킹: 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리 는 것 *OPP(Obex Push Protocol)- 블루투스 장치끼리 인증 없이 정 보를 간편하게 교환하기 위하여 개발됨
88번
DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것 은?
① Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법이다.
② Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대 상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
③ SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용 자가 서비스를 이용하지 못하게 하는 것이다.
④ Land 공격은 패킷 전송 시 출발지 IP주소와 목적지 IP주 소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방 법이다.
정답 확인 · 해설
정답 ②
멀티캐스트 x 브로드캐스트 o
89번
다음 설명에 해당하는 시스템은?
① Apache
② Hadoop
③ Honeypot
④ MapReduce
정답 확인 · 해설
정답 ③
Hadoop(하둡): 오픈 소스를 기반으로한 분산 컴퓨팅 플랫폼, 대 형 스토리지, 빅데이터 관련 MapReduce : 대용량 데이터를 분산처리하기 위한 목적으로 개 발된 프로그래밍 모델 구글에 의해 고안 임의의 순서로 분산 처리후 다시 합침 Apache : 월드 와이드 웹 컨소시엄(W3C)에서 사용하고 아파치 소프트웨어 재단에서 관리 및 운영하는 서버용 오픈소스 소프트 웨어 Hadoop : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼 MapReduce : 대용량 데이터를 분산 처리하기 위한 목적으로 Google에 의해 고안된 프로그래밍 모델
90번
다음이 설명하는 IT 기술은?
① StackGuard
② Docker
③ Cipher Container
④ Scytale
정답 확인 · 해설
정답 ②
- StackGuard - Stack 상에 일정한 주소번지에 프로그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하 여 프로그램이 비정상적으로 종료 시키는 기법 - Docker - 컨테이너 응용프로그램의 배포를 자동화 하는 오픈소 스 엔진 - SW 컨터에이너 안의 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈소스 프로젝트 이자 소프트웨어 - Cipher Container - 자바에서 암호화 복호화 기능을 제공하는 컨테이너 - Scytale - 암호화 기법으로 단순하게 문자열의 위치를 바꾸는 방법
91번
간트 차트(Gantt Chart)에 대한 설명으로 틀린 것은?
① 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝 나야 하는지를 한 눈에 볼 수 있도록 도와준다.
② 자원 배치 계획에 유용하게 사용된다.
③ CPM 네트워크로부터 만드는 것이 가능하다.
④ 수평 막대의 길이는 각 작업(Task)에 필요한 인원수를 나타낸다.
정답 확인 · 해설
정답 ④
인원 수 (X) 기간 (O)
92번
Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳 은 것은?
① Li-fi
② Scrapy
③ CrawlCat
④ SBAS
정답 확인 · 해설
정답 ②
- Li-fi - 스펙트럼의 빛을 이용한 5세대 이동 통신 기술 - Scrapy - 파이썬 기반의 웹크롤러 프레임 워크 - 가볍고 빠르고 확장성이 좋음 - SBAS(위성항법보강시스템) - GPS의 오차를 보정해 신뢰성과 안정성을 높인 기법 CrawlCat : 구글에서 개발한 웹 크롤링 도구로, 웹사이트를 탐 색하고 페이지의 구조와 링크를 파악하여 데이터를 수집함.
93번
Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으 로 틀린 것은?
① SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
② 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
③ 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
④ 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스 템에 과부하 발생
정답 확인 · 해설
정답 ④
자원 삽입 : 자원을 조작 할 수 있는 문자열을 삽입하여 시스템 이 보호하는 자원에 임의로 접근 할 수 있는 취약점
94번
Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특 징이 아닌 것은?
① 보안에 취약
② 대용량 볼륨에 효율적
③ 자동 압축 및 안정성
④ 저용량 볼륨에서의 속도 저하
정답 확인 · 해설
정답 ①
- FAT - DOS때부터 사용되던 윈도우의 파일시스템 - 저용량에 적합, 호환성이 좋음, 저장가능한 파일의 최대 크기가 4GB - NTFS - FAT시스템을 대체하기 위해 개발된 윈도우 파일 시스템 - 사용자마다 다른 보안 적용 가능 즉 보안이 FAT보다 뛰어 남 - 대용량 저장 가능 및 안정성이 뛰어남
95번
DES는 몇 비트의 암호화 알고리즘인가?
① 8
② 24
③ 64
④ 132
정답 확인 · 해설
정답 ③
DES의 키는 7비트마다 오류 검출을 위한 정보가 1비트씩 들어 가기 때문에 실질적으로는 56비트이다. 추가적으로 AES는 암호화 알고리즘은 AES-128, AES-192, AES-256로 나뉘어지며 숫자는 비트수 이다. DES는 블록크기는 64bit 이고 키 길이가 56비트이다.
96번
리눅스에서 생성된 파일 권한이 644일 경우 umask 값은?
① 022
② 666
③ 777
④ 755
정답 확인 · 해설
정답 ①
파일 생성 권한 666에서 644를 빼면 022 umask는 UNIX에서 파일이나 디렉터리의 초기 권한을 설정할 때 사용하는 값으로 파일의 경우 666에서 umask를 뺀 값을, 디 렉터리일 경우 777에서 umask를 뺀 값을 초기 접근 권한으로 갖습니다
97번
다음 내용이 설명하는 로그 파일은?
① tapping
② xtslog
③ linuxer
④ wtmp
정답 확인 · 해설
정답 ④
wtmp - 성공한 로그인/로그아웃 정보를 담고 있는 로그파일 - var/log/wtmp에 위치 - last 명령어 사용 1,2,3 전부 없는 명령어이다.. 이밖에 참고로 utmp - 현재 로그인 사용자 상태 정보를 담고 있는 로그파일 btmp - 실패한 로그인 정보를 담고 있는 로그파일 last log - 마지막으로 성공한 로그인 정보를 담고있는 로그파일
98번
상향식 비용 산정 기법 중 LOC(원시 코드 라인 수) 기법에 서 예측치를 구하기 위해 사용하는 항목이 아닌 것은?
① 낙관치
② 기대치
③ 비관치
④ 모형치
정답 확인 · 해설
정답 ④
LOC 예측치를 구하기 위해서는 낙관치, 비관치, 기대치가 필요 하다. 예측치 = (낙관치+비관치+기대치*4)/6
99번
OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하 기 위한 패킷 분석 기술은?
① PLCP(Packet Level Control Processor)
② Traffic Distributor
③ Packet Tree
④ DPI(Deep Packet Inspection)
정답 확인 · 해설
정답 ④
- PLCP(Physical Layer Convergence Procedure : 물리계층 수 렴 처리) - 논리적인 802.11 MAC 부계층과 물리적인 특성을 연 결하는 역할 - 802.11 MAC 부계층이 물리적 특성에 관계없이 동작 하도록 함 - Traffic Distributor - 네트워크 통신 간에 트래픽을 분배해주는 솔루션 - DPI - 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보를 분석하는 컨텐츠 내용 분석 기술 - 네트워크 보안, 관리, 컨텐츠 관리 등이 목적 *단어의 정의를 몰라도 하나씩 뜯어보면 Deep(내부) Packet Inspection(분석)으로 유추 가능
100번
소프트웨어 개발 방법론의 테일러링(Tailoring)과 관련한 설명으로 틀린 것은?
① 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진 행하여야 한다.
② 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절 차, 산출물 등을 적절히 변경하는 활동이다.
③ 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.
④ 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기 법과 도구를 사용하는 것이다. 종이 문제집이 아닌 인터넷으로 문제를 풀고 자동으로 채점하며 모의고사, 오답 노트, 해설까지 제공하는 무료 기출문제 학습 프 로그램으로 실제 시험에서 사용하는 OMR 형식의 CBT를 제공합 니다. PC 버전 및 모바일 버전 완벽 연동 교사용/학생용 관리기능도 제공합니다. 에서 확인하세요.
정답 확인 · 해설
정답 ①
테일러링 (Tailoring) : 프로젝트 상황 특성에 맞게 정의된 소프 트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작 업 카페, 블로그 등의 업로드 및 개인적 활용 이외에 문서의 수정 및 DB 저장, 기타 금전적 이익을 취하는 일체의 행위를 금지 합니다. 인터넷으로 종이 없이 문제를 풀고 자동채점하는 프로그램으로 워드, 컴활, 기능사 등의 상설검정에서 사용하는 실제 프로그램 방식입니다. 해설을 제공하며 PC 버전 및 모바일 버전 완벽 연동 교사용/학생용 관리기능도 제공합니다. 에서 확인하세요.