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

정보처리기사 2022-04-24 필기 기출문제 해설

이 페이지는 정보처리기사 2022-04-24 기출문제를 CBT 방식으로 풀이하고 정답 및 회원들의 상세 해설을 확인할 수 있는 페이지입니다.

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

목록

1과목: 소프트웨어 설계

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

  1. 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
  2. 주로 시스템의 정적 측면을 모델링하기 위해 사용한다.
  3. 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
  4. 회귀 메시지(Self-Message), 제어블록(Statement block) 등으로 구성된다.
(정답률: 75%)
  • 순차 다이어그램(Sequence Diagram)은 객체 간의 상호작용을 시간 흐름에 따라 표현하는 대표적인 동적 모델링 다이어그램입니다. 따라서 정적 측면을 모델링한다는 설명은 틀린 것입니다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
  2. 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
  3. 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
  4. 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
(정답률: 60%)
  • MOM(Message Oriented Middleware)
    - 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨 어이다.
    - 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동 기를 위해 많이 사용한다.

    MOM(Message Oriented Middleware)은 즉각적인 응답을 원 하는 경우가 아니라 다소 느리고 안정적인 응답을 필요로 하 는 경우에 많이 사용됩니다.
  • 메시지 지향 미들웨어(MOM)는 비동기 방식으로 메시지를 전달하므로, 즉각적인 응답이 필요한 온라인 업무보다는 다소 느리더라도 안정적인 응답이 필요한 이기종 분산 시스템의 데이터 동기화 등에 적합합니다.
  • MOM(Message Oriented Middleware)
    - 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어이다.
    - 온라인 업무보다는 이기종 분산 데이터 시스템의 데이터 동기를 위해 많이 사용한다.
    [해설작성자 : 두목넷]

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

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

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

  1. 대표적인 구조적 방법론 중 하나이다.
  2. 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
  3. 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어 올리는 것이다.
  4. 구체적인 실천 방법을 정의하고 있으며, 개발 문서 보다는 소스코드에 중점을 둔다.
(정답률: 61%)
  • 익스트림 프로그래밍(XP)은 변화에 유연하게 대응하고 반복적인 개발을 강조하는 대표적인 애자일(Agile) 방법론입니다. 계획 중심의 접근 방식을 취하는 구조적 방법론과는 성격이 완전히 다릅니다.
  • 구조적 방법론이 아니라 애자일 방법론 중 하나이다.
    [해설작성자 : 지나가는 행인]

    구조적 방법론은 계획 중심의 접근 방식을 따르는 반면, 익스트림 프로그래밍은 반복적이고 점진적인 개발을 강조하여 변화에 유연하게 대응할 수 있도록 설계된 방법론으로 차이가 있다.
profile_image
1

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

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

  1. 연관
  2. 확장
  3. 구체화
  4. 일반화
(정답률: 51%)
  • 유스케이스 다이어그램의 관계는 연관, 포함, 확장, 일반화의 4가지로 구성됩니다. 구체화는 유스케이스 관계가 아니라 일반적인 UML 관계(실체화)에 해당하며, 요구 사항을 설계나 구현으로 전환하는 과정에서 사용됩니다.

    오답 노트

    연관: 액터와 유스케이스 간의 상호작용 표현
    확장: 기본 유스케이스에 추가 기능을 제공하는 관계
    일반화: 유사한 유스케이스나 액터를 추상화하여 그룹화하는 상속 관계
  • 유스케이스(Use Case)의 구성 요소 간의 관계
    - 연관관계(Association) : 유스케이스와 액터간의 상호작용이 있음을 표현한다.
    - 포함 관계(Include): 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 형성되는 관계이다.
    - 확장 관계(Extend): 확장 기능 유스케이스와 확장 대상 유스케이스 사이에 형성 되는 관계이다.
    - 일반화 관계(Generalization) : 유사한 유스케이스 또는 액터를 모아 추상화한 유스케이스 또는 액터와 연결시켜 그룹을 만들어 이해도를 높이기 위한 관계이다.
    [해설작성자 : 두목넷]

    - 연관 (Association) : 유스케이스와 액터 간의 연결을 나타내며, 액터가 유스케이스를 사용하는 방식을 표시합니다.
    - 확장 (Extend) : 하나의 유스케이스가 다른 유스케이스의 기능을 확장할 수 있도록 하는 관계입니다. 확장되는 유스케이스는 추가적인 기능을 제공할 수 있지만, 기본 유스케이스 없이는 독립적으로 실행되지 않습니다.
    - 구체화 (Realization) : 보통 유스케이스에서는 사용되지 않으며, 보다 일반적으로 소프트웨어에서 요구 사항이나 개념을 구체적인 설계나 구현으로 전환하는 과정을 설명할 때 사용됩니다.
    - 일반화 (Generalization) : 한 유스케이스가 다른 유스케이스의 특수 형태인 경우, 이 관계를 사용하여 표현합니다. 기본적으로 '상속' 관계와 유사하며, 일반 유스케이스의 기능을 확장하거나 재정의합니다.
    [해설작성자 : 노작가]

    UML 구성요소
    * 4 사물(구조,행동,그룹,주해)
    * 6 관계(연관vs의존,집합vs포함, 일반화vs실체화)
    * 13 다이어그램 (6개 구조다이그램, 7개 행위 다이어그램)
    ** 6 구조 UML 다이어그램 (클래스, 객체, 컴포넌트, 배치, 복합구조, 패키지)
    ** 7 행위 UML 다이어그램 (유스케이스, 시퀀스(순차), 커뮤니케이션, 스테이트(상태), 액티비티(활동) 상호작용개요, 타이밍)

    이 중 클래스, 유스케이스, 시퀀스에 대해 자세히 알아야됨

    ^^^ 이 문제의 유스케이스 관계에 대한 요약은 상기 내용 보시면 됨 **
    유스케이스 다이어그램의 구성요소 : 시스템범위, 액터, 유스케이스, 관계
    유스케이스 다이어그램 관계 종류 : 연관, 포함, 확장, 일반화 4가지 ... UML 구성요소인 관계와 헷가리면 안됨
  • 주요 uml다이어그램들의 관계들 (암기하기!)
    유스케이스 다이어그램 - 연관 , 포함, 일반화, 확장
    클래스 다이어그램 - 연관, 포함, 일반화, 집합
    순차 다이어그램 - 관계X , 대신 구성요소 : 액터, 객체, 생명선, 실행상자, 메시지
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

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

    시스템이 "어떻게" 동작해야 하는지를 설명하는 요구사항입니다
    쉽게 말해 "성능, 안정성, 보안" 등 시스템의 품질과 관련된 요구사항입니다
  • 비기능적 요구사항은 시스템이 무엇을 하는가가 아니라, 어떻게 동작해야 하는지에 대한 성능, 보안, 품질, 안정성 등의 제약 조건을 의미합니다. 따라서 '모든 화면이 3초 이내에 보여야 한다'는 성능 관련 요구이므로 비기능적 요구에 해당합니다.

    오답 노트

    처리량, 반응 시간, 안전, 보안: 비기능적 요구에 해당함
    조회, 인출, 입금, 송금 기능: 기능적 요구에 해당함
profile_image
1

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

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

  1. Package Diagram
  2. State Transition Diagram
  3. Deployment Diagram
  4. Entity-Relationship Diagram
(정답률: 75%)
  • 정보공학 방법론에서는 데이터베이스 설계 시 개체(Entity)와 그들 간의 관계(Relationship)를 정의하는 Entity-Relationship Diagram(ERD)을 모델링 언어로 사용합니다.

    오답 노트

    Package Diagram, State Transition Diagram, Deployment Diagram: 모두 UML 다이어그램의 종류입니다.
profile_image
1

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

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

  1. 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
  2. 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
  3. 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
  4. 여러 컴포넌트를 1대 1, 1대 다, 다대 다 등 여러 가지 형태로 연결이 가능하다.
(정답률: 74%)
  • 사용자가 미들웨어의 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있다면, 보안의 위협이 될 수 있으므로 확인할 수 없도록 해야함
  • 미들웨어는 서로 다른 시스템 간의 표준화된 연결을 돕는 소프트웨어로, 사용자는 제공되는 인터페이스를 통해 서비스를 이용할 뿐 내부의 복잡한 정보 교환 방법이나 동작 과정을 알 필요가 없으며, 보안상 이를 숨기는 것이 일반적입니다.
profile_image
1

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

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

  1. 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
  2. 주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
  3. 치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
  4. 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
(정답률: 89%)
  • UI 설계 시 사용자가 시스템의 상태를 정확히 파악하고 오류를 해결할 수 있도록, 치명적인 오류에 대한 부정적인 사항을 사용자가 명확하게 인지할 수 있도록 설계해야 합니다.
profile_image
1

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

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

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

    오버라이딩 - 상속관계에서만 발생. 슈퍼클래스의 메서드를 서브클래스에서도 동일한 메서드를 재정의 하는 것
  • 메소드 오버로딩(Overloading)은 한 클래스 내에서 메소드 이름은 동일하게 유지하되, 매개변수의 수나 타입을 다르게 하여 여러 개를 정의하는 기술입니다. 따라서 메소드명을 다르게 한다는 설명은 틀린 내용입니다.

    오답 노트

    메소드 오버라이딩(Overriding): 상속 관계에서 부모 클래스의 메소드를 자식 클래스에서 재정의하는 것
  • 오버로딩 - 한 클래스 내에서 메서드의 이름은 동일하지만 매개변수의 수나 타입을 다르게 하여 재정의 하는 것
    오버라이딩 - 상속관계에서만 발생. 슈퍼클래스의 메서드를 서브클래스에서도 동일한 메서드를 재정의 하는 것
    [해설작성자 : 칼방이]

    오버로딩 • 함수명 같음. 리턴타입 관계없음. 매개변수타입 & 개수 다름
profile_image
1

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

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

  1. 기능(Function)
  2. 성능(Performance)
  3. 제약 조건(Constraint)
  4. 인터페이스(Interface)
(정답률: 73%)
  • 제시된 이미지 의 내용은 소프트웨어와 하드웨어, 또는 기존 소프트웨어와 새로운 소프트웨어를 서로 연결하고 이어주는 접속 장치에 관한 설명이므로 인터페이스(Interface)에 해당합니다.
profile_image
1

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

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

  1. 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
  2. 객체는 공통 속성을 공유하는 클래스들의 집합이다.
  3. 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
  4. 객체의 상태는 속성값에 의해 정의된다.
(정답률: 69%)
  • 객체는 클래스라는 틀을 통해 생성된 실체이며, 상태와 동작을 가진 독립적인 존재입니다. 반대로 클래스가 공통 속성을 공유하는 객체들의 집합(틀)이라고 정의해야 옳습니다.
