정보처리기사 필기 기출문제복원 (2022-04-24)

정보처리기사
(2022-04-24 기출문제)

목록

1과목: 소프트웨어 설계

1. UML 다이어그램 중 순차 다이어그램에 대한 설명으로 틀린 것은?

  1. 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
  2. 주로 시스템의 정적 측면을 모델링하기 위해 사용한다.
  3. 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
  4. 회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다.
(정답률: 61%)
  • 정답은 "주로 시스템의 정적 측면을 모델링하기 위해 사용한다." 이다. 순차 다이어그램은 객체 간의 동적 상호작용을 모델링하는 것이 주된 목적이며, 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다. 회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다. 따라서, 주로 시스템의 정적 측면을 모델링하기 위해 사용하는 것은 아니다.
  • 시스템 설계에서, 순차 다이어그램은 객체 간의 Dynamic modeling, 즉 동적 모델링에 사용되는 모델이다. 또 다른 동적 모델링에 사용되는 모델로는 Collaboration diagram이 있으며, 정적 모델링에는 주로 system context class diagram 등이 사용된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

2. 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)에 대한 설명으로 틀린 것은?

  1. 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
  2. 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
  3. 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
  4. 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
(정답률: 45%)
  • "느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다."가 틀린 것이다. MOM은 비동기 방식으로 작동하기 때문에 실시간성이 떨어지고, 안정적인 메시지 전달을 보장하기 위해 일정한 오버헤드가 발생한다. 따라서, 온라인 업무와 같이 즉각적인 응답이 필요한 경우에는 다른 방식의 미들웨어를 사용하는 것이 적합하다.
  • MOM(Message Oriented Middleware)
    - 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨 어이다.
    - 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동 기를 위해 많이 사용한다.

    MOM(Message Oriented Middleware)은 즉각적인 응답을 원 하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로 하 는 경우에 많이 사용됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

3. 익스트림 프로그래밍에 대한 설명으로 틀린 것은?

  1. 대표적인 구조적 방법론 중 하나이다.
  2. 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
  3. 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
  4. 구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.
(정답률: 48%)
  • "대표적인 구조적 방법론 중 하나이다."가 틀린 것이다. 익스트림 프로그래밍은 구조적 방법론이 아니라 애자일 방법론에 속한다. 익스트림 프로그래밍은 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이며, 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다. 또한 구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

4. 유스케이스(Use Case)의 구성 요소 간의 관계에 포함되지 않는 것은?

  1. 연관
  2. 확장
  3. 구체화
  4. 일반화
(정답률: 48%)
  • 유스케이스의 구성 요소 간의 관계에 포함되지 않는 것은 "구체화"이다. 이는 유스케이스의 구성 요소 중 하나인 액터와 유스케이스 간의 관계를 나타내는 것이 아니기 때문이다. 구체화는 유스케이스를 더 상세하게 분해하여 하위 유스케이스를 만드는 것을 의미한다.
  • 유스케이스(Use Case)의 구성 요소 간의 관계
    - 연관관계(Association) : 유스케이스와 액터간의 상호작
    용이 있음을 표현한다.
    - 포함 관계(Include): 하나의 유스케이스가 다른 유스케이스 의 실행을 전제로 할 때 형성되는 관계이다.
    - 확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성 되는 관계이다.
    - 일반화 관계(Generalization) : 유사한 유스케이스 또는 액 터를 모아 추상화한 유스케이스 또는 액터와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다.
  • 주요 uml다이어그램들의 관계들 (암기하기!)
    유스케이스 다이어그램 - 연관 , 포함, 일반화, 확장
    클래스 다이어그램 - 연관, 포함, 일반화, 집합
    순차 다이어그램 - 관계X , 대신 구성요소 : 액터, 객체, 생명선, 실행상자, 메시지
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

5. 요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?

  1. 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
  2. '차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.
  3. 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
  4. '금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 비기능적 요구이다.
(정답률: 45%)
  • "'차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다." 이유는 이 요구사항은 시스템의 성능과 관련된 요구사항으로, 시스템이 제공하는 기능 외에도 시스템의 성능과 품질에 대한 요구사항을 나타내기 때문이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

6. 정보공학 방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어는?

  1. Package Diagram
  2. State Transition Diagram
  3. Deployment Diagram
  4. Entity-Relationship Diagram
(정답률: 60%)
  • Entity-Relationship Diagram은 데이터베이스 설계에서 가장 일반적으로 사용되는 모델링 언어이다. 이는 데이터베이스의 구조와 관계를 시각적으로 표현할 수 있으며, 엔티티(개체)와 관계(relationship)를 중심으로 모델링한다. 따라서 데이터베이스 설계의 표현으로 가장 적합하며, 다른 보기들은 시스템의 다른 측면을 모델링하는 데 사용된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

7. 미들웨어(Middleware)에 대한 설명으로 틀린 것은?

  1. 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
  2. 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
  3. 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
  4. 여러 컴포넌트를 1대 1, 1대 다, 다대 다 등 여러 가지 형태로 연결이 가능하다.
(정답률: 54%)
  • 정답은 "미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다." 이다. 이유는 미들웨어는 사용자와 직접적으로 상호작용하는 소프트웨어가 아니기 때문에 사용자가 내부 동작을 쉽게 확인할 필요가 없다. 오히려 미들웨어는 소프트웨어 컴포넌트를 연결하기 위한 인프라 구조를 제공하고, 여러 컴포넌트를 다양한 형태로 연결할 수 있도록 도와준다.
  • 사용자가 미들웨어의 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있다면, 보안의 위협이 될 수 있으므로 확인할 수 없도록 해야함
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

8. UI의 설계 지침으로 틀린 것은?

  1. 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
  2. 주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
  3. 치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
  4. 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
(정답률: 70%)
  • "치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다."가 틀린 설계 지침입니다. 사용자가 오류를 인지하지 못하면 문제가 발생했을 때 적절한 조치를 취할 수 없으므로, 오류 메시지나 경고를 표시하여 사용자가 인지할 수 있도록 해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

9. 객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?

  1. 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
  2. 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
  3. 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다.
  4. 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
(정답률: 42%)
  • 정답은 "메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다." 이다. 메소드 오버로딩은 매개 변수의 개수나 타입이 다른 여러 개의 메소드를 같은 이름으로 정의하는 것이다. 이를 통해 같은 기능을 하는 메소드를 다양한 매개 변수로 호출할 수 있게 된다.
  • 오버로딩 - 한 클래스 내에서 메서드의 이름은 동일하지만 매 개변수의 수나 타입을 다르게 하여 재정의 하는 것

    오버라이딩 - 상속관계에서만 발생. 슈퍼클래스의 메서드를 서브클래스에서도 동일한 메서드를 재정의 하는 것
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

10. 소프트웨어 개발 영역을 결정하는 요소 중 다음 사항과 관계있는 것은?

  1. 기능(Function)
  2. 성능(Performance)
  3. 제약 조건(Constraint)
  4. 인터페이스(Interface)
(정답률: 60%)
  • 인터페이스는 소프트웨어 시스템의 다른 부분과 상호작용하기 위한 규약을 정의하는 요소이다. 따라서 소프트웨어 개발 영역을 결정하는 요소 중에서는 인터페이스가 다른 부분과의 상호작용을 결정하므로 인터페이스와 관련이 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

11. 객체에 대한 설명으로 틀린 것은?

  1. 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
  2. 객체는 공통 속성을 공유하는 클래스들의 집합이다.
  3. 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
  4. 객체의 상태는 속성값에 의해 정의된다.
(정답률: 53%)
  • "객체는 공통 속성을 공유하는 클래스들의 집합이다."가 틀린 설명입니다. 객체는 클래스의 인스턴스이며, 클래스는 객체를 정의하는 틀이라고 할 수 있습니다. 따라서 객체는 클래스에 의해 정의되며, 클래스들의 집합이 아닙니다.

    객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있으며, 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재입니다. 객체의 상태는 속성값에 의해 정의됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

12. 속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?

  1. Inheritance
  2. Class
  3. Encapsulation
  4. Association
(정답률: 46%)
  • Encapsulation은 클래스 안에 속성과 관련된 연산을 묶어서 하나의 단위로 취급하는 객체지향 개념입니다. 이를 통해 속성과 연산이 서로 영향을 주지 않고 독립적으로 작동할 수 있으며, 코드의 가독성과 유지보수성이 향상됩니다. 따라서 Encapsulation이 정답입니다.
  • 상속(Inheritance) : 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것

    클래스: 하나 이상의 유사한 객체들을 묶는다.

    캡슐화(Encapsulation): 서로 관련성이 많은 데이터들과 연산 들을 묶는다.

    연관관계 (Association) : 2개 이상의 사물이 서로 관련되어 있음을 표현한다
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

13. 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은?

  1. 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
  2. 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.
  3. 협상과 계약보다는 고객과의 협력을 중시한다.
  4. 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.
(정답률: 66%)
  • "변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다."가 틀린 것이다. 애자일 프로세스 모델은 변화에 대한 대응을 중요시하며, 계획보다는 실행 가능한 소프트웨어를 중시한다. 이는 고객의 요구사항이나 프로젝트 진행 중 발생하는 변화에 빠르게 대응하며, 지속적으로 소프트웨어를 개선해 나가는 것을 목표로 한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

14. 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?

  1. Model
  2. Sheet
  3. Component
  4. Cell
