Post

정보처리기사(필기) 📝 01-1. 소프트웨어 설계 - 오답 정리

정보처리기사(필기) 📝 01-1. 소프트웨어 설계 - 오답 정리

Q. 정형 기술 검토(FTR)의 지침사항으로 옳은 내용 모두를 나열한 것은?

✔️ ① 의제를 제한한다.

✔️ ② 논쟁과 반박을 제한한다.

✔️ ③ 문제 영역을 명확히 표현한다.

④ 참가자의 수를 제한하지 않는다.

정형 기술 검토 지침사항

  • 의제와 그 범위를 유지하라.
  • 참가자의 수를 제한하라.
  • 각 체크리스트를 작성하고, 자원과 시간 일정을 할당하라.
  • 개발자가 아닌 제품의 검토에 집중하라.
  • 논쟁과 반박을 제한하라.
  • 검토 과정과 결과를 재검토하라.

Q. 다음 중 추상화(Abstraction) 방법이 아닌 것은?

① 제어 추상화

② 기능 추상화

③ 데이터 추상화

✔️ ④ 구조 추상화

추상화 방법

  • 제어 추상화: 시스템의 제어 흐름을 단순화하는 방법
  • 기능 추상화: 시스템의 기능을 단순화하는 방법
  • 데이터 추상화: 시스템의 데이터를 단순화하는 방법

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

① MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이의 결합도를 낮출 수 있다.

② 모델(Model)은 애플리케이션이 “무엇”을 할 것인지를 정의하는 부분으로, 내부 비즈니스 로직을 처리하기 위한 역할을 할 것이다.

✔️ ③ 뷰(View)는 모델(Model)과 제어(Controller)가 각각 무엇을 해야 할지를 알고 있어야 한다.

④ 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.

MVC 모델

  • Model: 데이터와 비즈니스 로직을 관리한다. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  • View: 모델에 있는 데이터를 사용자 인터페이스에 보이는 역할(UI)를 담당한다. 모델이 가지고 있는 정보를 따로 저장해서는 안 된다.
  • Controller: 모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. 사용자의 요청을 받아서 그 요청을 분석하고, 필요한 업무 처리 로직을 호출한다. 모델이나 뷰에 대해서 알고 있어야 한다.

Q. GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?

① 디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.

✔️ ② Bridge Pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.

③ Behavioral Pattern은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.

④ Factory Pattern은 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식이다.

  • Bridge Pattern: 기능 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 각자 독립적으로 변형할 수 있도록 해주는 패턴이다.
  • 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다. ⇒ Adaptor Pattern

Q. 럼바우의 객체지향 분석 기법에서 자료 흐름도를 이용하여 여러 프로세스 간의 자료 흐름을 기술하는 모델링은?

① Dynamic Modeling

② Object Modeling

✔️ ③ Functinal Modeling

④ Static Modeling

  • 자료 흐름도는 데이터 흐름을 표현하는 다이어그램으로, 기능 모델링에서 프로세스 간의 데이터 흐름을 기술하는 데 사용된다.

Q. GoF의 디자인 패턴에서 행위 패턴에 속하는 것은?

① Builder

✔️ ② Visitor

③ Prototype

④ Bridge

GoF 디자인 패턴

  • 구조: Adaptor, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
  • 행위: Chain of Responsibility, Iterator, Command, Interpreter, Memento, Observer, State, Strategy, Visitor, Template Method, Mediator
  • 생성: Factory, Singleton, Prototype, Builder, Abstract Factory

Q. 객체지향 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?

✔️ ① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는 데 초점을 둔 방법이다.

② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.

③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.

④ Use Case를 강조하여 사용하는 방법이다.


Q. 메시지 지향 미들웨어에 대한 설명으로 틀린 것은?

✔️ ① 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.

② 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.

③ 송식측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.

④ 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.

MOM(Message-Oriented Middleware)

  • 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어다.
  • 온라인 업무보다는 이기종? 분산 데이터 시스템의 데이터 동기를 위해 많이 사용한다.

Q. HIPO에 대한 설명으로 옳지 않은 것은?

① HIPO는 일반적으로 가시적 도표(Visual Table), 총체적 다이어그램(Overview Diagram), 세부적 다이어그램(Detail Diagram)으로 구성된다.

✔️ ② 가시적 도표는 시스템에 있는 어떤 특별한 기능을 담당하는 부분의 입력, 처리, 출력에 대한 전반적인 정보를 제공한다.

③ HIPO 기법은 문서화의 도구 및 설계 도구 방법을 제공하는 기법이다.

