자격증 필기 기출문제




위 이미지를 클릭하시면 인터넷으로 바로 문제를 풀어 보실수 있습니다.

(해설, 모의고사, 오답노트, 워드, 컴활, 정보처리 상설검정 프로그램 기능 포함)


전자문제집 CBT란?
종이 문제집이 아닌 인터넷으로 문제를 풀고 자동으로 채점하며 모의고사, 오답 노트, 해설까지 제공하는
무료 기출문제 학습 프로그램으로 실제 상설검정에서 사용하는 OMR 형식의 CBT를 제공합니다.


최신 정보처리기사 필기 기출문제(해설) : [다운로드]


정보처리기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일


1과목 : 소프트웨어 설계


1. User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?
     1. 메시지는 이해하기 쉬워야 한다.
     2. 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
     3. 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.
     4. 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 92%
     <문제 해설>
1) 직관성(Intuitiveness) : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함.
2) 유효성(Effectiveness) : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작해야 함.
3) 학습성(Learnablilty) : 초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작해야 함.
4) 유연성(Flexibility) : 사용자의 인터랙션을 최대한 포용하고, 실수를 방지할 수 있도록 제작해야 함.
[해설작성자 : 기묘]

특정 위험 또는 오류를 연상시키는 색깔의 사용은 상식적으로 직관성을 높이는 수단이 될 것이다.
[해설작성자 : 내일 시험]

UI 설계 시 오류 메시지나 경고에 관한 3가지 지침
1. 메시지는 이해하기 쉬워야 한다.
2. 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
3. 오류로 인해 발생될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다. (이걸로 인해서 너의 시스템이 뽀샤질 수도 있어!)
[해설작성자 : 공부뿌뿌]

2. 다음 중 애자일(Agile) 소프트웨어 개발에 대한 설명으로 틀린 것은?
     1. 공정과 도구보다 개인과의 상호작용을 더 가치 있게 여긴다.
     2. 동작하는 소프트웨어보다는 포괄적인 문서를 가치 있게 여긴다.
     3. 계약 협상보다는 고객과의 협력을 가치 있게 여긴다.
     4. 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 95%
     <문제 해설>
애자일 방법론 특징
1) 프로젝트 요구사항은 '기능' 중심
2) 공정과 도구보다 '개인'과 소통을 중요시
3) '변화'에 유연하고 신속한 대처
4) '고객'과의 피드백을 중요시
[해설작성자 : DaeguYoungsu]

3. 소프트웨어 설계에서 요구사항 분석에 대한 설명으로 틀린 것은?
     1. 소프트웨어가 무엇을 해야하는가를 추적하여 요구사항 명세를 작성하는 작업이다.
     2. 사용자의 요구를 추출하여 목표를 정하고 어떤 방식으로 해결할 것인지 결정하는 단계이다.
     3. 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계이다.
     4. 소프트웨어 개발의 출발점이면서 실질적인 첫 번째 단계이다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 91%
     <문제 해설>
요구 사항 개발 프로세스
도출 - 분석 - 명세 - 확인
[해설작성자 : 골프공]

요구사항 검증 단계이다.
요구 사항 검증 방법중에 '정형 기술 검토 활용'이 있다.
'정형 기술 검토 활용' 3가지 종류가 있다.
동료 검토, 워크 스루, 인스펙션
* 인스펙션 : 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 방법
동료검사 : 2~3명이서 리뷰의 형태
워크스루 : 오류를 조기에 검출하는데 목적
[해설작성자 : 피드백이 사람을 만든다]

소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계는 테스트 단계이다.
[해설작성자 : 좋은데이]

4. 객체지향 기법에서 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것을 의미하는 것은?
     1. Abstraction
     2. Polymorphism
     3. Encapsulation
     4. Inheritance

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 86%
     <문제 해설>
객체지향의 주요 개념(원칙)
캡슐화(Encapsulation)
-데이터와 데이터를 처리하는 함수를 하나로 묶은 것
-캡슐화된 객체의 세부 내용이 은폐되어 변경이 발생해도 오류의 파급효과가 적음
-캡슐화된 객체들은 재사용이 용이함
-인터페이스가 단순해지고 객체간의 결합도가 낮아짐

상속성(Inheritance)
-객체지향 프로그래밍에서 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스가 상속(물려)받는 것
-하위 클래스는 상위 클래스로부터 받은 속성과 연산 외에도 새로운 것을 첨가 가능
-클래스의 재사용, 소프트웨어의 재사용을 높이는 중요한 개념

+ 속성과 연산 등을 물려주는 클래스를 상위 클래스 또는 슈퍼 클래스, 물려받는 클래스를 하위 클래스 또는 서브 클래스라고 한다.

다형성(Polymorphism)
-하나의 메시지에 대해 각 객체가 갖고 있는 고유한 방법대로 응답하는 것을 의미
-하나의 클래스나 메서드가 다양한 방식으로 동작이 가능한 것을 의미
-오버로딩과 오버라이딩이 존재
[해설작성자 : comcbt.com 이용자]

추상화(abstraction)
-데이터들의 공통된 성질을 추출해 슈퍼 클래스 선정
[해설작성자 : 콩이언니]

5. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
     1. 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
     2. 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다.
     3. 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
     4. 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 61%
     <문제 해설>
1. 하향식 통합 테스트 ( Top Down Integration Test )
    a. 깊이 우선 통합법, 넓이 우선 통합법 사용
    b. 테스트 초기 부터 사용자에게 시스템 구조 보여줄 수 있다.
    c. 상위 모듈에서는 tc를 사용하기 어렵다.
    d. 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
    e. 절차
        - 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁 ( stub )로 대체 한다.
        - 깊이우선 or 넓이 우선 등의 통합방식에 따라, 하위 모듈인 스텁들이 한 번에 하나씩 실제모듈로 교체된다.
        - 모듈이 통합될 때마다 테스트 실시
        - 새로운 오류가 발생하지 않음을 보증 하기 위해 회귀 테스트 실시

2. 상향식 통합 테스트 ( Bottom Up Integration Test )
    a. 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트 하는 방법
    b. 가장 하위 단계의 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않다.
    c. 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터( cluster )는 필요하다.
    d. 절차
        - 하위 모듈을 클러스터로 결합
        - 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 드라이버 작성
        - 통합된 클러스터 단위로 테스터
     - 테스트가 완료되면 클러스터는 프로그램 구조의 상위로 이동 하여 결합하고, 드라이버는 실제 모듈로 대체
[해설작성자 : mook]

하향식 설계
-계층 구조상에서 시스템의 주요 컴포넌트들을 찾고 그것을 낮은 수준의 컴포넌트들로 분해하는 것으로 단계적 정제라 하며 메인 모듈의 설계에서 시작하여 단계적으로 구체화시키는 것
-하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
-하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다.
상향식 설계
-가장 기본적인 컴포넌트를 먼저 설계한 다음 이것을 사용하는 상위 수준의 컴포넌트를 설계하는 것
-상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
-기존 컴포넌트들을 조합하여 시스템을 개발하는 경우에는 상향식이 적합
시스템 명세가 명확한 경우와 모든 것을 새로 개발하는 작업에는 하향식이 적합하다.
[해설작성자 : 까르르까르르까르르]

상향식 설계는 최하위 수준에서 각각의 모듈들을 상세하게 설계하고 이러한 모듈이 완성되면 전체적으로 이들을 결합하여 설계하는 방식으로 인터페이스가 이미 성립되어 있어야지 기능 추가가 쉽다.
[해설작성자 : 좋은데이]

6. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
     1. Process : 원
     2. Data Flow : 화살표
     3. Data Store : 삼각형
     4. Terminator : 사각형

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 84%
     <문제 해설>
자료흐름도 4가지 구성요소
- 처리 Process : 원
- 자료흐름 Data Flow : 화살표
- 자료저장소 Data Store : 평행선
- 단말 Terminal : 사각형
[해설작성자 : 양기모띄]

7. 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거리가 먼 것은?
     1. 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
     2. 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
     3. 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
     4. 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 94%
     <문제 해설>
소프트웨어 개발시 모델은 향후 개발될 시스템을 유추하기 위해서 하는 활동이며, 주로 시스템 개발자가 실행합니다.
[해설작성자 : 뫅카몰]

8. 다음의 설명에 해당하는 언어는?

   

     1. JAVA
     2. C
     3. UML
     4. Python

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 84%
     <문제 해설>
Unified Modeling Language
[해설작성자 : comcbt.com 이용자]

9. 다음 내용이 설명하는 UI설계 도구는?

   

     1. 스토리보드(Storyboard)
     2. 목업(Mockup)
     3. 프로토타입(Prototype)
     4. 유스케이스(Usecase)

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 81%
     <문제 해설>
스토리보드 : 디자이너와 개발자가 최종적으로 참고하는 작업지침서
상단이나 우측에 제목,작성자등을 입력하고 좌측에는 UI화면,우측엔 디스크립션을 기입한다.
프로토타입 : 와이어프레임이나 스토리보드등에 인터랙션을 적용함으로써 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
유스케이스 : 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
[해설작성자 : 코라투]

10. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?
     1. 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
     2. 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
     3. 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.
     4. 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 88%
     <문제 해설>
스프린트
- 실제 개발을 2~4주간 진행하는 과정
- 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발 자에게 할당합니다.
- Task는 할 일, 진행 중, 완료의 상태로 구성된다.
[해설작성자 : MSKIM]