profile_image
1

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

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

  1. Inheritance
  2. Class
  3. Encapsulation
  4. Association
(정답률: 59%)
  • 상속(Inheritance) : 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스(자식 클래스)가 물려받는 것

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

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

    연관관계 (Association) : 2개 이상의 사물이 서로 관련되어 있음을 표현한다
  • 캡슐화(Encapsulation)는 서로 관련성이 높은 데이터(속성)와 이를 처리하는 연산(메서드)을 하나의 클래스 안에 묶어 관리하는 객체지향의 핵심 개념입니다.

    오답 노트

    Inheritance: 상위 클래스의 속성과 연산을 하위 클래스가 물려받는 것
    Class: 유사한 객체들을 묶어 정의한 틀
    Association: 두 개 이상의 사물 간의 관계를 표현하는 것
profile_image
1

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

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

  1. 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
  2. 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.
  3. 협상과 계약보다는 고객과의 협력을 중시한다.
  4. 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.
(정답률: 80%)
  • 애자일(Agile) 프로세스는 상세한 계획을 고수하기보다 고객의 요구사항 변화에 민첩하게 대응하는 것을 최우선 가치로 삼습니다.
profile_image
1

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

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

  1. Model
  2. Sheet
  3. Component
  4. Cell
(정답률: 72%)
  • Component는 특정 기능을 수행하기 위해 독립적으로 분리되어 재사용이 가능한 소프트웨어 모듈로, 외부에서는 인터페이스를 통해서만 접근할 수 있는 단위입니다.
profile_image
1

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

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

  1. Adapter 패턴
  2. Bridge 패턴
  3. Builder 패턴
  4. Proxy 패턴
(정답률: 59%)
  • 생성패턴 : 객체를 생성하는 것에 대한 패턴
    - 추상 팩토리 패턴(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)
  • Builder 패턴은 객체 생성 과정에 집중하는 생성 패턴에 해당합니다.

    오답 노트

    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
(정답률: 75%)
  • Feedback은 시스템의 처리 결과나 상태를 사용자에게 알려주어, 사용자가 자신의 명령이 어떻게 진행되고 있는지 해석하고 확인할 수 있도록 돕는 요소입니다.
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)
(정답률: 72%)
  • NUI(Natural User Interface)는 사용자의 말, 터치, 제스처 등 자연스러운 행동을 통해 시스템과 상호작용하는 인터페이스입니다.

    오답 노트

    CLI: 텍스트 기반 인터페이스
    GUI: 그래픽 기반 인터페이스
    OUI: 모든 사물과 사용자 간의 상호작용 인터페이스
profile_image
1

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

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

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

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

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

  1. 시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
  2. 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
  3. 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
  4. 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
(정답률: 60%)
  • 액터는 시스템과 상호작용하는 모든 외부 요소를 의미하며, 여기에는 사람뿐만 아니라 외부 시스템, 기계 등이 모두 포함됩니다. 따라서 시스템과 상호작용하는 외부 시스템도 액터로 파악해야 합니다.
  • 액터: 시스템과 상호작용하는 모든 것(사람, 기계, 시스템 등)

    액터:시스템과 상호작용하는 모든 외부요소로, 사람이나 외부시스템을 의미함
profile_image
1

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

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

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

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

    전달자 역할은 모델(Model)이 아닌 제어(Controller)이다.
  • 모델은 서브시스템의 핵심 기능과 데이터를 보관하는 역할이며, 뷰와 모델 사이에서 전달자 역할을 수행하는 것은 제어(Controller)입니다. 또한, 하나의 모델에 대해 여러 개의 뷰를 생성하여 연결할 수 있습니다.
  • 한 개의 모델에 대해 여러 개의 뷰를 만들 수 있음

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

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



    제어(controller)는 뷰(view)와 모델(model)사이에서 전달자 역할을 수행한다.
profile_image
1

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

2과목: 소프트웨어 개발

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

  1. 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
  2. 하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
  3. 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
  4. 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
(정답률: 61%)
  • 상향식 통합 테스트는 시스템 구조도의 최하위 모듈부터 상위 모듈 방향으로 통합하며 테스트하는 방식입니다. 최상위 모듈을 먼저 구현하고 테스트하는 방식은 하향식 통합 테스트에 해당합니다.
  • 상향식 통합 테스트 (Bottom Up Integration Test)
    - 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합
    - 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(Cluster)필요
    하향식 통합 테스트 (Top Down Integration Test)
    - 상위 모듈에서 하위 모듈 방향으로 통합
    - 깊이 우선 통합법, 넓이 우선 통합법 사용
    - 초기부터 사용자에게 시스템 구조를 보여줌
    [해설작성자 : 전자공학도]

    상향식 테스트 : 드라이버(Driver) 이용(하위 모듈 호출, 매개변수 전달, 테스트 후 결과 도출)
    하향식 테스트 : 스텁(Stub) 이용(모듈 기능만 수행)

    2. 하향식 통합 테스트의 경우는 깊이 우선 방식이다.
profile_image
1

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

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

  1. 2
  2. 3
  3. 4
  4. 5
(정답률: 52%)
  • 1. 1~15까지의 수열이 있을 때 중간 값인 8을 선택 => 이후 수열은 8~15
    2. 8~15까지의 수열이 있을 때 중간 값인 12를 선택 => 이후 수열은 12~15
    3. 12~15까지의 수열이 있을 때 중간 값인 14를 선택 => Target인 14를 선택했으니 종료(총 3회 비교)

    Tip: 12~15의 경우 4개의 수(총 수가 짝수)가 있어서 중간값이 13인지 14인지 헷갈린다면 +1(반올림)을 해주면 된다.
  • 정렬된 배열에서 중간 인덱스의 값과 타겟 값을 비교하여 탐색 범위를 절반씩 좁혀가는 이진 검색 원리를 이용합니다.
    ① [기본 공식]
    $$mid = \frac{low + high}{2}$$
    ② [숫자 대입]
    1회차: $mid = \frac{0 + 14}{2} = 7 \rightarrow arr[7] = 8$ (14 > 8 이므로 오른쪽 탐색)
    2회차: $mid = \frac{8 + 14}{2} = 11 \rightarrow arr[11] = 12$ (14 > 12 이므로 오른쪽 탐색)
    3회차: $mid = \frac{12 + 14}{2} = 13 \rightarrow arr[13] = 14$ (찾음)
    ③ [최종 결과]
    $$Count = 3$$
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
  2. 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
  3. 인스펙션(Inspection)과 동일한 의미를 가진다.
  4. 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
(정답률: 60%)
  • 워크스루는 작성자가 주도하여 검토 회의를 통해 결함을 발견하는 방식인 반면, 인스펙션은 작성자를 제외한 전문가들이 엄격한 절차에 따라 검토하는 방식이므로 두 개념은 서로 다릅니다.
  • 워크스루: 요구사항 명세서 작성자를 포함하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견
    인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견.
profile_image
1

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

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

  1. 복호화
  2. 형상관리
  3. 저작권
  4. 크랙
(정답률: 82%)
  • 소프트웨어 개발 과정에서 발생하는 변경사항을 체계적으로 관리하는 활동을 형상관리라고 합니다.

    오답 노트

    복호화: 암호화된 데이터를 원래 형태로 되돌리는 것
    저작권: 창작물에 대해 가지는 법적 권리
    크랙: 소프트웨어의 보호 기능을 강제로 제거하는 행위
profile_image
1

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

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

  1. 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
  2. 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
  3. 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
  4. 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
(정답률: 57%)
  • 테스트 케이스는 구현된 소프트웨어가 요구사항을 준수하는지 확인하기 위한 명세서입니다. 따라서 반드시 테스트의 목표와 테스트 방법을 먼저 결정한 후에 테스트 케이스를 작성해야 합니다.
  • 테스트케이스(Test Case)
    - 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서를 의미한다.
    - 테스트의 목표 및 테스트 방법을 결정하고 테스트 케이스를 작성해야 한다.
profile_image
1

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

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

  1. 객체(Object)란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
  2. JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 '공개'이다.
  3. 상속(Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
  4. 같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다.
(정답률: 81%)
  • JAVA의 정보은닉을 위한 private 접근 제어자는 외부 클래스에서 내부 정보에 접근하지 못하도록 제한하는 '접근 금지'를 의미합니다.
profile_image
1

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

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

  1. 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
  2. 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
  3. 클리어링 하우스(Clearing House)는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
  4. 원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.
(정답률: 77%)
  • DRM(Digital Rights Management)은 디지털 콘텐츠의 지적재산권을 보호하고 안전한 유통과 배포를 보장하기 위한 솔루션입니다. 따라서 전자적 보안을 통해 불법 유통과 복제를 방지하는 것이 핵심 목적입니다.
  • DRM(Digital Right Management)
    - 디지털 콘텐트의 지적재산권보호, 관리 기능 및 안전한 유통과 배포를 보장하는 솔루션이다.
    - 디지털 콘텐트의 지적재산권을 보호하는 권한통제기술, 사용권한제어 기술, 패키징 기술, 라이선스 관리를 포함한 유통체계이다.
    - 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
profile_image
1

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

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

  1. 위험을 이해하는 것
  2. 첫 번째 조치로 위험을 피할 수 있도록 하는 것
  3. 위험 발생 후 즉시 조치하는 것
  4. 위험 요소 징후들에 대하여 계속적으로 인지하는 것
(정답률: 73%)
  • 위험 모니터링은 프로젝트 진행 과정에서 발생할 수 있는 위험 요소의 징후들을 지속적으로 관찰하고 인지하여 적절한 대응 시점을 파악하는 활동을 의미합니다.
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)
(정답률: 51%)
  • RCS(Revision Control System)는 파일 잠금 방식을 통해 다수의 사용자가 동시에 파일을 수정하는 것을 방지하며, 변경 이력 추적 및 개발 결과의 병합이 가능한 버전 관리 도구입니다.

    오답 노트

    RPC: 원격지의 함수나 프로시저를 호출하는 통신 프로토콜
    RTS: 신뢰성 있는 데이터 전송 서비스를 제공하는 프로토콜
profile_image
1

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

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

  1. 화이트박스 테스트의 이해를 위해 논리흐름도(Logic-Flow Diagram)를 이용할 수 있다.
  2. 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
  3. 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
  4. 테스트 데이터를 선택하기 위하여 검증기준(Test Coverage)을 정한다.