④ HIPO의 기본 시스템 모델은 입력, 처리, 출력으로 구성된다.

가시적 도표

  • 시스템의 전체 기능과 흐름을 가시적으로 보여주는 도표이다.
  • 목차와 비슷한 역할을 하며, 문서의 구조를 시각적으로 정리하여 내용을 빠르게 찾거나 이해할 수 있도록 도와준다.

Q. 럼바우의 분석 기법에서 다음 설명에 해당하는 것은?

  • 자료 흐름도를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링이다.
  • 어떤 데이터를 입력하여 어떤 결과를 구할 것인지를 표현하는 것이다.

✔️ ① 기능 모델링

② 동적 모델링

③ 객체 모델링

④ 정적 모델링


Q. 객체지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)’ 관계 또는 ‘부분(is-a-part-of)’의 관계로 설명되는 연관성을 나타내는 용어는?

① 일반화

② 추상화

③ 캡슐화

✔️ ④ 집단화

객체지향 기법에서의 관계성

  • is member of: 연관성(Association), 참조 및 이용 관계
  • is part of: 집단화(Aggregation), 객체 간의 구조적인 집약 관계
  • is a: 일반화(Generalization), 특수화(Specializtion), 클래스 간 개념적인 포함 관계

Q. 대표적으로 DOS 및 Unix 등의 운영체제에서 조작을 위해 사용하던 것으로, 정해진 명령 문자열을 입력하여 시스템을 조작하는 사용자 인터페이스는?

① GUI (Graphical User Interface)

✔️ ② CLI (Command Line Interface)

③ CUI (Cell User Interface)

④ MUI(Mobile User Interface)

사용자 인터페이스의 종류

  • CUI: 문자 방식의 명령어 입력 사용자 인터페이스
  • GUI: 그래픽 환경 기반의 마우스 입력 사용자 인터페이스
  • WUI: 인터넷과 웹 브라우저를 통해 웹페이지를 열람하고 조작하는 인터페이스
  • CLI: 사용자가 컴퓨터 자판 등을 이용해 명령 문자열을 입력하여 체계를 조작하는 인터페이스

Q. 개체-관계(E-R 모델)에 대한 설명으로 옳지 않은 것은?

① 개체 타입과 관계 타입을 이용해서 현실 세계를 개념적으로 표현하는 방법이다.

② E-R 다이어그램은 E-R 모델을 그래프 방식으로 표현한 것이다.

③ E-R 다이어그램의 다이아몬드 형태는 관계 타입을 표현하며, 연관된 개체 타입들을 링크로 연결한다.

✔️ ④ 현실 세계의 자료가 데이터베이스로 표현될 수 있는 물리적 구조를 기술하는 것이다.

개체 관계도(ERD, Entity-Relationship Diagram)

  • 데이터 베이스 설계 단계에서 데이터 구조들과 그들간의 관계를 표현하는 방법이다.
  • 현실 세계의 자료가 데이터베이스로 표현될 수 있는 개념적 구조를 기술하는 것이다.

Q. 소프트웨어 재공학의 주요 활동 중 다음 설명에 해당하지 않는 것은?

“기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어내는 작업”

① Analysis

✔️ ② Reverse Engineering

③ Restructuring

④ Migration

역공학(Reverse Engineering)

  • 현재 프로그램으로부터 데이터, 아키텍처, 그리고 절차에 관한 분석 및 설계 정보를 추출하는 작업이다.

Q. 소프트웨어 품질 목표 중 정해진 조건 아래에서 소프트웨어 제품의 정확하고 일관된 결과를 얻기 위해 요구된 기능을 오류 없이 수행하는 정도의 품질 기준을 갖는 것은?

① Intergrity

② Flexibility

③ Efficiency

✔️ ④ Reliability

소프트웨어 품질 목표

  • 정확성(Correctness): 사용자의 요구 기능을 충족시키는 정도를 의미한다.
  • 신뢰성(Reliability): 정확하고 일관된 결과를 얻기 위해 요구된 기능을 오류 없이 수행하는 정도를 의미한다.
  • 효율성(Efficiency): 요구되는 기능을 수행하는 데 필요한 자원의 소요 정도나 자원의 낭비 정도를 의미한다.
  • 무결성(Integrity): 허용되지 않는 사용이나 자료의 변경을 제어하는 정도를 의미한다.
  • 이식성(Portability): 다양한 하드웨어 환경에서도 운용 가능하도록 쉽게 수정될 수 있는 정도를 의미한다.
This post is licensed under CC BY 4.0 by the author.