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

정보처리기사 2022-03-05 필기 기출문제 해설

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

정보처리기사
(2022-03-05 기출문제)

목록

1과목: 소프트웨어 설계

1. User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?

  1. 메시지는 이해하기 쉬워야 한다.
  2. 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
  3. 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야 한다.
  4. 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.
(정답률: 90%)
  • UI 설계 시 오류 메시지는 사용자가 즉각적으로 위험을 인지할 수 있도록 직관적이어야 합니다. 텍스트로만 전달하기보다 색상(예: 빨간색)이나 소리 등의 시각·청각적 요소를 적절히 활용하는 것이 사용자의 직관성을 높이는 데 훨씬 효과적입니다.
profile_image
1

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

2. 다음 중 애자일(Agile) 소프트웨어 개발에 대한 설명으로 틀린 것은?

  1. 공정과 도구보다 개인과의 상호작용을 더 가치 있게 여긴다.
  2. 동작하는 소프트웨어보다는 포괄적인 문서를 가치 있게 여긴다.
  3. 계약 협상보다는 고객과의 협력을 가치 있게 여긴다.
  4. 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다.
(정답률: 94%)
  • 애자일 방법론은 포괄적인 문서 작성보다 실제로 동작하는 소프트웨어를 만드는 것을 더 가치 있게 여깁니다.

    오답 노트

    개인과의 상호작용, 고객과의 협력, 변화에 대한 대응은 모두 애자일의 핵심 가치입니다.
profile_image
1

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

3. 소프트웨어 설계에서 요구사항 분석에 대한 설명으로 틀린 것은?

  1. 소프트웨어가 무엇을 해야하는가를 추적하여 요구사항 명세를 작성하는 작업이다.
  2. 사용자의 요구를 추출하여 목표를 정하고 어떤 방식으로 해결할 것인지 결정하는 단계이다.
  3. 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계이다.
  4. 소프트웨어 개발의 출발점이면서 실질적인 첫 번째 단계이다.
(정답률: 90%)
  • 요구사항 분석은 소프트웨어가 무엇을 해야 하는지 정의하고 목표를 설정하는 개발의 첫 단계입니다. 소프트웨어 시스템 사용 중 발견되는 오류를 정리하는 것은 분석 단계가 아니라 테스트 단계의 활동입니다.
  • 요구 사항 개발 프로세스
    도출 - 분석 - 명세 - 확인
    [해설작성자 : 골프공]

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

    소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계는 테스트 단계이다.
profile_image
1

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

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

  1. Abstraction
  2. Polymorphism
  3. Encapsulation
  4. Inheritance
(정답률: 85%)
  • 1. 추상화
    2. 다형성
    3. 캽슐화
    4. 상속
  • 상속성(Inheritance)은 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받아 재사용하는 객체지향의 핵심 개념입니다.

    오답 노트

    Abstraction: 공통 성질을 추출하여 슈퍼 클래스를 선정하는 추상화
    Polymorphism: 하나의 메시지에 대해 각 객체가 고유한 방법으로 응답하는 다형성
    Encapsulation: 데이터와 함수를 하나로 묶고 세부 내용을 은폐하는 캡슐화
profile_image
1

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

5. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?

  1. 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
  2. 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다.
  3. 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
  4. 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
(정답률: 58%)
  • 상향식 설계는 최하위 모듈부터 상세히 설계하여 결합하는 방식입니다. 이 방식에서 기능을 쉽게 추가하기 위해서는 모듈 간의 인터페이스가 이미 명확하게 성립되어 있어야 합니다.

    오답 노트

    하향식 통합 검사: 상위에서 하위로 내려오며 인터페이스가 이미 정의되어 있어 통합이 간단함
    하향식 세부 사항: 레벨이 낮은 데이터 구조의 세부 사항이 설계 초기 단계부터 필요함
    상향식 설계 방식: 최하위 수준 모듈을 먼저 설계하고 이를 결합하여 검사함
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

6. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?

  1. Process : 원
  2. Data Flow : 화살표
  3. Data Store : 삼각형
  4. Terminator : 사각형
(정답률: 84%)
  • 자료흐름도 4가지 구성요소
    - 처리 Process : 원
    - 자료흐름 Data Flow : 화살표
    - 자료저장소 Data Store : 평행선
    - 단말 Terminal : 사각형
  • 자료흐름도(DFD)의 구성 요소와 표기법을 묻는 문제입니다. 자료저장소(Data Store)는 삼각형이 아니라 평행선으로 표기합니다.

    오답 노트

    Process는 원, Data Flow는 화살표, Terminator는 사각형으로 표기하는 것이 옳습니다.
profile_image
1

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

7. 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거리가 먼 것은?

  1. 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
  2. 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
  3. 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
  4. 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.
(정답률: 94%)
  • 소프트웨어 개발 모델은 복잡한 시스템을 추상화하여 시각적으로 표현함으로써, 향후 개발될 시스템의 구조와 동작을 유추하고 이해 당사자 간의 의사소통을 원활하게 하기 위해 사용합니다.
profile_image
1

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

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

  1. JAVA
  2. C
  3. UML
  4. Python
(정답률: 81%)
  • 객체 지향 시스템 개발 시 산출물을 명세화, 시각화, 문서화하여 분석가, 의뢰인, 설계자 간의 효율적인 의사소통을 돕는 표준 모델링 언어는 UML(Unified Modeling Language)입니다.
  • Unified Modeling Language
  • Unified Modeling Language
profile_image
1

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

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

  1. 스토리보드(Storyboard)
  2. 목업(Mockup)
  3. 프로토타입(Prototype)
  4. 유스케이스(Usecase)
(정답률: 79%)
  • 실제 화면과 유사하게 만든 정적인 형태의 모형이며, 시각적으로 구성 요소만 배치하고 실제 구현은 하지 않는 도구는 목업(Mockup)입니다.

    오답 노트

    스토리보드: UI 화면과 디스크립션을 포함한 작업지침서
    프로토타입: 인터랙션을 적용하여 테스트 가능한 동적 모형
    유스케이스: 사용자 관점의 목표 달성 수행 내용을 기술
profile_image
1

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

10. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?

  1. 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
  2. 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
  3. 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만들기 위한 주기로 3달 이상의 장기간으로 결정된다.
  4. 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
(정답률: 88%)
  • 스프린트는 스크럼의 핵심 개발 주기이며, 일반적으로 2~4주의 짧은 반복 주기로 진행하여 빠르게 결과물을 확인하고 피드백을 반영합니다. 3달 이상의 장기간으로 결정된다는 설명은 애자일의 핵심 가치인 빠른 반복 개발에 어긋납니다.
  • 스프린트
    - 실제 개발을 2~4주간 진행하는 과정
    - 스프린트 백로그에 작성된 Task를 대상으로 작업 시간을 측정한 후 담당 개발 자에게 할당합니다.
    - Task는 할 일, 진행 중, 완료의 상태로 구성된다.
profile_image
1

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

11. UML 다이어그램 중 정적 다이어그램이 아닌 것은?

  1. 컴포넌트 다이어그램
  2. 배치 다이어그램
  3. 순차 다이어그램
  4. 패키지 다이어그램
(정답률: 78%)
  • UML 다이어그램은 구조를 표현하는 정적 다이어그램과 행위를 표현하는 동적 다이어그램으로 나뉩니다. 순차 다이어그램은 객체 간의 상호작용을 시간 순서에 따라 메시지로 표현하는 대표적인 동적 다이어그램입니다.

    오답 노트

    컴포넌트, 배치, 패키지 다이어그램: 시스템의 구조를 정의하는 정적 다이어그램
  • 정적구조: [ 클래스, 객체, 패키지, 컴포넌트, 복합구조, 배치]
    동적구조: [ 유스케이스, 상태, 활동, 시퀀스, 통신, 상호작용, 타이밍]
profile_image
1

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

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

  1. 5개월
  2. 10개월
  3. 15개월
  4. 20개월
(정답률: 92%)
  • 전체 라인수를 1인당 월 생산성으로 나누어 총 노력(M/M)을 구한 뒤, 이를 참여 인원수로 나누어 개발 기간을 산출합니다.
    ① [기본 공식] $Period = \frac{\frac{LOC}{Productivity}}{People}$
    ② [숫자 대입] $Period = \frac{\frac{36000}{300}}{6}$
    ③ [최종 결과] $Period = 20$
profile_image
1

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

13. 클래스 설계원칙에 대한 바른 설명은?

  1. 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다.
  2. 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
  3. 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
  4. 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
(정답률: 68%)
  • - 단일 책임원칙 : 하나의 객체는 하나의 동작만의 책임을 가짐
    - 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하 며 변경에 대해 닫혀 있어야 한다.
    - 리스코프 교체의 원칙 : 특정 메소드가 상위 타입을 인자 로 사용할 때, 그 타입의 하위 타입도 문제 없이 작동해야 함
    - 의존관계 역전의 원칙 : 상위 계층이 하위 계층에 의존하 는 전통적인 의존관계를 반전(역전)시킴으로써 상위 계층이 하위 계층의 구현으로부터 독립되게 할 수 있음
  • 개방-폐쇄의 원칙(OCP)은 소프트웨어 구성 요소가 기능 확장에는 열려 있어야 하지만, 기존 코드의 변경에는 닫혀 있어야 한다는 원칙입니다.

    오답 노트

    단일 책임원칙: 하나의 클래스는 하나의 책임(목적)만 가져야 함
    리스코프 교체의 원칙: 하위 클래스는 상위 클래스를 대체해도 문제 없이 작동해야 함
    의존관계 역전의 원칙: 상위 계층이 하위 계층의 구현에 의존하지 않고 추상화에 의존하게 함
profile_image
1

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

14. GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) 패턴에 해당하는 것은?

  1. 컴퍼지트(Composite)
  2. 어댑터(Adapter)
  3. 추상 팩토리(Abstract Factory)
  4. 옵서버(Observer)
(정답률: 73%)
  • 추상 팩토리는 객체 생성 과정을 추상화하여 캡슐화하는 생성(Creational) 패턴에 해당합니다.

    오답 노트

    컴퍼지트, 어댑터: 구조 패턴
    옵서버: 행위 패턴
  • 생성 : 3. 추상 팩토리(Abstract Factory)
    구조 : 1. 컴퍼지트(Composite), 2. 어댑터(Adapter)
    행위 : 4. 옵서버(Observer)

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

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

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

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

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

  1. ㉮ → ㉯ → ㉰ → ㉱ → ㉲
  2. ㉲ → ㉮ → ㉯ → ㉱ → ㉰
  3. ㉮ → ㉲ → ㉯ → ㉱ → ㉰
  4. ㉮ → ㉯ → ㉰ → ㉲ → ㉱
(정답률: 70%)
  • 소프트웨어 아키텍처 설계는 목표 설정부터 검토까지 단계적으로 진행됩니다.
    설계 순서: ㉮ 설계 목표 설정 $\rightarrow$ ㉯ 시스템 타입 결정 $\rightarrow$ ㉰ 스타일 적용 및 커스터마이즈 $\rightarrow$ ㉱ 서브시스템의 기능, 인터페이스 동작 작성 $\rightarrow$ ㉲ 아키텍처 설계 검토
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

16. 사용자 인터페이스를 설계할 경우 고려해야 할 가이드라인과 가장 거리가 먼 것은?

  1. 심미성을 사용성보다 우선하여 설계해야 한다.
  2. 효율성을 높이게 설계해야 한다.
  3. 발생하는 오류를 쉽게 수정할 수 있어야 한다.
  4. 사용자에게 피드백을 제공해야 한다.
(정답률: 91%)
  • 사용자 인터페이스(UI) 설계 시에는 사용자가 편리하게 사용할 수 있는 사용성이 최우선으로 고려되어야 합니다. 따라서 심미성을 사용성보다 우선하여 설계한다는 설명은 적절하지 않습니다.
profile_image
1

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

17. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?

  1. 모듈 분해
  2. 디자인 패턴
  3. 연관 관계
  4. 클래스 도출