(정답률: 65%)
  • 프로그램 구조를 고려하지 않는 것은 == 블랙박스 테스 트
  • 화이트박스 테스트는 프로그램의 내부 구조와 로직을 직접 분석하여 테스트 케이스를 설계하는 방식입니다. 따라서 프로그램의 구조를 고려하지 않고 명세를 기초로 결정한다는 설명은 화이트박스 테스트가 아닌 블랙박스 테스트에 대한 설명입니다.
  • 화이트박스 테스트는 정적 분석뿐만 아니라 동적 분석에도 사용될 수 있습니다. 정적 분석에서는 코드를 실행하지 않고 검토하여 문제점을 찾지만, 동적 분석에서는 실제로 코드를 실행시켜 테스트를 진행합니다. 화이트박스 테스트의 경우, 프로그램의 내부 구조를 알고 있는 상태에서 테스트를 진행하기 때문에, 로직 흐름도를 이용하여 로직 검증을 할 수 있고, 동적 테스트를 통해 실제 실행 중인 프로그램의 동작을 검증할 수도 있습니다.

    제시된 문제에서 언급된 "프로그램의 구조를 고려하지 않고 때때로 테스트 케이스는 프로그램 코드 또는 모듈의 우연한 면을 기준으로 결정한다"는 주장은 화이트박스 테스트에 부합하지 않습니다. 화이트박스 테스트는 프로그램의 내부 구조에 기반하여 체계적으로 테스트 케이스를 설계하기 때문에 우연한 면을 기준으로 테스트 케이스를 설계하지 않습니다.
profile_image
1

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

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

  1. 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
  2. 검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
  3. 정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
  4. 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
(정답률: 64%)
  • 선형 검색 - 처음부터 끝까지 하나씩 순서대로 비교하며 원하 는 값을 찾아내는 검색

    이진검색 - 검색을 수행하기 전에 반드시 데이터의 집합이 정 렬되어 있어야 한다
  • 선형 검색(Linear Search)은 데이터의 정렬 여부와 상관없이 처음부터 끝까지 하나씩 순서대로 비교하며 찾는 방식입니다.

    오답 노트

    반드시 데이터가 정렬되어 있어야 하는 검색 알고리즘은 이진 검색(Binary Search)입니다.
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
(정답률: 60%)
  • 버블 정렬은 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 과정을 반복하며, PASS 1이 끝나면 가장 큰 값이 맨 뒤로 이동합니다.
    대상 데이터: (9, 6, 7, 3, 5)
    1. 9와 6 비교 $\rightarrow$ (6, 9, 7, 3, 5)
    2. 9와 7 비교 $\rightarrow$ (6, 7, 9, 3, 5)
    3. 9와 3 비교 $\rightarrow$ (6, 7, 3, 9, 5)
    4. 9와 5 비교 $\rightarrow$ (6, 7, 3, 5, 9)
    최종 결과: 6, 7, 3, 5, 9
  • PASS 1 과정
    9 vs 6 → 9 > 6 → 교환 → 6, 9, 7, 3, 5
    9 vs 7 → 9 > 7 → 교환 → 6, 7, 9, 3, 5
    9 vs 3 → 9 > 3 → 교환 → 6, 7, 3, 9, 5
    9 vs 5 → 9 > 5 → 교환 → 6, 7, 3, 5, 9
    PASS 1 결과
    6, 7, 3, 5, 9
    가장 큰 값인 9가 맨 뒤로 이동했죠.
profile_image
1

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

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

  1. (가) - ㉡, (나) - ㉢
  2. (나) - ㉠, (다) - ㉢
  3. (다) - ㉢, (라) - ㉤
  4. (라) - ㉣, (마) - ㉢
(정답률: 53%)
  • 가 - 사전교육
    나 - 준비
    다 - 인스펙션 회의
    라 - 수정
    마 - 후속조치
  • 인스펙션(Inspection)의 표준 절차는 계획 $\rightarrow$ 사전 교육 $\rightarrow$ 준비 $\rightarrow$ 인스펙션 회의 $\rightarrow$ 수정 $\rightarrow$ 후속조치 순으로 진행됩니다.
    따라서 (가)는 사전 교육, (나)는 준비, (다)는 인스펙션 회의, (라)는 수정, (마)는 후속조치에 해당합니다.
    제시된 이미지 의 흐름과 일치하는 것은 (나) - 준비, (다) - 인스펙션 회의입니다.
  • 가 - 사전교육
    나 - 준비
    다 - 인스펙션 회의
    라 - 수정
    마 - 후속조치
profile_image
1

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

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

  1. Refactoring
  2. Architecting
  3. Specification
  4. Renewal
(정답률: 73%)
  • 리팩토링(Refactoring)은 소프트웨어의 겉으로 보이는 동작(외부 기능)은 그대로 유지하면서, 내부 구조를 개선하여 코드의 가독성을 높이고 유지보수 비용을 줄이는 과정입니다.

    오답 노트

    Architecting: 시스템의 전체적인 구조를 설계하는 것
    Specification: 요구사항을 명확히 정의한 명세서
    Renewal: 기존 시스템을 완전히 새롭게 교체하는 유지보수
  • 1. Refactoring - 코드의 구조 재조정
    2. Architecting - 설계관련
    3. Specification - 명세서
    4. Renewal - 유지보수
    ※ 리팩토링과 유지보수는 다른 개념이다.
profile_image
1

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

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

  1. 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
  2. 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
  3. 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
  4. 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
(정답률: 52%)
  • 필요 데이터를 인자를 통해 넘겨주고 테스트 완료 후 그 결과값을 받는 가상의 모듈은 테스트 드라이버(Test Driver)입니다.
    반면, 테스트 스텁(Stub)은 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 하위 모듈 역할을 합니다.
  • 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 드라이버(test driver)라고 한다. 반대로 테스트 스텁(test stub)은 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할을 한다.
  • - 테스트 드라이버(test driver)
    필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결 과값을 받는 역할을 하는 가상의 모듈

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

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

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

  1. Coding - 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
  2. Compile - 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
  3. Debugging - 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
  4. Deployment - 소프트웨어를 최종 사용자에게 전달하기 위한 기능
(정답률: 67%)
  • 컴파일(Compile)은 사람이 이해하는 고급언어로 작성된 프로그램을 컴퓨터가 이해할 수 있는 저급언어(기계어)로 변환하는 기능입니다. 저급언어를 고급언어로 변환한다는 설명은 정반대로 기술되었습니다.
  • 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
(정답률: 64%)
  • 후위 순회(Postorder)는 '왼쪽 자식 $\rightarrow$ 오른쪽 자식 $\rightarrow$ 루트' 순으로 방문하는 방식입니다.
    제시된 트리 분석:
    1. 왼쪽 서브트리(b) 방문 $\rightarrow$ d 방문 $\rightarrow$ b 방문
    2. 오른쪽 서브트리(c) 방문 $\rightarrow$ 왼쪽(e)의 자식 g, h 방문 $\rightarrow$ e 방문 $\rightarrow$ 오른쪽 f 방문 $\rightarrow$ c 방문
    3. 최종 루트 a 방문
    결과: $d \rightarrow b \rightarrow g \rightarrow h \rightarrow e \rightarrow f \rightarrow c \rightarrow a$
profile_image
1

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

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

  1. JSON
  2. HTML
  3. AVPN
  4. DOF
(정답률: 73%)
  • JSON(JavaScript Object Notation)은 속성-값 쌍(Attribute-Value Pairs)으로 구성된 데이터 오브젝트를 전달하기 위한 개방형 표준 포맷입니다. 언어 독립적이며 XML을 대체하여 AJAX 등에서 널리 사용됩니다.
  • JSON(JavaScript Object Notation)
    - 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다.
    - AJAX(Asynchronous Javascript and XML)에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다.
    - 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용되고 있다.
profile_image
1

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

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

  1. Tree
  2. Graph
  3. Stack
  4. Queue
(정답률: 72%)
  • 데이터의 삽입과 삭제가 한쪽 끝에서만 이루어지며, 가장 나중에 들어온 데이터가 가장 먼저 나가는 LIFO(Last-In-First-Out) 구조를 가진 자료구조는 Stack입니다.

    오답 노트

    Queue: 먼저 들어온 데이터가 먼저 나가는 FIFO 구조
    Tree, Graph: 계층적 또는 망형 구조를 가진 비선형 자료구조
profile_image
1

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

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

  1. CppUnit
  2. JUnit
  3. HttpUnit
  4. IgpUnit
(정답률: 53%)
  • 단위 테스트 도구는 특정 언어나 환경에 맞게 설계된 프레임워크입니다.
    CppUnit(C++), JUnit(Java), HttpUnit(웹 사이트)은 실제 존재하는 도구이지만, IgpUnit은 존재하지 않는 명칭입니다.
  • CppUnit - C++ 프로그래밍 언어용 단위 테스트 도구
    JUnit - 자바 프로그래밍 언어용 단위 테스트 도구


    HttpUnit - 웹 브라우저 없이 웹 사이트 테스트를 수행하는 데 사용되는 오픈 소스 소프트웨어 테스트 프레임워크 입니다.

    IgpUnit은 존재하지 않는 유닛입니다.
profile_image
1

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

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

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

  1. BCNF
  2. 제1정규형
  3. 제2정규형
  4. 제3정규형
(정답률: 50%)
  • 제시된 조건 중 '모든 함수적 종속에서 결정자가 후보키이다'라는 문구가 핵심입니다.
    모든 결정자가 후보키여야 한다는 조건은 BCNF(Boyce-Codd Normal Form)의 정의입니다.
profile_image
1

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

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

  1. Atomicity
  2. Consistency
  3. Isolation
  4. Durability
(정답률: 61%)
  • 1. Atomicity (원자성)
    • 트랜잭션은 모두 수행되거나 전혀 수행되지 않아야 한다는 성질입니다.
    • 하나의 작업이라도 실패하면 전체 트랜잭션이 롤백되어 이전 상태로 복원됩니다.

    2. Consistency (일관성)
    • 트랜잭션 수행 전과 수행 후의 데이터베이스 상태는 일관성 있는 상태여야 합니다.
    • 제약조건(예: 외래키, 고유성 등)을 항상 만족해야 하며, 트랜잭션은 데이터 무결성을 깨뜨리지 않습니다.

    3. Isolation (격리성)
    • 여러 트랜잭션이 동시에 실행되더라도, 각 트랜잭션은 독립적으로 실행된 것처럼 보여야 합니다.
    • 다른 트랜잭션의 중간 상태를 참조하거나 변경해서는 안 됩니다.
    • 격리 수준(Isolation Level: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE)으로 조절 가능합니다.

    4. Durability (지속성)
    • 트랜잭션이 성공적으로 커밋되면, 그 결과는 영구적으로 저장되어야 합니다.
    • 시스템 오류가 발생하더라도 커밋된 데이터는 손실되지 않아야 합니다.
  • 트랜잭션의 성질 중 의 설명은 '전부 수행되거나 아니면 전혀 수행되지 않아야 한다'는 원자성(Atomicity)에 대한 설명입니다.

    오답 노트

    Consistency: 수행 전후의 시스템 고정 요소가 동일해야 함
    Isolation: 실행 시 다른 트랜잭션의 간섭을 받지 않음
    Durability: 완료 결과가 영구적으로 저장됨