11. UML 다이어그램 중 정적 다이어그램이 아닌 것은?
     1. 컴포넌트 다이어그램
     2. 배치 다이어그램
     3. 순차 다이어그램
     4. 패키지 다이어그램

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 77%
     <문제 해설>
정적(구조적)다이어그램 : 클객컴배복패
[해설작성자 : 함초롬다솜]

UML 다이어그램의 분류
정적구조: [ 클래스, 객체, 패키지, 컴포넌트, 복합구조, 배치]
동적구조: [ 유스케이스, 상태, 활동, 시퀀스, 통신, 상호작용, 타이밍]
1) 클래스 다이어그램: 객체를 생성하기 위한 도구
2) 객체 다이어그램: 객체 간의 연결관계를 표현
3) 패키지 다이어그램: 객체들의 그룹화된 표현
4) 컴포넌트 다이어그램: 시스템을 구성하는 컴포넌트 사이에 의존관계를 표현
* 컴포넌트는 1개이상의 클래스로 구현됨.
5) 복합구조 다이어그램: 컴포넌트나 클래스의 내부 구조를 보여주기 위해 사용  내부 연결 형태를 표현
6) 배치 다이어그램: H/W자원에 연결된 S/W컴포넌트 배치를 표현

7) 유스케이스 다이어그램: 사용자의 시각에서 소프트웨어의 범위와 기능을 표현
8) 상태 다이어그램: 시간에 따라 객체가 변하는 상태를 표현
9) 활동 다이어그램: 객체의 동적행위를 활동으로 표현
10) 시퀀스 다이어그램: 객체간 상호작용을 시간 순서에 따른 메시지로 표현
11) 통신 다이어그램: 객체간 상호작용을 관계형태의 메세지로 표현
12) 상호작용 다이어그램: 객체들의 상호작용 관계를 표현
13) 타이밍 다이어그램: 객체간 상태변화를 구체적인 시간으로 표현
[해설작성자 : SD.신동]

오답해설) 순차(sequence,시퀀스) 다이어그램은 동적 다이어그램
[해설작성자 : 코봉이]

12. LOC기법에 의하여 예측된 총 라인수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
     1. 5개월
     2. 10개월
     3. 15개월
     4. 20개월

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 93%
     <문제 해설>
노력(M/M)=원시 코드 라인 수(LOC)/(1인당 월 평균 생산 코드 라인 수)
=36,000라인/300라인=120M/M

개발 기간=(M/M)/참여 인원=120(M/M)/6명=20개월
[해설작성자 : KMJ2022]

개발 소요기간 계산방법
총 라인수 36000라인 / 월간 평균 생산성 300라인 = 120
120 / 참여 프로그래머 6 = 20
20개월
[해설작성자 : 양기모띄]

13. 클래스 설계원칙에 대한 바른 설명은?
     1. 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다.
     2. 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
     3. 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
     4. 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 73%
     <문제 해설>
단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐
개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
리스코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자로 사용할 때, 그 타입의 하위 타입도 문제 없이 작동해야 함
의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있음
[해설작성자 : 양기모띄]

1. 단일 책임원칙(Single Responsibility Principle) : 하나의 클래스는 하나의 목적을 위해서 생서, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는데 집중
2. 개방-폐쇄 원칙(Open Close principle) : 소프트웨어 구성요소(컴포넌트, 클래스, 모듈, 함수)는 확장에 열려 있고, 변경에는 닫혀 있다.
3. 리스코프 치환의 원칙(Liskov Substitution Principle) : 서브타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다
4. 인터페이스 분리의 원칙(Interface Segregation Principle) : 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야한다.
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
5. 의존성 역전의 원칙 (Dependency Inversion Principle) : 실제 사용 관계가 바뀌지 않으면 추상을 매개로 메시지를 주고받음으로써 관게를 최대한 느슨하게 만드는 원칙
[해설작성자 : comcbt.com 이용자]

개방-폐쇄의 원칙(OCP, Open Closed Principle)
- 소프트웨어 구성 요소는 확장에 대해서는 개방되어야 하나 수정에 대해서는 폐쇄적이어야 한다.
를 고쳐주셨으면 좋겠스빈다.
[해설작성자 : 비터]

14. GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) 패턴에 해당하는 것은?
     1. 컴퍼지트(Composite)
     2. 어댑터(Adapter)
     3. 추상 팩토리(Abstract Factory)
     4. 옵서버(Observer)

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 71%
     <문제 해설>
생성 : 3. 추상 팩토리(Abstract Factory)
구조 : 1. 컴퍼지트(Composite), 2. 어댑터(Adapter)
행위 : 4. 옵서버(Observer)

생성패턴
- 추상팩토리(Abstract Factory)
- 빌더(Builder)
- 팩토리메서드(FactoryMethod)
- 프로토타입(Prototype)
- 싱글톤(Singleton)

구조패턴
- 어댑터(Adapter)
- 브리지(Bridge)
- 컴포지트(Composite)
- 데코레이터(Decorator)
- 파사드(Facade)
- 플라이웨이트(Flyweight)
- 프록시(Proxy)

행위패턴
- 책임 연쇄(Chain of Responsibility)
- 커맨드(Command)
- 인터프리터(InterPreter)
- 이터레이터(Iterator)
- 중재자(Mediator)
- 메멘토(Memento)
- 옵서버(Observer)
- 상태(State)
- 전략(Strategy)
- 템플릿메서드(Template Method)
- 방문자(Visitor)
[해설작성자 : 양기모띄]

15. 아키텍처 설계과정이 올바른 순서로 나열된 것은?

    

     1. ㉮ → ㉯ → ㉰ → ㉱ → ㉲
     2. ㉲ → ㉮ → ㉯ → ㉱ → ㉰
     3. ㉮ → ㉲ → ㉯ → ㉱ → ㉰
     4. ㉮ → ㉯ → ㉰ → ㉲ → ㉱

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 73%
     <문제 해설>
소프트웨어 아키텍처의 설계과정
설계목표설정 -시스템 타입 결정 - 아키텍처 패턴 적용 - 서브시스템 구체화 - 검토
[해설작성자 : 꿍디팡팡]

조금더 디테일하게 정리 할 필요가 있겠네요..
1. 설계 목표 설정
2. 시스템 타입 결정
3. 아키텍처 패턴 적용(위 설명에서는 스타일 적용 및 커스터마이즈)
*아키텍처 패턴 : 아키텍처 설계 시 발생하는 문제들을 해결하기 위해 미리 만들어 놓은 해결 방식
4. 서브시스템 구체화(서브시스템의 기능, 인터페이스 동작 작성)
5. 검토(아키텍쳐 설계 검토)

16. 사용자 인터페이스를 설계할 경우 고려해야 할 가이드라인과 가장 거리가 먼 것은?
     1. 심미성을 사용성보다 우선하여 설계해야 한다.
     2. 효율성을 높이게 설계해야 한다.
     3. 발생하는 오류를 쉽게 수정할 수 있어야 한다.
     4. 사용자에게 피드백을 제공해야 한다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 92%
     <문제 해설>
사용자 친화적이게 설계되어야 하기에 사용성이 최우선으로 고려되어야 함
[해설작성자 : 동차합격가즈아]

17. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?
     1. 모듈 분해
     2. 디자인 패턴
     3. 연관 관계
     4. 클래스 도출

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 79%
     <문제 해설>
디자인패턴 : 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.
[해설작성자 : comcbt.com 이용자]

18. 객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은?
     1. Wirfs-Block Method
     2. Rumbaugh Method
     3. Booch Method
     4. Jacobson Method

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 90%
     <문제 해설>
Rumbaugh(럼바우) 방법
모든 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 기법으로, 객체 모델링 기법(Object Modeling Technique) 라고도 한다. 분석활동은 객체모델링 -> 동적 모델링 -> 기능 모델링 순으로 통해 이루어진다

Booch(부치) 방법
미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용하는 분석 방법으로, 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다.

Jacobson 방법
Use Case를 강조하여 사용하는 분석 방법이다.

Coad와 Yourdon 방법
E-R 다이어그램을 사용하여 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의, 연산과 메시지 연결 정의 등의 과정으로 구성하는 기법

Wirfs-Brock 방법
분석과 설계 간의 구분이 없고, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 기법
[해설작성자 : ham]

19. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
     1. EAI
     2. FEP
     3. GPL
     4. Duplexing

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 56%
     <문제 해설>
EAI(Enterprise Application Integration): 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
FEP(Front-End Processor): 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
GPL(General Public License): 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스
Duplexing: 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)
[해설작성자 : 빡대가리]

이중통신(duplex) 또는 쌍방향 통신은 두 지점 사이에서 정보를 주고 받는 전자 통신 시스템을 말한다. 이중 통신을 할 때 전송 방향마다 두 개의 통신 선호를 사용하면 단순하지만 전송로를 아끼기 위해 여러 종류의 전송 방식이 쓰인다.
[해설작성자 : 짱돌]

20. 객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?
     1. Method
     2. Class
     3. Field
     4. Message

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 91%
     <문제 해설>
Method(메서드) : 클래스로부터 생성된 객체를 사용하는 방법, 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산
Message(메시지) : 객체 간 상호 작용을 하기 위한 수단, 객체에게 어떤 행위를 하도록 지시하는 방법
Class(클래스) : 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀, 객체 지향 프로그래밍에서 데이터를 추상화하는 단위
Field(필드) : SQL에서 열 또는 속성이라고 불리는 것
[해설작성자 : 기묘]

2과목 : 소프트웨어 개발