(정답률: 80%)
  • 객체 지향 프로그래밍 설계 시 자주 발생하는 문제들을 해결하기 위해 정형화된 일반적이고 반복적인 해결 방법을 디자인 패턴이라고 합니다.
  • 디자인패턴 : 객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.
profile_image
1

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

18. 객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은?

  1. Wirfs-Block Method
  2. Rumbaugh Method
  3. Booch Method
  4. Jacobson Method
(정답률: 87%)
  • Rumbaugh 방법은 객체 모델링, 동적 모델링, 기능 모델링의 3가지 모형을 순차적으로 생성하는 분석 기법입니다.

    오답 노트

    Booch 방법: 미시적/거시적 프로세스 사용
    Jacobson 방법: Use Case 강조
    Wirfs-Brock 방법: 분석과 설계의 구분 없이 연속적으로 수행
profile_image
1

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

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

  1. EAI
  2. FEP
  3. GPL
  4. Duplexing
(정답률: 52%)
  • - EAI(Enterprise Application Integration): 기업 응용 프로그램 통합으로 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
    - FEP(Front-End Processor): 입력되는 데이터를 컴퓨터의 프 로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
    - GPL(General Public License): 자유 소프트웨어 재단(OSF)에 서 만든 자유 소프트웨어 라이선스
    - Duplexing: 이중화(데이터베이스의 회복 기법 중 가장 간단한 것)
  • FEP(Front-End Processor)는 프로세서가 처리하기 전 데이터를 미리 처리하여 메인 프로세서의 부하를 줄여주는 하드웨어 또는 프로그램입니다.

    오답 노트

    EAI: 기업 응용 프로그램 통합
    GPL: 자유 소프트웨어 라이선스
    Duplexing: 시스템 이중화 또는 쌍방향 통신
profile_image
1

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

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

  1. Method
  2. Class
  3. Field
  4. Message
(정답률: 88%)
  • Class는 특정 객체 내의 변수와 메서드를 정의하는 틀이며, 객체 지향 프로그래밍에서 데이터를 추상화하는 기본 단위입니다.

    오답 노트

    Method: 객체가 실행해야 할 구체적인 연산
    Message: 객체 간 상호 작용을 위한 지시 수단
    Field: SQL의 열 또는 속성에 해당
profile_image
1

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

2과목: 소프트웨어 개발

21. 클린 코드(Clean Code)를 작성하기 위한 원칙으로 틀린 것은?

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

    오답 노트

    의존성: 다른 모듈에 미치는 영향을 최소화함
    가독성: 누구나 읽기 쉽게 작성함
    중복성: 코드 중복을 최소화함
  • 추상화 : 상위 클래스; 프로그램 특성만 간략하게, 하위 클래스; 세부적 내용 구현
    의존성(배제) : 다른 모듈에 미치는 영향을 최소화하여 코드 변경시 영향이 가지 않도록
    중복성(최소화) : 코드의 중복을 최소화
    가독성 : 누구든지 읽기 쉽게 작성
    단순성 : 코드를 단순하게 작성(프로그램을 최소단위로 분리해 작업을 한번에 하나씩 처리하도록)

    추상화 : 상위 클래스, 메소드, 함수에서는 간략하게 애플리케이션의 특성을 나타냄, 상세 내용은 하위 클래스,메소드, 함수에서 구현
profile_image
1

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

22. 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은?

  1. 테스트 스텁(Test Stub)
  2. 테스트 드라이버(Test Driver)
  3. 테스트 슈트(Test Suites)
  4. 테스트 케이스(Test Case)
(정답률: 71%)
  • 상향식 테스트에서는 하위 모듈을 먼저 테스트하기 위해, 상위 모듈의 역할을 대신하여 하위 모듈을 호출하고 데이터를 전달하는 가상의 모듈인 테스트 드라이버(Test Driver)가 필요합니다.

    오답 노트

    테스트 스텁: 하향식 테스트에서 하위 모듈의 역할을 대신하는 가상 모듈임
    테스트 슈트: 테스트 케이스들의 집합임
    테스트 케이스: 입력 값, 실행 조건, 기대 결과 등을 명시한 명세서임
  • 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은 **테스트 드라이버(Test Driver)**입니다.

    다른 용어들과의 차이점은 다음과 같습니다:

    테스트 스텁(Test Stub): 상향식 테스트가 아니라 하향식 테스트에서 사용됩니다. 테스트 스텁은 테스트 중인 모듈이 호출하는 하위 모듈의 대역으로, 상위 모듈이 테스트될 때 하위 모듈의 응답을 시뮬레이션합니다.

    테스트 드라이버(Test Driver): 상향식 테스트에서 사용됩니다. 테스트 드라이버는 하위 모듈을 테스트하기 위해 상위 모듈을 시뮬레이션하는 가상의 모듈로, 하위 모듈에 대한 입력을 제공하고 출력을 확인합니다.

    테스트 슈트(Test Suites): 여러 개의 테스트 케이스를 모아 놓은 집합입니다. 테스트 슈트는 특정 기능이나 모듈을 테스트하는 데 필요한 다양한 테스트 케이스를 포함하고 있습니다.

    테스트 케이스(Test Case): 단일 테스트를 정의하는 것으로, 입력, 실행 조건, 기대 결과 등을 포함합니다. 테스트 케이스는 특정 기능이 올바르게 동작하는지 확인하기 위해 설계됩니다.

    따라서, 상향식 테스트에서 필요한 가상의 모듈은 **테스트 드라이버(Test Driver)**입니다.
profile_image
1

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

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

  1. ㉠, ㉡
  2. ㉡, ㉢
  3. ㉠, ㉡, ㉢, ㉣
(정답률: 77%)
  • 스택(Stack)은 후입선출(LIFO) 구조로, 인터럽트 처리나 서브루틴 호출 작업 등에 응용되는 자료구조입니다.

    오답 노트

    FIFO 방식: 큐(Queue)의 특징임
    순서 리스트의 뒤(Rear) 삽입, 앞(Front) 제거: 큐(Queue)의 특징임
    양쪽 끝에서 삽입과 삭제 가능: 데크(Deque)의 특징임
profile_image
1

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

24. 소프트웨어 모듈화의 장점이 아닌 것은?

  1. 오류의 파급 효과를 최소화한다.
  2. 기능의 분리가 가능하여 인터페이스가 복잡하다.
  3. 모듈의 재사용 가능으로 개발과 유지보수가 용이하다.
  4. 프로그램의 효율적인 관리가 가능하다.
(정답률: 91%)
  • 모듈화는 소프트웨어를 독립적인 기능 단위로 나누는 것으로, 관리 효율성을 높이고 재사용성을 증대시키며 오류의 파급 효과를 최소화하는 장점이 있습니다. 기능 분리를 통해 인터페이스가 복잡해지는 것이 아니라, 오히려 구조가 단순해지고 명확해집니다.
profile_image
1

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

25. 소프트웨어 프로젝트 관리에 대한 설명으로 가장 옳은 것은?

  1. 개발에 따른 산출물 관리
  2. 소요인력은 최대화하되 정책 결정은 신속하게 처리
  3. 주어진 기간은 연장하되 최소의 비용으로 시스템을 개발
  4. 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발
(정답률: 78%)
  • 소프트웨어 프로젝트 관리의 핵심 목적은 제한된 자원을 효율적으로 사용하여 최적의 결과를 내는 것입니다. 따라서 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하는 것이 가장 올바른 설명입니다.

    오답 노트

    소요인력: 최대화가 아닌 최소화가 효율적임
    기간: 연장이 아닌 주어진 기간 내 완수가 원칙임
profile_image
1

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

26. 정형 기술 검토(FTR)의 지침으로 틀린 것은?

  1. 의제를 제한한다.
  2. 논쟁과 반박을 제한한다.
  3. 문제 영역을 명확히 표현한다.
  4. 참가자의 수를 제한하지 않는다.
(정답률: 76%)
  • 정형 기술 검토(FTR)는 효율적인 오류 검출을 위해 엄격한 지침을 따릅니다. 검토의 집중도를 높이기 위해 의제를 제한하고, 논쟁과 반박을 지양하며, 문제 영역을 명확히 표현해야 합니다. 특히, 효율적인 운영을 위해 참가자의 수를 적절히 제한하는 것이 원칙입니다.
  • 정형기술검토(FTR)의 지침
    - 오류 검출에 초점을 두고 해결책을 나중으로 미룸(제품 검 토의 집중성)
    - 검토를 위한 자료를 사전에 배포하여 검토하도록 한다(사전 준비성)
    - 의견을 제한하되 충분히 받아들인다(의제의 제한성)
    - 안건을 세우면 고수한다(안건 고수성)
    - 논쟁과 반박을 제한한다(논쟁 반박의 제한성)
    - 문제 영역을 공개한다(문제 공개성)
    - 참가자의 수를 제한한다(참가 인원의 제한성)
    - 발견된 오류는 문서화한다(문서성)
profile_image
1

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

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

  1. Analysis
  2. Migration
  3. Restructuring
  4. Reverse Engineering
(정답률: 59%)
  • Migration은 기존 소프트웨어를 새로운 기술이나 다른 운영체제, 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미합니다.

    오답 노트

    Analysis: 재공학 대상 선정 분석
    Restructuring: 기능 변경 없이 코드 재구성
    Reverse Engineering: 소스코드를 얻어내는 역공학
  • - Analysis: 기존 소프트웨어를 분석하여 재공학 대상을 선정하 는것
    - Migration: 기존 소프트웨어를 다른 운영체제나 하드웨어 환경 에서 사용할 수 있도록 변환하는 작업
    - Restructuring: 기존 소프트웨어를 향상시키기 위하여 코드를 재구성하는 작업(기능과 외적 동작은 변하지 않음)
    - Reverse Engineering: 기존 소프트웨어를 분석하여 소스코드 를 얻어내는 작업(소스코드로 소프트웨어를 만드는 작업의 역 작업)
profile_image
1

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

28. 정보시스템 개발 단계에서 프로그래밍 언어 선택 시 고려할 사항으로 가장 거리가 먼 것은?

  1. 개발 정보시스템의 특성
  2. 사용자의 요구사항
  3. 컴파일러의 가용성
  4. 컴파일러의 독창성
(정답률: 85%)
  • 프로그래밍 언어 선택 시에는 시스템 특성, 사용자 요구사항, 컴파일러의 가용성(이용 가능성), 개발자의 경험 등을 고려해야 합니다. 컴파일러의 독창성은 언어 선정의 기준이 되지 않습니다.
profile_image
1

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

29. 소프트웨어 패키징에 대한 설명으로 틀린 것은?

  1. 패키징은 개발자 중심으로 진행한다.
  2. 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징한다.
  3. 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
  4. 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
(정답률: 89%)
  • 소프트웨어 패키징은 개발자가 아닌 소비자(사용자) 중심으로 진행되어야 합니다. 사용자의 편의성과 실행 환경을 최우선으로 고려하여 배포 형태를 결정하는 작업입니다.
profile_image
1

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

30. 자료 구조의 분류 중 선형 구조가 아닌 것은?

  1. 트리
  2. 리스트
  3. 스택
  4. 데크
(정답률: 79%)
  • 자료 구조는 데이터가 나열되는 형태에 따라 선형과 비선형으로 구분합니다. 트리는 계층적 구조를 가지는 대표적인 비선형 구조입니다.

    오답 노트

    리스트, 스택, 데크: 데이터가 일렬로 연결된 선형 구조
profile_image
1

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

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

  1. Title Code
  2. Source Code
  3. Object Code
  4. Alien Code
(정답률: 92%)
  • Alien Code는 개발자의 퇴사, 문서 및 주석의 부재, 혹은 너무 오래된 환경과 언어로 작성되어 현재 시점에서 유지보수가 매우 어렵거나 불가능한 소스 코드를 의미합니다.
profile_image
1

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

32. 소프트웨어를 재사용함으로써 얻을 수 있는 이점으로 가장 거리가 먼 것은?

  1. 생산성 증가
  2. 프로젝트 문서 공유
  3. 소프트웨어 품질 향상
  4. 새로운 개발 방법론 도입 용이