profile_image
1

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

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

  1. 물리적으로 분산된 데이터베이스 시스템을 논리적으로 하나의 데이터베이스 시스템처럼 사용할 수 있도록 한 것이다.
  2. 물리적으로 분산되어 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터(Local Computer)를 분산 처리기(Distributed Processor)라고 한다.
  3. 분산 데이터베이스 시스템을 위한 통신 네트워크 구조가 데이터 통신에 영향을 주므로 효율적으로 설계해야 한다.
  4. 데이터베이스가 분산되어 있음을 사용자가 인식할 수 있도록 분산 투명성(Distribution Transparency)을 배제해야 한다.
(정답률: 72%)
  • 분산 데이터베이스 시스템은 물리적으로 떨어져 있는 데이터를 사용자가 마치 하나의 논리적 데이터베이스처럼 느끼게 하는 것이 핵심입니다.
    따라서 사용자가 데이터의 물리적 위치나 복제 여부를 알 필요가 없게 만드는 '분산 투명성(Distribution Transparency)'을 반드시 확보해야 하며, 이를 배제해서는 안 됩니다.
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;
(정답률: 69%)
  • 강남지점의 데이터만 필터링하고 판매량이 많은 순서(내림차순)로 정렬하는 SQL 문을 찾는 문제입니다.
    조건절인 WHERE를 통해 지점명을 '강남지점'으로 제한하고, 정렬절인 ORDER BY에서 내림차순 키워드인 DESC를 사용해야 합니다.

    오답 노트

    ASC: 오름차순 정렬이므로 판매량이 적은 순으로 출력됨
  • 테이블: 푸드 ← 문제에서 <푸드> 테이블 명시
    레코드: 강남지점 ← 강남지점의 판매량이 많은 제품부터 출력
    컬럼: 제품명, 판매량 ← 제품명과 판매량이 출력되도록 한다
    판매량 정렬: 내림차순 ← 판매량이 많은 제품부터 출력

    SELECT 제품명, 판매량 FROM 푸드 /* 푸드 테이블에서 제품명과 판매량 컬럼 추출 */
    WHERE 지정명 = '강남지점' /* 지점명이 강남지점인 레코드만 추출 */
    ORDER BY 판매량 DESC; /* 판매량을 기준으로 내림차순 정렬 */

    그러므로 정답은 4번
profile_image
1

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

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

  1. 문헌의 색인, 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조이다.
  2. 테이블에 붙여진 색인으로 데이터 검색 시 처리 속도 향상에 도움이 된다.
  3. 인덱스의 추가, 삭제 명령어는 각각 ADD, DELETE이다.
  4. 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
(정답률: 69%)
  • 인덱스는 데이터 검색 속도를 향상시키기 위한 구조이며, 인덱스를 생성할 때는 CREATE 명령어를, 삭제할 때는 DROP 명령어를 사용합니다.
  • 인덱스(Index)
    - 데이터베이스 성능에 많은 영향을 주는 DBMS의 구성 요소로 테이블과 클러스터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 별도로 구성한 순서 데이터를 말한다.
    - 대부분의 데이터베이스에서 테이블을 삭제하면 인덱스도 같이 삭제된다.
    오답피하기
    - 인덱스 생성 : CREATE
    - 인덱스 삭제 : DROP
profile_image
1

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

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

  1. 데이터 타입
  2. 데이터 값의 분포
  3. 트랜잭션 모델링
  4. 접근 빈도
(정답률: 49%)
  • 저장 레코드 양식 설계 시에는 데이터 타입, 데이터 값의 분포, 접근 빈도를 고려해야 합니다.

    오답 노트

    트랜잭션 모델링: 물리적 설계가 아닌 개념적 설계 단계에서 수행하는 작업입니다.
  • <문제 해설>
    저장 레코드 양식 설계 시 고려 사항
    - 데이터 타입, 데이터 값의 분포, 접근 빈도
    오답피하기 | 트랜잭션 모델링
    - 트랜잭션을 개념적 시스템 독립적으로 정의한다.
    - 트랜잭션의 입출력 기능, 형태만 정의한다.
    - 검색, 갱신, 혼합(검색, 갱신)

    3번 보기 트랜잭션 모델링은 개념적 설계 단계에서 하는것
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)
(정답률: 67%)
  • DCL : 데이터 사용권한 관리
    DDL : 데이터베이스 구조 정의
    DML : 데이터조작
    DUL : 사용자 데이터베이스 접근
  • 데이터 제어어인 DCL(Data Control Language)은 데이터베이스의 보안 및 무결성을 위해 사용 권한을 부여하거나 취소하는 기능을 수행합니다.

    오답 노트

    DDL: 스키마, 테이블 등의 구조를 정의(CREATE, ALTER, DROP)
    DML: 데이터의 검색, 삽입, 삭제, 수정(SELECT, INSERT, DELETE, UPDATE)
  • <문제 해설>
    DCL 종류
    - COMMIT : 명령어로 수행된 결과를 실제 물리적 디스크로 저장하고, 명령어로 수행을 성공적으로 완료하였음을 선언한다.
    - ROLLBACK : 명령어로 수행을 실패하였음을 알리고, 수행된 결과를 원상복구시킨다.
    - GRANT : 데이터베이스 사용자에게 사용 권한 부여한다.
    - REVOKE : 데이터베이스 사용자로부터 사용 권한 취소한다.
profile_image
1

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

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

  1. 시스템 카탈로그 또는 시스템 데이터베이스라고도 한다.
  2. 데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정 할 수 있다.
  3. 데이터베이스에 대한 데이터인 메타데이터(Metadata)를 저장하고 있다.
  4. 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉토리(Data Directory)라는 곳에서 관리한다.
(정답률: 70%)
  • 데이터 사전은 시스템이 자동으로 관리하는 시스템 데이터베이스이므로, 일반 사용자가 직접 생성, 유지 및 수정할 수 없으며 오직 시스템에 의해 자동으로 갱신됩니다.
  • 데이터 사전(Data Dictionary)
    - 시스템 자신이 필요로 하는 여러 가지 객체(기본 테이블, 뷰, 인덱스, 데이터베이스, 패키지, 접근 권한 등)에 관한 정보를 포함하고 있는 시스템 데이터베이스이다.
    - 시스템 카탈로그(System Catalog), 메타 데이터(Meta Data)라고도 한다.
    - 시스템 카탈로그 자체도 시스템 테이블로 구성되어 있어 SQL 문을 이용하여 내용 검색이 가능하다.
    - 사용자가 시스템 카탈로그를 직접 갱신할 수 없다.
    - SQL 문으로 여러 가지 객체에 변화를 주면 시스템이 자동으로 갱신한다.
profile_image
1

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

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

  1. 모든 튜플은 서로 다른 값을 가지고 있다.
  2. 하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
  3. 각 속성은 릴레이션 내에서 유일한 이름을 가진다.
  4. 모든 속성 값은 원자 값(atomic value)을 가진다.
(정답률: 62%)
  • 릴레이션의 특징 중 튜플의 무순서성에 따라 하나의 릴레이션 내에서 튜플들은 특정한 순서를 가지지 않습니다.

    오답 노트

    모든 튜플은 서로 다른 값을 가지고 있다: 튜플의 유일성
    각 속성은 릴레이션 내에서 유일한 이름을 가진다: 속성의 무순서성/유일성
    모든 속성 값은 원자 값(atomic value)을 가진다: 속성의 원자성
profile_image
1

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

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

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

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

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

  1. Active
  2. Partially Committed
  3. Committed
  4. Aborted
(정답률: 60%)
  • Partially Committed 상태는 트랜잭션의 마지막 연산이 실행된 직후의 상태로, 모든 처리는 끝났지만 아직 COMMIT 연산을 통해 최종 결과를 데이터베이스에 물리적으로 반영하기 전의 단계입니다.
profile_image
1

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

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

  1. SELECT
  2. UPDATE
  3. INSERT
  4. GRANT
(정답률: 73%)
  • GRANT는 데이터베이스 사용자에게 권한을 부여하는 데이터 제어어(DCL)입니다. 반면 SELECT, UPDATE, INSERT는 데이터를 조작하는 데이터 조작어(DML)에 해당합니다.
profile_image
1

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

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

  1. Atomic key
  2. Super key
  3. Candidate key
  4. Test key
(정답률: 50%)
  • Candidate key(후보키)는 튜플을 유일하게 식별할 수 있는 유일성과, 이를 위해 필요한 최소한의 속성들로만 구성되어야 한다는 최소성을 모두 만족하는 키입니다.

    오답 노트

    Super key: 유일성은 만족하지만 최소성은 만족하지 않음
  • Super key(슈퍼키) - 속성들의 집합으로 구성된 키, 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.
    Candidate key(후보키) - 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
    [해설작성자 : 전자공학도]

    Candidate key(후보키)는 기본키가 될 수 있는 것들이기 때문에 유일성과 최소성을 만족하지만 Super key(슈퍼키)는 동일한 것이 없기에 유일성은 만족하나 속성의 집합이기 때문에 최소성을 만족하지 않음
    [해설작성자 : 정처기 파이팅합시다]

    후보키(Candidate Key): 기본키로 사용 가능한 속성, 유일성/최소성 만족
    기본키(Primary Key): 후보키 중에서 선택됨, 중복된 값과 Null값 가질 수 없음. 반드시 필요한 키
    슈퍼키(Super Key): 한 릴레이션 내 속성들의 집합으로 구성된 키, 유일성○, 최소성X
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. 산출물로 E-R Diagram을 만들 수 있다.
  2. DBMS에 독립적인 개념 스키마를 설계한다.
  3. 트랜잭션 인터페이스를 설계 및 작성한다.
  4. 논리적 설계 단계의 앞 단계에서 수행된다.
(정답률: 52%)
  • 개념적 설계 단계에서는 DBMS에 독립적인 개념 스키마를 설계하고 E-R Diagram을 작성하며, 트랜잭션 모델링을 수행합니다. 트랜잭션 인터페이스 설계 및 작성은 개념적 설계 이후 단계인 논리적 설계 단계에서 수행되는 작업입니다.
  • 데이터베이스 설계단계에서의 트랜잭션 설계단계
    - 개념설계 : 트랜잭션 모델링
    - 논리설계 : 트랜잭션 인터페이스 설계
    - 물리설계 : 트랜잭션 세부설계
