/ EXITEM, 정처기

정보처리기사 기출문제 20220424_2

정보처리기사 기출문제 부시기 20220424

합격을 기원합니다.

모든 자료는 전자문제집 CBT에서 제공됩니다.

1과목 : 소프트웨어 설계 (11번~20번)

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

  1. 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
  2. 객체는 공통 속성을 공유하는 클래스들의 집합니다.
  3. 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
  4. 객체의 상태는 속성값에 의해 정의된다.

문제 해설

  1. 클래스는 공통 속성을 공유하는 객체들의 집합이다.
    [해설작성자 : 풋살은재밌어]

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

  1. Inheritance
  2. Class
  3. Encapsulation
  4. Association

문제 해설

  • 클래스 : 하나 이상의 유사한 객체들을 묶는다.
  • 캡슐화 : 서로 관련성이 많은 데이터들과 연산들을 묶는다.
    [해설작성자 : comcbt.com 이용자]

내 공부

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

  1. 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
  2. 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.
  3. 협상과 계약보다는 고객과의 협력을 중시한다.
  4. 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.

문제 해설

  • 애자일 개발 프로세스
    • 개발에 대한 개념적 방법론으로, 개발 프로젝트 기간을 짧은 주기로 나눠 반복적인 개발을 하는 것이 특징
  • [애자일 선언문]
    • ‘프로세스, 도구 보다는 (사람과 상호작용)을
    • 광범위한 문서 보다는 (실제 작동하는 제품)을
    • 계약 협상보다는 (고객 협력)을
    • 계획을 따르기 보다는 (변화 대응)을’
      [해설작성자 : 서쳐]

내 공부

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

  1. Model
  2. Sheet
  3. Component
  4. Cell

문제 해설

  • 컴포넌트
    • 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈
    • 특정 기능 수행을 위해 독립적으로 분리
      [해설작성자 : 보호주의]

내 공부

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

  1. Adapter 패턴
  2. Bridge 패턴
  3. Builder 패턴
  4. Proxy 패턴

문제 해설

[구조패턴]

  • 어댑터
  • 브릿지
  • 컴포지트
  • 데코레이터
  • 퍼싸트
  • 플라이웨이트
  • 프록시
    [해설작성자 : 아기재혁]

  • 생성패턴 : 객체를 생성하는 것에 대한 패턴
    • 추상 팩토리 패턴(abstract factory), 빌더 패턴(builder), 팩토리 메소드 패턴(factory method), 프로토타입 패턴(prototype), 싱글톤(singleton)
  • 구조패턴 : 구조를 통해 확장성을 꾀하는 패턴
    • 어댑터 패턴(adapter), 브릿지 패턴(bridge), 컴포지트 패턴(composite), 데코레이트 패턴(decorator), 퍼사드 패턴(facade), 플라이웨잇 패턴(flyseight), 프록시 패턴(proxy)
  • 행위 패턴 : 행위의 변경, 수정 등을 위한 패턴
    • 역할 사슬 패턴(책임 연쇄, chain of reposibility), 커맨드 패턴(command), 인터프리터 패턴(interpreter), 이터레이터 패턴(반복자, iterator), 미디에이터 패턴(중재자, mediator), 메멘토 패턴(memento), 옵저버 패턴(observer), 상태 패턴(state), 전략 패턴(strategy), 템플릿 메소드 패턴(templete method), 비지터 패턴(방문자, visitor)
      [해설작성자 : ㅈㅇㅎ]

내 공부

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

  1. Feedback
  2. Posture
  3. Module
  4. Hash

문제 해설

  • 피드백(feedback) : 처리된 결과를 측정하고 목표에 도달되었는가를 검사하며 불충분할 경우 다시 입력하는 요소
    [해설작성자 : 내일시험임..]

내 공부

  • 위치(Posture) : UI 디자인에서 Posture는 UI 요소들 간의 배치와 상호작용 방법을 의미합니다. 즉, UI 요소들이 화면 상에서 어떻게 위치하고, 어떤 기능을 수행하는지에 대한 전반적인 디자인 컨셉을 의미합니다.
  • 모듈(Module) : UI 디자인에서 Module은 하나 이상의 기능을 수행하는 UI 요소들의 집합입니다. 이러한 모듈은 독립적으로 사용될 수 있으며, 다른 모듈과 결합하여 더 복잡한 IO 디자인을 구성할 수 있습니다.
  • 해시(Hash) : UI 디자인과는 직접적인 관련이 없는 개념입니다. 해시는 데이터를 고정된 길이의 값으로 매핑하는 함수를 의미합니다. 예를 들어, 암호화와 검색 알고리즘에서 널리 사용됩니다.

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)

문제 해설

  • 사용자 인터페이스(UI, User Interface)의 구분
    • CLI(Command Line Interface) : 텍스트 형태 인터페이스
    • GUI(Graphical User Interface) : 마우스로 선택하여 작업하는 그래픽 환경 인터페이스
    • NUI(Nature User Interface) : 사용자의 말이나 행동으로 기기 조작하는 인터페이스
    • OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스

[해설작성자 : 밤진]

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

  1. 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
  2. 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구 사항의 결과를 표현한다.
  3. 객체지향 방법론에서는 UML 표기법을 사용한다.
  4. 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.

문제 해설

  • 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있음.
  • 예) 유스케이스 명세로부터 필요한 요소들을 가져와 도메인 모델로 정리할 수 있음.
    [해설 작성자 : 이예림]

내 공부

  • 구조적 방법론
    • DFD(Data Flow Diagram, 데이터 흐름도), DD(Data Dictionary, 데이터 사전)등을 사용하여 시스템의 요구사항을 표현합니다.
    • 이러한 다이어그램들은 시스템의 데이터 흐름과 구성 요소들의 관계를 나타내는 데 사용됩니다.
  • 객체지향 방법론
    • UML(Unified Modeling Language, 통합 모델링 언어) 표기법을 사용합니다.
    • UML은 객체지향 소프트웨어 시스템의 구조, 동작, 관계 등을 시각적으로 표현하는 표준화된 언어입니다.
  • 소프트웨어 모델을 사용
    • 개발된 소프트웨어에 대한 이해도를 향상합니다.
    • 이해 당사자 간의 의사소통을 돕는 데 도움이 됩니다.
    • 모델을 사용하면 시스템의 기능, 구조, 동작을 명확하게 표현하고 공유할 수 있으며, 개발자, 설계자, 이해 당사자들 간의 의사소통을 원할하게 할 수 있습니다.

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

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

문제 해설

  • 액터 : 시스템과 상호작용하는 모든 것(사람, 기계, 시스템 등)
    [해설작성자 : 칼방이]
  • 액터 : 시스템과 상호작용하는 모든 외부요소로, 사람이나 외부 시스템을 의미함
    [해설작성자 : comcbt.com 이용자]

내 공부

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

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

문제 해설

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

내 공부

MVC 란?