(정답률: 76%)
  • 소프트웨어 재사용은 이미 검증된 모듈을 사용하여 개발 시간과 비용을 단축하고, 생산성과 품질을 높이며, 구축 지식을 공유할 수 있는 이점이 있습니다.
    반면, 기존의 표준화 부족이나 관리 문제로 인해 새로운 개발 방법론을 도입하는 것은 오히려 어려워질 수 있습니다.
profile_image
1

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

33. 인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은?

  1. AJTML
  2. JSON
  3. XML
  4. YAML
(정답률: 60%)
  • 인터페이스 통신을 위한 데이터 포맷으로는 JSON, XML, YAML 등이 사용됩니다.
    AJTML이라는 포맷은 존재하지 않습니다.

    오답 노트

    JSON: 키-값 쌍으로 이루어진 경량 데이터 포맷
    XML: 태그를 이용한 확장 가능한 마크업 언어
    YAML: 들여쓰기를 사용하여 사람이 읽기 쉽게 만든 데이터 표현 형식
  • ▶JSON(Javascript Object Notation)
    속성-값 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷, AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷

    ▶ XML(Extensible Markup Language)
    HTML의 단점을 보완한 인터넷 언어, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어

    ▶ AJAX(Asynchronous Javascript And XML)
    자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML 데이터를 교환하고 조작하기 위한 웹 기술, XMLHttpRequest 객체를 이용해 전체 페이지를 새로 로드하지 않고 필요한 부분만 로드한다.

    ▶ REST(Representational State Transfer)
    ⦁ 웹과 같은 분산 하이퍼미디어 환경에서 자원의 존재/상태 정보를 표준화된 HTTP 메서드로 주고받는 웹 아키텍처 (리소스, 메서드, 메시지)
    ⦁ HTTP URI를 통해 자원을 명시하고, HTTP 메서드(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용할 수 있는 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처이다.
    [해설작성자 : 강썬]

    YAML: JSON과 비슷하게 사람이 읽기 쉬운 형태의 데이터 표현 형식.
    - YAML은 XML과 문법적으로 유사한 점이 많음.
    - YAML에서도 주석을 사용 가능하며 개행, 공백으로 블록을 인식.
    - 태그를 사용하지 않고 공백 위주로 데이터를 구분하므로 한 줄로 작성할 수 없다는 특징.
    [해설작성자 : comcbt.com 이용자]
profile_image
1

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

34. 프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?

  1. 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
  2. 이해하기 쉽고 코드 변환이 용이하다.
  3. 화살표나 GOTO를 사용하여 이해하기 쉽다.
  4. 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
(정답률: 61%)
  • NS 차트는 GOTO 문을 배제하고 구조적 프로그래밍을 강조하는 차트
    → 화살표 없이 블록을 이용하여 논리를 표현함
  • NS Chart는 연속, 선택, 반복의 3가지 기본 구조만을 사용하여 논리를 표현하는 도형 기반 설계도입니다.
    가장 큰 특징은 Flow Chart의 단점인 화살표나 GOTO문을 사용하지 않고 박스 형태로 구조화하여 알고리즘을 일목요연하게 보여준다는 점입니다.
profile_image
1

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

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

  1. B D C A
  2. A B C D
  3. B A C D
  4. A B D C
(정답률: 75%)
  • 스택(Stack)은 LIFO(Last-In-First-Out) 구조로, 가장 나중에 들어온 데이터가 가장 먼저 나갑니다.
    연산 과정은 다음과 같습니다.
    1. push(A) $\rightarrow$ [A]
    2. push(B) $\rightarrow$ [A, B]
    3. pop $\rightarrow$ B 출력, [A]
    4. push(C) $\rightarrow$ [A, C]
    5. push(D) $\rightarrow$ [A, C, D]
    6. pop $\rightarrow$ D 출력, [A, C]
    7. pop $\rightarrow$ C 출력, [A]
    8. pop $\rightarrow$ A 출력, [ ]
    따라서 출력 결과는 B D C A 입니다.
  • 스택 연산 시뮬레이션
    입력 자료: A → B → C → D
    1. push → A를 스택에 넣음 → 스택: [A]
    2. push → B를 넣음 → 스택: [A, B]
    3. pop → B를 꺼냄 → 출력: B → 스택: [A]
    4. push → C를 넣음 → 스택: [A, C]
    5. push → D를 넣음 → 스택: [A, C, D]
    6. pop → D를 꺼냄 → 출력: D → 스택: [A, C]
    7. pop → C를 꺼냄 → 출력: C → 스택: [A]
    8. pop → A를 꺼냄 → 출력: A → 스택: []
    최종 출력 순서:
    B D C A
  • push A
    push A B
    pop_ A / B
    push A C / B
    push A C D / B
    pop_ A C / B D
    pop_ A / B D C
    pop_ / B D C A
profile_image
1

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

36. 분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피벗(pivot)을 사용하며 최악의 경우 회의 비교를 수행해야 하는 정렬(Sort)은?

  1. Selection Sort
  2. Bubble Sort
  3. Insert Sort
  4. Quick Sort
(정답률: 62%)
  • Quick Sort는 피벗(pivot)을 설정하여 리스트를 두 개의 부분 리스트로 나누는 분할 정복 알고리즘입니다. 평균적으로는 매우 빠르나, 피벗 설정이 최악일 경우 비교 횟수가 $\frac{n(n-1)}{2}$이 되어 시간 복잡도가 $O(n^{2})$가 됩니다.
  • Selection Sort - 배열 내에서 최소값을 찾은 다음 정렬 되지 않은 맨 앞 값과 교환을 하며 정렬을 해 나아가는 방법 (정렬 시간 복잡도 모두 O(n^2))
    - Bubble Sort - 왼쪽에서 부터 두 데이터를 비교해서 앞에 있는 데이터가 뒤에 있는 데이터 보다 크면 자리를 바꾸는 정렬 알고리즘(정렬 시간 복잡도 모두 O(n^2))
    - Insert Sort - 한 개의 값을 추출한 다음 앞쪽으로 비교해서 본인의 자리를 알맞게 찾아가게끔 하는 정렬 방법. 정렬 시간 복잡도는 최상일 경우 O(n), 평균과 최악일 경우 O(n^2)
    - 병합 정렬 - 또한 분할 정복에 기반한 알고리즘으로 리스트를 1 이하인 상태까지 절반으로 자른 다음 재귀적으로 합병 정렬을 이용해서 전체적인 리스트를 합병하는 정렬 과정. O(n log n)
    ※ n(n-1)/2 = O(n^2)
    [해설작성자 : 나태규]

    정렬이란? 여러 개의 자료를 순서에 따라 나열하는 방법
    8개 종류: [선택, 버블, 삽입, 쉘, 퀵, 힙, 이진병합, 버킷정렬]

    종류 최상 평균 최악
    선택 정렬 O(n) O(n2) O(n2)
    버블 정렬 O(n2) O(n2) O(n2)
    삽입 정렬 O(n2) O(n2) O(n2)
    쉘 정렬 O(n) O(n1.5) O(n2)
    퀵 정렬 O(nlog2n) O(nlog2n) O(n2)
    힙 정렬 O(nlog2n) O(nlog2n) O(nlog2n)
    이진병합 정렬 O(nlog2n) O(nlog2n) O(nlog2n)
    버킷 정렬 O(dn) O(dn) O(dn)
    [해설작성자 : SD.신동]

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

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

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

  1. ㉠, ㉡
  2. ㉠, ㉣
  3. ㉡, ㉤
  4. ㉢, ㉥
(정답률: 75%)
  • 화이트 박스 테스트는 소스 코드의 내부 구조를 분석하여 검증하는 기법으로, 에서 데이터 흐름 검사와 루프 검사가 이에 해당합니다.

    오답 노트

    동등 분할 검사, 경계값 분석, 원인 결과 그래프 기법, 오류 예측 기법: 내부 구조가 아닌 입력/출력 값에 집중하는 블랙박스 테스트
profile_image
1

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

38. 소프트웨어 품질 관련 국제 표준인 ISO/IEC 25000에 관한 설명으로 옳지 않은 것은?

  1. 소프트웨어 품질 평가를 위한 소프트웨어 품질평가 통합모델 표준이다.
  2. System and Software Quality Requirements and Evaluation으로 줄여서 SQuaRE라고도 한다.
  3. ISO/IEC 2501n에서는 소프트웨어의 내부 측정, 외부측정, 사용품질 측정, 품질 측정 요소 등을 다룬다.
  4. 기존 소프트웨어 품질 평가 모델과 소프트웨어 평가 절차 모델인 ISO/IEC 9126과 ISO/IEC 14598을 통합하였다.
(정답률: 57%)
  • ISO/IEC 25000(SQuaRE) 표준에서 소프트웨어의 내부 측정, 외부 측정, 사용 품질 측정 및 품질 측정 요소 등을 다루는 영역은 ISO/IEC 2502n(품질 측정)입니다. ISO/IEC 2501n은 품질 모델을 정의하는 영역입니다.
  • ISO/IEC 25000
    - SW 품질 평가 통합 모델
    - SQuaRE로도 불림
    - ISO/IEC 9126, ISO/IEC 12119, ISO/IEC 14598의 3개 표준을 통합한 모델

    - 2500n : 개요 및 품질관리
    - 2501n : 품질모델
    - 2502n : 품질측정
    - 2503n : 품질요구
    - 2504n : 품질평가
    - 2505n : 확장분야
profile_image
1

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

39. 코드 인스펙션과 관련한 설명으로 틀린 것은?

  1. 프로그램을 수행시켜보는 것 대신에 읽어보고 눈으로 확인하는 방법으로 볼 수 있다.
  2. 코드 품질 향상 기법 중 하나이다.
  3. 동적 테스트 시에만 활용하는 기법이다.
  4. 결함과 함께 코딩 표준 준수 여부, 효율성 등의 다른 품질 이슈를 검사하기도 한다.
(정답률: 74%)
  • 코드 인스펙션은 프로그램을 직접 실행하지 않고 소스 코드를 읽으며 결함이나 표준 준수 여부를 확인하는 정적 테스트 기법입니다. 따라서 동적 테스트 시에만 활용한다는 설명은 틀린 것입니다.
  • 코드 인스펙션
    - 결함 뿐만 아니라 모든 것이 표준대로 되어 있는 지 확인하기 위한 검토
    - 표준이나 명세서에 서술한 내용과 비교하여 편차와 에러를 식별하기 위해 산출물을 근거로 수행하는 검사
    - 정적 테스트에 가까움
profile_image
1

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

40. 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것은?

  1. Critical Path Method
  2. Risk Analysis
  3. Work Breakdown Structure
  4. Waterfall Model
(정답률: 85%)
  • Risk Analysis는 프로젝트의 성공을 위해 잠재적인 위험 요소를 사전에 인식하고, 그 영향력을 분석하여 대비책을 세우는 모든 관리 활동을 의미합니다.

    오답 노트

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

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

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

41. 데이터베이스 설계 단계 중 물리적 설계 시 고려 사항으로 적절하지 않은 것은?

  1. 스키마의 평가 및 정제
  2. 응답 시간
  3. 저장 공간의 효율화
  4. 트랜잭션 처리량
(정답률: 68%)
  • 물리적 설계 단계에서는 응답 시간, 저장 공간의 효율화, 트랜잭션 처리량 등 실제 하드웨어 성능과 저장 구조에 영향을 주는 요소들을 고려합니다. 스키마의 평가 및 정제는 물리적 설계 이전 단계인 논리적 설계 단계에서 수행되는 활동입니다.
  • 스키마의 평가 및 정제는 논리적 설계에서 실행
profile_image
1

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

42. DELETE 명령에 대한 설명으로 틀린 것은?

  1. 테이블의 행을 삭제할 때 사용한다.
  2. WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있다.
  3. SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
  4. 기본 사용 형식은 “DELETE FROM 테이블 [WHERE 조건];” 이다.
(정답률: 77%)
  • DELETE문은 테이블내의 튜플들만 삭제, DROP문은 테이블 자체를 삭제
  • DELETE 명령은 테이블 내의 데이터(행/튜플)만을 삭제하는 DML 명령어입니다. 반면, DROP TABLE 명령은 테이블의 구조 자체를 완전히 삭제하는 DDL 명령어이므로, WHERE 조건절이 없다고 해서 두 명령의 효과가 동일해지지 않습니다.
profile_image
1

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

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

  1. 제5정규형
  2. 제4정규형
  3. 제3정규형
  4. 제1정규형
(정답률: 63%)
  • 제5정규형은 제4정규형을 만족하면서, 릴레이션의 모든 조인 종속성이 오직 후보 키를 통해서만 만족될 때(즉, 후보 키를 통하지 않는 조인 종속성을 제거했을 때) 성립하는 정규형입니다.

    오답 노트

    제1정규형: 도메인이 원자값으로 구성
    제3정규형: 이행적 함수 종속 제거
    제4정규형: 다치 종속 제거
  • 정규화 단계 - 원부이 결다조
    1. 원자화
    2. 부분 함수 종속 제거
    3. 이행 함수 종속 제거
    BCNF. 결정자 함수 종속
    4. 다치 종속성 제거
    5NF 조인 종속성 제거
profile_image
1

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

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

(정답률: 85%)
  • E-R 모델에서 다중값 속성은 하나의 속성이 여러 개의 값을 가질 수 있는 경우를 말하며, 이를 표기할 때는 이중 타원형을 사용합니다.

    오답 노트

    : 일반 속성 표기법
    : 기본키(식별자) 속성 표기법
    : 파생 속성 표기법
profile_image
1

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

45. 다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은?

  1. 필드키
  2. 슈퍼키
  3. 외래키
  4. 후보키
(정답률: 82%)
  • 릴레이션 간의 관계를 정의하는 키의 개념을 묻는 문제입니다.
    외래키(Foreign Key)는 한 릴레이션의 속성이 다른 릴레이션의 기본키를 참조하는 키로, 참조 무결성을 보장하기 위해 사용됩니다.

    오답 노트

    슈퍼키: 튜플을 고유하게 식별할 수 있는 속성 집합
    후보키: 유일성과 최소성을 모두 만족하는 키
  • * 키 : 레코드 또는 튜플을 확인하기 위해 이용되는 속성값

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

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

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

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

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

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

(정답률: 74%)
  • * ∃: 존재한다(There exist)
    * ∈: t가 r에 속함( t ∈ r )
    * ∀: 모든 것에 대하여(for all)
    * ∪: 합집합
  • 관계해석에서 사용하는 논리 기호의 의미를 묻는 문제입니다.
    모든 것에 대하여(for all)를 의미하는 기호는 $\forall$이며, 이는 All의 'A'를 뒤집은 모양으로 기억하면 쉽습니다.

    오답 노트

    $\exists$: 존재한다(There exist)
    $\in$: 원소가 집합에 속함
    $\subset$: 부분집합
profile_image
1

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

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

  1. Degree : 4, Cardinality : 3
  2. Degree : 3, Cardinality : 4
  3. Degree : 3, Cardinality : 12
  4. Degree : 12, Cardinality : 3
(정답률: 74%)
  • 릴레이션의 구조를 분석하여 Degree(차수)와 Cardinality(카디널리티)를 구하는 문제입니다.
    Degree는 열(Attribute)의 개수이고, Cardinality는 행(Tuple)의 개수입니다.

    ① [Degree 계산]: 학번, 이름, 학년, 학과 $\rightarrow 4$
    ② [Cardinality 계산]: 홍길동, 이순신, 강감찬 $\rightarrow 3$
    ③ [최종 결과]: $\text{Degree : 4, Cardinality : 3}$
  • 속성 - 차수 / 튜플 - 카디널리티
profile_image
1

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

48. 뷰(View)에 대한 설명으로 틀린 것은?

  1. 뷰 위에 또 다른 뷰를 정의할 수 있다.
  2. DBA는 보안성 측면에서 뷰를 활용할 수 있다.
  3. 사용자가 필요한 정보를 요구에 맞게 가공하여 뷰로 만들 수 있다.
  4. SQL을 사용하면 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약 사항이 없다.
(정답률: 85%)
  • 뷰(View)는 가상 테이블로서 보안성 향상과 사용자 편의성을 위해 사용됩니다.
    하지만 뷰는 물리적인 저장 공간을 갖지 않는 가상 뷰이기 때문에, 기반 테이블의 구조나 제약 조건에 따라 삽입, 갱신, 삭제 연산 시 제약 사항이 발생합니다.

    오답 노트

    뷰 위에 또 다른 뷰 정의 가능: 가능함
    DBA의 보안성 활용: 가능함
    사용자 요구에 맞는 가공: 가능함
profile_image
1

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

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

  1. SELECT 학생 FROM 이름 WHERE 학과='교육';
  2. SELECT 이름 FROM 학생 WHERE 학과='교육';
  3. SELECT 교육 FROM 학과 WHERE 이름='학생';
  4. SELECT 학과 FROM 학생 WHERE 이름='교육';
(정답률: 77%)
  • 관계 대수식 $\Pi_{\text{이름}}(\sigma_{\text{학과}=\text{'교육'}}(\text{학생}))$을 SQL로 변환하는 문제입니다.
    먼저 $\sigma$ (셀렉션) 연산은 조건에 맞는 튜플을 추출하므로 $\text{WHERE 학과='교육'}$이 되고, $\Pi$ (프로젝션) 연산은 특정 속성만 추출하므로 $\text{SELECT 이름}$이 됩니다. 대상 릴레이션은 $\text{학생}$이므로 $\text{FROM 학생}$을 사용합니다.
    따라서 $\text{SELECT 이름 FROM 학생 WHERE 학과='교육';}$이 정답입니다.
  • 거꾸로 풀면됨 문제에서 학생이 가장 뒤에 있음 - 맨 앞에 생각하는 from문에 삽입 from 학생 그럼 2 or 4 문제에서 학과 = 교육 이니까 2번 답
    [해설작성자 : 쉽게생각해]

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

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

    SELECCT (속성명) FROM (테이블) WHERE (조건)
    이 SQL 질의에 맞춰 표현하면
    SELECT 이름 FROM 학생 WHERE 학과 = '교육';
profile_image
1

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

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

  1. 1NF → 2NF
  2. 2NF → 3NF
  3. 3NF → BCNF
  4. BCNF → 4NF
(정답률: 63%)
  • 함수 종속 관계에서 $A \to B$이고 $B \to C$ 일 때 $A \to C$가 성립하는 관계를 이행적 함수 종속(Transitive Dependency)이라고 합니다. 이러한 이행적 함수 종속을 제거하여 제3정규형으로 만드는 단계가 2NF $\to$ 3NF 과정입니다.
  • A→B 이고 B→C 일 때 A→C를 만족하는 관계를 다른 말로 말하면, 이행적 종속(Transive Dependency) 관계
profile_image
1

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

51. CREATE TABLE문에 포함되지 않는 기능은?

  1. 속성 타입 변경
  2. 속성의 NOT NULL 여부 지정
  3. 기본키를 구성하는 속성 지정
  4. CHECK 제약조건의 정의
(정답률: 64%)
  • CREATE TABLE문은 테이블의 초기 구조를 정의하는 명령어입니다. 이미 생성된 테이블의 속성 타입을 변경하는 작업은 구조 변경 명령어인 ALTER TABLE문을 사용해야 합니다.

    오답 노트

    NOT NULL 여부 지정: 컬럼 생성 시 NULL 값 허용 여부 설정 가능
    기본키 지정: PRIMARY KEY 제약조건으로 설정 가능
    CHECK 제약조건: 특정 조건의 참/거짓을 검사하는 제약조건 정의 가능
  • PRIMARY KEY : 테이블의 기본 키를 정의 / 유일하게 테이블의 각 행을 식별
    FOREIGN KEY : 참조 대상을 테이블로 명시 / 외래 키를 정의 / 열과 참조된 테이블의 열 사이의 외래 키 관계를 적용하고 설정
    UNIQUE : 테이블 내에서 얻은 유일한 값을 갖도록 하는 속성
    NOT NULL : 해당 컬럼은 NULL값을 포함하지 않도록 하는 속성
    CHECK : 개발자가 정의하는 제약조건 / 참(TRUE)이어야 하는 조건을 지정
    DEFAULT : 해당 필드의 기본값을 설정

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

    속성타입 변경은 ALTER TABLE 문에 포함되어있다.
    [해설작성자 : 하드서버덕후]

    CREATE TABLE에 포함되는 기능:
    테이블 생성: 새로운 테이블을 데이터베이스에 추가합니다.
    컬럼 정의: 각 컬럼의 이름과 데이터 타입을 지정합니다.
    제약조건 설정: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL 등의 제약조건을 설정하여 데이터 무결성을 강화합니다.
    기본값 설정: DEFAULT를 통해 특정 컬럼에 기본값을 지정할 수 있습니다.
    CREATE TABLE에 포함되지 않는 기능:
    속성 타입 변경: 이미 생성된 테이블의 컬럼 데이터 타입을 변경하는 것은 ALTER TABLE 명령어를 사용해야 합니다. CREATE TABLE은 테이블 생성 시의 초기 구조 설정에만 사용됩니다.
    데이터 조작: 데이터를 추가, 삭제, 수정하는 기능은 INSERT, DELETE, UPDATE 명령어를 통해 수행됩니다. CREATE TABLE은 이러한 데이터 조작 기능을 포함하지 않습니다.
    테이블 삭제: 테이블을 삭제하는 작업은 DROP TABLE 명령어로 수행됩니다.
profile_image
1

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

52. SQL과 관련한 설명으로 틀린 것은?

  1. REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
  2. 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.
  3. DISTINCT를 활용하여 중복 값을 제거할 수 있다.
  4. JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
(정답률: 77%)
  • REVOKE 키워드는 데이터 제어어(DCL)에 해당하며, 사용자에게 부여되었던 권한을 취소하는 명령어입니다. 열 이름을 다시 부여하는 기능과는 무관합니다.

    오답 노트

    데이터 정의어: 테이블, 뷰, 인덱스 등을 생성, 변경, 제거하는 DDL 명령어
    DISTINCT: SELECT문에서 중복된 결과 값을 제거하는 키워드
    JOIN: 여러 테이블의 공통 컬럼을 기준으로 레코드를 조합하는 연산
  • REVOKE는 DCL에 해당 하는 권한을 해제하는 명령어
    [해설작성자 : 그렇다네요]

    #### DDL(Data Define Language, 데이터 정의어)
    >DDL은 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.

    - CREATE: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의한다.
    - ALTER: TABLE에 대한 정의를 변경하는 데 사용한다.
    - DROP: SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제한다.


    #### DML(Data Manipulation Language, 데이터 조작어)
    >DML은 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용되는 언어이다.
    데이터베이스 사용자와 데이터베이스 관리시스템 간의 인터페이스를 제공한다.

    - SELECT: 테이블에서 조건에 맞는 튜플을 검색한다.
    - INSERT: 테이블에 새로운 튜플을 삽입한다.
    - DELETE: 테이블에서 조건에 맞는 튜플을 삭제한다.
    - UPDATE: 테이블에서 조건에 맞는 튜플의 내용을 변경한다.

    #### DCL(Data Control Language, 데이터 제어어)
    > DCL은 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는 데 사용되는 언어이다.
    데이터 베이스 관리자가 데이터 관리를 목적으로 사용한다.

    - COMMIT: 명령에 의해 수행된 결과를 실제 물리적 디스크로 저장하고, 데이터베이스 조작 작업이 정상적으로 완료되었음을 관리자에게 알려준다.
    - ROLLBACK: 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구한다.
    - GRANT: 데이터베이스 사용자에게 사용권한을 부여한다.
    - REVOKE: 데이터베이스 사용자의 권한을 취소한다.
profile_image
1

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

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

  1. 1
  2. 3
  3. 4
  4. 5
(정답률: 77%)
  • 제시된 SQL문은 에서 보듯 WHERE 절과 같은 조건문이 없는 단순 조회문입니다. 따라서 사원 테이블에 존재하는 모든 튜플의 급여 컬럼을 출력하게 되며, 테이블의 전체 행 수가 5개이므로 생성되는 튜플 수는 5개입니다.
profile_image
1

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

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

  1. 점수 >= 90 AND 점수 <= 95
  2. 점수 > 90 AND 점수 < 95
  3. 점수 > 90 AND 점수 <= 95
  4. 점수 >= 90 AND 점수 < 95
(정답률: 81%)
  • SQL의 BETWEEN 연산자는 지정된 두 값 사이의 범위를 포함하는 비교 연산입니다. 즉, 점수 BETWEEN 90 AND 95는 점수가 90 이상이고 95 이하인 조건을 의미하므로 점수 >= 90 AND 점수 <= 95와 동일합니다.
profile_image
1

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

55. 트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?

  1. 철회(Aborted)
  2. 부분 완료(Partially Committed)
  3. 완료(Commit)
  4. 실패(Fail)
(정답률: 78%)
  • 트랜잭션 수행 중 오류가 발생하여 ROLLBACK 연산을 통해 트랜잭션 이전의 상태로 되돌리는 상태를 철회(Aborted)라고 합니다.
  • ROLLBACK = 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구 = 철회
profile_image
1

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

56. 데이터 제어어(DCL)에 대한 설명으로 옳은 것은?

  1. ROLLBACK : 데이터의 보안과 무결성을 정의한다.
  2. COMMIT : 데이터베이스 사용자의 사용 권한을 취소한다.
  3. GRANT : 데이터베이스 사용자의 사용 권한을 부여한다.
  4. REVOKE : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.
(정답률: 82%)
  • GRANT는 데이터베이스 사용자의 사용 권한을 부여하는 제어어입니다.

    오답 노트

    ROLLBACK: 비정상 종료 시 원래 상태로 복구
    COMMIT: 데이터의 보안과 무결성을 정의(확정)
    REVOKE: 사용 권한을 취소
  • 1. ROLLBACK : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.
    2. COMMIT : 데이터의 보안과 무결성을 정의한다.
    3. GRANT : 데이터베이스 사용자의 사용 권한을 부여한다.
    4. REVOKE : 데이터베이스 사용자의 사용 권한을 취소한다.
profile_image
1

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

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

(정답률: 84%)
  • SELECT A FROM R은 R 테이블의 A 컬럼 값을 가져오고, SELECT A FROM S는 S 테이블의 A 컬럼 값을 가져옵니다. 이때 UNION ALL 연산자는 두 쿼리의 결과를 합치되 중복을 제거하지 않고 모두 표시하므로, R의 {1, 3}과 S의 {1, 2}가 모두 나열된 가 정답입니다.
  • SQL문의 : SELECT A FROM R 은 R테이블의 A컬럼의 값을 가져오라 라는 뜻
    UNION ALL : 각 쿼리의 모든 결과를 포함한 합집합 (중복제거 안함)
    [해설작성자 : 독학하는자]

    UNION : 각 쿼리의 결과 합을 반환하는 합집합 (중복제거)
profile_image
1

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

58. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?

  1. 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
  2. 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
  3. 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
  4. 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다.
(정답률: 55%)
  • 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, 분산 데이터베이스, 통신 네트워크, 분산 트랜잭션으로 구성됩니다. P2P 시스템이나 단일 데이터베이스는 분산 데이터베이스의 핵심 구성 요소가 아닙니다.
  • 분산 처리기, 통신 네트워크, 분산 데이터베이스
  • 분산 데이터베이스 주요 구성 요소는
    전역, 분할, 할당, 지역 스키마가 있다.
    [해설작성자 : 합격기원]

    구성요소는 분산처리기, 분산 데이터베이스, 통신 네트워크

    분산 데이터베이스의 구성 요소 - '분산'
    1) 분산 처리기
    2) 분산 데이터베이스
    3) 통신 네트워크
    4) 분산 트랜잭션
    분산 데이터베이스의 구조 - 전역, 분할(단편화), 할당, 지역 스키마
  • 분산 데이터베이스의 구조 - 전역, 분할(단편화), 할당, 지역 스키마