profile_image
1

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

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

  1. NOT NULL로 널 값을 가지지 않는다.
  2. 릴레이션에서 튜플을 구별할 수 있다.
  3. 외래키로 참조될 수 있다.
  4. 검색할 때 반드시 필요하다.
(정답률: 61%)
  • 기본키는 튜플을 유일하게 식별하기 위해 NULL 값을 가질 수 없고 중복되지 않는 속성입니다. 기본키를 이용하면 매우 효율적으로 특정 튜플을 조회할 수 있지만, 검색 시 반드시 기본키만을 사용해야 하는 것은 아니므로 검색할 때 반드시 필요하다는 설명은 틀린 것입니다.
  • 기본키 - 후보키 중에서 선정된 주키(MAIN KEY)로 중복된 값을 가질 수 없다.
    - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
    - 기본키는 후보키의 성질을 갖는다. 즉 튜플을 식별하기 위해 반드시 필요한 키
    - 기본키는 NULL 값을 가질 수 없다. 즉 기본키로 설정된 속성에는 NULL값이 있어서는 안된다.

    - 검색할때 반드시 필요한 것은 아니다
    - 하지만 기본키로 검색하면 유일한 튜플을 조회할 수 있다.
profile_image
1

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

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

  1. Relation
  2. Data Structure
  3. Constraint
  4. Operation
(정답률: 54%)
  • 데이터 모델의 구성 요소 중 연산(Operation)은 실제 데이터를 처리하는 작업에 대한 명세로, 데이터를 조작하는 기본 도구를 의미합니다.

    오답 노트

    Relation: 데이터 모델의 구성 요소가 아닌 관계형 모델의 기본 단위
    Data Structure: 논리적인 개체 타입 간의 관계 및 정적 성질을 표현하는 구조(Structure)
    Constraint: DB에 저장될 실제 데이터의 논리적인 제약 조건
profile_image
1

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

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

  1. WHERE 이름 = '정도일'
  2. SELECT 팀코드 FROM 이름
    WHERE 직원 = '정도일'
  3. WHERE 직원 = '정도일'
  4. SELECT 팀코드 FROM 직원
    WHERE 이름 = '정도일'
(정답률: 70%)
  • 이 문제는 서브쿼리를 이용하여 '정도일'이라는 이름을 가진 직원의 팀코드를 먼저 찾고, 그 팀코드와 일치하는 모든 직원의 이름을 출력하는 SQL문을 완성하는 문제입니다. 하위 질의문에서 직원 테이블로부터 이름이 '정도일'인 행의 팀코드를 선택해야 하므로 SELECT 팀코드 FROM 직원
    WHERE 이름 = '정도일' 가 정답입니다.
profile_image
1

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

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

  1. 릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다.
  2. 기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다.
  3. 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 한다.
  4. 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다.
(정답률: 61%)
  • 개체 무결성 제약조건은 릴레이션의 기본키를 구성하는 속성이 NULL 값이나 중복된 값을 가질 수 없다는 원칙입니다. 따라서 기본키는 NULL 값을 가져서는 안 되며 릴레이션 내에 오직 하나의 값만 존재해야 합니다.

    오답 노트

    릴레이션 내의 튜플들이 각 속성의 도메인에 정해진 값만을 가져야 한다: 도메인 무결성
    자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 한다: 참조 무결성
profile_image
1

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

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

  1. Degree
  2. Cardinality
  3. Attribute
  4. Cartesian product
(정답률: 60%)
  • 관계 데이터 모델에서 릴레이션의 구조적 특성을 나타내는 용어는 다음과 같습니다.
    1. Cardinality(카디널리티): 릴레이션에 포함된 튜플(행)의 수
    2. Degree(차수): 릴레이션을 구성하는 속성(열)의 수
    따라서 튜플의 수를 의미하는 정답은 Cardinality입니다.
profile_image
1

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

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

  1. CREATE TABLE TO
  2. CREATE TO
  3. CREATE FROM
  4. CREATE TABLE FROM
(정답률: 67%)
  • SQL에서 특정 사용자에게 권한을 부여할 때는 GRANT 문을 사용하며, '테이블 생성 권한'을 부여하기 위해서는 GRANT 뒤에 CREATE TABLE 권한을 명시하고 TO 키워드를 통해 대상 사용자를 지정해야 합니다.
    따라서 빈칸에 들어갈 내용은 CREATE TABLE TO 입니다.
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를 거꾸로 변환한다.
(정답률: 65%)
  • strcmp 함수는 두 문자열을 비교(compare)하여 일치 여부를 확인하는 함수입니다. 문자열을 연결하는 기능을 수행하는 함수는 strcat입니다.

    오답 노트

    strlen: 문자열의 길이를 구함
    strcpy: 문자열을 복사함
    strrev: 문자열을 거꾸로 변환함
  • strcat - 문자열 연결 함수
    [해설작성자 : 수도공고갤러리 갤주]

    strcmp - 문자열 비교
    [해설작성자 : comcbt.com 이용자]

    함수명에 용도를 의미하는 약어가 포함되어 있음
    str -> string
    len -> length
    cpy -> copy
    cmp -> compare
    rev -> reverse
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. 14
(정답률: 58%)
  • C언어에서 0이 아닌 모든 값은 참(True)으로 간주합니다. 주어진 코드의 논리 연산 과정을 분석하면 다음과 같습니다.
    1. $t1 = a \text{ \&\& } b$: $5 \text{ \&\& } 3$은 참과 참의 AND 연산이므로 결과는 $1$입니다.
    2. $t2 = a \text{ || } b$: $5 \text{ || } 3$은 참과 참의 OR 연산이므로 결과는 $1$입니다.
    3. $t3 = !c$: $!12$는 참의 NOT 연산이므로 결과는 $0$입니다.
    최종 출력값은 $t1 + t2 + t3$이므로 $1 + 1 + 0 = 2$가 됩니다.
  • a && b -> 1 AND연산
    a || b -> 1 OR연산
    !c -> 0 NOT연산
    1 + 1 + 0 = 2 (최종정답)
    # C언어 연산자에서는 0이 아닌 모든값은 1(TRUE)로 본다.
    그래서 a=1 b=1 c=1 로 바꿔서 대입해도 같은결과가 나온다
    [해설작성자 : 루니]

    Int a,b,c에 정의된 값들을 조건절에 대입.
    t1= 1&&2 *&&는 좌우가 모두 참이여야 함, 좌우에 모든 값이 존재함으로 1=참
    t2=1||2 *||는 좌우 중 1개만 참이어도 참, 좌우 모든 값이 존재함으로 1=참
    t3=!c *!는 NOT연산으로 3의 값이 없음을 말하기에 0=거짓
    그래서 1+1+0 =2

    비트연산자랑 했갈릴수 있는데 비트연산자는 & 하나만 있어야함
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. 30
  2. 60
  3. 80
  4. 120
(정답률: 54%)
  • 구조체 배열의 값 설정과 반복문을 통한 합산 과정입니다.
    1. 첫 번째 루프에서 $ob1.c[i] = i$, $ob2.c[i] = i + i$로 저장됩니다.
    2. 두 번째 루프는 $i$가 0, 2, 4, 6, 8일 때만 실행됩니다.
    3. $ob1.a = 0 + 2 + 4 + 6 + 8 = 20$
    4. $ob2.a = 0 + 4 + 8 + 12 + 16 = 40$
    최종 결과는 두 값의 합입니다.
    $$20 + 40 = 60$$
  • ob1.c[i] = i
    ob2.c[i] = i + i
    ob1.a = ob1.a + ob1.c[i] = 0+2+4+6 + 8 = 20
    ob2.a = ob2.a + ob2.c[i] = 0+4+8+12+16 = 40
    20 + 40 = 60
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
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 프로토콜의 버전번호를 나타낸다.
(정답률: 49%)
  • Packet Length(Total Length) 필드는 IP 헤더와 데이터를 모두 포함한 전체 길이를 바이트 단위로 나타내며, 필드 크기가 16비트이므로 최대 크기는 $2^{16}-1$ 바이트입니다.

    오답 노트

    Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 $2^{32}-1$비트이다: 헤더를 포함하며 최대 크기는 $2^{16}-1$ 바이트입니다.
  • Total Packet Length (16 bits): IP 헤더 및 데이터를 포함한 IP 패킷 전체 길이를 바이트 단위로 길이를 표시. (최대값은 65,535 = 2^16 - 1)
  • 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
(정답률: 63%)
  • Python에서 여러 개의 조건을 순차적으로 검사할 때는 if 문 뒤에 elif(else if의 약자)를 사용합니다. Python 문법에는 else if라는 키워드가 존재하지 않습니다.
  • python 조건문 if, elif, else
    else if 는 없습니다 ..ㅠㅠ
  • [실행결과]가 20이므로, 빈칸이 있는 해당 조건문만 참이 되어서 실행되어야 한다.

    문제 코드에 있는 if 문에서는 x값이 일치하지 않으므로(10!=20) 조건문이 실행되지 않는다.

    보기 중에 괄호 안에 들어갈 수 있는 것(파이썬의 해당 조건문에서 사용되는 것)은 elif와 else 두 개이다.

    else는 혼자 사용될 수 없고 if가 필요하다. 하지만 else는 문제 코드에서 이미 빈칸 바로 다음 조건문에서 사용하고 있다. 그러므로 빈칸에는 else가 들어갈 수 없다. 왜냐하면 빈칸에서 else를 사용하면, 그다음 else 문이 남게 되어서 오류가 발생하기 때문이다.

    그러므로 남는 것은 "elif" 하나이며, 이에 따라 해당 문제 코드는 if-elif-else 문의 코드라는 것을 알 수 있다. 그러므로 답은 2번 "elif"이다.
profile_image
1

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

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

  1. 경로 선택 메트릭은 홉 카운트(hop count)이다.
  2. 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다.
  3. 최단 경로 탐색에 Bellman-Ford 알고리즘을 사용한다.
  4. 각 라우터는 이웃 라우터들로부터 수신한 정보를 이용하여 라우팅 표를 갱신한다.