21. 클린 코드(Clean Code)를 작성하기 위한 원칙으로 틀린 것은?
     1. 추상화 : 하위 클래스/메소드/함수를 통해 애플리케이션의 특성을 간략하게 나타내고, 상세 내용은 상위 클래스/메소드/함수에서 구현한다.
     2. 의존성 : 다른 모듈에 미치는 영향을 최소화하도록 작성한다.
     3. 가독성 : 누구든지 읽기 쉽게 코드를 작성한다.
     4. 중복성 : 중복을 최소화 할 수 있는 코드를 작성한다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 81%
     <문제 해설>
추상화 : 상위 클래스; 프로그램 특성만 간략하게, 하위 클래스; 세부적 내용 구현
의존성(배제) : 다른 모듈에 미치는 영향을 최소화하여 코드 변경시 영향이 가지 않도록
중복성(최소화) : 코드의 중복을 최소화
가독성 : 누구든지 읽기 쉽게 작성
단순성 : 코드를 단순하게 작성(프로그램을 최소단위로 분리해 작업을 한번에 하나씩 처리하도록)
[해설작성자 : 센딘]

추상화 : 상위 클래스, 메소드, 함수에서는 간략하게 애플리케이션의 특성을 나타냄, 상세 내용은 하위 클래스,메소드, 함수에서 구현
[해설작성자 : 붙어보자]

22. 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은?
     1. 테스트 스텁(Test Stub)
     2. 테스트 드라이버(Test Driver)
     3. 테스트 슈트(Test Suites)
     4. 테스트 케이스(Test Case)

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 75%
     <문제 해설>
테스트 스텁 - 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로, 일시적으로 필요한 조건만을 가지고 있는 테스트용 모듈
테스트 슈트 - 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
테스트 케이스 - 사용자의 요구사항을 정확히 준수했는지 확인하기 위한 입력 값, 실행조건, 기대결과 등으로 만들어진 테스트 항목의 명세서
[해설작성자 : 김라마]

스텁(stub)은 하향식
드라이버(driver)는 상향식
[해설작성자 : 사는게힘들다]

23. 스택(Stack)에 대한 옳은 내용으로만 나열된 것은?

    

     1. ㉠, ㉡
     2. ㉡, ㉢
     3.
     4. ㉠, ㉡, ㉢, ㉣

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 80%
     <문제 해설>
FIFO-큐 방식
한쪽에서 삽입과 삭제가 모두 이루어 짐
[해설작성자 : 꾸꾸까까]

㉡ 큐 방식
㉢ 데크(Deque)설명
[해설작성자 : ITK]

스택은 LIFO방식으로 처리된다.
[해설작성자 : 코봉이]

24. 소프트웨어 모듈화의 장점이 아닌 것은?
     1. 오류의 파급 효과를 최소화한다.
     2. 기능의 분리가 가능하여 인터페이스가 복잡하다.
     3. 모듈의 재사용 가능으로 개발과 유지보수가 용이하다.
     4. 프로그램의 효율적인 관리가 가능하다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 94%
     <문제 해설>
모듈화의 장점
- 프로그램의 효율적인 관리
- 이해하기 쉬운 소프트웨어
- 소프트웨어 시험, 통합, 수정 시 용이
- 모듈 재사용 가능
- 오류의 파급력 최소화
[해설작성자 : 이케이]

25. 소프트웨어 프로젝트 관리에 대한 설명으로 가장 옳은 것은?
     1. 개발에 따른 산출물 관리
     2. 소요인력은 최대화하되 정책 결정은 신속하게 처리
     3. 주어진 기간은 연장하되 최소의 비용으로 시스템을 개발
     4. 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 81%
     <문제 해설>
· 프로젝트 관리는 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동
· 프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기의 전 과정에 걸쳐 진행됨
· 소프트웨어 프로젝트를 성공적으로 수행하기 위해서는 수행할 작업의 범위, 필요한 자원, 수행 업무, 이정표, 비용 추진 일정들을 알아야 함
- 소요인력은 최소화 하는 것이 좋음
※ 프로젝트 관리는 제한된 시간과 비용으로 좋은 품질의 시스템을 개발하여 고객에게 제공함
[해설작성자 : 강썬]

26. 정형 기술 검토(FTR)의 지침으로 틀린 것은?
     1. 의제를 제한한다.
     2. 논쟁과 반박을 제한한다.
     3. 문제 영역을 명확히 표현한다.
     4. 참가자의 수를 제한하지 않는다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 77%
     <문제 해설>
### 정형기술검토(FTR)의 지침
- 오류 검출에 초점을 두고 해결책을 나중으로 미룸(제품 검토의 집중성)
- 검토를 위한 자료를 사전에 배포하여 검토하도록 한다(사전 준비성)
- 의견을 제한하되 충분히 받아들인다(의제의 제한성)
- 안건을 세우면 고수한다(안건 고수성)
- 논쟁과 반박을 제한한다(논쟁 반박의 제한성)
- 문제 영역을 공개한다(문제 공개성)
- 참가자의 수를 제한한다(참가 인원의 제한성)
- 발견된 오류는 문서화한다(문서성)
[해설작성자 : 강썬]

FTR 지침 사항 : 한번 더 리뷰하세요~~
제품 검토에만 집중하라
의제를 제한하여 진행하라
논쟁과 반박을 제한하라
문제영역을 정확히 표현하라
해결책이나 개선책에 대해서는 논하지 말라
참가자수를 제한하고 사전준비를 강요하라
자원과 시간 일정을 할당하라    
모든 검토자들을 위해 의미있는 훈련을 시행하라
검토자들은 사전에 작성한 메모들을 공유하라
검토의 과정과 결과를 재검토하라
[해설작성자 : -학습자-]

27. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하는 것은?
     1. Analysis
     2. Migration
     3. Restructuring
     4. Reverse Engineering

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 62%
     <문제 해설>
Analysis: 기존 소프트웨어를 분석하여 재공학 대상을 선정하는 것
Migration: 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 작업
Restructuring: 기존 소프트웨어를 향상시키기 위하여 코드를 재구성하는 작업(기능과 외적 동작은 변하지 않음)
Reverse Engineering: 기존 소프트웨어를 분석하여 소스코드를 얻어내는 작업(소스코드로 소프트웨어를 만드는 작업의 역작업)
[해설작성자 : KNAPA]

28. 정보시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항으로 가장 거리가 먼 것은?
     1. 개발 정보시스템의 특성
     2. 사용자의 요구사항
     3. 컴파일러의 가용성
     4. 컴파일러의 독창성

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 86%
     <문제 해설>
프로그래밍 언어의 선정 기준
- 친밀감
- 언어의 능력
- 처리의 효율성
- 프로그램 구조
- 프로그램의 길이
[해설작성자 : 지나가던 이용자]

프로그래밍 언어의 선정 기준 :
친밀감, 언어의 능력, 처리의 효율성, 프로그램 구조, 프로그램의 길이, 이식성, 과거의 개발 실적, 알고리즘과 계산상의 난이도, 자료 구조의 난이도, 성능 고려 사항들, 대상 업무의 성격, 소프트웨어의 수행 환경, 개발 담당자의 경험과 지식, 사용자의 요구사항, 컴파일러의 이용 가능성
[해설작성자 : 지나가던 이용자]

29. 소프트웨어 패키징에 대한 설명으로 틀린 것은?
     1. 패키징은 개발자 중심으로 진행한다.
     2. 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징한다.
     3. 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
     4. 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 90%
     <문제 해설>
소프트웨어 패키징은 소비자 중심으로 진행한다.
[해설작성자 : 주주]

- 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것.
- 개발자가 아니라 사용자 중심으로 진행함.
- 소스 코드는 향후 관리를 고려하여 모듈화하여 패키징함.
- 사용자가 소프트웨어를 사용하게 될 환경을 이해하여, 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징함.
- 사용자를 중심으로 진행되는 작업이므로 사용자의 편의성 및 실행 환경을 우선적으로 고려해야 함.
[해설작성자 : 해시]

30. 자료 구조의 분류 중 선형 구조가 아닌 것은?
     1. 트리
     2. 리스트
     3. 스택
     4. 데크

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 82%
     <문제 해설>
-비선형 구조 : 트리, 그래프
-선형 구조 : 스택, 큐, 데크, 리스트
-파일 구조 : 순차파일, 색인파일, 직접파일
[해설작성자 : 정처기만 보면 ]

31. 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 아주 어려운 프로그램을 의미하는 것은?
     1. Title Code
     2. Source Code
     3. Object Code
     4. Alien Code

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 93%
     <문제 해설>
Alien code : 개발자가 퇴사를 했거나 현재 사용하지 않는 환경 및 언어로 작성되었거나 프로그램의 관련 문서나 주석이 없는 상태에서 시간이 흐른 뒤 유지보수가 불가능하거나 힘든 프로그램 소스 코드
[해설작성자 : 이케이]

32. 소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?
     1. 생산성 증가
     2. 프로젝트 문서 공유
     3. 소프트웨어 품질 향상
     4. 새로운 개발 방법론 도입 용이

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 80%
     <문제 해설>
**소프트웨어 재사용함으로써 얻을 수 있는 이점들**
1. 개발 시간과 비용 단축
2. 소프트웨어 품질 및 생산성 향상
3. 프로젝트 실패 위험 감소
4. 시스템 구축 방법에 대한 지식 공유
**소프트웨어 재사용함으로써 얻을 수 있는 문제점들**
1. 재사용할 소프트 웨어 선정 필요
2. 시스템에 공통적으로 사용되는 요소 발견 필요
3. 프로그램의 표준화 부족
4. 새로운 개발 방법론 도입이 어려움
5. 재사용을 위한 관리 및 지원 부족
6. 기존 소프트웨어에 재사용 소프트웨어를 추가하기 어려움
[해설작성자 : 강썬]