profile_image
1

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

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

  1. V_1만 삭제된다.
  2. V_2만 삭제된다.
  3. V_1과 V_2 모두 삭제된다.
  4. V_1과 V_2 모두 삭제되지 않는다.
(정답률: 82%)
  • 뷰 삭제 시 $\text{CASCADE}$ 옵션의 동작 원리를 묻는 문제입니다. $\text{CASCADE}$는 연쇄 삭제를 의미하며, 삭제하려는 뷰를 참조하고 있는 다른 뷰나 객체들까지 함께 삭제합니다.
    문제에서 $\text{V\_1}$을 이용하여 $\text{V\_2}$를 정의했으므로, $\text{DROP VIEW V\_1 CASCADE;}$ 명령을 수행하면 부모 뷰인 $\text{V\_1}$과 이를 참조하는 자식 뷰인 $\text{V\_2}$가 모두 삭제됩니다.
profile_image
1

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

60. 데이터베이스에서 병행제어의 목적으로 틀린 것은?

  1. 시스템 활용도 최대화
  2. 사용자에 대한 응답시간 최소화
  3. 데이터베이스 공유 최소화
  4. 데이터베이스 일관성 유지
(정답률: 74%)
  • 병행제어의 목적은 여러 사용자가 동시에 데이터베이스를 사용하여도 일관성이 유지되도록 하는 것입니다. 따라서 데이터베이스 공유를 최소화하는 것이 아니라, 공동 사용을 최대화하여 시스템 활용도를 높이는 것이 목적입니다.
  • 여러 트랜잭션들이 동시에 실행되면서도 데이터베이스의 일관성을 유지할 수 있게 하는 기법

    병행제어의 목적
    - 여러 사용자들의 데이터베이스 공동 사용을 최대화
    - 사용자의 응답 시간 최소화
    - 데이터베이스 시스템의 활용도 최대화
    - 데이터베이스의 일관성 유지
