[정보처리기사 필기] 기출문제 1과목(20.08.22)

김정민·2024년 2월 26일
  1. 요구사항 분석 시에 필요한 기술로 가장 거리가 먼 것은?

    ① 청취와 인터뷰 질문 기술
    ② 분석과 중재기술
    ③ 설계 및 코딩 기술
    ④ 관찰 및 모델 작성 기술


  1. 다음 내용이 설명하는 디자인 패턴은?

    ① Visitor패턴
    ② Observer패턴
    ③ Factory Method 패턴
    ④ Bridge 패턴

  1. 럼바우 객체 지향 분석과 거리가 먼 것은?

    ① 기능 모델링
    ② 동적 모델링
    ③ 객체 모델링
    ④ 정적 모델링


  1. 애자일 기법에 대한 설명으로 맞지 않은 것은?

    ① 절차와 도구보다 개인과 소통을 중요하게 생각한다.
    ② 계획에 중점을 두어 변경 대응이 난해하다.
    ③ 소프트웨어가 잘 실행되는데 가치를 둔다.
    ④ 고객과의 피드백을 중요하게 생각한다.


  1. 미들웨어 솔루션의 유형에 포함되지 않는 것은?

    ① WAS
    ② Web Server
    ③ RPC
    ④ ORB


  1. UML에서 시퀀스 다이어그램의 구성 항목에 해당하지 않는 것은?

    ① 생명선
    ② 실행
    ③ 확장
    ④ 메시지


  1. 객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?

    ① Encapsulation
    ② Class
    ③ Method
    ④ Instance


  1. 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?

    ① 커맨드 (Command) 패턴
    ② 옵저버 (Observer) 패턴
    ③ 프로토타입 (Prototype) 패턴
    ④ 상태 (State) 패턴


  1. UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?

    ① 희소성
    ② 유연성
    ③ 직관성
    ④ 멀티운용성


  1. 코드의 기본 기능으로 거리가 먼 것은?

    ① 복잡성
    ② 표준화
    ③ 분류
    ④ 식별


  1. 다음 ( ) 안에 들어갈 내용으로 옳은 것은?

    ① 협약(Contract)
    ② 프로토콜(Protocol)
    ③ 패턴(Pattern)
    ④ 관계(Relation)

  1. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?

    ① 유스케이스 다이어그램(Use Case Diagram)
    ② 시퀀스 다이어그램(Sequence Diagram)
    ③ 활동 다이어그램(Activity Diagram)
    ④ 배치 다이어그램(Deployment Diagram)


  1. 객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?

    ① 트랜지션
    ② 클래스
    ③ 시퀀스
    ④ 서브루틴


  1. 아래의 UML 모델에서 '차' 클래스와 각 클래스의 관계로 옳은 것은?

    ① 추상화 관계
    ② 의존 관계
    ③ 일반화 관계
    ④ 그룹 관계

  1. 객체지향 소프트웨어 설계시 디자인 패턴을 구성하는 요소로서 가장 거리가 먼 것은?

    ① 개발자이름
    ② 문제 및 배경
    ③ 사례
    ④ 샘플코드


  1. 자료 사전에서 자료의 반복을 의미하는 것은?

    ① =
    ② ( )
    ③ { }
    ④ [ ]


  1. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?

    ① ISP(Interface Segregation Principle)
    ② DIP(Dependency Inversion Principle)
    ③ LSP(Liskov Substitution Principle)
    ④ SRP(Single Responsibility Principle)


  1. 자료흐름도(Data Flow Diagram)의 구성요소로 옳은 것은?

    ① process, data flow, data store, comment
    ② process, data flow, data store, terminator
    ③ data flow, data store, terminator, data dictionary
    ④ process, data store, terminator, mini-spec


  1. CASE(Computer-Aided Software Engineering)도구에 대한 설명으로 거리가 먼 것은?

    ① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
    ② 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
    ③ 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대한다.
    ④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.


  1. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?

    ① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구사항 명세서를 상세히 조사하여 결함, 표준 위배, 문제점 등을 파악
    ② 동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
    ③ 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
    ④ CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견


해설

  1. ③ 설계 및 코딩 기술

설계 및 코딩 기술은 요구사항 분석에 필요한 것이 아니라 설계나 구현에 필요한 기술이다.


  1. ③ Factory Method 패턴

Visitor패턴 : 작업 종류의 효율적 추가 및 변경이 가능하다.

Observer패턴 : 상태가 변경되면 다른 객체들한테 연락을 돌릴 수 있게 해준다.

Factory Method 패턴 : 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것이다.

Bridge 패턴 : 기능과 구현을 두 개의 별도 클래스로 구현한다.


  1. ④ 정적 모델링

럼바우 기법

객체 모델링, 동적 모델링, 기능 모델링


  1. ② 계획에 중점을 두어 변경 대응이 난해하다.