33. 인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은?
     1. AJTML
     2. JSON
     3. XML
     4. YAML

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 59%
     <문제 해설>
▶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에서도 주석을 사용 가능하며 개행, 공백으로 블록을 인식.
- 태그를 사용하지 않고 공백 위주로 데이터를 구분하므로 한 줄로 작성할 수 없다는 특징.
[해설작성자 : comcbt.com 이용자]

34. 프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?
     1. 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
     2. 이해하기 쉽고 코드 변환이 용이하다.
     3. 화살표나 GOTO를 사용하여 이해하기 쉽다.
     4. 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 65%
     <문제 해설>
NS-Chart(Nassi-Schneiderman Chart)
- 3가지 기본구조만으로 논리를 표현(표준화 가능)
- Flow Chart의 최대 단점인 화살표가 표시되지 않음
- 기본구조의 입구와 출구는 각 하나씩
- 전체적인 알고리즘을 일목요연하게 볼 수 있음
[해설작성자 : polo9332]

N-S 차트는 논리 기술에 중점을 둔 도형을 이용한 표현 방법으로 박스 다이어그램, Chapin Chart 라고도 한다.
- GOTO나 화살표를 사용하지 않는다.
[해설작성자 : jun]

35. 순서가 A, B, C, D로 정해진 입력자료를 push, push, pop, push, push, pop, pop, pop 순서로 스택연산을 수행하는 경우 출력 결과는?
     1. B D C A
     2. A B C D
     3. B A C D
     4. A B D C

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 79%
     <문제 해설>
스택연산 : 입구 및 출구가 하나 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)은?
     1. Selection Sort
     2. Bubble Sort
     3. Insert Sort
     4. Quick Sort

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 64%
     <문제 해설>
- 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)
[해설작성자 : SD.신동]

퀵 정렬: 분할 정복 알고리즘의 하나로, 평균적으로 매우 빠른 수행 속도를 자랑하는 정렬 방법
- 하나의 리스트를 피벗(pivot)을 기준으로 두 개의 비균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법
[해설작성자 : comcbt.com 이용자]

37. 화이트 박스 검사 기법에 해당하는 것으로만 짝지어진 것은?

    

     1. ㉠, ㉡
     2. ㉠, ㉣
     3. ㉡, ㉤
     4. ㉢, ㉥

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 76%
     <문제 해설>
화이트박스 테스트의 종류
1. 기초경로 검사
2. 제어구조 검사

화이트박스 테스트 검증 기준
1. 문장 검증 기준
2. 분기 검증 기준
3. 조건 검증기준
4. 분기/조건 기준

블랙박스 테스트의 종류
1. 동치(동등)분할 검사
2. 경계값 분석
3. 원인-효과 검사
4. 오류 예측 검사
5. 비교검사
[해설작성자 : JYH]

화이트박스 테스트 종류
기초 경로 검사(Basic Path Testing)
조건 검사(Condition Testing)
루프 검사(Loop Testing)
데이터 흐름 검사(Data Flow Testing)
[해설작성자 : User]

38. 소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명으로 옳지 않은 것은?
     1. 소프트웨어 품질 평가를 위한 소프트웨어 품질평가 통합모델 표준이다.
     2. System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 한다.
     3. ISO/IEC 2501n에서는 소프트웨어의 내부 측정, 외부측정, 사용품질 측정, 품질 측정 요소 등을 다룬다.
     4. 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절차 모델인 ISO/IEC 9126과 ISO/IEC 14598을 통합하였다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 62%
     <문제 해설>
ISO/IEC 25000
- SW 품질 평가 통합 모델
- SQuaRE로도 불림
- ISO/IEC 9126, ISO/IEC 12119, ISO/IEC 14598의 3개 표준을 통합한 모델

- 2500n : 개요 및 품질관리
- 2501n : 품질모델
- 2502n : 품질측정
- 2503n : 품질요구
- 2504n : 품질평가
- 2505n : 확장분야
[해설작성자 : 내일부터갓생산다]

39. 코드 인스펙션과 관련한 설명으로 틀린 것은?
     1. 프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확인하는 방법으로 볼 수 있다.
     2. 코드 품질 향상 기법 중 하나이다.
     3. 동적 테스트 시에만 활용하는 기법이다.
     4. 결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈를 검사하기도 한다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 79%
     <문제 해설>
코드 인스펙션
- 결함 뿐만 아니라 모든 것이 표준대로 되어 있는 지 확인하기 위한 검토
- 표준이나 명세서에 서술한 내용과 비교하여 편차와 에러를 식별하기 위해 산출물을 근거로 수행하는 검사
- 정적 테스트에 가까움
[해설작성자 : 강썬]

40. 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?
     1. Critical Path Method
     2. Risk Analysis
     3. Work Breakdown Structure
     4. Waterfall Model

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 86%
     <문제 해설>