profile_image
1

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

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

61. IP 주소체계와 관련한 설명으로 틀린 것은?

  1. IPv6의 패킷 헤더는 32 octet의 고정된 길이를 가진다.
  2. IPv6는 주소 자동설정(Auto Configuration) 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있다.
  3. IPv4는 호스트 주소를 자동으로 설정하며 유니캐스트(Unicast)를 지원한다.
  4. IPv4는 클래스별로 네트워크와 호스트 주소의 길이가 다르다.
(정답률: 63%)
  • 1) IPv4
    ᄀ. 32비트 주소
    ᄂ. 유니캐스트/멀티캐스트/브로드캐스트 사용

    2) IPv6
    ᄀ. 128비트 주소
    ᄂ. 기존 IPv4의 주소 부족 문제를 해결하기 개발
    ᄃ. 인증성/기밀성/무결성 지원 (=보안성 강화)
    ᄅ. 유니캐스트, 애니캐스트, 멀티캐스트 사용

    IPv6 헤더의 경우는 40 octet의 고정된 길이
    1번 보면 "패킷 헤더"라고 했기 때문에 오답이다.
    IPv4는 헤더가 가변적이고, 주소크기는 32bit
    IPv6는 헤더가 40byte(320bit)로 고정되어 있고, 주소크기 는 128bit
  • IPv6의 헤더 구조에 대한 문제입니다. IPv6의 패킷 헤더는 32 octet이 아니라 40 octet의 고정된 길이를 가집니다.

    오답 노트

    IPv4는 클래스별로 네트워크와 호스트 주소 길이가 다르며, 호스트 주소 자동 설정 및 유니캐스트를 지원하는 것이 맞습니다. IPv6는 주소 자동설정 기능을 통해 단말 접속이 용이합니다.
profile_image
1

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

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

  1. 7, 5
  2. 8, 5
  3. 8, 9
  4. 7, 9
(정답률: 52%)
  • 2차원 배열과 포인터의 관계를 분석하는 문제입니다.
    배열 $\text{arr}[2][3] = \{1, 2, 3, 4, 5, 6\}$의 구조는 다음과 같습니다.
    $\text{arr}[0] = \{1, 2, 3\}$, $\text{arr}[1] = \{4, 5, 6\}$
    1. 첫 번째 출력문: $\text{*(p[0]+1)}$은 $\text{arr}[0][1]$인 $2$이고, $\text{*(p[1]+2)}$는 $\text{arr}[1][2]$인 $6$입니다. 따라서 $2 + 6 = 8$이 됩니다.
    2. 두 번째 출력문: $\text{*(*(p+1)+0)}$은 $\text{arr}[1][0]$인 $4$이고, $\text{*(*(p+1)+1)}$은 $\text{arr}[1][1]$인 $5$입니다. 따라서 $4 + 5 = 9$가 됩니다.
    최종 결과는 8, 9입니다.
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

63. OSI 7계층 중 데이터링크 계층에 해당되는 프로토콜이 아닌 것은?

  1. HTTP
  2. HDLC
  3. PPP
  4. LLC
(정답률: 69%)
  • HTTP는 사용자가 웹 브라우저를 통해 서비스를 이용하는 최상위 계층인 응용 계층(Application Layer) 프로토콜입니다.

    오답 노트

    HDLC, PPP, LLC: 데이터링크 계층(Data Link Layer) 프로토콜
profile_image
1

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

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

  1. ||
  2. &&
  3. **
  4. !=
(정답률: 84%)
  • || 연산자는 논리 OR 연산자로, 두 개의 피연산자 중 하나라도 참이면 1(true)을 반환합니다.

    오답 노트

    &&: AND 연산 (둘 다 참이어야 1)
    **: 거듭제곱 연산
    !=: 부등 연산 (서로 다를 때 true)
profile_image
1

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

65. IPv6에 대한 특성으로 틀린 것은?

  1. 표시방법은 8비트씩 4부분의 10진수로 표시한다.
  2. 2128개의 주소를 표현할 수 있다.
  3. 등급별, 서비스별로 패킷을 구분할 수 있어 품질보장이 용이하다.
  4. 확장기능을 통해 보안기능을 제공한다.
(정답률: 70%)
  • IPv6는 16비트씩 8부분의 16진수로 표시하는 주소 체계입니다. 8비트씩 4부분의 10진수로 표시하는 방식은 IPv4의 특성입니다.
  • IPv6 : 16비트씩 8부분의 16진수로 표시
  • IPv6 : 16비트씩 8부분의 16진수로 표시
profile_image
1

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

66. JAVA의 예외(exception)와 관련한 설명으로 틀린 것은?

  1. 문법 오류로 인해 발생한 것
  2. 오동작이나 결과에 악영향을 미칠 수 있는 실행 시간 동안에 발생한 오류
  3. 배열의 인덱스가 그 범위를 넘어서는 경우 발생하는 오류
  4. 존재하지 않는 파일을 읽으려고 하는 경우에 발생하는 오류
(정답률: 65%)
  • 자바의 예외(Exception)는 프로그램 실행 시간(Runtime) 중에 발생하는 오류를 의미합니다. 문법 오류는 컴파일 시점에 발견되어 프로그램 실행 자체가 불가능하므로 예외의 정의에 부합하지 않습니다.
  • 문법 오류는 컴파일 시 에러가 발생하기 때문에 프로그램의 정상적인 실행이 불가능하므로 자바에서 정의한 예외 조건에 부합하지 않는다..
profile_image
1

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

67. TCP/IP 계층 구조에서 IP의 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜은?

  1. ECP(Error Checking Protocol)
  2. ARP(Address Resolution Protocol)
  3. ICMP(Internet Control Message Protocol)
  4. PPP(Point-to-Point Protocol)