(정답률: 54%)
  • RIP(Routing Information Protocol)
    - 최단 경로 탐색에는 Bellman-Ford 알고리즘을 사용하는 거리 벡터 라우팅 프로토콜
    - 라우팅 프로토콜을 IGP와 EGP로 분류했을 때 IGP에 해당한다.
    - 최단경로탐색에는 Bellman-Ford 알고리즘을 사용한다.
    - 최적의 경로를 산출하기 위한 정보로서 홉(거리 값)만을 고려하므로, RIP을 선택한 경로가 최적의 경로가 아닌 경우가 많이 발생할 수 있다.
    - 소규모 네트워크 환경에 적합하다.
    - 최대 홉 카운트를 15홉 이하로 한정하고 있다.
    [해설작성자 : 두목넷]

    보기 2번 추가 내용 :)
    * 자율 시스템(AS : Autonomous System)
    - 하나의 기관 내부를 나타내는 것으로 라우터들과 통신기기들의 집합. 예를 들면 하나의 학내망
    * IGP(Interior Gateway Protocol, 내부 게이트웨이 프로토콜)
    - 학내망 내부에서 라우팅하는것. 즉 하나의 AS 내에서의 라우팅에 사용되는 프로토콜
    * EGP(Exterior Gateway Protocol, 외부 게이트웨이 프로토콜)
    - 학내망과 다른 학내망의 라우팅에 사용. 즉 AS간의 라우팅에 사용되는 프로토콜
    RIP는 OSPF와 함께 IGP(내부 게이트웨이 프로토콜)에 해당한다
    [해설작성자 : 합격드가자~]

    RIP = 홉 기반 + 소규모 + Bellman-Ford + 최대 15홉
    IGP = 내부용 (RIP, OSPF)
    EGP = 외부용 (BGP)
  • RIP는 하나의 자율 시스템(AS) 내부에서 라우팅을 수행하는 IGP(내부 게이트웨이 프로토콜)에 해당합니다.

    오답 노트

    라우팅 프로토콜을 IGP와 EGP로 분류했을 때 EGP에 해당한다: RIP는 내부용인 IGP입니다.
profile_image
1

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

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

  1. FIFO 스케줄링
  2. RR 스케줄링
  3. HRN 스케줄링
  4. MQ 스케줄링
(정답률: 60%)
  • SJF(최소 작업 우선) 스케줄링의 단점인 긴 작업의 무한 대기(기아 현상)를 해결하기 위해 대기 시간과 서비스 시간을 모두 고려하는 비선점 스케줄링 방식입니다.
    우선순위 계산식은 다음과 같습니다.
    $$\text{우선순위} = \frac{\text{대기시간} + \text{서비스시간}}{\text{서비스시간}}$$
    이 값이 클수록 우선순위가 높게 부여됩니다.
profile_image
1

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

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

  1. 하나 이상의 작업에 대하여 백그라운드에서 수행이 가능하다.
  2. Multi-User는 지원하지만 Multi-Tasking은 지원하지 않는다.
  3. 트리 구조의 파일 시스템을 갖는다.
  4. 이식성이 높으며 장치 간의 호환성이 높다.
(정답률: 67%)
  • UNIX 운영체제는 C언어로 작성되어 이식성과 호환성이 높으며, 트리 구조의 파일 시스템을 사용합니다. 또한, 여러 사용자가 동시에 사용할 수 있는 Multi-User와 여러 작업을 동시에 처리하는 Multi-Tasking을 모두 지원하는 운영체제입니다.
profile_image
1

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

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

  1. 비연결형 서비스를 제공한다.
  2. 단순한 헤더 구조로 오버헤드가 적다.
  3. 주로 주소를 지정하고, 경로를 설정하는 기능을 한다.
  4. TCP와 같이 트랜스포트 계층에 존재한다.
(정답률: 44%)
  • UDP는 비연결형 서비스이며 헤더가 단순해 오버헤드가 적고 전송 속도가 빠른 전송 계층 프로토콜입니다.

    오답 노트

    주소를 지정하고 경로를 설정하는 기능: 이는 네트워크 계층의 IP 프로토콜에 해당하는 설명입니다.
  • 문제 해설>
    UDP(User Datagram Protocol)
    - 비연결형 및 비신뢰성 전송 서비스를 제공한다.
    - 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
    - 수신된 데이터의 순서 재조정 기능을 지원하지 않는다.
    - 복구 기능을 제공하지 않는다.
    오답피하기
    - ③ 번은 IP Protocol에 관한 설명이다.
profile_image
1

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

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

  1. 복소수(complex) 타입
  2. 리스트(list) 타입
  3. 사전(dict) 타입
  4. 튜플(tuple) 타입