1. Critical Path Method(CPM, 임계 경로법) :
네트워크를 중심의 논리적 구성. 시간과 비용 문제를 취급.
프로젝트를 일정 기일 내에 완성시키고 해당 계획이 원가의 최소값에 의해 보증되는 등의 최적 스케줄을 구하는 관리 방법.
(주로 건설과 설계를 포함하는 복잡한 일에 이용되어 효과를 발휘 함.
3. Work Breakdown Structure(업무 분업 구조) :
성과 목표 완전 달성을 위한 프로그램.
산업 관리 간접 부문의 기술 혁신형 업무-목표를 설정하여 소정 기간, 자원 내에서 달성하는 형태의 업무-를 효과적으로 수행하기 위한 수법.
4. Waterfall Model(폭포수 모델) :
S/W 개발 생명주기에 기반하고 있는 소프트웨어 개발 기법 중 하나.
한 번 떨어지면 다시 거슬러 올라갈 수 없는    폭포수처럼, 각 개발 단계를 확실히 매듭 짓고 다음 단계로 넘어간다는 의미.
[해설작성자 : 센딘]

3과목 : 데이터베이스 구축


41. 데이터베이스 설계 단계 중 물리적 설계 시 고려 사항으로 적절하지 않은 것은?
     1. 스키마의 평가 및 정제
     2. 응답 시간
     3. 저장 공간의 효율화
     4. 트랜잭션 처리량

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 70%
     <문제 해설>
o 어떤 인덱스를 만들 것인지에 대한 고려
o 성능 향상을 위한 개념 스키마의 변경 여부 검토
o 레코드의 크기
o 파일과 구조 저장을 위한 최소한의 공간
o 빈번한 질의와 트랜잭션들의 수행 속도를 높이기 위한 고려사항
- 응답 시간
- 저장 공간의 효율화
- 트랜잭션 처리량
[해설작성자 : 용소용소]

스키마의 평가 및 정제는 논리적 설계에서 실행된다.
[해설작성자 : 망굴]

42. DELETE 명령에 대한 설명으로 틀린 것은?
     1. 테이블의 행을 삭제할 때 사용한다.
     2. WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있다.
     3. SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
     4. 기본 사용 형식은 “DELETE FROM 테이블 [WHERE 조건];” 이다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 79%
     <문제 해설>
DELETE문은 테이블내의 튜플들만 삭제, DROP문은 테이블 자체를 삭제
[해설작성자 : ITK]

43. 어떤 릴레이션 R의 모든 조인 종속성의 만족이 R의 후보 키를 통해서만 만족될 때, 이 릴레이션 R이 해당하는 정규형은?
     1. 제5정규형
     2. 제4정규형
     3. 제3정규형
     4. 제1정규형

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 68%
     <문제 해설>
- 제1정규형 : 릴레이션에 속한 모든 속성의 도메인이 원자값으로만 구성되어 있으면 제 1 정규형에 속한다.
- 제2정규형 : 제1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되면 제2 정규형에 속한다.(부분 함수 종속 제거)
- 제3정규형 : 제2 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제3 정규형에 속한다.
- BCNF(보이스/코드) 정규형 : 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 보이스/코드 정규형에 속한다.
- 제4정규형 : BCNF 정규형을 만족하면서 함수 종속이 아닌 다치 종속을 제거해야 만족할 수 있다.
- 제5정규형 : 제4 정규형을 만족하면서 후보키를 통하지 않는 조인 종속을 제거해야 만족할 수 있다.
[해설작성자 : 강썬]

정규화 단계 - 원부이 결다조
1. 원자화
2. 부분 함수 종속 제거
3. 이행 함수 종속 제거
BCNF. 결정자 함수 종속
4. 다치 종속성 제거
5NF 조인 종속성 제거
[해설작성자 : 수스토리]

44. E-R 모델에서 다중값 속성의 표기법은?
     1.
     2.
     3.
     4.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 87%
     <문제 해설>
마름모 : 관계
사각형 : 개체
선 : 관계-속성 연결
[해설작성자 : comcbt.com 이용자]

45. 다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은?
     1. 필드키
     2. 슈퍼키
     3. 외래키
     4. 후보키

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 83%
     <문제 해설>
* 키 : 레코드 또는 튜플을 확인하기 위해 이용되는 속성값

1. 기본키
*유일성과 최소성을 만족하는 속성을 가지는 후보키 중에 지정된 하나의 키
*중복되는 값, Null 값을 가질 수 없음.
* 값의 변화가 거의 없고 단순한 후보키가 기본키로 적합.

2. 슈퍼키
*데이터베이스에서 테이블의 행을 고유하게 식별할 수 있는 속성 or 속성의 집합

3. 외래키
* 관계형 데이터베이스에서 한 테이블 속성 집합이 다른 테이블의 기본키가 됨.
* 데이터베이스 내에 존재하는 테이블들의 관계에서 참조의 무결성을 보장하기 위함임
* 중복되는 값, 비어있는 값(Null) 가질 수 있음(<->기본키)

4. 후보키
* 유일성과 최소성을 만족하는 속성 or 속성들의 집합
* 슈퍼키 중 최소성을 만족하는 것이 후보키가 됨.
* 후보키(candidate key)는 기본키(primary key)로 사용 할 수 있으며, 후보키가 여러개일 경우에는 하나를 지정해 사용.
(지정되지 않은 나머지 후보키 = 대체 키(alternate key))
[해설작성자 : 센딘]

46. 관계해석에서 '모든 것에 대하여'의 의미를 나타내는 논리 기호는?
     1.
     2.
     3.
     4. ⊂    

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 81%
     <문제 해설>
All의 'A'를 뒤집어놓은 상태
[해설작성자 : 몽실몽실]

* ∃: 존재한다(There exist)
* ∈: t가 r에 속함( t ∈ r )
* ∀: 모든 것에 대하여(for all)
* ∪: 합집합
[해설작성자 : 센딘]

47. 다음 릴레이션의 Degree와 Cardinality는?

    

     1. Degree : 4, Cardinality : 3
     2. Degree : 3, Cardinality : 4
     3. Degree : 3, Cardinality : 12
     4. Degree : 12, Cardinality : 3

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 75%
     <문제 해설>
카디널리티=행
디그리(차수)=열
'카행', '디열(차열)'로 암기
[해설작성자 : 마산 양덕동 내년 사십]

*열차 = 열+차수(degree)
*비행기 = (비)+행+기수(cardinality)
[해설작성자 : 센딘]

48. 뷰(View)에 대한 설명으로 틀린 것은?
     1. 뷰 위에 또 다른 뷰를 정의할 수 있다.
     2. DBA는 보안성 측면에서 뷰를 활용할 수 있다.
     3. 사용자가 필요한 정보를 요구에 맞게 가공하여 뷰로 만들 수 있다.
     4. SQL을 사용하면 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약 사항이 없다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 86%
     <문제 해설>
뷰는 삽입, 갱신, 삭제 연산 시 제약 사항이 있음
[해설작성자 : 1]

49. 관계 대수식을 SQL 질의로 옳게 표현한 것은?

    

     1. SELECT 학생 FROM 이름 WHERE 학과='교육';
     2. SELECT 이름 FROM 학생 WHERE 학과='교육';
     3. SELECT 교육 FROM 학과 WHERE 이름='학생';
     4. SELECT 학과 FROM 학생 WHERE 이름='교육';

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 80%
     <문제 해설>
거꾸로 풀면됨 문제에서 학생이 가장 뒤에 있음 - 맨 앞에 생각하는 from문에 삽입 from 학생 그럼 2 or 4 문제에서 학과 = 교육 이니까 2번 답
[해설작성자 : 쉽게생각해]

Select 연산의 표기형식: σ조건(릴레이션)
σ학과='교육'(학생)
의미 -> <학생> 릴레이션에서 '학과'가 '교육'인 튜플들을 추출해줘.

Project 연산의 표기형식: π속성리스트(릴레이션)
π이름
의미 -> '이름' 속성을 추출해줘.

SELECCT (속성명) FROM (테이블) WHERE (조건)
이 SQL 질의에 맞춰 표현하면
SELECT 이름 FROM 학생 WHERE 학과 = '교육';
[해설작성자 : 돌밍이]

50. 정규화 과정에서 함수 종속이 A→B 이고 B→C 일 때 A→C인 관계를 제거하는 단계는?
     1. 1NF → 2NF
     2. 2NF → 3NF
     3. 3NF → BCNF
     4. BCNF → 4NF

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 66%
     <문제 해설>
A→B 이고 B→C 일 때 A→C를 만족하는 관계를 다른 말로 말하면, 이행적 종속(Transive Dependency) 관계입니다.
이행적 함수 종속을 제거한다는 뜻은, 2NF(2정규형)에서 3NF(3정규형)가 되는 과정이라고도 볼 수 있겠죠.
[해설작성자 : 한달남음]

51. CREATE TABLE문에 포함되지 않는 기능은?
     1. 속성 타입 변경
     2. 속성의 NOT NULL 여부 지정
     3. 기본키를 구성하는 속성 지정
     4. CHECK 제약조건의 정의

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 67%
     <문제 해설>
PRIMARY KEY : 테이블의 기본 키를 정의 / 유일하게 테이블의 각 행을 식별
FOREIGN KEY : 참조 대상을 테이블로 명시 / 외래 키를 정의 / 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정
UNIQUE    : 테이블 내에서 얻은 유일한 값을 갖도록 하는 속성
NOT NULL    : 해당 컬럼은 NULL값을 포함하지 않도록 하는 속성
CHECK    : 개발자가 정의하는 제약조건 / 참(TRUE)이어야 하는 조건을 지정
DEFAULT : 해당 필드의 기본값을 설정

2~4번은 해당이 된다. 1번은 속성타입 변경이라는 것은 CREATE TABLE에서 사용하는 것중에는 없다
[해설작성자 : JSL연수 53기]

속성타입 변경은 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과 관련한 설명으로 틀린 것은?
     1. REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
     2. 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.
     3. DISTINCT를 활용하여 중복 값을 제거할 수 있다.
     4. JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 76%
     <문제 해설>
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: 데이터베이스 사용자의 권한을 취소한다.
[해설작성자 : bboygg]

53. 다음 SQL문의 실행결과로 생성되는 튜플 수는?

    

     1. 1
     2. 3
     3. 4
     4. 5    

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 83%
     <문제 해설>
SQL문은 : SELECT(컬럼 명) FROM (테이블 명)
SQL의 조건이 없으므로 모든 급여가 생성된다. 따라서 5개의 튜플이 생성됨.
[해설작성자 : 독학하는자]

54. 다음 SQL문에서 사용된 BETWEEN 연산의 의미와 동일한 것은?

    

     1. 점수 >= 90 AND 점수 <= 95
     2. 점수 > 90 AND 점수 < 95
     3. 점수 > 90 AND 점수 <= 95
     4. 점수 >= 90 AND 점수 < 95

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
SQL문의 조건은 성적 테이블에 성적(점수)가 90이상 95이하인 학과를 찾아라 이다.
[해설작성자 : 독학하는자]

55. 트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?
     1. 철회(Aborted)
     2. 부분 완료(Partially Committed)
     3. 완료(Commit)
     4. 실패(Fail)

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 80%
     <문제 해설>
ROLLBACK = 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구 = 철회
[해설작성자 : comcbt.com 이용자]

56. 데이터 제어어(DCL)에 대한 설명으로 옳은 것은?
     1. ROLLBACK : 데이터의 보안과 무결성을 정의한다.
     2. COMMIT : 데이터베이스 사용자의 사용 권한을 취소한다.
     3. GRANT : 데이터베이스 사용자의 사용 권한을 부여한다.
     4. REVOKE : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
1. ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.
2. COMMIT : 데이터의 보안과 무결성을 정의한다.
3. GRANT : 데이터베이스 사용자의 사용 권한을 부여한다.
4. REVOKE : 데이터베이스 사용자의 사용 권한을 취소한다.
[해설작성자 : 독학하는자]

57. 테이블 R과 S에 대한 SQL에 대한 SQL문이 실행되었을 때, 실행결과로 옳은 것은?

    

     1.
     2.
     3.
     4.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
SQL문의 : SELECT A FROM R 은 R테이블의 A컬럼의 값을 가져오라 라는 뜻
UNION ALL : 각 쿼리의 모든 결과를 포함한 합집합 (중복제거 안함)
[해설작성자 : 독학하는자]

UNION : 각 쿼리의 결과 합을 반환하는 합집합 (중복제거)
[해설작성자 : 대가대훈남2]

58. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?
     1. 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
     2. 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
     3. 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
     4. 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 57%
     <문제 해설>
분산 데이터베이스 주요 구성 요소는
전역, 분할, 할당, 지역 스키마가 있다.
[해설작성자 : 합격기원]

구성요소는 분산처리기, 분산 데이터베이스, 통신 네트워크
[해설작성자 : ssub]

분산 데이터베이스의 구성 요소 - '분산'
1) 분산 처리기
2) 분산 데이터베이스
3) 통신 네트워크
4) 분산 트랜잭션
분산 데이터베이스의 구조 - 전역, 분할(단편화), 할당, 지역 스키마
[해설작성자 : 한번에 붙고싶어]

59. 테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은?

    

     1. V_1만 삭제된다.
     2. V_2만 삭제된다.
     3. V_1과 V_2 모두 삭제된다.
     4. V_1과 V_2 모두 삭제되지 않는다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
CASCADE
- 데이터베이스 내의 임의의 다른 테이블과 PRIMARY KEY 또는 FOREIGN KEY로서의 관계가 여전히 존재하는 경우 PRIMARY KEY가 존재하는 테이블을 마음대로 제거 및 비활성화 할 수 없다.
- 즉, 부모 테이블과 자식테이블 간에 참조 설정이 되어 있을때 부모 테이블의 제약 조건을 비활성화 시키면서 이를 참조하고 있는 자식 테이블의 제약 조건까지 함께 비활성화시키기 위해 사용한다.
- 또한 부모 테이블만 삭제하고 싶을 경우, 원래는 자식테이블을 먼저 삭제하고 부모를 삭제 한 뒤 자식테이블을 다시 만들어야하는 번거로움이 따른다.
- 하지만 CASCADE를 쓰면 일시적으로 참조관계를 끊을수 있다.
[해설작성자 : 강썬]