(정답률: 51%)
  • ICMP(Internet Control Message Protocol)는 IP와 조합하여 통신 중 발생하는 오류 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 프로토콜입니다.

    오답 노트

    ARP: IP 주소를 MAC 주소로 변환
    PPP: 점대점 데이터링크를 통해 3계층 프로토콜 캡슐화 전송
  • ARP : IP 네트워크 상에서 IP주소를 MAC주소로 변환하는 프로토콜

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

    ECP(Error Checking Protocol)는 없음
  • - ARP : IP 네트워크 상에서 IP주소를 MAC주소로 변환하는 프 로토콜
    - ICMP : IP와 조합하여 통신 중에 발생하는 오류의 처리와 전 송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 하는 프로토콜
    - PPP : 점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화 시켜 전송하는 프로토콜
profile_image
1

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

68. 좋은 소프트웨어 설계를 위한 소프트웨어의 모듈간의 결합도(Coupling)와 모듈 내 요소 간 응집도(Cohesion)에 대한 설명으로 옳은 것은?

  1. 응집도는 낮게 결합도는 높게 설계한다.
  2. 응집도는 높게 결합도는 낮게 설계한다.
  3. 양쪽 모두 낮게 설계한다.
  4. 양쪽 모두 높게 설계한다.
(정답률: 80%)
  • 좋은 소프트웨어 설계의 핵심은 각 모듈이 하나의 책임만 가지며 내부적으로 끈끈하게 뭉쳐 있고(고응집), 모듈 간에는 서로 의존성을 최소화하여 독립적으로 작동(저결합)하게 만드는 것입니다.
profile_image
1

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

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

  1. Dekker Algorithm
  2. Lamport Algorithm
  3. Peterson Algorithm
  4. Semaphore
(정답률: 54%)
  • 1. 데커의 알고리즘
    - 프로세스가 두개일때 상호 배제를 보장하는 최초의 알고 리즘
    - flag와 turn 변수를 사용하여 조정

    2. 램퍼드 알고리즘
    - 프로세스 n개의 상호 배제 문제를 해결한 알고리즘
    - 프로세스에게 고유한 번호를 부여하고, 번호를 기준으로 우선순위를 정하여 우선순위가 높은 프로세스가 먼저 임계 구역에 진입하도록 구현.

    3. 피터슨 알고리즘
    - 프로세스가 두개일때 상호 배제를 보장, 데커의 알고리 즘과 유사하지만 상대방에게 진입 기회를 양보한다는 차이 가 있고 보다 더 간단하게 구현됨

    4. 세마포어
    - 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대 상이 하나 이상)
  • 제시된 이미지의 $P(S)$ 연산은 자원이 없을 때 대기하고 자원이 있으면 할당($$S := S - 1$$)하며, $$V(S)$$ 연산은 사용한 자원을 반환($$S := S + 1$$)하는 세마포어의 핵심 메커니즘입니다.


    오답 노트

    Dekker Algorithm: 두 프로세스 간 상호 배제를 위해 flag와 turn 변수 사용
    Lamport Algorithm: n개 프로세스에 고유 번호를 부여하여 우선순위 제어
    Peterson Algorithm: 두 프로세스 간 상호 배제를 보장하며 상대에게 진입 기회를 양보하는 방식
profile_image
1

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

70. 소프트웨어 개발에서 모듈(Module)이 되기 위한 주요 특징에 해당하지 않는 것은?

  1. 다른 것들과 구별될 수 있는 독립적인 기능을 가진 단위(Unit)이다.
  2. 독립적인 컴파일이 가능하다.
  3. 유일한 이름을 가져야 한다.
  4. 다른 모듈에서의 접근이 불가능해야 한다.
(정답률: 82%)
  • 모듈은 독립적인 기능을 수행하는 단위이지만, 시스템 전체의 기능을 구현하기 위해 다른 모듈과 상호작용해야 하므로 다른 모듈에서의 접근이 완전히 불가능해서는 안 됩니다.
profile_image
1

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

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

  1. 3KB
  2. 23KB
  3. 64KB
  4. 67KB
(정답률: 78%)
  • Best Fit 전략은 가용 공간 중 프로그램 크기보다 크면서 그 차이(내부 단편화)가 가장 작은 공간에 적재하는 방식입니다.
    ① [기본 공식] $\text{내부 단편화} = \text{가용 공간 크기} - \text{프로그램 크기}$
    ② [숫자 대입] $20\text{KB} - 17\text{KB} = 3\text{KB}$
    ③ [최종 결과] $3\text{KB}$
profile_image
1

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

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

  1. i = 0
  2. i = 1
  3. i = 3
  4. i = 4
(정답률: 76%)
  • while 루프의 조건식이 1(참)이므로 무한 루프 구조입니다.
    루프 내부에서 `if(i == 4)` 조건이 충족될 때 `break` 문을 통해 루프를 탈출합니다.
    $i$가 0부터 시작하여 `++i`에 의해 1, 2, 3, 4 순으로 증가하며, $i$가 4가 되는 순간 루프를 빠져나와 `printf`로 출력되므로 결과는 i = 4가 됩니다.
profile_image
1

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

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

  1. BCDABCA
  2. BCDABCC
  3. CDDACCC
  4. CDDACCA
(정답률: 64%)
  • 배열 `c = {'A', 'B', 'D', 'D', 'A', 'B', 'C'}`에 대해 `rs` 메서드의 조건문을 순차적으로 적용합니다.
    1. `a[i] == 'B'` 이면 'C'로 변경
    2. `i == a.length - 1` (마지막 인덱스)이면 이전 값 `a[i-1]`을 대입
    3. 그 외에는 다음 값 `a[i+1]`을 현재 위치에 대입

    과정:
    $i=0$: 'A' $\rightarrow$ `a[1]`인 'B' 대입 $\rightarrow$ {'B', 'B', 'D', 'D', 'A', 'B', 'C'}
    $i=1$: 'B' $\rightarrow$ 'C'로 변경 $\rightarrow$ {'B', 'C', 'D', 'D', 'A', 'B', 'C'}
    $i=2$: 'D' $\rightarrow$ `a[3]`인 'D' 대입 $\rightarrow$ {'B', 'C', 'D', 'D', 'A', 'B', 'C'}
    $i=3$: 'D' $\rightarrow$ `a[4]`인 'A' 대입 $\rightarrow$ {'B', 'C', 'D', 'A', 'A', 'B', 'C'}
    $i=4$: 'A' $\rightarrow$ `a[5]`인 'B' 대입 $\rightarrow$ {'B', 'C', 'D', 'A', 'B', 'B', 'C'}
    $i=5$: 'B' $\rightarrow$ 'C'로 변경 $\rightarrow$ {'B', 'C', 'D', 'A', 'B', 'C', 'C'}
    $i=6$: 마지막 인덱스 $\rightarrow$ `a[5]`인 'C' 대입 $\rightarrow$ {'B', 'C', 'D', 'A', 'B', 'C', 'C'}
    최종 결과는 BCDABCC가 됩니다.
  • <문제 해설>
    rs(c)는 대충 a=c라고 생각하고 rs(char a[])=rs(char c[])
    c의 문자열 크기는 7이므로 a.length=7

    rs()는 i가 7미만일때까지 반복한다는 의미
    {'A', 'B', 'D', 'D', 'A', 'B', 'C'} 에서 a[0]='A', a[1]='B' 이런식으로 이해하면되는데
    rs 첫번째 if문은 a[i]의 값이'B'인 경우 그 값을 B에서 C로 바꾸라는 의미이고
    rs 두번째 else if는 i=6일때 a[6]=a[5]로 바꾸라는 의미이고
    rs 세번째 else 는 1, 2번째 if문에 충족되지 않는 나머지 경우는 다 a[i]=a[i+1]을 해주라는 의미

    {'A', 'B', 'D', 'D', 'A', 'B', 'C'}에서
    i=0 이면 A[0]를 A[1]로 변경해서 {'B', 'B', 'D', 'D', 'A', 'B', 'C'}
    i=1 이면 값이 B이기 때문에 C로 변경 {'B', 'C', 'D', 'D', 'A', 'B', 'C'}
    i=2 이면 A[2]를 A[3]으로 변경 {'B', 'C', 'D', 'D', 'A', 'B', 'C'} -똑같아서 그대로 방치
    i=3 이면 A[3]를 A[4]로 변경 {'B', 'C', 'D', 'A', 'A', 'B', 'C'}
    i=4 이면 A[4]를 A[5]로 변경 {'B', 'C', 'D', 'A', 'B', 'B', 'C'}
    i=5 이면 값이 B이기 때문에 C로 변경 {'B', 'C', 'D', 'A', 'B', 'C', 'C'}
    i=6 이면 A[6]를 A[5]로 변경 {'B', 'C', 'D', 'A', 'B', 'C', 'C'}
    pca(c)로 와서 char a[] 그대로 출력
    정답은 {'B', 'C', 'D', 'A', 'B', 'C', 'C'} = 2번
    [해설작성자 : 영남이공대 소프트웨어콘텐츠과]

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

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

74. 개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?

  1. Ant
  2. Kerberos
  3. Maven
  4. Gradle
(정답률: 72%)
  • 빌드 도구는 소스 코드를 실행 가능한 소프트웨어로 변환하는 과정을 자동화하는 도구입니다.
    Ant, Maven, Gradle은 모두 자바 기반의 대표적인 빌드 도구입니다.

    오답 노트

    Kerberos: 네트워크 인증 및 암호화 프로토콜입니다.
profile_image
1

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

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

  1. 1, 2, 0
  2. 2, 4, 3
  3. 1, 4, 2
  4. 4, 1, 3
(정답률: 77%)
  • FIFO (First-In, First-Out) 페이지 교체 알고리즘에서는 메모리에 가장 오래 전에 로드된 페이지를 교체 대상으로 합니다. 3개의 페이지 프레임을 가지고 주어진 페이지 참조 순서를 처리하면 다음과 같이 됩니다:

    1. **1** - 첫 번째 프레임에 로드됩니다. 프레임 상태: [1, , ]
    2. **2** - 두 번째 프레임에 로드됩니다. 프레임 상태: [1, 2, ]
    3. **1** - 이미 프레임에 로드되어 있으므로 변화 없음. 프레임 상태: [1, 2, ]
    4. **0** - 세 번째 프레임에 로드됩니다. 프레임 상태: [1, 2, 0]
    5. **4** - FIFO에 따라 가장 오래된 페이지 1을 교체합니다. 프레임 상태: [4, 2, 0]
    6. **1** - 다음으로 오래된 페이지 2를 교체합니다. 프레임 상태: [4, 1, 0]
    7. **3** - 마지막으로 오래된 페이지 0을 교체합니다. 프레임 상태: [4, 1, 3]

    따라서 페이지 참조 순서가 완료된 후 프레임의 최종 상태는 **4, 1, 3**입니다.
  • FIFO(First-In-First-Out) 알고리즘은 가장 먼저 들어온 페이지를 가장 먼저 교체하는 방식입니다.
    페이지 참조 순서에 따른 프레임 변화는 다음과 같습니다.
    1. [1] $\rightarrow$ (1, _, _)
    2. [2] $\rightarrow$ (1, 2, _)
    3. [1] $\rightarrow$ (1, 2, _) (Hit)
    4. [0] $\rightarrow$ (1, 2, 0)
    5. [4] $\rightarrow$ (4, 2, 0) (1 교체)
    6. [1] $\rightarrow$ (4, 1, 0) (2 교체)
    7. [3] $\rightarrow$ (4, 1, 3) (0 교체)
    최종 상태는 4, 1, 3이 됩니다.
profile_image
1

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

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

  1. E
  2. V
  3. R
  4. O
(정답률: 58%)
  • 배열의 인덱스는 0부터 시작한다는 점이 핵심입니다.
    1. `str1[1] = p2[2]` : `str1`("KOREA")의 1번 인덱스 'O'가 `p2`("LOVE")의 2번 인덱스 'V'로 변경 $\rightarrow$ "KVREA"
    2. `str2[3] = p1[4]` : `str2`("LOVE")의 3번 인덱스 'E'가 `p1`("KVREA")의 4번 인덱스 'A'로 변경 $\rightarrow$ "LOVA"
    3. `strcat(str1, str2)` : `str1` 뒤에 `str2`를 붙여 "KVREALOVA"가 됩니다.
    4. `*(p1 + 2)` : `p1`의 시작 주소에서 2칸 떨어진 2번 인덱스 값을 참조하면 'R'이 출력됩니다.