애자일 개발 4가지 핵심 가치

  1. 프로세스와 도구보다는 개인과의 상호작용에 더 가치를 둠
  2. 방대한 문서보다는 실행되는 SW에 더 가치를 둠
  3. 계약 협상보다는 고객과의 협업에 더 가치를 둠
  4. 계획을 따르기 보다는 변화에 반응하는 것에 더 가치를 둠

  1. ② Web Server

WAS(웹 애플리케이션 서버) : 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리함,
웹 환경을 구현하기 위한 미들웨어

Web Server : 클라이언트로부터 직접 요청을 받아 처리,
저용량의 정적 파일들을 제공하는 소프트웨어

RPC(Remote Procedure Call) : 응용 프로그램이 프로시저를 사용하여 원격 프로시저를 마치 로컬 프로시저처럼 호출하는 미들웨어

ORB(Object Request Broker) : 객체 지향 미들웨어로 분산 컴퓨팅 환경에서 프로그래머에게 다른 컴퓨터의 프로그램을 네트워크를 통해 호출할 수 있다.


  1. ③ 확장

시퀀스 다이어그램 구성 항목

액터, 객체(object), 라이프라인(생명선), 메시지, 실행


  1. ① Encapsulation

정보 은닉 : 캡슐화에서 가장 중요한 개념, 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허용


  1. ③ 프로토타입 (Prototype) 패턴

행위적 패턴

비지터, 탬플릿 메소드, 커맨드, 이터레이터, 옵저버, 스테이트, 스트래티지, 메멘토, Chain of Responsibility, 인터프리터, 미디에이터


  1. ③ 직관성

사용자 인터페이스의 기본 원칙

직관성, 유효성, 학습성, 유연성


  1. ① 복잡성

코드의 주요 기능

식별 기능, 분류 기능, 배열 기능, 표준화 기능


  1. ① 협약(Contract)

클래스에 대한 여거 가정을 공유하도록 명세한 것을 협약에 의한 설계라 함.

협약에 의한 설계의 세 가지 타입

선행 조건, 결과 조건, 불변 조건


  1. ④ 배치 다이어그램(Deployment Diagram)

행위 다이어그램

유스케이스, 시퀀스, 커뮤니케이션, 상태, 활동, 상호작용 개요, 타이밍


  1. ② 클래스

클래스는 공통된 속성과 연산을 갖는 객체의 집합, 객체의 일반적인 타입을 의미함,
동일 클래스에 속한 각각의 객체들은 공통된 속성과 행위를 가지고 있음


  1. ③ 일반화 관계

일반화 관계 : 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현함,
일반적인 개념을 상위(부모), 구체적인 개념을 하위(자식)이라고 함,
하위 사물에서 상위 사물인 쪽으로 속이 빈 화살표를 연결함


  1. ① 개발자이름

디자인 패턴 구성 요소

패턴 이름, 문제, 솔류션, 사례, 결과, 샘플코드


  1. ③ { }

{ } : 자료의 반복을 의미함


  1. ③ LSP(Liskov Substitution Principle)

객체지향 설계 원칙

  1. 단일 책임 원칙(SRP) : 객체는 단 하나의 책임만 가져야 한다.

  2. 개방-폐쇄의 원칙(OCP) : 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.

  3. 리스코프 치환 원칙(LSP) : 일반화 관계에 대한 이야기며, 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.

  4. 인터페이스 분리 원칙(ISP) : 인터페이스를 클라이언트에 특화되도록 분리시키는 설계 원칙이다.

  5. 의존 역전 원칙(DIP) : 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것.


  1. ② process, data flow, data store, terminator

자료 흐름도 구성 요소

프로세스, 자료 흐름, 자료 저장소, 단말


  1. ④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.

CASE : 소프트웨어 공학의 자동화를 의미, 소프트웨어 공학작업을 자동화한 소프트웨어 패키지를 CASE도구라고 한다.

CASE도구들은 소프트웨어 관리자들과 실무자들이 소프트웨어 프로세스와 관련된 활동을 지원한다.

즉, 프로젝트 관리 활동을 자동화하고, 결과물을 관리하며, 엔지니어들의 분석, 설계 및 코딩과 테스트작업을 도운다.

CASE는 1980년대에 소개되었으며, 1990년대부터 자주 사용되었다.

CASE는 객체지향 시스템 뿐만 아니라 구조 시스템 등 모든 분야에 적용됨


  1. ② 동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견

인터페이스 요구사항 검토 방법

동료 검토 : 요구사항 명세서 작성자가 요구사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견

워크스루 : 검토 회의 전, 명세서를 미리 배포하여 사전검토 후에 짧은 검토 회의를 통해 결함 발견

인스펙션 : 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 명세서를 확인하면서 결함을 발견

0개의 댓글