CASCADE : 연쇄적으로 삭제하라는 뜻. 참조하는(자식) 개체까지 모두 삭제된다.
RESTRICTED : 참조 중일 때는 에러를 띄우고 삭제 작업 중지.
[해설작성자 : 정처기주주]

60. 데이터베이스에서 병행제어의 목적으로 틀린 것은?
     1. 시스템 활용도 최대화
     2. 사용자에 대한 응답시간 최소화
     3. 데이터베이스 공유 최소화
     4. 데이터베이스 일관성 유지

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 78%
     <문제 해설>
병행제어의 목적
- 여러 사용자들의 데이터베이스 공동 사용을 최대화
- 사용자의 응답 시간 최소화
- 데이터베이스 시스템의 활용도 최대화
- 데이터베이스의 일관성 유지
[해설작성자 : 강썬]

4과목 : 프로그래밍 언어 활용


61. IP 주소체계와 관련한 설명으로 틀린 것은?
     1. IPv6의 패킷 헤더는 32 octet의 고정된 길이를 가진다.
     2. IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
     3. IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
     4. IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 70%
     <문제 해설>
IPv4와 IPv6의 차이는 정보처리기사 뿐만이 아니라 대부분의 IT관련 시험에서 다루고 있음
주로 다루는 차이점과 핵심 단어는 아래와 같음
1) IPv4
ㄱ. 32비트 주소
ㄴ. 유니캐스트/멀티캐스트/브로드캐스트 사용
2) IPv6
ㄱ. 128비트 주소
ㄴ. 기존 IPv4의 주소 부족 문제를 해결하기 개발
ㄷ. 인증성/기밀성/무결성 지원 (=보안성 강화)
ㄹ. 유니캐스트, 애니캐스트, 멀티캐스트 사용
[해설작성자 : 단기합격은 유튜브 윤파고]

IPv6 헤더의 경우는 40 octet의 고정된 길이를 가진다.
[해설작성자 : BJY]

1번 보면 "패킷 헤더"라고 했기 때문에 오답이다.
IPv4는 헤더가 가변적이고, 주소크기는 32bit
IPv6는 헤더가 40byte(320bit)로 고정되어 있고, 주소크기는 128bit
[해설작성자 : 그냥대 융티]

62. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

    

     1. 7, 5
     2. 8, 5
     3. 8, 9
     4. 7, 9

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 52%
     <문제 해설>
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계층 중 데이터링크 계층에 해당되는 프로토콜이 아닌 것은?
     1. HTTP
     2. HDLC
     3. PPP
     4. LLC

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 71%
     <문제 해설>
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
[해설작성자 : khyun99]

64. C언어에서 두 개의 논리 값 중 하나라도 참이면 1을, 모두 거짓이면 0을 반환하는 연산자는?
     1. ||
     2. &&
     3. **
     4. !=

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 87%
     <문제 해설>
1) || : OR 연산 - 둘 중 하나라도 참이면 1
2) && : AND 연산 - 둘 다 참이어야 1
3) ** : 거듭제곱
4) != : 부등(피연산자가 서로 다를 시 true)
[해설작성자 : 단기합격은 유튜브 윤파고]

65. IPv6에 대한 특성으로 틀린 것은?
     1. 표시방법은 8비트씩 4부분의 10진수로 표시한다.
     2. 2128개의 주소를 표현할 수 있다.
     3. 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장이 용이하다.
     4. 확장기능을 통해 보안기능을 제공한다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 74%
     <문제 해설>
IPv6 : 16비트씩 8부분의 16진수로 표시
[해설작성자 : 정처기 공부]

66. JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?
     1. 문법 오류로 인해 발생한 것
     2. 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
     3. 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
     4. 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 66%
     <문제 해설>
문법 오류는 컴파일 시 에러가 발생하기 때문에 프로그램의 정상적인 실행이 불가능하므로 자바에서 정의한 예외 조건에 부합하지 않는다.
[해설작성자 : 김라마]

67. TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?
     1. ECP(Error Checking Protocol)
     2. ARP(Address Resolution Protocol)
     3. ICMP(Internet Control Message Protocol)
     4. PPP(Point-to-Point Protocol)

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 56%
     <문제 해설>
ARP : IP 네트워크 상에서 IP주소를 MAC주소로 변환하는 프로토콜
[해설작성자 : 2트를 노려야하나..]

ICMP : IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 하는 프로토콜
ARP : 호스트의 IP주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소로 바꾸는 역할을 하는 프로트콜
PPP : 점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화시켜 전송하는 프로토콜
[해설작성자 : 주노쿠]

ECP(Error Checking Protocol)는 없음
[해설작성자 : 댕복치 ]

68. 좋은 소프트웨어 설계를 위한 소프트웨어의 모듈간의 결합도(Coupling)와 모듈 내 요소 간 응집도(Cohesion)에 대한 설명으로 옳은 것은?
     1. 응집도는 낮게 결합도는 높게 설계한다.
     2. 응집도는 높게 결합도는 낮게 설계한다.
     3. 양쪽 모두 낮게 설계한다.
     4. 양쪽 모두 높게 설계한다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 84%
     <문제 해설>
좋은 소프트웨어일수록 결합도는 낮고, 응집도는 높다
결합도 : 어떤 모듈이 다른 모듈에 의존하는 정도
응집도 : 한 모듈 내부의 처리 요소들이 서로 관련되어 있는 정도(독립적 기능 수행 정도)
코딩할 때로 예를 들자면 모듈을 만들었는데 이 코드 저 코드 엮어서 거미줄 코딩을 한 경우 서로에 대한 의존도가 높으므로 결합도가 높다고 할 수 있고, 하나의 모듈을 만들었는데 독립적 기능을 수행하며 타 코드와 큰 연관성이 없을 경우 응집도가 높다고 할 수 있다. (한마디로 독립적인 모듈이냐 의존적인 모듈이냐!)
응집도 결합도는 필기/실기 엄청 자주 출제되므로 꼭 잘 모르겠으면, 구글링해서 꼭 제대로 알고 넘어가도록 합시다.
[해설작성자 : 단기합격은 유튜브 윤파고]

69. 다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?

    

     1. Dekker Algorithm
     2. Lamport Algorithm
     3. Peterson Algorithm
     4. Semaphore

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 54%
     <문제 해설>
1. 데커의 알고리즘
- 프로세스가 두개일때 상호 배제를 보장하는 최초의 알고리즘
- flag와 turn 변수를 사용하여 조정
2. 램퍼드 알고리즘
- 프로세스 n개의 상호 배제 문제를 해결한 알고리즘
- 프로세스에게 고유한 번호를 부여하고, 번호를 기준으로 우선순위를 정하여 우선순위가 높은 프로세스가 먼저 임계구역에 진입하도록 구현.
3. 피터슨 알고리즘
- 프로세스가 두개일때 상호 배제를 보장, 데커의 알고리즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이가 있고 보다 더 간단하게 구현됨
4. 세마포어
- 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대상이 하나 이상)
[해설작성자 : 강썬]

70. 소프트웨어 개발에서 모듈(Module)이 되기 위한 주요 특징에 해당하지 않는 것은?
     1. 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위(Unit)이다.
     2. 독립적인 컴파일이 가능하다.
     3. 유일한 이름을 가져야 한다.
     4. 다른 모듈에서의 접근이 불가능해야 한다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
다른 모듈에서의 접근이 불가능한 것은 폐쇄적인 것.
모듈은 폐쇄적이거나 접근이 불가능하게 설계할 필요는 없음.
[해설작성자 : 내일 시험보는 진효식]

71. 빈 기억공간의 크기가 20KB, 16KB, 8KB, 40KB 일 때 기억장치 배치 전략으로 “Best Fit"을 사용하여 17KB의 프로그램을 적재할 경우 내부단편화의 크기는 얼마인가?
     1. 3KB
     2. 23KB
     3. 64KB
     4. 67KB

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 81%
     <문제 해설>
문제에서 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언어프로그램이 실행되었을 때, 실행 결과는?

    

     1. i = 0
     2. i = 1
     3. i = 3
     4. i = 4

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 78%
     <문제 해설>
int I = 0;    정수형 0을 선언한다
while(1) {. 반복문 1번 실행
if(I==4){ 만약 i가 4랑 같다고 하면)
break; 브레이크문 걸어서 나감
}
++I;    그게 아니라면 i를 1씩 증가 시켜라
즉 위에서 반복문 1번 돌리고 조건이 4랑 같을때까지 돌리라고 했으니깐 0 ~4번까지 돌린후 4=4 같으니 탈출 그래서 4
}
printf("I = %d", i);
return 0;
[해설작성자 : 22년1회차 필기 합격생]

while에서 조건식 대신 1을 지정하면 무한히 반복하는 루프가 만들어집니다. i가 4가 되면 break로 while문을 빠져나오게 되면서 i는 4가 됩니다.
[해설작성자 : comcbt.com 이용자]

73. 다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?

    

     1. BCDABCA
     2. BCDABCC
     3. CDDACCC
     4. CDDACCA

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 66%
     <문제 해설>
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번
[해설작성자 : 영남이공대 소프트웨어콘텐츠과]