profile_image
1

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

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

(정답률: 83%)
  • Python의 리스트와 딕셔너리 접근 방식에 대한 문제입니다.
    1. list_data[0]: 리스트의 0번 인덱스에 저장된 문자열 'a'를 출력합니다.
    2. dict_data['a']: 딕셔너리에서 키(Key) 'a'에 대응하는 값(Value) 90을 출력합니다.
    결과적으로 'a'와 '90'이 순차적으로 출력됩니다.
profile_image
1

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

78. C언어에서 정수 변수 a, b에 각각 1, 2가 저장되어 있을 때 다음 식의 연산 결과로 옳은 것은?

  1. 0
  2. 1
  3. 3
  4. 5
(정답률: 60%)
  • C언어의 연산자 우선순위에 따라 산술 연산 $\rightarrow$ 시프트 연산 $\rightarrow$ 관계 연산 $\rightarrow$ 논리 연산 순으로 계산합니다.
    1. 좌항: $1 < 2 + 2$ $\rightarrow$ $1 < 4$ (참, 1)
    2. 우항: $1 << 1 \le 2$ $\rightarrow$ $2 \le 2$ (참, 1)
    3. 최종: $1 \text{ \&\& } 1$ (참, 1)
    따라서 결과값은 1입니다.
  • 연산자 우선순위
    1. +
    2. <<
    3. <, <=
    4. &&

    a, b를 대입한 식
    1 < 2 + 2 && 1 << 1 <= 2

    연산자 우선순위 순서대로 식을 진행합니다
    1) 1 < 4 && 1 << 1 <= 2
    2 + 2 = 4

    2) 1 < 4 && 2 <= 2
    1 << 1 = 2
    이진수 값 : 0001(1) --> 0010(2)

    3) true && true
    1 < 4 = true
    2 <= 2 = true

    4) &&은 모두 true이면 true를 반환하므로 1(true)가 정답입니다
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

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

(정답률: 71%)
  • Python의 for 문은 리스트의 요소를 인덱스 순서대로 하나씩 꺼내어 반복 실행합니다. 또한 print() 함수는 출력 후 자동으로 줄바꿈(개행)을 수행하므로, 리스트 ["대", "한", "민", "국"]의 각 요소가 한 줄에 하나씩 세로로 출력됩니다.
  • 파이썬은 print()하면 자동으로 개행
profile_image
1

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

80. UNIX 시스템의 쉘(shell)의 주요 기능에 대한 설명이 아닌 것은?

  1. 사용자 명령을 해석하고 커널로 전달하는 기능을 제공한다.
  2. 반복적인 명령 프로그램을 만드는 프로그래밍 기능을 제공한다.
  3. 쉘 프로그램 실행을 위해 프로세스와 메모리를 관리한다.
  4. 초기화 파일을 이용해 사용자 환경을 설정하는 기능을 제공한다.
(정답률: 49%)
  • 프로세스, 메모리 관리는 커널의 기능
  • 쉘은 사용자의 명령을 해석하여 커널에 전달하고, 쉘 스크립트를 통한 프로그래밍 및 환경 설정 기능을 제공하는 인터페이스입니다.

    오답 노트

    쉘 프로그램 실행을 위해 프로세스와 메모리를 관리한다: 프로세스 및 메모리 관리는 운영체제의 핵심인 커널의 기능입니다.
profile_image
1

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

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

81. 소프트웨어 생명주기 모델 중 나선형 모델(Spiral Model)과 관련한 설명으로 틀린 것은?

  1. 소프트웨어 개발 프로세스를 위험 관리(Risk Management) 측면에서 본 모델이다.
  2. 위험 분석(Risk Analysis)은 반복적인 개발 진행 후 주기의 마지막 단계에서 최종적으로 한 번 수행해야 한다.
  3. 시스템을 여러 부분으로 나누어 여러 번의 개발 주기를 거치면서 시스템이 완성된다.
  4. 요구사항이나 아키텍처를 이해하기 어렵다거나 중심이 되는 기술에 문제가 있는 경우 적합한 모델이다.
(정답률: 75%)
  • 나선형 모델은 위험 분석을 핵심으로 하는 모델입니다. 위험 분석은 주기의 마지막에 한 번만 수행하는 것이 아니라, 계획 수립 이후 매 반복 주기마다 지속적으로 수행하여 위험을 관리해야 합니다.
profile_image
1

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

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

  1. 고가용성 솔루션(HACMP)
  2. 점대점 연결 방식(Point-to-Point Mode)
  3. 스턱스넷(Stuxnet)
  4. 루팅(Rooting)
(정답률: 59%)
  • 제시된 이미지 의 내용처럼 공유 디스크 중심의 클러스터링을 통해 시스템 장애 시 다른 시스템이 자원을 인수하여 서비스 중단을 최소화하는 솔루션은 고가용성 솔루션(HACMP)입니다.

    오답 노트

    점대점 연결 방식: 중개 장치 없이 두 지점을 1:1로 직접 연결하는 방식
    스턱스넷: 지멘스 산업 장비를 공격한 웜 바이러스
    루팅: 안드로이드 OS에서 최상위 권한을 획득하여 제약을 해제하는 행위
  • 고가용성 솔루션(HACMP:High Availability Cluster Multi Processing)
    - AIX를 기반으로 한 IBM의 High Availability Solution
    - Resource의 중복 또는 공유를 통해 Application의 보호를 가능하게 해줌
    - 같은 Data를 공유하거나 동시에 access하는 node들에서 여러 개의 application을 실행하게 해줌
    - 두대 이상의 시스템을 하나의 Cluster로 묶어 Cluster내의 한 시스템에서 장애가 발생할 경우 다른 시스템이 장애가 발생한 시스템의 자원을 인수할 수 있도록 하여 서비스의 중단을 최소화 할 수 있도록 도와주는 솔루션

    점대점 연결 방식(Point-to-Point Mode)
    - 네트워크에 있어 물리적으로는 중개 장치를 통과하지 않고 한 지점에서 다른 지점으로 직접 가는 채널
    - 두 스테이션간을 별도의 회선을 사용하여 1 대 1로 연결.
    - 전용회선이나 공중 전화 회선을 이용.
    - 회선 구성이 간단하고 대용량 전송에 유리.
    - 별도의 회선과 포트에 따른 높은 설치비용

    스턱스넷(Stuxnet)
    - 2010년 6월에 발견된 웜 바이러스
    - 윈도우를 통해 감염, 지맨스산업의 SW 및 장비를 공격

    루팅(Rooting)
    - 모바일 기기에서 구동되는 안드로이드 운영체제상에서 최상위 권한 (루트 권한)을 얻음으로 해당 기기의 생산자 또는 판매자 측에서 걸어 놓은 제약을 해제하는 행위
  • 고가용성 솔루션(HACMP:High Availability Cluster Multi Processing)
    - AIX를 기반으로 한 IBM의 High Availability Solution
    - Resource의 중복 또는 공유를 통해 Application의 보호를 가능하게 해줌
    - 같은 Data를 공유하거나 동시에 access하는 node들에서 여러 개의 application을 실행하게 해줌
    - 두대 이상의 시스템을 하나의 Cluster로 묶어 Cluster내의 한 시스템에서 장애가 발생할 경우 다른 시스템이 장애가 발 생한 시스템의 자원을 인수할 수 있도록 하여 서비스의 중단 을 최소화 할 수 있도록 도와주는 솔루션

    점대점 연결 방식(Point-to-Point Mode)
    - 네트워크에 있어 물리적으로는 중개 장치를 통과하지 않고 한 지점에서 다른 지점으로 직접 가는 채널
    - 두 스테이션간을 별도의 회선을 사용하여 1 대 1로 연결. - 전용회선이나 공중 전화 회선을 이용.
    - 회선 구성이 간단하고 대용량 전송에 유리.
    - 별도의 회선과 포트에 따른 높은 설치비용

    스턱스넷(Stuxnet)
    - 2010년 6월에 발견된 웜 바이러스
    - 윈도우를 통해 감염, 지맨스산업의 SW 및 장비를 공격

    루팅(Rooting)
    - 모바일 기기에서 구동되는 안드로이드 운영체제상에서 최상 위 권한 (루트 권한)을 얻음으로 해당 기기의 생산자 또는 판 매자 측에서 걸어 놓은 제약을 해제하는 행위
profile_image
1

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

83. 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격은?

  1. Parsing
  2. LAN Tapping
  3. Switch Jamming
  4. FTP Flooding
(정답률: 60%)
  • 스위치에 위조된 MAC 주소를 대량으로 보내 MAC 주소 테이블을 가득 채움으로써, 스위치가 정상적인 포워딩 기능을 상실하고 모든 포트로 패킷을 뿌리는 더미 허브처럼 작동하게 만드는 공격을 Switch Jamming이라고 합니다.

    오답 노트

    Parsing: 프로그램을 실행 가능한 내부 포맷으로 분석 및 변환하는 과정
    LAN Tapping: LAN 신호를 직접 가로채는 방식의 공격
    FTP Flooding: TCP SYN 취약점을 이용해 서버를 마비시키는 DoS 공격
  • Parsing
    - 하나의 프로그램을 런타임 환경(예를 들면, 브라우저 내 자바스크립트 엔진)이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미함
    - LAN Tapping
    - 처음 들어보는 용어이고, 찾아도 제대로된 정의가 나오지 않으나 Lan+Tapping으로 해석한다면 LAN신호를 직접 자신에게 끌어오는 방식의 공격정도로 해석 가능함
    - Switch Jamming
    - 스위치의 기능이 방해 받아 정상 동작을 하지 못해 스위치가 더미 허브처럼 작동 하게 되는 것
    - Switch + Jamming(방해)
    - FTP(SYN) Flooding
    - TCP의 3 Way Handshake 취약점을 이용한 DoS 공격으로 다량의 SYN패킷을 보내 백로그큐를 가득 채우는 공격
    - 통상적으로 위의 공격법을 TCP SYN Flooding 이라고 칭하는 경우가 많음
    - FTP프로토콜을 사용한 서버에 다량의 SYN 패킷을 보내 마비시키는것을 FTP Flooding이라고 볼 수 있음.
  • Lan+Tapping으로 해석한다면 LAN신호를 직접 자신에게 끌어오는 방식의 공격정도로 해석 가능함
    - Switch Jamming
    - 스위치의 기능이 방해 받아 정상 동 작을 하지 못해 스위치가 더미 허브처럼 작동 하게 되는 것
    - Switch + Jamming(방해)
    - FTP(SYN) Flooding
    - TCP의 3 Way Handshake 취약점을 이용한 DoS 공격으로 다량의 SYN패킷을 보내 백로그큐를 가
    득 채우는 공격
    - 통상적으로 위의 공격법을 TCP SYN Flooding 이라고 칭하는 경우가 많음
    - FTP프로토콜을 사용한 서버에 다량 의 SYN 패킷을 보내 마비시키는것을 FTP Flooding이라고 볼
    수 있음.
profile_image
1

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

84. 다음 내용이 설명하는 스토리지 시스템은?

  1. DAS
  2. NAS
  3. BSA
  4. NFC
(정답률: 71%)
  • 제시된 이미지 의 내용처럼 하드디스크와 같은 저장장치를 호스트 버스 어댑터에 직접 연결하고, 네트워크 디바이스 없이 구성하는 방식은 DAS(Direct-attached storage)에 대한 설명입니다.
  • -직접 연결 저장장치(Direct-attached storage,DAS)
    -Network Attached Storage. 네트워크 결합 스토리지
    -근거리 무선 통신(NFC)
profile_image
1

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

85. 취약점 관리를 위해 일반적으로 수행하는 작업이 아닌 것은?

  1. 무결성 검사
  2. 응용 프로그램의 보안 설정 및 패치(Patch) 적용
  3. 중단 프로세스 및 닫힌 포트 위주로 확인
  4. 불필요한 서비스 및 악성 프로그램의 확인과 제거