(정답률: 50%)
  • 튜플(tuple) 타입은 시퀀스 데이터 타입의 일종으로, 데이터의 순서가 유지되지만 한 번 생성되면 그 내용을 변경할 수 없는 불변(Immutable) 특성을 가집니다.

    오답 노트

    리스트(list) 타입: 저장된 내용을 변경할 수 있는 가변형 시퀀스 타입입니다.
  • 리스트 타입 : 가변형
    튜플 타입 : 불변형
    [해설작성자 : comcbt.com 이용자]

    시퀀스- 리스트 - 순서있고,가변 [1,2,3]
    시퀀스- 튜플 - 순서있고,불변 (1,2,3)
    세트 - 세트 - 순서없고,중복x {1,2,3}
    맵 - 딕셔너리- 순서없고,key-value쌍 {'a':1,'b:2,'c':3}
  • - 시퀀스 - 리스트 - 순서있고 가변 [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
(정답률: 70%)
  • marr() 메서드에서 크기가 4인 정수 배열 temp를 생성하고, for 문을 통해 인덱스 $i$ 값(0, 1, 2, 3)을 각 요소에 대입하여 반환합니다. main 메서드에서 이 배열을 받아 순차적으로 출력하므로 실행 결과는 0 1 2 3 이 됩니다.
  • 0부터 시작해서 4보다 작은 정수
    +는 1씩 증가
profile_image
1

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

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

  1. 1
  2. 2
  3. 3
  4. 4
(정답률: 58%)
  • 삼항 연산자와 조건문을 통한 변수 값의 변화 과정은 다음과 같습니다.
    1. $mx = a < b ? b : a$ : $1 < 2$는 참이므로 $mx = b = 2$
    2. $if(mx == 1)$ : $mx$가 2이므로 조건 거짓 $\rightarrow$ else 문 실행
    3. $mn = b < mx ? d : c$ : $2 < 2$는 거짓이므로 $mn = c = 3$
    최종적으로 $mn$의 값인 3이 출력됩니다.
  • 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
  • mx = a < b ? b : a;
    a < b 조건문이 참일 경우 전자인 b, 거짓일 경우 후자인 a 가 mx의 값이 됨
    여기선 a = 1, b = 2 이기 때문에 a < b 는 참이므로 mx = b = 2
    그 다음
    if 절의 조건 mx == 1 은 mx = 2 이기 때문에 거짓, else 문으로 넘어감
    mn = b < mx ? d : c;
    b = 2, mx = 2 이기 때문에 b < mx 조건은 거짓, 그러므로 후자인 c 의 값이 mn에 대입됨
    mn = c = 3
    결과적으로, mn을 출력하게 되면 c의 값 3이 나온다
    [해설작성자 : 공부중]

    mx = 1 < 2 ? 2 : 1;
    삼항연산 결과가 mx = 2가 들어가는게 맞구요
    else 분기에 타게되어, mn = 2 < mx(2) ? 4 : 3;
    mn 결과 3 맞는데요?
    [해설작성자 : comcbt.com 이용자]

    a = 1, b = 2, c = 3, d = 4

    mx = a < b ? b : a
    mx = 1 < 2 ? 2 : 1
    mx = 2

    # mx는 1이기 때문에 else 실행
    mn = b < mx ? d : c
    mn = 2 < 2 ? 4 : 3
    mn = 3
    [해설작성자 : cl0ud]

    mx = a < b ? b : a;
    → 1 < 2 이므로 참 → mx = 2

    if (mx == 1)
    → mx = 2 이므로 조건 거짓 → else 실행

    mn = b < mx ? d : c;
    → 2 < 2는 거짓 → mn = c = 3

    System.out.println(mn);
    → 출력: 3
profile_image
1

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

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

  1. 순차적 응집도(Sequential Cohesion)
  2. 기능적 응집도(Functional Cohesion)
  3. 시간적 응집도(Temporal Cohesion)
  4. 우연적 응집도(Coincidental Cohesion)
(정답률: 71%)
  • 응집도는 모듈 내부 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내며, 높을수록 좋은 설계입니다.
    응집도의 강도는 다음과 같은 순서를 가집니다.
    기능적 응집도 $>$ 순차적 응집도 $>$ 교환적 응집도 $>$ 절차적 응집도 $>$ 시간적 응집도 $>$ 논리적 응집도 $>$ 우연적 응집도
    따라서 가장 낮은 응집도는 우연적 응집도(Coincidental Cohesion)입니다.
profile_image
1

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

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

  1. 0
  2. 1
  3. 2
  4. 3
(정답률: 57%)
  • 주어진 C언어 코드의 논리 연산 및 산술 연산 과정은 다음과 같습니다.
    1. $r1 = (2 \le 2 \text{ || } 3 > 3)$ : $2 \le 2$가 참(1)이므로 OR 연산 결과 $r1 = 1$
    2. $r2 = !3$ : 0이 아닌 값(3)의 부정은 거짓이므로 $r2 = 0$
    3. $r3 = (1 > 1 \text{ \&\& } 2 < 3)$ : $1 > 1$이 거짓(0)이므로 AND 연산 결과 $r3 = 0$
    최종 계산식은 다음과 같습니다.
    $$r3 - r2 + r1$$
    $$0 - 0 + 1$$
    $$1$$
  • r1 - or 연산 한쪽만 참이여도 1 반환 n2<=2(참) -> 1
    r2 - =! 부정연산자 3 부정 0 반환 -> 0
    r3 - and 연산 둘다 참이여야 1반환 (n1>1) (거짓) -> 0
    0 - 0 + 1 = 1

    !n3 -> 논리 부정 연산자 피연산자가 0이면 1을, 나머지 0을 반환
  • r1 - or 연산 한쪽만 참이여도 1 반환 n2<=2(참) -> 1
    r2 - =! 부정연산자 3 부정 0 반환 -> 0
    r3 - and 연산 둘다 참이여야 1반환 (n1>1) (거짓) -> 0
    0 - 0 + 1 = 1
    [해설작성자 : 수도공고갤러리 갤주]

    !n3 -> 논리 부정 연산자 피연산자가 0이면 1을, 나머지 0을 반환
profile_image
1

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

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

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

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

    비연결형: IP는 연결 설정 없이 데이터를 전송합니다.
    비신뢰성: IP는 데이터의 정확성이나 순서를 보장하지 않습니다.
    패킷을 분할 / 병합하는 기능 수행 가능: 큰 데이터를 작은 패킷으로 나누거나 여러 패킷을 하나로 합칠 수 있습니다.
    Best Effort 원칙에 따라 전송: 최선의 노력으로 데이터를 전송하며, 보장된 전송은 아닙니다.
    IP 프로토콜은 인터넷 통신에서 핵심적인 역할을 담당하며, 데이터의 원활한 이동을 지원합니다.
  • IP 프로토콜은 전송 효율을 위해 데이터 자체의 무결성보다는 헤더의 오류 검출에 집중합니다.
    따라서 데이터 체크섬(Data Checksum)은 제공하지 않으며, 오직 헤더 체크섬(Header Checksum)만 제공하는 것이 특징입니다.
  • 데이터 체크섬은 제공하지 않고, 헤더 체크섬만 제공한다.
profile_image
1

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

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

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



    123124125
    111111111
    22222222
    3333335
    4444
    1234 5
  • LRU(Least Recently Used) 알고리즘은 가장 오랫동안 참조되지 않은 페이지를 교체하는 방식입니다. 페이지 프레임이 4개일 때의 참조 과정은 다음과 같습니다.
    1. [1] 참조 $\rightarrow$ (1) [결함]
    2. [2] 참조 $\rightarrow$ (1, 2) [결함]
    3. [3] 참조 $\rightarrow$ (1, 2, 3) [결함]
    4. [1] 참조 $\rightarrow$ (1, 2, 3) [적중]
    5. [2] 참조 $\rightarrow$ (1, 2, 3) [적중]
    6. [4] 참조 $\rightarrow$ (1, 2, 3, 4) [결함]
    7. [1] 참조 $\rightarrow$ (1, 2, 3, 4) [적중]
    8. [2] 참조 $\rightarrow$ (1, 2, 3, 4) [적중]
    9. [5] 참조 $\rightarrow$ (1, 2, 5, 4) [결함] : 가장 오래전 사용된 3을 제거하고 5 적재
    따라서 총 페이지 결함 횟수는 5회입니다.
profile_image
1

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

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

  1. 한 프로세스가 운영체제를 호출할 때 전체 프로세스가 대기할 필요가 없으므로 시스템 성능을 높일 수 있다.
  2. 동시에 여러 스레드가 커널에 접근할 수 있으므로 여러 스레드가 시스템 호출을 동시에 사용할 수 있다.
  3. 각 스레드를 개별적으로 관리할 수 있으므로 스레드의 독립적인 스케줄링이 가능하다.
  4. 커널 모드로의 전환 없이 스레드 교환이 가능하므로 오버헤드가 줄어든다.
(정답률: 38%)
  • 사용자 수준 스레드는 커널의 개입 없이 사용자 영역에서 스레드 스케줄링과 교환이 이루어지므로, 커널 모드로의 전환(Context Switching) 비용이 발생하지 않아 오버헤드가 줄어듭니다.

    오답 노트

    전체 프로세스 대기 방지, 여러 스레드의 동시 커널 접근, 독립적 스케줄링은 모두 커널 수준 스레드의 장점입니다.
profile_image
1

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

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

  1. 내용 결합도(Content Coupling)
  2. 제어 결합도(Control Coupling)
  3. 공통 결합도(Common Coupling)
  4. 스탬프 결합도(Stamp Coupling)
(정답률: 61%)
  • 한 모듈이 다른 모듈의 내부 기능이나 내부 자료를 직접적으로 참조하는 경우를 내용 결합도라고 합니다. 이는 결합도 단계 중 가장 강한 결합도에 해당합니다.

    오답 노트

    제어 결합도: 제어 요소(플래그 등)를 전달하여 실행 제어
    공통 결합도: 전역 변수를 공유하여 참조
    스탬프 결합도: 자료 구조 형태로 매개변수 전달
profile_image
1

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

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

  1. 14, 10
  2. 14, 14
  3. 18, 10
  4. 18, 14
(정답률: 52%)
  • 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번이된다.
  • 배열의 요소는 메모리에 연속적으로 할당되며, 각 요소의 주소는 (시작 주소 + (인덱스 $\times$ 자료형 크기))로 계산합니다.
    ① [기본 공식] $Address = Base + (Index \times Size)$
    ② [숫자 대입] $\&a[2] = 10 + (2 \times 4) = 18$ , $$a = 10$$
    ③ [최종 결과] $18, 10$
  • 문제 해설>
    {14 ,22, 30, 38 }
    주소값 10,11,12,13 / 14,15,16,17 / 18,19,20,21 / 22,23,24,25
    자리값 a(0) a(1) a(2) a(3)
    *1개의 주소값 : 1Byte

    printf("%u, ", &a[2]; a[2]자리의 첫번째 주소값 18
    printf("%u", a); a[0]자리의 첫번째 주소값 10
    [해설작성자 : 루니]

    배열은 자료형이 같은 변수를 메모리에 연속으로 할당합니다.
    int형인 배열 요소 14, 22, 30, 38은 제시된 문제에 따라 메모리 10번지부터 시작하여 4바이트 간격으로 각각 10, 14, 18, 22번지의 주소값을 할당 받습니다.
    %u <--- 부호 없는 10진수로 출력하는 변환 문자입니다.
    printf("%u, ", &a[2]); <--- &a[2]는 &a + 2 또는 10 + (2 * sizeof(int)) 이며 18입니다. 18번지부터 21번지까지의 총 4바이트 저장 공간인 주소 값을 뜻합니다.
    printf("%u", a); <--- 배열명은 첫 번째 배열 요소(a[0])의 주소값 입니다.
    “%u, "에는 쉼표와 띄어쓰기가 있으므로 실행 결과는 18, 10 입니다.
profile_image
1

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

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

  1. 시스템을 모듈로 분할하면 각각의 모듈을 별개로 만들고 수정할 수 있기 때문에 좋은 구조가 된다.
  2. 응집도는 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
  3. 모듈 간의 결합도가 약해야 독립적인 모듈이 될 수 있다.
  4. 모듈 내 구성 요소들 간의 응집도가 강해야 좋은 모듈 설계이다.
(정답률: 50%)
  • 응집도 : 하나의 모듈이 하나의 기능을 수행하는 요소들간의 연관성 척도, 독립적인 모듈이 되기 위해서는 응집도가 강해야 한다.(결합도는 약해야 한다.)
    [해설작성자 : 수도공고갤러리 갤주]

    결합도: 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미한다.
    응집도: 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미한다.
  • 응집도는 모듈 내부 구성 요소들이 하나의 기능을 수행하기 위해 얼마나 밀접하게 관련되어 있는지를 나타내는 척도입니다. 모듈과 모듈 사이의 상호의존 또는 연관 정도를 의미하는 것은 응집도가 아니라 결합도에 대한 설명입니다.

    오답 노트

    응집도는 모듈 내부의 연관성, 결합도는 모듈 간의 상호의존성입니다.
profile_image
1

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

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

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

  1. 기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능하다.
  2. 무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않는다.
  3. 가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능하다.
  4. 휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기 되어야 한다.
(정답률: 69%)
  • 정보보안의 3요소는 기밀성, 무결성, 가용성입니다. 휘발성은 정보보안의 기본 3요소에 포함되지 않는 개념입니다.
  • 정보보안 3요소(CIA Triad)는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)이다. 그러므로 4번 "휘발성"은 정보보안 3요소에 해당하지 않는다.
profile_image
1

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

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

  1. tcp wrapper
  2. trace checker
  3. token finder
  4. change detector
(정답률: 46%)
  • tcp wrapper는 TCP 3-way handshake 인증 과정 직후에 수행되어, 접속하려는 외부 컴퓨터의 인가 여부를 점검하고 접속 허용 또는 거부를 결정하는 접근제어 유틸리티입니다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
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)
(정답률: 58%)
  • Zing은 10cm 이내의 근접 거리에서 기가급 속도로 데이터를 전송할 수 있는 초고속 근접무선통신(NFC) 기술입니다.

    오답 노트

    BcN: 통신·방송·인터넷이 융합된 차세대 네트워크 환경
    Marine Navi: GPS 기반 선박자동 식별장치(AIS) 활용 기술
    C-V2X: 셀룰러 망을 이용한 차량-사물 간 통신 기술
profile_image
1

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

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

  1. 서버 관리실 출입 통제
  2. 실행 프로세스 권한 설정
  3. 운영체제의 접근 제한
  4. 운영체제의 정보 수집 제한
(정답률: 68%)
  • 응용 프로그램의 보안 설정은 소프트웨어적인 취약점 관리(실행 권한, 접근 제한, 정보 수집 제한 등)에 집중합니다. 서버 관리실 출입 통제는 물리적 보안 영역에 해당하므로 응용 프로그램 보안 설정과는 거리가 멉니다.
profile_image
1

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

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

  1. 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어이다.
  2. 라이브러리와는 달리 사용자 코드에서 프레임워크를 호출해서 사용하고, 그에 대한 제어도 사용자 코드가 가지는 방식이다.
  3. 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것으로 볼 수 있다.
  4. 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 한다.
(정답률: 51%)
  • 프레임워크는 제어 흐름의 주도권을 프레임워크가 가지는 IoC(Inversion of Control) 구조를 가집니다. 반면, 사용자 코드에서 직접 호출하고 제어권을 사용자가 가지는 방식은 라이브러리의 특징입니다.
  • 사용자 코드에서 호출해서 사용하고 그에 대한 제어를 할 수 있는 것은 라이브러리이다. 프레임워크는 이미 정해진 코드를 호출해 사용하고 자체적인 흐름을 가지고 있음.
profile_image
1

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

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

  1. 클라우드(데이터센터) 기반 암호화 키 생성, 처리, 저장 등을 하는 보안 기기이다.
  2. 국내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장하였다.
  3. 클라우드에 인증서를 저장하므로 기존 HSM 기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.
  4. 하드웨어가 아닌 소프트웨어적으로만 구현되기 때문에 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 없다는 것이 주요 단점이다.
(정답률: 63%)
  • 클라우드 HSM은 이름 그대로 하드웨어 보안 모듈(Hardware Security Module)을 클라우드 기반으로 제공하는 것입니다. 따라서 하드웨어적으로 구현되어 소프트웨어 방식의 암호 기술이 가진 보안 취약점을 해결할 수 있다는 것이 핵심 장점입니다.
  • 하드웨어적으로 구현되므로 소프트웨어식 암호 기술에 내재된 보안 취약점을 해결할 수 있다.
profile_image
1

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

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

  1. Virtual Local Area Network
  2. Simple Station Network
  3. Mesh Network
  4. Modem Network
(정답률: 66%)
  • 의 설명처럼 중계 없이 직접 접속되는 그물 모양의 네트워크 구조를 가진 기술은 Mesh Network입니다.
profile_image
1

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

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

  1. 화재, 홍수 등 천재지변으로 인한 위협
  2. 하드웨어 파손, 고장으로 인한 장애
  3. 방화, 테러로 인한 하드웨어와 기록장치를 물리적으로 파괴하는 행위
  4. 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협
(정답률: 77%)
  • 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협은 물리적인 파괴나 재해가 아닌 시스템 설정 및 관리의 문제이므로 기술적 위협에 해당합니다.
profile_image
1

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

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

  1. Worm
  2. Rogue Ware
  3. Adware
  4. Reflection Attack
(정답률: 70%)
  • Worm은 네트워크의 취약점을 이용하여 다른 컴퓨터로 스스로를 복제하고 전파하며 증식하는 악성코드입니다.

    오답 노트

    Rogue Ware: 가짜 백신으로 사용자를 속여 결제를 유도함
    Adware: 무분별한 광고 팝업을 띄우는 프로그램
    Reflection Attack: 가로챈 메시지를 다시 송신자에게 보내 권한을 획득하는 공격
  • "Worm"은 악성코드 중에서 '스스로 복제'하는 악성코드이며, 기생하지 않고 스스로 복제한다는 특징이 있다.
profile_image
1

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

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

  1. Ping of Death
  2. Session Hijacking
  3. Piggyback Attack
  4. XSS
(정답률: 68%)

  • 허용 범위 이상의 거대한 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시키는 공격 기법은 Ping of Death입니다.

    오답 노트

    Session Hijacking: 유효한 세션 키를 가로채 무단 접근
    Piggyback Attack: 인증된 사용자의 비활성 기간을 이용해 몰래 접근
    XSS: 웹사이트에 악성 스크립트를 주입하여 사용자 세션 탈취 및 변조
  • "Ping of Death"는 DoS 공격(Denial-of-service-attack)의 한 형태이다. Ping은 ICMP Echo Request이며, 이 요청에서 허용 범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시키는 공격이 "Ping of Death"이다.
profile_image
1

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

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

  1. 전역 함수 라이브러리
  2. 소프트웨어 개발 프레임워크
  3. 컨테이너 아키텍처
  4. 어휘 분석기
(정답률: 67%)

  • 소프트웨어 개발 프레임워크는 특정 기능을 수행하기 위한 클래스나 인터페이스의 집합체로, 개발자가 이를 확장하여 애플리케이션을 효율적으로 구현할 수 있게 돕는 뼈대 구조를 의미합니다. 대표적으로 Java 기반의 Spring이 있습니다.
profile_image
1

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

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

  1. 각 단계의 결과가 완전히 확인된 후 다음 단계 진행
  2. 소프트웨어 개발에 참여하는 구성원들 간의 의사소통 중시
  3. 환경 변화에 대한 즉시 대응
  4. 프로젝트 상황에 따른 주기적 조정
(정답률: 71%)
  • 애자일 방법론은 계획 중심이 아닌 사람과 소통 중심이며, 짧은 개발 주기를 반복하여 환경 변화에 유연하게 대응하는 것이 핵심입니다. 각 단계의 결과가 완전히 확인된 후 다음 단계로 진행하는 방식은 전형적인 폭포수 모형의 특징입니다.
profile_image
1

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

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

  1. 대칭 암호 알고리즘은 비교적 실행 속도가 빠르기 때문에 다양한 암호의 핵심 함수로 사용될 수 있다.
  2. 대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
  3. 비대칭 암호 알고리즘은 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용이 가능하다.
  4. 대표적인 대칭키 암호 알고리즘으로는 AES, IDEA 등이 있다.
(정답률: 45%)
  • 대칭 암호 알고리즘은 암호화와 복호화에 동일한 키를 사용하므로, 송신자와 수신자가 이 비밀키를 안전하게 공유하기 위한 키 교환 과정이 반드시 필요합니다.

    오답 노트

    비대칭 암호 알고리즘: 공개키와 개인키 쌍을 사용하여 인증 및 전자서명 가능
    AES, IDEA: 대표적인 대칭키 암호 알고리즘
  • 대칭 암호화 알고리즘은 키 교환이 필요하기 때문에 키를 교환하는 중 키가 탈취될 수 있다는 문제가 있다.
    공개 암호화 방식에 비해 속도가 빠르다.

    대칭 암호 알고리즘은 비밀키(Private Key)를 공유해야 하므로 키 교환이 필요함
  • 대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요합니다. 이 알고리즘에서는 암호화와 복호화에 같은 비밀키를 사용하며, 이 키를 송신자와 수신자가 안전하게 공유해야 합니다.
profile_image
1

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

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

  1. 10000/2
  2. 10000/(5×2)
  3. 10000/5
  4. (2×10000)/5
(정답률: 72%)
  • 생산성은 개발된 코드 라인 수(LOC)를 투입된 총 노력(인월)으로 나누어 계산합니다.
    ① [기본 공식] $생산성 = \frac{LOC}{인원 \times 기간}$
    ② [숫자 대입] $생산성 = \frac{10000}{2 \times 5}$
    ③ [최종 결과] $생산성 = 1000$
profile_image
1

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

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

  1. RBAC
  2. DAC
  3. MAC
  4. QAC
(정답률: 51%)
  • 개별 신분이 아닌 조직 내의 직무나 직책 등 역할(Role)에 따라 접근 권한을 부여하는 정책은 RBAC(Role Based Access Control)입니다.

    오답 노트

    DAC: 자원 소유자가 임의로 접근 권한을 부여하는 임의적 접근 통제
    MAC: 보안 등급과 정책에 따라 시스템이 강제로 통제하는 강제 접근 통제
  • Role Based Access Control)
    역할 기반 접근통제
    권한이 있는 사용자들만 접근할 수 있는 보안 방법
    [해설작성자 : 우리스카이]

    DAC 임의접근통제 사용자또는 신분
    MAC 강제접근통제. 미리 정해진 정책과 보안 등급
    [해설작성자 : 산익]

    MAC (Mandatory Access Control)
    - 강제 접근 통제
    - 미리 정해진 자원의 보안 레벨과 사용자에게 허락된 접근 권한 비교

    DAC (Discretionary Access Control)
    - 임의적 접근통제
    - 자원에 대한 접근을 사용자나 그룹의 신분에 따라 제한
    - 자원의 소유권을 가진 사람이 다른 사람의 접근을 허용하거나 제한할 수 있음

    RBAC (Role Based Access Control)
    - 사용자 역할에 따른 접근 통제
    - 개별적인 신분이 아니라 조직 내 그룹 / 역할에 따라 부여
    [해설작성자 : LBS]