1. 치환하는 문제임으로 a[i] == 'B' 일때 C로 치환하는 부분이 2번째 C를 확인.    
2. 첫번째 치환값이 얼마인지만 확인하면 금방 풀립니다. else부분에 a[0] = a[1] 값이므로 B
3. 따라서 B로 시작하고 2번째 6번째가 C인걸 찾으면 금방 풀립니다
[해설작성자 : 벼락치기 ㅜㅜ]

74. 개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
     1. Ant
     2. Kerberos
     3. Maven
     4. Gradle

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 76%
     <문제 해설>
Build = 작성된 Source Code를 실제 기기에서 실행 할 수 있는 소프트웨어로 변환하기 위한 과정
1) Ant = 아파치 재단에서 개발한 자바의 공식적인 빌드 도구
2) Kerberos = 컴퓨터 네트워크 인증 암호화 프로토콜로
3) Maven = 아파치 재단에서 개발, Ant 대안으로 개발되었음
4) Gradle = Ant, Maven 의 보완으로 개발된 빌드 도구(안드로이드 스튜디오 주 빌드 도구)
[해설작성자 : 단기합격은 유튜브 윤파고]

75. 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3 일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?
     1. 1, 2, 0
     2. 2, 4, 3
     3. 1, 4, 2
     4. 4, 1, 3

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 77%
     <문제 해설>
[1]    (1)     [4]
    [2]                [1]
                [0]        [3]
[해설작성자 : 정처기 공부]

1
12
1 //
120
204
041
413 최종
[해설작성자 : 오하요하이]

1 > 1 > 1 > 1 > 2 > 0 > 4
        2     2     2     0     4     1
                        0     4     1     3
[해설작성자 : 전자공학도]

request        1 2 1 0 4 1 3
page 1st     1 1 1 1 4 4 4
         2nd         2 2 2 2 1 1
         3rd             0 0 0 0 3
page-fault 0 0 X 0 0 0 0

답은 : 4 1 3
[해설작성자 : 절대포기하지말자]

76. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

    

     1. E
     2. V
     3. R
     4. O

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 60%
     <문제 해설>
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이에요.
[해설작성자 : 친절한 설명]

77. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?

    

     1.
     2.
     3.
     4.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
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가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은?

    

     1. 0
     2. 1
     3. 3
     4. 5

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 64%
     <문제 해설>
연산자 우선순위 문제
a < (b+2) -> true
a<<1 = 00000001 (1) 에서 좌측시프트 00000010 (2)/ 2<=b = true
&& - and 연산은 둘다 참일결우 1을 반환
[해설작성자 : 1트에 합격했지롱]

C언어라는것을 한번더 체크

a<b+2&&a<<1<=b // && : 좌항(a<b+2)과 우항(a<<1<=b)이 모두 True(1)이면 True(1)이다. 추가사항 : false 는 0, True 는 1
이때 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
[해설작성자 : 절대포기하지말자]

79. 다음 Python 프로그램이 실행되었을 때, 실행 결과는?

    

     1.
     2.
     3.
     4.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 78%
     <문제 해설>
for (반복변수) in [리스트]
결국 리스트에 있는 값 인덱스 기반으로 하나 씩 출력
[해설작성자 : 정처기 공부]

파이썬은 print()하면 자동으로 개행된다
[해설작성자 : 영국인]

80. UNIX 시스템의 쉘(shell)의 주요 기능에 대한 설명이 아닌 것은?
     1. 사용자 명령을 해석하고 커널로 전달하는 기능을 제공한다.
     2. 반복적인 명령 프로그램을 만드는 프로그래밍 기능을 제공한다.
     3. 쉘 프로그램 실행을 위해 프로세스와 메모리를 관리한다.
     4. 초기화 파일을 이용해 사용자 환경을 설정하는 기능을 제공한다.

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 51%
     <문제 해설>
프로세스, 메모리 관리는 커널의 기능
[해설작성자 : 합격기원]

81. 소프트웨어 생명주기 모델 중 나선형 모델(Spiral Model)과 관련한 설명으로 틀린 것은?
     1. 소프트웨어 개발 프로세스를 위험 관리(Risk Management) 측면에서 본 모델이다.
     2. 위험 분석(Risk Analysis)은 반복적인 개발 진행 후 주기의 마지막 단계에서 최종적으로 한 번 수행해야 한다.
     3. 시스템을 여러 부분으로 나누어 여러 번의 개발 주기를 거치면서 시스템이 완성된다.
     4. 요구사항이나 아키텍처를 이해하기 어렵다거나 중심이 되는 기술에 문제가 있는 경우 적합한 모델이다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 79%
     <문제 해설>
점진적으로 개발 과정이 반복되므로 위험분석 또한 계획 수립 이후 추가적인 위험 분석이 가능함
[해설작성자 : 김라마]

82. 정보시스템과 관련한 다음 설명에 해당하는 것은?

    

     1. 고가용성 솔루션(HACMP)
     2. 점대점 연결 방식(Point-to-Point Mode)
     3. 스턱스넷(Stuxnet)
     4. 루팅(Rooting)

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 61%
     <문제 해설>
고가용성 솔루션(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)처럼 작동하게 하는 공격은?
     1. Parsing
     2. LAN Tapping
     3. Switch Jamming
     4. FTP Flooding

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 64%
     <문제 해설>
- 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. 다음 내용이 설명하는 스토리지 시스템은?

    

     1. DAS
     2. NAS
     3. BSA
     4. NFC

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 74%
     <문제 해설>
직접 연결 저장장치(Direct-attached storage,DAS)
Network Attached Storage. 네트워크 결합 스토리지
근거리 무선 통신(NFC)
[해설작성자 : 58]

85. 취약점 관리를 위해 일반적으로 수행하는 작업이 아닌 것은?
     1. 무결성 검사
     2. 응용 프로그램의 보안 설정 및 패치(Patch) 적용
     3. 중단 프로세스 및 닫힌 포트 위주로 확인
     4. 불필요한 서비스 및 악성 프로그램의 확인과 제거

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 85%
     <문제 해설>
중단된 프로세스와 닫힌 포트가 아니라, 활성화된 프로세스와 열린 포트를 중심으로 확인해야 취약점이 관리될 수 있음.
[해설작성자 : 동차합격가즈아]

86. 소프트웨어 생명주기 모델 중 V 모델과 관련한 설명으로 틀린 것은?
     1. 요구 분석 및 설계단계를 거치지 않으며 항상 통합 테스트를 중심으로 V 형태를 이룬다.
     2. Perry에 의해 제안되었으며 세부적인 테스트 과정으로 구성되어 신뢰도 높은 시스템을 개발하는데 효과적이다.
     3. 개발 작업과 검증 작업 사이의 관계를 명확히 드러내 놓은 폭포수 모델의 변형이라고 볼 수 있다.
     4. 폭포수 모델이 산출물 중심이라면 V 모델은 작업과 결과의 검증에 초점을 둔다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 68%
     <문제 해설>
V 모델(V-model)은 소프트웨어 개발 프로세스로 폭포수 모델의 확장된 형태 중 하나로 볼 수 있다. 아래 방향으로 선형적으로 내려가면서 진행되는 폭포수 모델과 달리, 이 프로세스는 오른쪽 그림과 같이 코딩 단계에서 위쪽으로 꺾여서 알파벳 V자 모양으로 진행된다

검증(Verification)단계
1. 요구사항 분석
2. 시스템 설계
3. 아키텍처 설계
4. 모듈 설계
[해설작성자 : 58]

87. 블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바르게 연결된 것은?
     1. 블루버그(BlueBug) - 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
     2. 블루스나프(BlueSnarf) - 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
     3. 블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미
     4. 블루재킹(BlueJacking) - 블루투스 장비사이의 취약한 연결 관리를 악용한 공격

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 55%
     <문제 해설>
블루버그: 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
블루스나프(블루스나핑): 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
블루재킹: 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것

*OPP(Obex Push Protocol)- 블루투스 장치끼리 인증 없이 정보를 간편하게 교환하기 위하여 개발됨
[해설작성자 : 호랑해]

88. DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?
     1. Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법이다.
     2. Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
     3. SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는 것이다.
     4. Land 공격은 패킷 전송 시 출발지 IP주소와 목적지 IP주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 49%
     <문제 해설>
멀티캐스트 x
브로드캐스트 o
[해설작성자 : 토킹포테이토]

89. 다음 설명에 해당하는 시스템은?

    

     1. Apache
     2. Hadoop
     3. Honeypot
     4. MapReduce

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 78%
     <문제 해설>
Hadoop(하둡): 오픈 소스를 기반으로한 분산 컴퓨팅 플랫폼, 대형 스토리지, 빅데이터 관련
MapReduce : 대용량 데이터를 분산처리하기 위한 목적으로 개발된 프로그래밍 모델
                        구글에 의해 고안
                        임의의 순서로 분산 처리후 다시 합침
[해설작성자 : 부실합니다 보충해 주세요]

Apache : 월드 와이드 웹 컨소시엄(W3C)에서 사용하고 아파치 소프트웨어 재단에서 관리 및 운영하는 서버용 오픈소스 소프트웨어
Hadoop : 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
MapReduce : 대용량 데이터를 분산 처리하기 위한 목적으로 Google에 의해 고안된 프로그래밍 모델
[해설작성자 : 일요일 시험이당]

90. 다음이 설명하는 IT 기술은?

    

     1. StackGuard
     2. Docker
     3. Cipher Container
     4. Scytale

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 72%
     <문제 해설>