(정답률: 57%)
  • 인터페이스를 통해서만 접근할 수 있는 시스템의 부분은 Component이다. Component는 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로, 다른 시스템에서도 재사용될 수 있는 단위이다. 따라서 인터페이스를 통해서만 접근할 수 있으며, 다른 보기인 Model, Sheet, Cell은 Component가 아니므로 정답이 될 수 없다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

15. GoF(Gang of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?

  1. Adapter 패턴
  2. Bridge 패턴
  3. Builder 패턴
  4. Proxy 패턴
(정답률: 41%)
  • Builder 패턴은 생성 패턴에 속하며, 객체 생성 과정을 추상화하여 복잡한 객체를 생성하는 방법을 제공합니다. 따라서 구조 패턴이 아닌 생성 패턴입니다. 반면, Adapter 패턴, Bridge 패턴, Proxy 패턴은 모두 구조 패턴에 속합니다. Adapter 패턴은 인터페이스를 변환하여 호환성을 제공하고, Bridge 패턴은 추상화와 구현을 분리하여 유연성을 제공하며, Proxy 패턴은 객체에 대한 대리자를 제공하여 접근 제어 및 부가 기능을 제공합니다.
  • 생성패턴 : 객체를 생성하는 것에 대한 패턴
    - 추상 팩토리 패턴(abstract factory), 빌더 패턴(builder), 팩 토리 메소드 패턴(factory method), 프로토타입 패턴 (prototype), 싱글톤 패턴(singleton)

    구조패턴 : 구조를 통해 확장성을 꾀하는 패턴
    - 어댑터 패턴(adapter), 브릿지 패턴(bridge), 컴포지트 패턴 (composite), 데코레이터 패턴(decorator), 퍼사드 패턴 (facade), 플라이웨잇 패턴(flysweight), 프록시 패턴(proxy)

    행위 패턴 : 행위의 변경, 수정 등을 위한 패턴
    - 역할 사슬 패턴(책임 연쇄, chain of reposibility), 커맨드 패턴(command), 인터프리터 패턴(interpreter), 이터레이터 패 턴(반복자, iterator), 미디에이터 패턴(중재자, mediator), 메 멘토 패턴(memento), 옵저버 패턴(observer), 상태 패턴 (state), 전략 패턴(strategy), 템플릿 메소드 패턴(template method), 비지터 패턴(방문자, visitor)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

16. UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?

  1. Feedback
  2. Posture
  3. Module
  4. Hash
(정답률: 62%)
  • "Feedback"은 사용자가 시스템에 명령을 내린 후 시스템이 그 명령을 받아들이고 처리하는 과정에서 사용자에게 상태와 결과를 보여주는 것을 말합니다. 이는 사용자가 명령을 내린 후 시스템이 작동 중인지, 명령이 처리되고 있는지 등을 파악할 수 있도록 도와주는 중요한 UI 개념입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

17. UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?

  1. GUI(Graphical User Interface)
  2. OUI(Organic User Interface)
  3. NUI(Natural User Interface)
  4. CLI(Command Line Interface)
(정답률: 53%)
  • NUI는 사용자의 자연스러운 움직임을 인식하여 정보를 제공하는 사용자 인터페이스를 의미한다. 다른 인터페이스들은 사용자가 키보드나 마우스 등을 이용하여 명령을 입력하는 방식이지만, NUI는 사용자의 몸짓이나 손가락 움직임 등을 인식하여 명령을 입력받는다. 이러한 특징으로 인해 NUI는 사용자와 컴퓨터 간의 상호작용을 더욱 자연스럽고 직관적으로 만들어준다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

18. 소프트웨어 모델링과 관련한 설명으로 틀린 것은?

  1. 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
  2. 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구 사항의 결과를 표현한다.
  3. 객체지향 방법론에서는 UML 표기법을 사용한다.
  4. 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
(정답률: 59%)
  • "모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다."는 틀린 설명입니다. 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있으며, 이전 모델링 작업의 결과물을 바탕으로 새로운 모델링 작업을 수행하기도 합니다. 예를 들어, 요구사항 모델링 작업의 결과물인 유스케이스 다이어그램은 설계 모델링 작업에서도 활용될 수 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

19. 유스케이스 다이어그램(Use Case Diagram)에 관련된 내용으로 틀린 것은?

  1. 시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
  2. 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
  3. 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
  4. 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
(정답률: 41%)
  • "시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다."이 틀린 내용이다. 외부 시스템은 시스템과 상호작용하는 주체로서 액터로 파악해야 한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

20. 소프트웨어 아키텍처 모델 중 MVC(Model-View-Controller)와 관련한 설명으로 틀린 것은?

  1. MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
  2. 모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
  3. 뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
  4. 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
(정답률: 45%)
  • 정답은 "모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다."가 아니다.

    MVC 모델에서 모델(Model)은 뷰(View)와 제어(Controller)와 독립적으로 존재하며, 데이터와 비즈니스 로직을 처리하는 역할을 한다. 뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당하고, 제어(Controller)는 사용자의 입력을 받아 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. 따라서 모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하는 것이 아니라, 독립적으로 존재하며 중재자 역할을 한다고 볼 수 있다.
  • 한 개의 모델에 대해 여러 개의 뷰를 만들 수 있음

    모델은 서브 시스템의 핵심 기능과 데이터를 보관하며 MVC 패턴에서는 여러 개의 뷰를 만들 수 있으므로 한 개의 모델에 대해 여러 개의 뷰를 필요로 하는 대화형 어플리케이션에 적 합하다.

    전달자 역할은 모델(Model)이 아닌 제어(Controller)이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

2과목: 소프트웨어 개발

21. 통합 테스트(Integration Test)와 관련한 설명으로 틀린 것은?

  1. 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
  2. 하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
  3. 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
  4. 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
(정답률: 47%)
  • "상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다."이 부분이 틀린 설명입니다.

    상향식 통합 테스트는 하위 모듈부터 순차적으로 테스트를 진행하는 방식이며, 최상위 모듈은 마지막에 테스트됩니다. 이는 모듈 간의 의존성을 고려하여 하위 모듈이 먼저 테스트되어야 하기 때문입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

22. 다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는?

  1. 2
  2. 3
  3. 4
  4. 5
(정답률: 38%)
  • 이진 검색 방법은 중앙값을 기준으로 탐색 범위를 반으로 줄여가며 찾는 방법이다. 따라서 처음에는 중앙값인 8과 비교하게 된다. 14는 8보다 크므로 오른쪽 부분 배열을 탐색하면서 중앙값인 12와 비교하게 된다. 14는 12보다 크므로 다시 오른쪽 부분 배열을 탐색하면서 중앙값인 14와 비교하게 된다. 이때 14를 찾았으므로 총 3번의 비교가 이루어진다. 따라서 정답은 "3"이다.
  • 이진탐색동작방식
    1. 배열의 중간 값을 찾음
    2. 중간 값과 검색 값을 비교
    2-1. 중간 값이 검색 값과 같으면 끝.
    2-2. 중간 값보다 검색 값이 크다면 오른쪽 구간을 탐색 2-3. 중간 값보다 검색 값이 작다면 왼쪽 구간을 탐색 3.값을 찾거나 간격이 비었을 때까지 반복
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

23. 소프트웨어 공학에서 워크스루(Walktiirough)에 대한 설명으로 틀린 것은?

  1. 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
  2. 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
  3. 인스펙션(Inspection)과 동일한 의미를 가진다.
  4. 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
(정답률: 36%)
  • "인스펙션(Inspection)과 동일한 의미를 가진다."는 틀린 설명입니다. 워크스루(Walkthrough)는 인스펙션과는 다른 소프트웨어 검토 기법 중 하나로, 검토 대상에 대한 이해도를 높이기 위해 작성자나 다른 팀원들이 설명하면서 진행하는 검토 방법입니다. 인스펙션은 보다 엄격하고 체계적인 검토 방법으로, 미리 정해진 규칙에 따라 검토를 수행합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

24. 소프트웨어의 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동을 뜻하는 것은?

  1. 복호화
  2. 형상관리
  3. 저작권
  4. 크랙
(정답률: 63%)
  • 소프트웨어의 개발과정에서는 여러 명이 함께 작업하고, 소스코드가 계속해서 변경되기 때문에 이를 효율적으로 관리하기 위해 형상관리가 필요합니다. 형상관리는 소스코드의 버전을 관리하고, 변경사항을 추적하며, 충돌을 방지하고, 팀원들 간의 협업을 원활하게 하는 등의 일련의 활동을 의미합니다. 따라서, "형상관리"가 정답입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

25. 테스트 케이스와 관련한 설명으로 틀린 것은?

  1. 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
  2. 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
  3. 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
  4. 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
(정답률: 40%)
  • "테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다."가 틀린 것이다.

    테스트의 목표와 방법을 결정한 후에 테스트 케이스를 작성해야 한다. 테스트 케이스는 목표와 방법을 바탕으로 작성되며, 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다. 이를 통해 개발된 서비스가 정의된 요구 사항을 준수하는지 확인할 수 있다. 또한, 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다. 마지막으로, 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

26. 객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명 중 틀린 것은?

  1. 객체(Object)란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
  2. JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 '공개'이다.
  3. 상속(Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
  4. 같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다.
(정답률: 64%)
  • JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 '공개'가 아니라 '비공개'이다. private로 선언된 변수나 메소드는 해당 클래스 내부에서만 접근이 가능하고, 외부에서는 접근할 수 없다. 이는 객체지향 프로그래밍에서 중요한 개념 중 하나로, 객체의 내부 구현을 외부로부터 감추어 정보를 보호하고 객체 간의 결합도를 낮추는 역할을 한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

27. DRM(Digital Rights Management)과 관련한 설명으로 틀린 것은?

  1. 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
  2. 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
  3. 클리어링 하우스(Clearing House)는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
  4. 원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.
(정답률: 55%)
  • "원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다."가 틀린 설명이다. DRM은 디지털 콘텐츠의 불법 복제와 유통을 방지하기 위한 기술로, 디지털 콘텐츠를 암호화하고 접근 제어를 설정하여 불법 복제와 유통을 방지한다. 따라서 전자적 보안을 고려하여 불법 복제와 유통을 방지할 수 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

28. 위험 모니터링의 의미로 옳은 것은?

  1. 위험을 이해하는 것
  2. 첫 번째 조치로 위험을 피할 수 있도록 하는 것
  3. 위험 발생 후 즉시 조치하는 것
  4. 위험 요소 징후들에 대하여 계속적으로 인지하는 것
(정답률: 54%)
  • 위험 모니터링은 위험 요소 징후들에 대하여 계속적으로 인지하는 것을 의미합니다. 이는 위험을 이해하고 첫 번째 조치로 위험을 피할 수 있도록 하는 것과 함께, 위험 발생 후 즉시 조치하는 것의 전제 조건이 됩니다. 따라서 위험 모니터링은 위험을 예방하고 대처하는 데 매우 중요한 역할을 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

29. 동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?

  1. RCS(Revision Control System)
  2. RTS(Reliable Transfer Service)
  3. RPC(Remote Procedure Call)
  4. RVS(Relative Version System)
(정답률: 40%)
  • RCS는 소스 코드의 버전을 관리하고 변경 내용을 추적할 수 있는 도구로, 동시에 소스를 수정하는 것을 방지하여 충돌을 방지할 수 있습니다. 또한 다른 개발자들이 작업한 내용을 합치거나 변경 내용을 추적할 수 있어 협업에 용이합니다. 따라서 RCS가 정답입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

30. 화이트박스 테스트와 관련한 설명으로 틀린 것은?

  1. 화이트박스 테스트의 이해를 위해 논리흐름도(Logic-Flow Diagram)를 이용할 수 있다.
  2. 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
  3. 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
  4. 테스트 데이터를 선택하기 위하여 검증기준(Test Coverage)을 정한다.
(정답률: 46%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    해설이 잘못되었습니다.
  • 프로그램 구조를 고려하지 않는 것은 == 블랙박스 테스 트
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

31. 알고리즘과 관련한 설명으로 틀린 것은?

  1. 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
  2. 검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
  3. 정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
  4. 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
(정답률: 45%)
  • "선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다."는 틀린 설명입니다. 선형 검색은 정렬되지 않은 데이터에서도 검색이 가능합니다. 다만, 정렬되지 않은 데이터에서 검색을 수행할 경우에는 모든 데이터를 순서대로 비교해야 하기 때문에 검색 속도가 느릴 수 있습니다.
  • 선형 검색 - 처음부터 끝까지 하나씩 순서대로 비교하며 원하 는 값을 찾아내는 검색

    이진검색 - 검색을 수행하기 전에 반드시 데이터의 집합이 정 렬되어 있어야 한다
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

32. 버블 정렬을 이용하여 다음 자료를 오름차순으로 정렬할 경우 PASS 1의 결과는?

  1. 6, 9, 7, 3, 5
  2. 3, 9, 6, 7, 5
  3. 3, 6, 7, 9, 5
  4. 6, 7, 3, 5, 9
(정답률: 41%)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

33. 다음은 인스펙션(Inspection) 과정을 표현한 것이다. (가)~(마)에 들어갈 말을 보기에서 찾아 바르게 연결한 것은?

  1. (가) - ㉡, (나) - ㉢
  2. (나) - ㉠, (다) - ㉢
  3. (다) - ㉢, (라) - ㉤
  4. (라) - ㉣, (마) - ㉢
(정답률: 42%)
  • (가)에서는 "검사 대상"을 선정하고, (나)에서는 "검사 항목"을 선정한다. 이는 검사 대상을 선정한 후에 어떤 항목을 검사할 것인지를 결정하기 때문에 (나) - ㉠, (다) - ㉢가 올바른 연결이다.
  • 가 - 사전교육
    나 - 준비
    다 - 인스펙션 회의
    라 - 수정
    마 - 후속조치
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

34. 소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부구조를 변경하는 것은?

  1. Refactoring
  2. Architecting
  3. Specification
  4. Renewal
(정답률: 46%)
  • Refactoring은 소프트웨어의 내부 구조를 변경하면서도 겉으로 보이는 동작의 변화가 없도록 하는 작업입니다. 이를 통해 소프트웨어를 보다 쉽게 이해하고 유지보수할 수 있으며, 비용도 절감할 수 있습니다. 따라서 이 문제에서 정답은 Refactoring입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

35. 단위 테스트(Unit Test)와 관련한 설명으로 틀린 것은?

  1. 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
  2. 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
  3. 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
  4. 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
(정답률: 34%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    정답과 해설이 틀립니다.
  • - 테스트 드라이버(test driver)
    필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결 과값을 받는 역할을 하는 가상의 모듈

    반대로 테스트 스텁(test stub)은 인자를 통 해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

36. IDE(Integrated Development Environment) 도구의 각 기능에 대한 설명으로 틀린 것은?

  1. Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
  2. Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
  3. Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
  4. Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능
(정답률: 48%)
  • 정답은 "Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능"입니다. 이유는 IDE 도구에서 Compile 기능은 고급언어로 작성된 소스 코드를 컴파일하여 실행 가능한 저급언어 코드로 변환하는 기능입니다. 즉, 고급언어 프로그램을 저급언어 프로그램으로 변환하는 것이 맞습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

37. 아래 Tree 구조에 대하여 후위 순회(Postorder) 한 결과는?

  1. a → b → d → c → e → g → h → f
  2. d → b → g → h → e → f → c → a
  3. d → b → a → g → e → h → c → f
  4. a → b → d → g → e → h → c → f
(정답률: 49%)
  • 후위 순회(Postorder)는 왼쪽 자식 → 오른쪽 자식 → 부모 순서로 방문하는 것입니다. 따라서, 위의 Tree 구조를 후위 순회하면 d → b → g → h → e → f → c → a 순서로 방문하게 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

38. 인터페이스 구현 시 사용하는 기술로 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷은?

  1. JSON
  2. HTML
  3. AVPN
  4. DOF
(정답률: 54%)
  • JSON은 JavaScript Object Notation의 약자로, JavaScript에서 객체를 표현하는 방식을 따르는 개방형 표준 포맷이다. 이를 이용하여 데이터를 속성-값 쌍으로 표현하고 전달할 수 있어 인터페이스 구현 시 많이 사용된다. 또한, JSON은 가벼우면서도 읽기 쉽고 파싱하기도 용이하여 많은 언어에서 지원되고 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

39. 순서가 있는 리스트에서 데이터의 삽입(Push), 삭제(Pop)가 한 쪽 끝에서 일어나며 LIFO(Last-In-First-Out)의 특징을 가지는 자료구조는?

  1. Tree
  2. Graph
  3. Stack
  4. Queue
(정답률: 57%)
  • Stack은 LIFO(Last-In-First-Out)의 특징을 가지며, 데이터의 삽입과 삭제가 한 쪽 끝에서 일어나는 순서가 있는 리스트 자료구조이기 때문에 정답입니다. Tree와 Graph는 비선형 자료구조이며, Queue는 FIFO(First-In-First-Out)의 특징을 가지는 자료구조입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

40. 다음 중 단위 테스트 도구로 사용될 수 없는 것은?

  1. CppUnit
  2. JUnit
  3. HttpUnit
  4. IgpUnit
(정답률: 34%)
  • 정답은 "IgpUnit"입니다. 이유는 IgpUnit이라는 도구는 존재하지 않기 때문입니다. CppUnit은 C++ 언어를 위한 단위 테스트 도구이고, JUnit은 Java 언어를 위한 단위 테스트 도구입니다. HttpUnit은 웹 애플리케이션의 단위 테스트를 위한 도구입니다. 하지만 IgpUnit은 존재하지 않는 도구이므로 단위 테스트 도구로 사용될 수 없습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

41. 다음 조건을 모두 만족하는 정규형은?

  1. BCNF
  2. 제1정규형
  3. 제2정규형
  4. 제3정규형
(정답률: 38%)
  • 1. 제1정규형: 모든 속성은 원자값(Atomic Value)을 가지고 있어야 한다.
    - 위의 스키마는 모든 속성이 원자값을 가지고 있으므로 제1정규형을 만족한다.

    2. 제2정규형: 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수 종속을 만족해야 한다.
    - 위의 스키마에서는 기본키가 {A, B} 이므로, C가 A에 대해 완전 함수 종속을 만족하지 않는다. 따라서 제2정규형을 만족하지 않는다.

    3. 제3정규형: 기본키가 아닌 모든 속성이 기본키에 대해 이행적 함수 종속을 만족하지 않아야 한다.
    - 위의 스키마에서는 기본키가 {A, B} 이고, C가 A에 대해 이행적 함수 종속을 만족하지 않으므로 제3정규형을 만족한다.

    4. BCNF: 모든 결정자가 후보키이어야 한다.
    - 위의 스키마에서는 C가 후보키가 아니지만, A와 B가 모두 기본키이므로 모든 결정자가 후보키이다. 따라서 BCNF를 만족한다.

    따라서, 위의 스키마는 BCNF를 만족한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

42. 데이터베이스의 트랜잭션 성질들 중에서 다음 설명에 해당하는 것은?

  1. Atomicity
  2. Consistency
  3. Isolation
  4. Durability
(정답률: 41%)
  • 트랜잭션의 Atomicity는 "원자성"을 의미합니다. 즉, 트랜잭션 내의 모든 작업이 전부 성공하거나 전부 실패해야 한다는 것을 보장합니다. 위의 그림에서는 "Transfer 1000 from A to B"라는 작업이 실패하면 "Transfer 1000 from B to A" 작업도 취소되어야 하기 때문에 Atomicity가 보장됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

43. 분산 데이터베이스 시스템과 관련한 설명으로 틀린 것은?

  1. 물리적으로 분산된 데이터베이스 시스템을 논리적으로 하나의 데이터베이스 시스템처럼 사용할 수 있도록 한 것이다.
  2. 물리적으로 분산되어 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터(Local Computer)를 분산 처리기(Distributed Processor)라고 한다.
  3. 분산 데이터베이스 시스템을 위한 통신 네트워크 구조가 데이터 통신에 영향을 주므로 효율적으로 설계해야 한다.
  4. 데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency)을 배제해야 한다.
(정답률: 58%)
  • "데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency)을 배제해야 한다."가 틀린 설명입니다. 분산 데이터베이스 시스템에서는 사용자가 데이터가 어디에 저장되어 있는지 인식하지 않아도 되도록 분산 투명성을 제공해야 합니다. 이를 위해 분산 데이터베이스 관리 시스템(Distributed Database Management System)이 데이터의 위치와 접근 방법을 추상화하여 사용자에게 일관된 인터페이스를 제공합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

44. 다음 테이블을 보고 강남지점의 판매량이 많은 제품부터 출력되도록 할 때 다음 중 가장 적절한 SQL 구문은? (단, 출력은 제품명과 판매량이 출력되도록 한다.)

  1. SELECT 제품명, 판매량 FROM 푸드
    ORDER BY 판매량 ASC;
  2. SELECT 제품명, 판매량 FROM 푸드
    ORDER BY 판매량 DESC;
  3. SELECT 제품명, 판매량 FROM 푸드
    WHERE 지점명 = '강남지점'
    ORDER BY 판매량 ASC;
  4. SELECT 제품명, 판매량 FROM 푸드
    WHERE 지점명 = '강남지점'
    ORDER BY 판매량 DESC;
(정답률: 51%)
  • 강남지점의 판매량이 많은 제품부터 출력하려면 WHERE 절을 이용해 강남지점의 데이터만 가져와야 한다. 그리고 ORDER BY 절을 이용해 판매량이 많은 순서대로 정렬해야 한다. 따라서 "SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 DESC;"가 가장 적절한 SQL 구문이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

45. 데이터베이스의 인덱스와 관련한 설명으로 틀린 것은?

  1. 문헌의 색인, 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조이다.
  2. 테이블에 붙여진 색인으로 데이터 검색 시 처리 속도 향상에 도움이 된다.
  3. 인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
  4. 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
(정답률: 53%)
  • "인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다."가 틀린 설명입니다. 대부분의 데이터베이스에서는 인덱스를 추가할 때는 CREATE INDEX, 삭제할 때는 DROP INDEX를 사용합니다. ADD, DELETE는 일부 데이터베이스에서만 사용되는 명령어입니다.

    인덱스는 데이터베이스에서 매우 중요한 역할을 합니다. 데이터베이스의 테이블에 인덱스를 추가하면 검색 속도가 향상되어 데이터를 빠르게 찾을 수 있습니다. 인덱스는 테이블의 열(column)에 대한 색인(index)을 만들어 두는 것으로, 이를 이용해 데이터를 검색하면 전체 데이터를 검색하는 것보다 훨씬 빠르게 결과를 얻을 수 있습니다. 인덱스는 데이터베이스의 성능을 향상시키는 데 매우 중요한 역할을 합니다.

    데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제되는 경우가 많습니다. 이는 인덱스가 테이블의 일부분으로 생성되기 때문입니다. 따라서 테이블을 삭제하면 인덱스도 함께 삭제되어야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

46. 물리적 데이터베이스 구조의 기본 데이터 단위인 저장 레코드의 양식을 설계할 때 고려 사항이 아닌 것은?

  1. 데이터 타입
  2. 데이터 값의 분포
  3. 트랜잭션 모델링
  4. 접근 빈도
(정답률: 34%)
  • 저장 레코드의 양식을 설계할 때 고려해야 할 사항은 데이터 타입, 데이터 값의 분포, 접근 빈도 등이 있습니다. 그러나 트랜잭션 모델링은 저장 레코드의 양식을 설계할 때 고려해야 할 사항이 아닙니다. 트랜잭션 모델링은 데이터베이스 시스템에서 트랜잭션의 동시성 제어와 병행성 제어를 위해 고려해야 할 사항입니다. 따라서 저장 레코드의 양식을 설계할 때는 트랜잭션 모델링보다는 다른 요소들을 더 중요하게 고려해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

47. SQL의 기능에 따른 분류 중에서 REVOKE문과 같이 데이터의 사용 권한을 관리하는데 사용하는 언어는?

  1. DDL(Data Definition Language)
  2. DML(Data Manipulation Language)
  3. DCL(Data Control Language)
  4. DUL(Data User Language)
(정답률: 50%)
  • DCL(Data Control Language)은 데이터의 사용 권한을 관리하는데 사용하는 언어이다. REVOKE문과 같은 권한 취소 기능을 제공하며, GRANT문을 통해 권한을 부여할 수도 있다. DDL(Data Definition Language)은 데이터베이스의 구조를 정의하는데 사용되며, DML(Data Manipulation Language)은 데이터를 조작하는데 사용된다. DUL(Data User Language)은 사용자가 데이터베이스에 접근할 때 사용하는 언어이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

48. 데이터 사전에 대한 설명으로 틀린 것은?

  1. 시스템 카탈로그 또는 시스템 데이터베이스라고도 한다.
  2. 데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정 할 수 있다.
  3. 데이터베이스에 대한 데이터인 메타데이터(Metadata)를 저장하고 있다.
  4. 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉토리(Data Directory)라는 곳에서 관리한다.
(정답률: 54%)
  • 데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정 할 수 있다. - 이 설명이 틀렸습니다. 데이터 사전은 일반 사용자가 접근하거나 수정할 수 없는 시스템 카탈로그 또는 시스템 데이터베이스입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

49. 데이터베이스에서 릴레이션에 대한 설명으로 틀린 것은?

  1. 모든 튜플은 서로 다른 값을 가지고 있다.
  2. 하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
  3. 각 속성은 릴레이션 내에서 유일한 이름을 가진다.
  4. 모든 속성 값은 원자 값(atomic value)을 가진다.
(정답률: 48%)
  • "하나의 릴레이션에서 튜플은 특정한 순서를 가진다."가 틀린 설명입니다. 릴레이션에서 튜플은 순서가 없이 저장되며, 특정한 순서를 가지려면 쿼리문에서 ORDER BY를 사용해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

50. 데이터베이스에서의 뷰(View)에 대한 설명으로 틀린 것은?

  1. 뷰는 다른 뷰를 기반으로 새로운 뷰를 만들 수 있다.
  2. 뷰는 일종의 가상 테이블이며, update에는 제약이 따른다.
  3. 뷰는 기본 테이블을 만드는 것처럼 create view를 사용하여 만들 수 있다.
  4. 뷰는 논리적으로 존재하는 기본 테이블과 다르게 물리적으로만 존재하며 카탈로그에 저장된다.
(정답률: 51%)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

51. 트랜잭션의 상태 중 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태는?

  1. Active
  2. Partially Committed
  3. Committed
  4. Aborted
(정답률: 39%)
  • "Partially Committed" 상태는 모든 연산이 처리되었지만, 아직 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태이기 때문에 정답입니다. 이 상태에서는 트랜잭션의 결과를 영구적으로 저장하기 전에 다른 트랜잭션들이 해당 데이터를 읽을 수 없습니다. 따라서 이 상태에서는 트랜잭션의 결과를 저장하기 위해 "Commit" 또는 "Rollback"을 선택해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

52. SQL의 명령을 사용 용도에 따라 DDL, DML, DCL로 구분할 경우, 그 성격이 나머지 셋과 다른 것은?

  1. SELECT
  2. UPDATE
  3. INSERT
  4. GRANT
(정답률: 59%)
  • GRANT는 DCL(데이터 제어어)에 속하며, 데이터베이스 사용자에게 권한을 부여하는 명령어이다. 나머지 SELECT, UPDATE, INSERT는 DML(데이터 조작어)에 속하며, 데이터를 조회하거나 수정, 삽입하는 명령어이다. 따라서 GRANT는 데이터 조작이 아닌 데이터 제어에 사용되는 명령어이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

53. 키의 종류 중 유일성과 최소성을 만족하는 속성 또는 속성들의 집합은?

  1. Atomic key
  2. Super key
  3. Candidate key
  4. Test key
(정답률: 41%)
  • Candidate key는 유일성과 최소성을 모두 만족하는 속성 또는 속성들의 집합을 의미합니다. 즉, 해당 속성 또는 속성들로는 테이블에서 유일하게 식별할 수 있으며, 다른 속성을 추가하면 유일성이 깨지는 최소한의 속성 또는 속성들입니다. Atomic key는 속성이 원자적(더 이상 분해할 수 없는)인 경우를 의미하며, Super key는 유일성은 만족하지만 최소성은 만족하지 않는 속성 또는 속성들의 집합을 의미합니다. Test key는 테스트를 위해 사용되는 임시적인 키를 의미합니다.
  • 후보키는 슈퍼키 중 최소성을 만족하는
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

54. 데이터베이스에서 개념적 설계 단계에 대한 설명으로 틀린 것은?

  1. 산출물로 E-R Diagram을 만들 수 있다.
  2. DBMS에 독립적인 개념 스키마를 설계한다.
  3. 트랜잭션 인터페이스를 설계 및 작성한다.
  4. 논리적 설계 단계의 앞 단계에서 수행된다.
(정답률: 31%)
  • 정답은 "트랜잭션 인터페이스를 설계 및 작성한다." 이다. 개념적 설계 단계에서는 데이터베이스의 구조와 관련된 개념들을 정의하고, 이를 E-R Diagram 등의 산출물로 표현한다. 또한 DBMS에 독립적인 개념 스키마를 설계한다. 하지만 트랜잭션 인터페이스는 논리적 설계 단계에서 수행되며, 데이터베이스에 접근하는 애플리케이션과 데이터베이스 간의 인터페이스를 설계하고 작성하는 것이다.
  • 데이터베이스 설계단계에서의 트랜잭션 설계단계
    - 개념설계 : 트랜잭션 모델링
    - 논리설계 : 트랜잭션 인터페이스 설계
    - 물리설계 : 트랜잭션 세부설계
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

55. 테이블의 기본키(Primary Key)로 지정된 속성에 관한 설명으로 가장 거리가 먼 것은?

  1. NOT NULL로 널 값을 가지지 않는다.
  2. 릴레이션에서 튜플을 구별할 수 있다.
  3. 외래키로 참조될 수 있다.
  4. 검색할 때 반드시 필요하다.
(정답률: 43%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    정답과 해설이 다릅니다. 해설이 틀린 것 같습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

56. 데이터 모델의 구성 요소 중 데이터 구조에 따라 개념 세계나 컴퓨터 세계에서 실제로 표현된 값들을 처리하는 작업을 의미하는 것은?

  1. Relation
  2. Data Structure
  3. Constraint
  4. Operation
(정답률: 37%)
  • 데이터 모델의 구성 요소 중 데이터 구조는 데이터를 어떻게 구성하고 저장할지를 결정하는데, 이 구조에 따라 처리되는 작업을 의미하는 것이 "Operation"입니다. 즉, 데이터 구조가 정의되면 해당 데이터를 검색, 추가, 수정, 삭제 등의 작업을 수행할 수 있으며, 이러한 작업을 "Operation"이라고 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

57. 다음 [조건]에 부합하는 SQL문을 작성하고자 할 때, [SQL문]의 빈칸에 들어갈 내용으로 옳은 것은? (단, '팀코드' 및 '이름'은 속성이며, '직원'은 테이블이다.)

  1. WHERE 이름 = '정도일'
  2. SELECT 팀코드 FROM 이름
    WHERE 직원 = '정도일'
  3. WHERE 직원 = '정도일'
  4. SELECT 팀코드 FROM 직원
    WHERE 이름 = '정도일'
(정답률: 51%)
  • 조건: 이름이 '정도일'인 직원의 팀코드를 조회한다.

    SQL문: SELECT 팀코드 FROM 직원 WHERE 이름 = '정도일'

    설명: WHERE 절을 이용하여 이름이 '정도일'인 직원을 찾고, SELECT 절에서는 해당 직원의 팀코드를 조회한다. 따라서 정답은 "SELECT 팀코드 FROM 직원 WHERE 이름 = '정도일'"이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

58. 무결성 제약조건 중 개체 무결성 제약조건에 대한 설명으로 옳은 것은?

  1. 릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다.
  2. 기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
  3. 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 한다.
  4. 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.
(정답률: 39%)
  • 기본키는 NULL 값을 가질 수 없는 이유는 기본키는 릴레이션 내에서 각 튜플을 유일하게 식별하는 역할을 하기 때문입니다. 만약 기본키가 NULL 값을 가진다면, 해당 튜플은 유일하게 식별되지 않게 되므로 개체 무결성 제약조건을 위반하게 됩니다. 또한, 기본키는 릴레이션 내에서 오직 하나의 값만 존재해야 하는 이유도 이와 같습니다. 기본키가 중복되면, 해당 튜플들은 구별할 수 없게 되므로 개체 무결성 제약조건을 위반하게 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

59. 관계 데이터 모델에서 릴레이션(Relation)에 포함되어 있는 튜플(Tuple)의 수를 무엇이라고 하는가?

  1. Degree
  2. Cardinality
  3. Attribute
  4. Cartesian product
(정답률: 45%)
  • 릴레이션에 포함되어 있는 튜플의 수를 Cardinality라고 한다. 이는 릴레이션의 크기를 나타내는 중요한 개념으로, 데이터베이스에서 데이터의 양을 파악하는 데에 사용된다. 다른 보기들은 관계 데이터 모델에서 중요한 개념이지만, 릴레이션의 크기를 나타내는 것은 Cardinality이기 때문에 정답은 이것이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

60. 사용자 'PARK'에게 테이블을 생성할 수 있는 권한을 부여하기 위한 SQL문의 구성으로 빈칸에 적합한 내용은?

  1. CREATE TABLE TO
  2. CREATE TO
  3. CREATE FROM
  4. CREATE TABLE FROM
(정답률: 49%)
  • GRANT CREATE TABLE TO PARK;

    "CREATE TABLE TO"은 권한을 부여할 대상이 되는 사용자(PARK)가 새로운 테이블을 생성할 수 있는 권한을 부여하는 SQL 구문이다. "CREATE TO", "CREATE FROM", "CREATE TABLE FROM"은 올바른 SQL 구문이 아니므로 선택지에서 제외된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

61. C언어에서 문자열 처리 함수의 서식과 그 기능의 연결로 틀린 것은?

  1. strlen(s) - s의 길이를 구한다.
  2. strcpy(s1, s2) - s2를 s1으로 복사한다.
  3. strcmp(s1, s2) - s1과 s2를 연결한다.
  4. strrev(s)-s를 거꾸로 변환한다.
(정답률: 45%)
  • "strcmp(s1, s2) - s1과 s2를 연결한다."는 틀린 설명입니다. strcmp 함수는 s1과 s2를 비교하여 같으면 0을, s1이 s2보다 작으면 음수를, s1이 s2보다 크면 양수를 반환합니다. 따라서 s1과 s2를 연결하는 기능이 아닙니다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

  1. 14
(정답률: 38%)
  • 이 코드는 C 프로그래밍 언어로 작성되었고, 여러 변수를 초기화하고 논리 연산을 수행한 후 결과를 합산하여 출력합니다. 코드를 단계별로 살펴보겠습니다.

    1. `#include `는 표준 입출력 함수들을 사용할 수 있도록 해주는 헤더 파일을 포함합니다.

    2. `int main(int argc, char *argv[]) { ... }`는 프로그램의 진입점인 main 함수를 정의합니다. `argc`는 커맨드 라인에서 입력되는 인자의 수를, `argv`는 인자들을 가리키는 포인터 배열을 나타냅니다. 이 프로그램에서는 이들을 사용하지 않습니다.

    3. `int a = 5, b = 3, c = 12;`는 정수형 변수 `a`, `b`, `c`를 각각 5, 3, 12로 초기화합니다.

    4. `int t1, t2, t3;`는 정수형 변수 `t1`, `t2`, `t3`를 선언합니다.

    5. `t1 = a && b;`는 논리 AND 연산자를 사용하여 `a`와 `b`의 논리적 AND를 계산하고 그 결과를 `t1`에 할당합니다. C에서는 0이 아닌 모든 값이 참으로 평가되므로 `t1`은 1이 됩니다.

    6. `t2 = a || b;`는 논리 OR 연산자를 사용하여 `a`와 `b`의 논리적 OR를 계산하고 그 결과를 `t2`에 할당합니다. 이 경우에도 `a`와 `b` 모두 0이 아니므로 `t2`는 1이 됩니다.

    7. `t3 = !c;`는 논리 NOT 연산자를 사용하여 `c`의 논리적 NOT을 계산하고 그 결과를 `t3`에 할당합니다. `c`가 0이 아니므로 `t3`는 0이 됩니다.

    8. `printf("%d", t1 + t2 + t3);`는 `t1`, `t2`, `t3`를 합한 값을 출력합니다. 이 경우에는 1 + 1 + 0 = 2가 됩니다.

    9. `return 0;`는 프로그램이 성공적으로 종료되었음을 나타내는 값을 반환합니다.

    코드의 실행 결과로는 '2'가 출력될 것입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

  1. 30
  2. 60
  3. 80
  4. 120
(정답률: 41%)
  • 1. main 함수 실행

    2. main의 변수, 객체 선언 및 값 할당

    3. 반복문 for( i = 0; i < 10 ; i++) 실행
    → i가 0부터 시작. 10보다 작을 때까지 1씩 증가
    (i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

    * 원래는

    [i가 0일 때]
    ob1.c[0] = 0;
    ob2.c[0] = ob1.c[0] + 0;

    [i가 1일 때]
    ob1.c[1] = 1;
    ob2.c[1] = ob1.c[1] + 1;

    ...

    이렇게 순차적으로 계산해야합니다.
    하지만 다른 값에 영향이 없고, 가독성 좋게 하기 위하여 ob1.c[i] = i 값부터 작성하였습니다.

    3-1. ob1.c[ i ] = i ;
    ob1.c[0] = 0; ob1.c[1] = 1; ob1.c[2] = 2;
    ob1.c[3] = 3; ob1.c[4] = 4; ob1.c[5] = 5;
    ob1.c[6] = 6; ob1.c[7] = 7; ob1.c[8] = 8; ob1.c[9] = 9;

    (ob1.c[ i ] = i 규칙을 볼 수 있음. 값 유추 가능)


    3-2. ob2.c[ i ] = ob1.c[ i ] + i ;
    ob2.c[0] = ob1.c[0] + 0 = 0;
    ob2.c[1] = ob1.c[1] + 1 = 2;
    ob2.c[2] = ob1.c[2] + 2 = 4;
    ob2.c[3] = ob1.c[3] + 3 = 6;

    ... ob2.c[4] ~ ob2.c[7] 생략

    ob2.c[8] = 16;
    ob2.c[9] = 18;

    (ob2.c[ i ] = i * 2 규칙을 볼 수 있음. 값 유추 가능)

    4. 반복문 for 문 ( i가 0~9 범위 2씩 증가 ) 실행
    → i가 0부터 시작. 10보다 작을 때까지 2씩 증가
    (i = 0, 2, 4, 8)

    4-1. ob1.a = ob1.a + ob1.c[i] ;
    ob1.a = 0 + ob1.c[0] = 0 + 0 = 0 ;
    ob1.a = 0 + ob1.c[2] = 0 + 2 = 2 ;
    ob1.a = 2 + ob1.c[4] = 2 + 4 = 6;
    ob1.a = 6 + ob1.c[6] = 6 + 6 = 12;
    ob1.a = 8 + ob1.c[8] = 12 + 8 = 20 ;

    4-2. ob2.a = ob2.a + ob2.c[i] ;
    ob2.a = 0 + ob2.c[0] = 0 + 0 = 0;
    ob2.a = 0 + ob2.c[2] = 0 + 4 = 4;
    ob2.a = 4 + ob2.c[4] = 4 + 8 = 12;
    ob2.a = 12 + ob2.c[6] = 12 + 12 = 24;
    ob2.a = 24 + ob2.c[8] = 24 + 16 = 40;

    답 :
    ob1.a = 20
    ob2.a = 40

    ob1.a = + ob2.a = 60
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

64. IP 프로토콜에서 사용하는 필드와 해당 필드에 대한 설명으로 틀린 것은?

  1. Header Length는 IP 프로토콜의 헤더 길이를 32비트 워드 단위로 표시한다.
  2. Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 232-1비트이다.
  3. Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
  4. Version Number는 IP 프로토콜의 버전번호를 나타낸다.
(정답률: 34%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • Total Packet Length (16 bits): IP 헤더 및 데이터를 포함한 IP 패킷 전체 길이를 바이트 단위로 길이를 표시. (최대값은 65,535 = 2^16 - 1)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

65. 다음 Python 프로그램의 실행 결과가 [실행결과]와 같을 때, 빈칸에 적합한 것은?

  1. either
  2. elif
  3. else if
  4. else
(정답률: 40%)
  • [실행결과]
    10
    20
    30

    정답: "elif"

    이유: if문은 조건문을 검사하여 참(True)이면 해당 코드 블록을 실행하고, 거짓(False)이면 다음 조건문을 검사한다. elif는 이전 조건문이 거짓일 때, 새로운 조건문을 검사하여 참이면 해당 코드 블록을 실행한다. 따라서, 첫 번째 if문이 거짓이므로 elif문을 검사하게 되고, x가 20이므로 해당 코드 블록이 실행되어 20이 출력된다. 마찬가지로, 두 번째 elif문도 검사되어 30이 출력된다. 마지막으로 else문은 모든 조건문이 거짓일 때 실행되는데, 이 경우에는 실행되지 않는다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

66. RIP 라우팅 프로토콜에 대한 설명으로 틀린 것은?

  1. 경로 선택 메트릭은 홉 카운트(hop count)이다.
  2. 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
  3. 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
  4. 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
(정답률: 37%)
  • "라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다."는 틀린 설명입니다. IGP는 Autonomous System(AS) 내에서 라우팅을 수행하는 프로토콜을 의미하고, EGP는 AS 간 라우팅을 수행하는 프로토콜을 의미합니다. RIP는 IGP 중 하나이며, AS 내에서 라우팅을 수행합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

67. 다음에서 설명하는 프로세스 스케줄링은?

  1. FIFO 스케줄링
  2. RR 스케줄링
  3. HRN 스케줄링
  4. MQ 스케줄링
(정답률: 47%)
  • 주어진 프로세스의 우선순위를 계산하여 가장 높은 우선순위를 가진 프로세스를 먼저 실행하는 스케줄링 알고리즘입니다. HRN 스케줄링은 우선순위를 계산할 때, 대기 시간과 서비스 시간을 모두 고려하여 우선순위를 계산합니다. 따라서 대기 시간이 긴 프로세스일수록 우선순위가 높아지게 되어, 대기 시간이 긴 프로세스를 먼저 실행하는 효과를 가지게 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

68. UNIX 운영체제에 관한 특징으로 틀린 것은?

  1. 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다.
  2. Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
  3. 트리 구조의 파일 시스템을 갖는다.
  4. 이식성이 높으며 장치 간의 호환성이 높다.
(정답률: 49%)
  • "Multi-Tasking은 지원하지 않는다."는 틀린 설명입니다. UNIX 운영체제는 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하며, Multi-User와 Multi-Tasking을 모두 지원합니다. 따라서 이유를 설명할 필요가 없습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

69. UDP 프로토콜의 특징이 아닌 것은?

  1. 비연결형 서비스를 제공한다.
  2. 단순한 헤더 구조로 오버헤드가 적다.
  3. 주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
  4. TCP와 같이 트랜스포트 계층에 존재한다.
(정답률: 37%)
  • UDP 프로토콜은 주소를 지정하고 경로를 설정하는 기능을 하지 않습니다. 이는 IP 프로토콜에서 처리되는 부분입니다. UDP는 비연결형 서비스를 제공하며, 단순한 헤더 구조로 오버헤드가 적습니다. 또한 TCP와 같이 트랜스포트 계층에 존재합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

70. Python 데이터 타입 중 시퀀스(Sequence) 데이터 타입에 해당하며 다양한 데이터 타입들을 주어진 순서에 따라 저장할 수 있으나 저장된 내용을 변경할 수 없는 것은?

  1. 복소수(complex) 타입
  2. 리스트(list) 타입
  3. 사전(dict) 타입
  4. 튜플(tuple) 타입
(정답률: 35%)
  • 튜플(tuple) 타입은 저장된 내용을 변경할 수 없는 Immutable(불변)한 데이터 타입이기 때문입니다. 따라서 한 번 생성된 튜플은 내부 요소를 추가, 삭제, 수정할 수 없습니다. 이와 달리 리스트(list) 타입은 Mutable(가변)한 데이터 타입으로 내부 요소를 변경할 수 있습니다.
  • - 시퀀스 - 리스트 - 순서있고 가변 [1, 2, 3]
    - 시퀀스 - 튜플 - 순서있고 불변 (1, 2, 3)
    - 세트 - 세트 - 순서없고 중복X {1, 2, 3}
    - 맵 - 딕셔너리- 순서없고,key-value쌍 {\'a\':1, \'b\':2}
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

  1. 1 2 3 4
  2. 0 1 2 3
  3. 1 2 3
  4. 0 1 2
(정답률: 55%)
  • 이유는 for문에서 i의 초기값이 0이고, i가 4보다 작을 때까지 반복하며 i를 1씩 증가시키기 때문에 0, 1, 2, 3이 출력되기 때문입니다. 따라서 정답은 "0 1 2 3"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

  1. 1
  2. 2
  3. 3
  4. 4
(정답률: 47%)
  • int a = 1, b = 2, c = 3, d= 4 ;
    int mx, mn;
    max = a < b ? b : a ;

    * max = a < b ? b : a ----------------------------------------------
    → 삼항연산자.
    a < b 가 true 일 때 b 값 할당, false일 때 a 값 할당.
    a = 1, b = 2이므로 1 < 2 true이다. max = 2값 할당.
    ------------------------------------------------------------------------
    if에서 mx == 1 이 아니므로 else로

    else {
    mn = b < mx ? d : c ;

    * mn = b < mx ? d : c ----------------------------------------------
    b = 2이고 mx = 2. 값이 같으므로 b < mx 는 false.
    c가 3이므로 mn = 3 값 할당
    ------------------------------------------------------------------------

    답 = 3
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

73. 다음 중 Myers가 구분한 응집도(Cohesion)의 정도에서 가장 낮은 응집도를 갖는 단계는?

  1. 순차적 응집도(Sequential Cohesion)
  2. 기능적 응집도(Functional Cohesion)
  3. 시간적 응집도(Temporal Cohesion)
  4. 우연적 응집도(Coincidental Cohesion)
(정답률: 56%)
  • 우연적 응집도는 모듈 내부의 요소들이 서로 관련성이 없이 무작위로 모여있는 경우를 말한다. 따라서 가장 낮은 응집도를 갖는 단계는 우연적 응집도이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

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

  1. 0
  2. 1
  3. 2
  4. 3
(정답률: 38%)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

75. IP 프로토콜의 주요 특징에 해당하지 않는 것은?

  1. 체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
  2. 패킷을 분할, 병합하는 기능을 수행하기도 한다.
  3. 비연결형 서비스를 제공한다.
  4. Best Effort 원칙에 따른 전송 기능을 제공한다.
(정답률: 32%)
  • IP 프로토콜은 데이터 체크섬 기능뿐만 아니라 패킷 분할, 병합 기능도 수행하며 비연결형 서비스를 제공하고 Best Effort 원칙에 따른 전송 기능을 제공한다. 따라서 "체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다."는 IP 프로토콜의 주요 특징에 해당하지 않는다.
  • IP 프로토콜은 데이터 패킷이 네트워크를 통해 이동하고 올바른 대상에 도착할 수 있도록 데이터 패킷을 라우팅하고 주소를 지정하기 위한 프로토콜 또는 규칙의 집합입니다. 인터넷을 통과하는 데이터는 패킷이라고 하는 더 작은 조각으로 나뉩니다. IP 정보는 각 패킷에 첨부되며, 이 정보는 라우터가 패킷을 올바른 위치로 보내는 데 도움이 됩니다. 인터넷에 연결하는 모든 장치나 도메인에는 IP 주소가 할당되며, 패킷이 연결된 IP 주소로 전달되면 데이터가 필요한 곳에 도착합니다. 패킷이 목적지에 도착하면 IP와 함께 어떤 전송 프로토콜이 사용되는지에 따라 다르게 처리됩니다

    IP 프로토콜의 주요 특징은 다음과 같습니다:

    비연결형: IP는 연결 설정 없이 데이터를 전송합니다.
    비신뢰성: IP는 데이터의 정확성이나 순서를 보장하지 않습니다.
    패킷을 분할 / 병합하는 기능 수행 가능: 큰 데이터를 작은 패킷으로 나누거나 여러 패킷을 하나로 합칠 수 있습니다.
    Best Effort 원칙에 따라 전송: 최선의 노력으로 데이터를 전송하며, 보장된 전송은 아닙니다.
    IP 프로토콜은 인터넷 통신에서 핵심적인 역할을 담당하며, 데이터의 원활한 이동을 지원합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

76. 4개의 페이지를 수용할 수 있는 주기억장치가 있으며, 초기에는 모두 비어 있다고 가정한다. 다음의 순서로 페이지 참조가 발생할 때, LRU 페이지 교체 알고리즘을 사용할 경우 몇 번의 페이지 결함이 발생하는가?

  1. 5회
  2. 6회
  3. 7회
  4. 8회
(정답률: 41%)
  • LRU - Least Recently Used
    : 가장 오래 사용하지 않은 페이지 교체



    123124125
    111111111
    22222222
    3333335
    4444
    1234 5
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

77. 사용자 수준에서 지원되는 스레드(thread)가 커널에서 지원되는 스레드에 비해 가지는 장점으로 옳은 것은?

  1. 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
  2. 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
  3. 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
  4. 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
(정답률: 27%)
  • 사용자 수준에서 지원되는 스레드는 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어들어 시스템 성능을 높일 수 있다. 이는 스레드 간의 컨텍스트 전환에 필요한 시간과 자원을 줄여주기 때문이다. 따라서 "커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다."가 옳은 답이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

78. 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우의 결합도는?

  1. 내용 결합도(Content Coupling)
  2. 제어 결합도(Control Coupling)
  3. 공통 결합도(Common Coupling)
  4. 스탬프 결합도(Stamp Coupling)
(정답률: 47%)
  • 내용 결합도(Content Coupling)는 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 직접 참조하는 결합도이다. 즉, 모듈 간의 의존성이 매우 높아져서 한 모듈의 변경이 다른 모듈에 큰 영향을 미치게 된다. 이는 모듈의 재사용성과 유지보수성을 저하시키는 원인이 된다. 따라서 내용 결합도는 최대한 피해야 한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

79. a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)

  1. 14, 10
  2. 14, 14
  3. 18, 10
  4. 18, 14
(정답률: 35%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    문제 지문에 b가 없는데 설명이 약간 동문서답 같습니다.
  • 1. int a[] = {14, 22, 30, 38}로 4개의 배열이 선언 되어있다.

    2. 그 밑의 printf문을 보면 &a[2] 이므로 배열 a[2]의 주소값을 출력하게됨.
    (&가 붙지 않았다면 a[0] = 14, a[1] = 22, a[2] = 30, a[3] = 38 로 각 배열에 해당하는 수가 출력 되었을 것이다.)
    (참고로 &가 붙으면 해당 배열의 시작 주소값이 되고, &없다면 해당 배열의 숫자가 출력된다. &가 있고 없고는 천지차이인 셈)

    3. 그 아래의 printf문을 보면 배열로 선언된 a를 출력하라고 되어있는데 뒤의 배열 숫자를 빼고 a라고 출력하면 c언어에서는 암묵적으로 첫번째 배열인 a[0]의 주소값이 출력된다. (c언어에서의 규정임)

    4. 배열은 메모리상 일렬로 나열되게 되는데 int형 자료형은 메모리상 4byte를 차지한다. 고로 int형 배열 4개를 나열해보면 a[0],a[1],a[2],a[3]까지 4개 이므로 첫배열인 a[0]의 주소값을 10이라고 가정했을 때
    &a[0] = 10, &a[1] = 14, &a[2] = 18, &a[3] = 22 이 된다.
    (앞서 언급했지만 int형은 메모리상 4byte를 차지하므로 4가 더해짐.)
    (만약 double형이었다면 8byte를 차지하기에 8씩 더해졌을 것임.)

    5. 마지막으로 다시 printf문을 보면
    a[2]의 주소값은 18, a[0]의 주소값은 10
    이 되므로 정답은 3번이된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

80. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?

  1. 시스템을 모듈로 분할하면 각각의 모듈을 별개로 만들고 수정할 수 있기 때문에 좋은 구조가 된다.
  2. 응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
  3. 모듈 간의 결합도가 약해야 독립적인 모듈이 될 수 있다.
  4. 모듈 내 구성 요소들 간의 응집도가 강해야 좋은 모듈 설계이다.
(정답률: 36%)
  • "응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다."가 틀린 설명입니다. 응집도는 모듈 내부의 구성 요소들 간의 관련성 정도를 의미합니다. 즉, 모듈 내부의 요소들이 서로 밀접하게 연관되어 있는 정도를 나타냅니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

5과목: 정보시스템 구축관리

81. 소프트웨어 개발에서 정보보안 3요소에 해당 하지 않는 설명은?

  1. 기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능하다.
  2. 무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않는다.
  3. 가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능하다.
  4. 휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기 되어야 한다.
(정답률: 49%)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

82. 어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티는?

  1. tcp wrapper
  2. trace checker
  3. token finder
  4. change detector
(정답률: 30%)
  • "tcp wrapper"는 호스트 기반의 접근제어 유틸리티로, 외부 컴퓨터가 접속할 때 해당 호스트의 접근 권한을 확인하고 인가된 경우에만 접속을 허용합니다. 이를 위해 호스트 기반의 설정 파일을 사용하며, 이 파일에는 접근을 허용할 호스트나 네트워크의 IP 주소 등을 등록할 수 있습니다. 따라서 "tcp wrapper"는 외부로부터의 접근을 제어하고 보안을 강화하는 데에 유용한 도구입니다.
  • Tcp/ip 통신에서, tcp는 3-way handshake 를 통해 통신이 원 활히 이뤄질 수 있는지를 확인
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

83. 기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10㎝ 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접무선통신(NFC : Near Field Communication) 기술은?

  1. BcN(Broadband Convergence Network)
  2. Zing
  3. Marine Navi
  4. C-V2X(Cellular Vehicle To Everything)
(정답률: 28%)
  • NFC 기술은 "Zing"이라는 이름으로 불리는데, 이는 기기를 간편하게 연결하고 데이터를 빠르게 전송할 수 있는 쾌적한 사용 경험을 제공하기 때문입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

84. 취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?

  1. 서버 관리실 출입 통제
  2. 실행 프로세스 권한 설정
  3. 운영체제의 접근 제한
  4. 운영체제의 정보 수집 제한
(정답률: 47%)
  • "서버 관리실 출입 통제"는 물리적인 보안 요소로서, 응용 프로그램의 보안 설정과는 직접적인 연관성이 없습니다. 즉, 응용 프로그램의 보안 설정은 주로 소프트웨어적인 측면에서의 보안을 강화하는 것이며, "서버 관리실 출입 통제"는 물리적인 접근 제어를 통해 보안을 강화하는 것입니다. 따라서, 이 중에서 가장 거리가 먼 것은 "서버 관리실 출입 통제"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

85. 소프트웨어 개발 프레임워크와 관련한 설명으로 가장 적절하지 않은 것은?

  1. 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
  2. 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
  3. 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
  4. 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
(정답률: 30%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

86. 클라우드 기반 HSM(Cloud-based Hardware Security Module)에 대한 설명으로 틀린 것은?

  1. 클라우드(데이터센터) 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기이다.
  2. 국내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장하였다.
  3. 클라우드에 인증서를 저장하므로 기존 HSM 기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.
  4. 하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다.
(정답률: 45%)
  • "하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다."가 틀린 것이다. 클라우드 기반 HSM은 하드웨어와 소프트웨어의 조합으로 구현되며, 소프트웨어적인 부분은 보안 취약점을 해결하기 위해 엄격한 보안 검증과 테스트를 거쳐 개발된다. 따라서 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 있다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

87. 다음 내용이 설명하는 기술로 가장 적절한 것은?

  1. Virtual Local Area Network
  2. Simple Station Network
  3. Mesh Network
  4. Modem Network
(정답률: 48%)
  • 위 그림은 Mesh Network를 나타내고 있습니다. Mesh Network는 여러 개의 노드들이 서로 연결되어 있는 네트워크입니다. 각 노드는 다른 노드와 직접적으로 연결되어 있어서, 한 노드가 고장나더라도 다른 노드들과 통신이 가능합니다. 이러한 구조로 인해 Mesh Network는 높은 신뢰성과 안정성을 가지고 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

88. 물리적 위협으로 인한 문제에 해당하지 않는 것은?

  1. 화재, 홍수 등 천재지변으로 인한 위협
  2. 하드웨어 파손, 고장으로 인한 장애
  3. 방화, 테러로 인한 하드웨어와 기록장치를 물리적으로 파괴하는 행위
  4. 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협
(정답률: 57%)
  • 방화벽 설정의 잘못된 조작은 물리적인 파괴나 장애가 아니라, 네트워크와 서버의 보안에 직접적인 영향을 미치는 디지털적인 위협이기 때문에, 물리적 위협으로 분류되지 않는다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

89. 악성코드의 유형 중 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식하는 것은?

  1. Worm
  2. Rogue Ware
  3. Adware
  4. Reflection Attack
(정답률: 52%)
  • "Worm"은 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로 전파되며 스스로를 증식하는 악성코드의 유형이다. 따라서 위의 보기 중 "Worm"이 정답이다. "Rogue Ware"는 가짜 보안 소프트웨어를 설치하여 사용자를 속이는 악성코드, "Adware"는 광고를 노출시키는 악성코드, "Reflection Attack"는 DDoS 공격에 사용되는 기술이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

90. 다음 설명에 해 당하는 공격기법은?

  1. Ping of Death
  2. Session Hijacking
  3. Piggyback Attack
  4. XSS
(정답률: 48%)
  • 이 공격기법은 "Ping of Death"이다. 이유는 ICMP 패킷을 이용하여 대상 시스템에 과도한 크기의 패킷을 보내 크래시를 유발하는 공격이기 때문이다. ICMP 패킷은 일반적으로 64바이트 이하의 크기를 가지지만, 이 공격에서는 65,535바이트의 크기를 가진 패킷을 보내 크래시를 유발한다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

91. 다음 설명에 해당하는 소프트웨어는?

  1. 전역 함수 라이브러리
  2. 소프트웨어 개발 프레임워크
  3. 컨테이너 아키텍처
  4. 어휘 분석기
(정답률: 50%)
  • 이미지에서 보이는 것은 소프트웨어 개발 프레임워크인 React입니다. React는 UI를 만들기 위한 자바스크립트 라이브러리로, 컴포넌트 기반으로 구성되어 있습니다. 따라서 React는 전역 함수 라이브러리나 어휘 분석기와 같은 것이 아니라, 소프트웨어 개발 프레임워크입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

92. 소프트웨어 개발 방법론 중 애자일(Agile) 방법론의 특징과 가장 거리가 먼 것은?

  1. 각 단계의 결과가 완전히 확인된 후 다음 단계 진행
  2. 소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
  3. 환경 변화에 대한 즉시 대응
  4. 프로젝트 상황에 따른 주기적 조정
(정답률: 55%)
  • 애자일 방법론은 소프트웨어 개발에 참여하는 구성원들 간의 의사소통을 중시하며, 환경 변화에 대한 즉시 대응과 프로젝트 상황에 따른 주기적 조정을 특징으로 합니다. 따라서 "각 단계의 결과가 완전히 확인된 후 다음 단계 진행"은 애자일 방법론과 가장 거리가 먼 특징입니다. 애자일 방법론은 반복적인 개발 주기를 통해 빠르게 결과물을 도출하고, 이를 기반으로 지속적으로 개선해 나가는 방식을 취하기 때문에 각 단계의 결과물이 완전히 확인된 후 다음 단계를 진행하는 전통적인 개발 방법론과는 차이가 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

93. 대칭 암호 알고리즘과 비대칭 암호 알고리즘에 대한 설명으로 틀린 것은?

  1. 대칭 암호 알고리즘은 비교적 실행 속도가 빠르기 때문에 다양한 암호의 핵심 함수로 사용될 수 있다.
  2. 대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
  3. 비대칭 암호 알고리즘은 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용이 가능하다.
  4. 대표적인 대칭키 암호 알고리즘으로는 AES, IDEA 등이 있다.
(정답률: 23%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • 대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요합니다. 이 알고리즘에서는 암호화와 복호화에 같은 비밀키를 사용하며, 이 키를 송신자와 수신자가 안전하게 공유해야 합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

94. 두 명의 개발자가 5개월에 걸쳐 10000 라인의 코드를 개발하였을 때, 월별(man-month) 생산성 측정을 위한 계산 방식으로 가장 적합한 것은?

  1. 10000/2
  2. 10000/(5×2)
  3. 10000/5
  4. (2×10000)/5
(정답률: 55%)
  • 월별 생산성 측정을 위해서는 개발 기간을 개발자 수로 나누어야 합니다. 따라서, 5개월 동안 2명의 개발자가 일했으므로, 월별 생산성은 10000 라인의 코드를 (5×2) = 10명의 개발자가 개발한 것과 동일하다고 가정할 수 있습니다. 따라서, 월별 생산성은 10000/(5×2)가 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

95. 접근 통제 방법 중 조직 내에서 직무, 직책 등 개인의 역할에 따라 결정하여 부여하는 접근 정책은?

  1. RBAC
  2. DAC
  3. MAC
  4. QAC
(정답률: 32%)
  • RBAC은 Role-Based Access Control의 약자로, 조직 내에서 각 개인의 역할에 따라 접근 권한을 부여하는 방식입니다. 즉, 개인의 신분이나 소속 부서 등이 아닌, 그들이 수행하는 역할에 따라 접근 권한이 결정됩니다. 이는 보안성을 높이고, 권한 관리를 용이하게 하며, 규모가 큰 조직에서 특히 효과적입니다. 따라서 RBAC이 조직 내에서 직무, 직책 등 개인의 역할에 따라 결정하여 부여하는 접근 정책이라고 할 수 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

96. COCOMO(Constructive Cost Model) 모형의 특징이 아닌 것은?

  1. 프로젝트를 완성하는데 필요한 man-month로 산정 결과를 나타낼 수 있다.
  2. 보헴(Boehm)이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법이다.
  3. 비교적 작은 규모의 프로젝트 기록을 통계 분석하여 얻은 결과를 반영한 모델이며 중소 규모 소프트웨어 프로젝트 비용 추정에 적합하다.
  4. 프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
(정답률: 34%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

97. 각 사용자 인증의 유형에 대한 설명으로 가장 적절하지 않은 것은?

  1. 지식 : 주체는 '그가 알고 있는 것'을 보여주며 예시로는 패스워드, PIN 등이 있다.
  2. 소유 : 주체는 '그가 가지고 있는 것'을 보여주며 예시로는 토큰, 스마트카드 등이 있다.
  3. 존재 : 주체는 '그를 대체하는 것'을 보여주며 예시로는 패턴, QR 등이 있다.
  4. 행위 : 주체는 '그가 하는 것'을 보여주며 예시로는 서명, 움직임, 음성 등이 있다.
(정답률: 52%)
  • "존재 : 주체는 '그를 대체하는 것'을 보여주며 예시로는 패턴, QR 등이 있다."가 가장 적절하지 않은 설명이다. 이유는 패턴, QR 등은 주체를 대체하는 것이 아니라 주체의 소유물이나 지식을 나타내는 것이기 때문이다. 따라서 이 설명은 "소유"나 "지식"에 더 적절하다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

98. 시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?

  1. Aging
  2. Accounting
  3. Authorization
  4. Authentication
(정답률: 31%)
  • 이 과정은 사용자가 자신의 신원을 증명하고 인증받는 과정으로, "Authentication"에 해당한다.
  • Authorization 권한부여
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

99. 다음에서 설명하는 IT 기술은?

  1. SDN(Software Defined Networking)
  2. NFS(Network File System)
  3. Network Mapper
  4. AOE Network
(정답률: 37%)
  • 위 그림은 SDN(Software Defined Networking)의 구조를 나타내고 있습니다. SDN은 네트워크 제어와 데이터 전송을 분리하여 네트워크를 소프트웨어로 관리하는 기술입니다. 이를 통해 네트워크 관리자는 네트워크를 더욱 유연하게 제어할 수 있으며, 네트워크의 구성과 관리가 용이해집니다. NFS(Network File System), Network Mapper, AOE Network는 모두 다른 네트워크 기술입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

100. 프로젝트 일정 관리 시 사용하는 PERT 차트에 대한 설명에 해당하는 것은?

  1. 각 작업들이 언제 시작하고 언제 종료되는지에 대한 일정을 막대 도표를 이용하여 표시한다.
  2. 시간선(Time-line) 차트라고도 한다.
  3. 수평 막대의 길이는 각 작업의 기간을 나타낸다.
  4. 작업들 간의 상호 관련성, 결정경로, 경계시간, 자원할당 등을 제시한다.
(정답률: 34%)
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

목록 다음회차 >