profile_image
1

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

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

  1. 프로젝트를 완성하는데 필요한 man-month로 산정 결과를 나타낼 수 있다.
  2. 보헴(Boehm)이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법이다.
  3. 비교적 작은 규모의 프로젝트 기록을 통계 분석하여 얻은 결과를 반영한 모델이며 중소 규모 소프트웨어 프로젝트 비용 추정에 적합하다.
  4. 프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
(정답률: 49%)
  • COCOMO 모형은 개발 유형에 따라 조직형(Organic), 반분리형(Semi-Detached), 내장형(Embedded)의 3가지 모드로 구분합니다.

    오답 노트

    object, dynamic, function: 이는 럼바우(Rumbaugh)의 객체 지향 분석 단계에 해당합니다.
profile_image
1

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

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

  1. 지식 : 주체는 '그가 알고 있는 것'을 보여주며 예시로는 패스워드, PIN 등이 있다.
  2. 소유 : 주체는 '그가 가지고 있는 것'을 보여주며 예시로는 토큰, 스마트카드 등이 있다.
  3. 존재 : 주체는 '그를 대체하는 것'을 보여주며 예시로는 패턴, QR 등이 있다.
  4. 행위 : 주체는 '그가 하는 것'을 보여주며 예시로는 서명, 움직임, 음성 등이 있다.
(정답률: 70%)
  • 사용자 인증에서 존재(생체) 인증은 주체의 고유한 생체 정보(지문, 홍채, 얼굴 등)를 통해 본인임을 증명하는 것이지, 패턴이나 QR 같은 대체물을 사용하는 것이 아닙니다.

    오답 노트

    지식: 패스워드, PIN 등 알고 있는 정보 기반
    소유: 토큰, 스마트카드 등 가지고 있는 매체 기반
    행위: 서명, 음성, 움직임 등 행동 특성 기반
  • 1. 지식 - 본인이 알고 있는 것 (ex. 패스워드, PIN 등)
    2. 소유 - 본인이 가지고 있는 것 (ex. 토큰, 스마트카드 등)
    3. 존재 - 본인을 나타내는 것 (ex. 홍채, 지문 등)
    4. 행위 - 본인이 하는 것 (ex. 서명, 움직임, 음성 등)
    [해설작성자 : 지나가는 행인]

    '존재'라는 사용자 인증 유형은 없습니다.

    1. 지식: 사용자 기반 인증 수행
    ex) 패스워드, i-PIN

    2. 소유: 사용자가 소유하고 있는 것을 기반으로 인증 수행
    ex) 신분증, 메모리 카드, 스마트 카드, OTP

    3. 생체: 사용자의 고유한 생체 정보를 기반으로 인증 수행
    ex) 지문, 홍채, 얼굴, 음성, 정맥

    4. 행위: 사용자의 행동정보를 기반으로 인증 수행
    ex) 서명, 동작, 음성

    5. 위치: 인증을 시도하는 위치의 적절성
    ex) 콜백, GPS or IP 이용
profile_image
1

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

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

  1. Aging
  2. Accounting
  3. Authorization
  4. Authentication
(정답률: 53%)
  • 사용자가 아이디와 패스워드 등을 입력하여 자신의 신원(Identity)을 시스템에 증명하는 과정을 인증(Authentication)이라고 합니다.

    오답 노트

    Authorization: 인증된 사용자에게 특정 자원에 대한 접근 권한을 부여하는 인가 과정
  • 아이디와 패스워드 등 자신의 신원을 시스템에 증명하는 과정은 "인증(Authentication)"이다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

  1. SDN(Software Defined Networking)
  2. NFS(Network File System)
  3. Network Mapper
  4. AOE Network
(정답률: 54%)
  • 네트워크의 제어부와 데이터 전달부를 분리하여 소프트웨어로 네트워크를 효율적으로 제어하고 관리하는 기술은 SDN(Software Defined Networking)입니다.

    오답 노트

    NFS(Network File System): 원격 호스트의 파일 시스템을 로컬처럼 사용하는 공유 파일 시스템
    Network Mapper: 네트워크 보안을 위해 서버 및 운영 체제 등을 조사하는 유틸리티
    AOE Network: 작업 단계를 정점으로, 소요 시간을 간선으로 표현한 방향 그래프
profile_image
1

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

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

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

    오답 노트

    막대 도표 이용, 시간선(Time-line) 차트, 수평 막대 길이로 기간 표시: 모두 간트(GANTT) 차트에 대한 설명입니다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

목록 다음회차 >