- StackGuard
        - Stack 상에 일정한 주소번지에 프로그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하여 프로그램이 비정상적으로 종료 시키는 기법
- Docker
        - 컨테이너 응용프로그램의 배포를 자동화 하는 오픈소스 엔진
        - SW 컨터에이너 안의 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈소스 프로젝트 이자 소프트웨어
- Cipher Container
        - 자바에서 암호화 복호화 기능을 제공하는 컨테이너
- Scytale
        - 암호화 기법으로 단순하게 문자열의 위치를 바꾸는 방법
[해설작성자 : 강썬]

91. 간트 차트(Gantt Chart)에 대한 설명으로 틀린 것은?
     1. 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝나야 하는지를 한 눈에 볼 수 있도록 도와준다.
     2. 자원 배치 계획에 유용하게 사용된다.
     3. CPM 네트워크로부터 만드는 것이 가능하다.
     4. 수평 막대의 길이는 각 작업(Task)에 필요한 인원수를 나타낸다.

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 76%
     <문제 해설>
인원 수 (X)
기간 (O)
[해설작성자 : 정처기 공부]

92. Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳은 것은?
     1. Li-fi
     2. Scrapy
     3. CrawlCat
     4. SBAS

     정답 : [2]☜ 블럭 설정하면 보임
     정답률 : 67%
     <문제 해설>
- Li-fi
        - 스펙트럼의 빛을 이용한 5세대 이동 통신 기술
- Scrapy
        - 파이썬 기반의 웹크롤러 프레임 워크
        - 가볍고 빠르고 확장성이 좋음
- SBAS(위성항법보강시스템)
        - GPS의 오차를 보정해 신뢰성과 안정성을 높인 기법
[해설작성자 : 강썬]

CrawlCat : 구글에서 개발한 웹 크롤링 도구로, 웹사이트를 탐색하고 페이지의 구조와 링크를 파악하여 데이터를 수집함.
[해설작성자 : 백엔드 개발자 호소인]

93. Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?
     1. SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
     2. 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
     3. 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
     4. 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 52%
     <문제 해설>
자원 삽입 : 자원을 조작 할 수 있는 문자열을 삽입하여 시스템이 보호하는 자원에 임의로 접근 할 수 있는 취약점
[해설작성자 : 정처기 공부]

94. Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?
     1. 보안에 취약
     2. 대용량 볼륨에 효율적
     3. 자동 압축 및 안정성
     4. 저용량 볼륨에서의 속도 저하

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 61%
     <문제 해설>
- FAT
        - DOS때부터 사용되던 윈도우의 파일시스템
        - 저용량에 적합, 호환성이 좋음,    저장가능한 파일의 최대크기가 4GB
- NTFS
        - FAT시스템을 대체하기 위해 개발된 윈도우 파일 시스템
        - 사용자마다 다른 보안 적용 가능 즉 보안이 FAT보다 뛰어남
        - 대용량 저장 가능 및 안정성이 뛰어남
[해설작성자 : 강썬]

95. DES는 몇 비트의 암호화 알고리즘인가?
     1. 8
     2. 24
     3. 64
     4. 132

     정답 : [3]☜ 블럭 설정하면 보임
     정답률 : 78%
     <문제 해설>
DES의 키는 7비트마다 오류 검출을 위한 정보가 1비트씩 들어가기 때문에 실질적으로는 56비트이다.
추가적으로 AES는 암호화 알고리즘은 AES-128, AES-192, AES-256로 나뉘어지며 숫자는 비트수 이다.
[해설작성자 : 구구구구]

DES는 블록크기는 64bit 이고    키 길이가 56비트이다.
[해설작성자 : 이직 하고 싶다]

96. 리눅스에서 생성된 파일 권한이 644일 경우 umask 값은?
     1. 022
     2. 666
     3. 777
     4. 755

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 65%
     <문제 해설>
파일 생성 권한 666에서 644를 빼면 022
[해설작성자 : 정처기 공부]

umask는 UNIX에서 파일이나 디렉터리의 초기 권한을 설정할 때 사용하는 값으로 파일의 경우 666에서 umask를 뺀 값을, 디렉터리일 경우 777에서 umask를 뺀 값을 초기 접근 권한으로 갖습니다
[해설작성자 : ums]

97. 다음 내용이 설명하는 로그 파일은?

    

     1. tapping
     2. xtslog
     3. linuxer
     4. wtmp

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 61%
     <문제 해설>
wtmp
- 성공한 로그인/로그아웃 정보를 담고 있는 로그파일
- var/log/wtmp에 위치
- last 명령어 사용
1,2,3 전부 없는 명령어이다.
이밖에 참고로
utmp
- 현재 로그인 사용자 상태 정보를 담고 있는 로그파일
btmp
- 실패한 로그인 정보를 담고 있는 로그파일
last log
- 마지막으로 성공한 로그인 정보를 담고있는 로그파일
[해설작성자 : 윤정훈]

98. 상향식 비용 산정 기법 중 LOC(원시 코드 라인 수) 기법에서 예측치를 구하기 위해 사용하는 항목이 아닌 것은?
     1. 낙관치
     2. 기대치
     3. 비관치
     4. 모형치

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 72%
     <문제 해설>
LOC 예측치를 구하기 위해서는 낙관치, 비관치, 기대치가 필요하다.
[해설작성자 : 한번에제발]

예측치 = (낙관치+비관치+기대치*4)/6
[해설작성자 : 이직마려움]

99. OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술은?
     1. PLCP(Packet Level Control Processor)
     2. Traffic Distributor
     3. Packet Tree
     4. DPI(Deep Packet Inspection)

     정답 : [4]☜ 블럭 설정하면 보임
     정답률 : 57%
     <문제 해설>
- PLCP(Physical Layer Convergence Procedure : 물리계층 수렴 처리)
        - 논리적인 802.11 MAC 부계층과 물리적인 특성을 연결하는 역할
        - 802.11 MAC 부계층이 물리적 특성에 관계없이 동작하도록 함
- Traffic Distributor
        - 네트워크 통신 간에 트래픽을 분배해주는 솔루션
- DPI
        - 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보를 분석하는 컨텐츠 내용 분석 기술
        - 네트워크 보안, 관리, 컨텐츠 관리 등이 목적

*단어의 정의를 몰라도 하나씩 뜯어보면 Deep(내부) Packet Inspection(분석)으로 유추 가능
[해설작성자 : 강썬]

100. 소프트웨어 개발 방법론의 테일러링(Tailoring)과 관련한 설명으로 틀린 것은?
     1. 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여야 한다.
     2. 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.
     3. 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.
     4. 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.

     정답 : [1]☜ 블럭 설정하면 보임
     정답률 : 70%
     <문제 해설>
테일러링 (Tailoring) : 프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업
[해설작성자 : 땅혁]

정보처리기사 필기 기출문제(해설) 및 CBT 2022년03월05일을 이용해 주셔서 감사합니다.
, 필기, 기출문제, 전자문제집, CBT, 온라인, 모의테스트, 모의고사



List of Articles
번호 제목 글쓴이 날짜 조회 수
938 압연기능장 필기 기출문제(해설) 및 전자문제집 CBT 2014년07월20일(15325) 좋은아빠되기 2024.10.02 7
937 압연기능장 필기 기출문제(해설) 및 전자문제집 CBT 2016년04월02일(15326) 좋은아빠되기 2024.10.02 5
936 압연기능장 필기 기출문제(해설) 및 전자문제집 CBT 2018년03월31일(15327) 좋은아빠되기 2024.10.02 6
935 압연기능장 필기 기출문제(해설) 및 전자문제집 CBT 2009년07월12일(15328) 좋은아빠되기 2024.10.02 7
934 압연기능장 필기 기출문제(해설) 및 전자문제집 CBT 2010년07월11일(15329) 좋은아빠되기 2024.10.02 5
933 에너지관리기능사 필기 기출문제(해설) 및 전자문제집 CBT 2012년07월22일[4회](15330) 좋은아빠되기 2024.10.02 2
932 기계가공기능장 필기 기출문제(해설) 및 전자문제집 CBT 2009년03월29일(15331) 좋은아빠되기 2024.10.02 2
931 9급 지방직 공무원 정보봉사개론 필기 기출문제(해설) 및 전자문제집 CBT 2018년05월19일(15332) 좋은아빠되기 2024.10.02 2
930 식물보호기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15333) 좋은아빠되기 2024.10.02 9
929 전기공사기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15334) 좋은아빠되기 2024.10.02 6
928 산림기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15335) 좋은아빠되기 2024.10.02 7
» 정보처리기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15337) 좋은아빠되기 2024.10.02 31
926 유기농업기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15338) 좋은아빠되기 2024.10.02 6
925 가스기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15339) 좋은아빠되기 2024.10.02 9
924 식품산업기사(구) 필기 기출문제(해설) 및 전자문제집 CBT 2008년07월27일(15340) 좋은아빠되기 2024.10.02 4
923 에너지관리기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15341) 좋은아빠되기 2024.10.02 7
922 건축설비기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15342) 좋은아빠되기 2024.10.02 24
921 대기환경기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15343) 좋은아빠되기 2024.10.02 6
920 산업위생관리기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15344) 좋은아빠되기 2024.10.02 14
919 인간공학기사 필기 기출문제(해설) 및 전자문제집 CBT 2022년03월05일(15345) 좋은아빠되기 2024.10.02 7
Board Pagination Prev 1 ... 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 ... 1749 Next
/ 1749