정보처리기사 기출문제 20220424_2
정보처리기사 기출문제 부시기 20220424
합격을 기원합니다.
모든 자료는 전자문제집 CBT에서 제공됩니다.
1과목 : 소프트웨어 설계 (11번~20번)
11. 객체에 대한 설명으로 틀린 것은?
- 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
- 객체는 공통 속성을 공유하는 클래스들의 집합니다.
- 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
- 객체의 상태는 속성값에 의해 정의된다.
문제 해설
- 클래스는 공통 속성을 공유하는 객체들의 집합이다.
[해설작성자 : 풋살은재밌어]
12. 속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?
- Inheritance
- Class
- Encapsulation
- Association
문제 해설
- 클래스 : 하나 이상의 유사한 객체들을 묶는다.
- 캡슐화 : 서로 관련성이 많은 데이터들과 연산들을 묶는다.
[해설작성자 : comcbt.com 이용자]
내 공부
- 상속성(Inheritance) 이란?
- 연관(Association) 이란?
13. 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은?
- 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
- 프로세스와 도구 중심이 아닌 개개인과의 상호소통을 통해 의견을 수렴한다.
- 협상과 계약보다는 고객과의 협력을 중시한다.
- 문서 중심이 아닌, 실행 가능한 소프트웨어를 중시한다.
문제 해설
- 애자일 개발 프로세스
- 개발에 대한 개념적 방법론으로, 개발 프로젝트 기간을 짧은 주기로 나눠 반복적인 개발을 하는 것이 특징
- [애자일 선언문]
- ‘프로세스, 도구 보다는 (사람과 상호작용)을
- 광범위한 문서 보다는 (실제 작동하는 제품)을
- 계약 협상보다는 (고객 협력)을
- 계획을 따르기 보다는 (변화 대응)을’
[해설작성자 : 서쳐]
내 공부
- 애자일방법론이란?
14. 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은?
- Model
- Sheet
- Component
- Cell
문제 해설
- 컴포넌트
- 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈
- 특정 기능 수행을 위해 독립적으로 분리
[해설작성자 : 보호주의]
내 공부
- 컴포넌트란?
15. GoF(Gans of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?
- Adapter 패턴
- Bridge 패턴
- Builder 패턴
- 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)
[해설작성자 : ㅈㅇㅎ]
- 역할 사슬 패턴(책임 연쇄, chain of reposibility), 커맨드 패턴(command), 인터프리터 패턴(interpreter), 이터레이터 패턴(반복자, iterator), 미디에이터 패턴(중재자, mediator), 메멘토 패턴(memento), 옵저버 패턴(observer), 상태 패턴(state), 전략 패턴(strategy), 템플릿 메소드 패턴(templete method), 비지터 패턴(방문자, visitor)
내 공부
- GoF 란?
16. UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?
- Feedback
- Posture
- Module
- Hash
문제 해설
- 피드백(feedback) : 처리된 결과를 측정하고 목표에 도달되었는가를 검사하며 불충분할 경우 다시 입력하는 요소
[해설작성자 : 내일시험임..]
내 공부
- 위치(Posture) : UI 디자인에서 Posture는 UI 요소들 간의 배치와 상호작용 방법을 의미합니다. 즉, UI 요소들이 화면 상에서 어떻게 위치하고, 어떤 기능을 수행하는지에 대한 전반적인 디자인 컨셉을 의미합니다.
- 모듈(Module) : UI 디자인에서 Module은 하나 이상의 기능을 수행하는 UI 요소들의 집합입니다. 이러한 모듈은 독립적으로 사용될 수 있으며, 다른 모듈과 결합하여 더 복잡한 IO 디자인을 구성할 수 있습니다.
- 해시(Hash) : UI 디자인과는 직접적인 관련이 없는 개념입니다. 해시는 데이터를 고정된 길이의 값으로 매핑하는 함수를 의미합니다. 예를 들어, 암호화와 검색 알고리즘에서 널리 사용됩니다.
17. UI의 종류로 멀티 터치(Multi-touch), 동작 인식(Gesture Recognition) 등 사용자의 자연스러운 움직임을 인식하여 서로 주고 받는 정보를 제공하는 사용자 인터페이스를 의미하는 것은?
- GUI(Graphical User Interface)
- OUI(Organic User Interface)
- NUI(Natural User Interface)
- CLI(Command Line Interface)
문제 해설
- 사용자 인터페이스(UI, User Interface)의 구분
- CLI(Command Line Interface) : 텍스트 형태 인터페이스
- GUI(Graphical User Interface) : 마우스로 선택하여 작업하는 그래픽 환경 인터페이스
- NUI(Nature User Interface) : 사용자의 말이나 행동으로 기기 조작하는 인터페이스
- OUI(Organic User Interface) : 모든 사물과 사용자 간의 상호작용을 위한 인터페이스
[해설작성자 : 밤진]
18. 소프트웨어 모델링과 관련한 설명으로 틀린 것은?
- 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
- 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구 사항의 결과를 표현한다.
- 객체지향 방법론에서는 UML 표기법을 사용한다.
- 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자 간의 의사소통 향상에 도움이 된다.
문제 해설
- 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 있음.
- 예) 유스케이스 명세로부터 필요한 요소들을 가져와 도메인 모델로 정리할 수 있음.
[해설 작성자 : 이예림]
내 공부
- 구조적 방법론
- DFD(Data Flow Diagram, 데이터 흐름도), DD(Data Dictionary, 데이터 사전)등을 사용하여 시스템의 요구사항을 표현합니다.
- 이러한 다이어그램들은 시스템의 데이터 흐름과 구성 요소들의 관계를 나타내는 데 사용됩니다.
- 객체지향 방법론
- UML(Unified Modeling Language, 통합 모델링 언어) 표기법을 사용합니다.
- UML은 객체지향 소프트웨어 시스템의 구조, 동작, 관계 등을 시각적으로 표현하는 표준화된 언어입니다.
- 소프트웨어 모델을 사용
- 개발된 소프트웨어에 대한 이해도를 향상합니다.
- 이해 당사자 간의 의사소통을 돕는 데 도움이 됩니다.
- 모델을 사용하면 시스템의 기능, 구조, 동작을 명확하게 표현하고 공유할 수 있으며, 개발자, 설계자, 이해 당사자들 간의 의사소통을 원할하게 할 수 있습니다.
19. 유스케이스 다이어그램(Use Case Diagram)에 관련된 내용으로 틀린 것은?
- 시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
- 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
- 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
- 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안된다.
문제 해설
- 액터 : 시스템과 상호작용하는 모든 것(사람, 기계, 시스템 등)
[해설작성자 : 칼방이] - 액터 : 시스템과 상호작용하는 모든 외부요소로, 사람이나 외부 시스템을 의미함
[해설작성자 : comcbt.com 이용자]
내 공부
- 유스케이스 란?
20. 소프트웨어 아키텍처 모델 중 MVC(Model-View-Controller)와 관련한 설명으로 틀린 것은?
- MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
- 모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
- 뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
- 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
문제 해설
- 한개의 모델에 대해 여러 개의 뷰를 만들 수 있음
[해설작성자 : 밤진] - 모델은 서브 시스템의 핵심 기능과 데이터를 보관하며 MVC 패턴에서는 여러 개의 뷰를 만들 수 있으므로 한 개의 모델에 대해 여러 개의 뷰를 필요로 하는 대화형 어플리케이션에 적합하다.
[해설작성자 : 여름]
내 공부
MVC 란?