(정답률: 83%)
  • 취약점 관리는 시스템의 약점을 찾아 보완하는 과정이므로, 중단 프로세스 및 닫힌 포트 위주로 확인하는 것이 아니라 현재 활성화된 프로세스와 열려 있는 포트를 중심으로 확인하여 잠재적 위협을 제거해야 합니다.
profile_image
1

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

86. 소프트웨어 생명주기 모델 중 V 모델과 관련한 설명으로 틀린 것은?

  1. 요구 분석 및 설계단계를 거치지 않으며 항상 통합 테스트를 중심으로 V 형태를 이룬다.
  2. Perry에 의해 제안되었으며 세부적인 테스트 과정으로 구성되어 신뢰도 높은 시스템을 개발하는데 효과적이다.
  3. 개발 작업과 검증 작업 사이의 관계를 명확히 드러내 놓은 폭포수 모델의 변형이라고 볼 수 있다.
  4. 폭포수 모델이 산출물 중심이라면 V 모델은 작업과 결과의 검증에 초점을 둔다.
(정답률: 66%)
  • V 모델은 요구 분석 및 설계 단계를 반드시 거치며, 구현 후 단위 $\rightarrow$ 통합 $\rightarrow$ 시스템 $\rightarrow$ 인수 테스트 순으로 각 개발 단계를 검증하는 모델입니다.

  • 검증(Verification)단계
    1. 요구사항 분석
    2. 시스템 설계
    3. 아키텍처 설계
    4. 모듈 설계
profile_image
1

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

87. 블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바르게 연결된 것은?

  1. 블루버그(BlueBug) - 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
  2. 블루스나프(BlueSnarf) - 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
  3. 블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미
  4. 블루재킹(BlueJacking) - 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
(정답률: 48%)
  • 블루프린팅(BluePrinting)은 블루투스 공격 장치의 검색 활동을 의미하는 것이 맞습니다.

    오답 노트

    블루버그: 장비 사이의 취약한 연결 관리를 악용한 공격
    블루스나프: OPP를 사용하여 장비의 파일에 접근하고 정보를 열람하는 공격
    블루재킹: 스팸처럼 명함을 익명으로 퍼뜨리는 공격
  • -블루버그: 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
    -블루스나프(블루스나핑): 블루투스의 취약점을 활용하여 장비 의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
    -블루재킹: 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨 리는 것
    *OPP(Obex Push Protocol)- 블루투스 장치끼리 인증 없이 정보를 간편하게 교환하기 위하여 개발됨
profile_image
1

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

88. DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?

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

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

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

  1. Apache
  2. Hadoop
  3. Honeypot
  4. MapReduce
(정답률: 76%)
  • 비정상적인 접근 탐지를 위해 의도적으로 설치한 시스템으로, 침입자를 유인하여 공격 기법 정보를 수집하는 시스템은 Honeypot입니다.

    오답 노트

    Apache: 서버용 오픈소스 소프트웨어
    Hadoop: 오픈소스 기반 분산 컴퓨팅 플랫폼
    MapReduce: 대용량 데이터 분산 처리 프로그래밍 모델
profile_image
1

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

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

  1. StackGuard
  2. Docker
  3. Cipher Container
  4. Scytale
(정답률: 75%)
  • 의 설명은 컨테이너 응용프로그램의 배포를 자동화하는 오픈소스 엔진인 Docker에 대한 설명입니다.

    오답 노트

    StackGuard: 스택 변조 확인을 위해 canary를 사용하는 기법
    Cipher Container: 자바의 암호화/복호화 기능 제공 컨테이너
    Scytale: 문자열 위치를 바꾸는 단순 암호화 기법
  • - StackGuard
    Stack 상에 일정한 주소번지에 프로 그램이 선언한 canary를 심어 두어, 스택의 변조 된 경우에, canary를 체크하여 프로그램이 비정상적으로 종료 시키는 기 법

    - Docker
    - 컨테이너 응용프로그램의 배포를 자 동화 하는 오픈소스 엔진
    - SW 컨터에이너 안의 응용 프로그램 들을 배치시키는 일을 자동화해 주는 오픈소스 프로젝트 이자 소프트웨어

    Cipher Container
    - 자바에서 암호화 복호화 기능을 제공하는 컨테이너

    - Scytale
    - 암호화 기법으로 단순하게 문자열의 위치를 바꾸는 방법
profile_image
1

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

91. 간트 차트(Gantt Chart)에 대한 설명으로 틀린 것은?

  1. 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝나야 하는지를 한 눈에 볼 수 있도록 도와준다.
  2. 자원 배치 계획에 유용하게 사용된다.
  3. CPM 네트워크로부터 만드는 것이 가능하다.
  4. 수평 막대의 길이는 각 작업(Task)에 필요한 인원수를 나타낸다.
(정답률: 71%)
  • 간트 차트에서 수평 막대의 길이는 인원수가 아니라 해당 작업(Task)을 수행하는 데 걸리는 기간을 나타냅니다.
  • 인원 수 (X)
    기간 (O)

    CPM의 기법은 널리 사용되던 간트 차트에서 발전한 것이다. ​. CPM(critical path method)
profile_image
1

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

92. Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳은 것은?

  1. Li-fi
  2. Scrapy
  3. CrawlCat
  4. SBAS
(정답률: 64%)
  • Scrapy는 파이썬 기반의 웹 크롤링 프레임워크로, 가볍고 빠르며 확장성이 뛰어난 것이 특징입니다.

    오답 노트

    Li-fi: 빛을 이용한 5세대 이동 통신 기술
    SBAS: GPS 오차를 보정하는 위성항법보강시스템
    CrawlCat: 구글에서 개발한 웹 크롤링 도구
profile_image
1

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

93. Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?

  1. SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
  2. 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
  3. 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
  4. 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
(정답률: 53%)
  • 자원 삽입 : 자원을 조작 할 수 있는 문자열을 삽입하여 시스 템이 보호하는 자원에 임의로 접근 할 수 있는 취약점
  • 자원 삽입은 시스템이 보호하는 자원에 임의로 접근하기 위해 자원을 조작할 수 있는 문자열을 삽입하는 취약점을 의미합니다. 단순히 사용 불가능한 자원을 입력해 과부하를 일으키는 것과는 다릅니다.
profile_image
1

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

94. Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?

  1. 보안에 취약
  2. 대용량 볼륨에 효율적
  3. 자동 압축 및 안정성
  4. 저용량 볼륨에서의 속도 저하
(정답률: 56%)
  • NTFS는 FAT 시스템을 대체하기 위해 개발된 파일 시스템으로, 사용자별 보안 설정이 가능하여 보안성이 매우 뛰어납니다. 따라서 보안에 취약하다는 설명은 틀린 내용입니다.

    오답 노트

    대용량 볼륨에 효율적, 자동 압축 및 안정성, 저용량 볼륨에서의 속도 저하: 모두 NTFS의 주요 특징입니다.
  • FAT
    - DOS때부터 사용되던 윈도우의 파일시스템
    - 저용량에 적합, 호환성이 좋음, 저장가능한 파일의 최대크기가 4GB

    NTFS
    - FAT시스템을 대체하기 위해 개발된 윈도우 파일 시스템
    - 사용자마다 다른 보안 적용 가능 즉 보안이 FAT보다 뛰 어남
    - 대용량 저장 가능 및 안정성이 뛰어남
profile_image
1

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

95. DES는 몇 비트의 암호화 알고리즘인가?

  1. 8
  2. 24
  3. 64
  4. 132
(정답률: 75%)
  • DES(Data Encryption Standard)는 $64$비트 단위의 블록 암호화 알고리즘입니다. (단, 실제 암호화에 사용되는 유효 키 길이는 $56$비트입니다.)
  • DES의 키는 7비트마다 오류 검출을 위한 정보가 1비트씩 들 어가기 때문에 실질적으로는 56비트이다.

    추가적으로 AES는 암호화 알고리즘은 AES-128, AES-192, AES-256로 나뉘어지며 숫자는 비트수 이다.
profile_image
1

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

96. 리눅스에서 생성된 파일 권한이 644일 경우 umask 값은?

  1. 022
  2. 666
  3. 777
  4. 755
(정답률: 65%)
  • 리눅스에서 파일의 기본 최대 권한은 $666$이며, 실제 생성된 권한은 기본 권한에서 umask 값을 뺀 결과입니다.
    ① [기본 공식] $\text{umask} = \text{기본 권한} - \text{생성 권한}$
    ② [숫자 대입] $\text{umask} = 666 - 644$
    ③ [최종 결과] $\text{umask} = 022$
  • 파일 생성 권한 666에서 644를 빼면 022

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

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

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

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

  1. tapping
  2. xtslog
  3. linuxer
  4. wtmp
(정답률: 58%)
  • 제시된 이미지 의 내용은 리눅스 시스템에서 사용자의 성공적인 로그인/로그아웃 및 시스템 종료/시작 시간을 기록하는 wtmp 파일에 대한 설명입니다.

    오답 노트

    utmp: 현재 로그인 사용자 상태 정보
    btmp: 로그인 실패 정보
    lastlog: 마지막 성공 로그인 정보
  • wtmp
    - 성공한 로그인/로그아웃 정보를 담고 있는 로그파일 - var/log/wtmp에 위치
    - last 명령어 사용
    1,2,3 전부 없는 명령어이다..
    이밖에 참고로
    utmp
    - 현재 로그인 사용자 상태 정보를 담고 있는 로그파일 btmp
    - 실패한 로그인 정보를 담고 있는 로그파일
    last log
    - 마지막으로 성공한 로그인 정보를 담고있는 로그파일
profile_image
1

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

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

  1. 낙관치
  2. 기대치
  3. 비관치
  4. 모형치
(정답률: 71%)
  • LOC(원시 코드 라인 수) 기법의 예측치는 낙관치, 비관치, 기대치를 활용한 가중 평균으로 산출하며, 모형치는 사용되지 않습니다.
    $$\text{예측치} = \frac{\text{낙관치} + \text{비관치} + (\text{기대치} \times 4)}{6}$$
profile_image
1

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

99. OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술은?

  1. PLCP(Packet Level Control Processor)
  2. Traffic Distributor
  3. Packet Tree
  4. DPI(Deep Packet Inspection)
(정답률: 53%)
  • DPI(Deep Packet Inspection)는 패킷의 헤더뿐만 아니라 페이로드(데이터 영역) 내부의 콘텐츠까지 깊숙이 분석하여 침입 시도나 해킹을 탐지하고 트래픽을 제어하는 기술입니다.

    오답 노트

    PLCP: 물리 계층 수렴 처리 절차
    Traffic Distributor: 네트워크 트래픽 분배 솔루션
    Packet Tree: 패킷 분석 기술과 무관한 용어
  • - PLCP(Physical Layer Convergence Procedure : 물리계층 수렴 처리)
    - 논리적인 802.11 MAC 부계층과 물리적인 특성을 연결하 는 역할
    - 802.11 MAC 부계층이 물리적 특성에 관계없이 동작하도 록함
    - Traffic Distributor
    - 네트워크 통신 간에 트래픽을 분배해주는 솔루션
    - DPI
    - 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보
    를 분석하는 컨텐츠 내용 분석 기술
    - 네트워크 보안, 관리, 컨텐츠 관리 등이 목적

    *단어의 정의를 몰라도 하나씩 뜯어보면 Deep(내부) Packet Inspection(분석)으로 유추 가능
profile_image
1

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

100. 소프트웨어 개발 방법론의 테일러링(Tailoring)과 관련한 설명으로 틀린 것은?

  1. 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여야 한다.
  2. 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.
  3. 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.
  4. 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.
(정답률: 66%)
  • 테일러링은 프로젝트의 특성, 환경, 제약 조건에 맞게 표준 개발 방법론의 절차나 산출물을 수정 및 보완하여 최적화하는 활동입니다. 따라서 프로젝트 수행 시 예상되는 변화를 배제하는 것이 아니라, 오히려 변화와 특성을 반영하여 유연하게 조정하는 것이 핵심입니다.
profile_image
1

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

< 이전회차목록 다음회차 >