정보처리기사_필기/[1과목] 소프트웨어 설계

[소프트웨어 설계] 기출문제-2021-05-15

LeeDaniel 2021. 8. 10. 15:36

[정보처리기사 - 소프트웨어 설계] 기출문제 2021-05-15

✔정답은 문제 오른쪽 영역 드래그


01. 시스템의 구성요소로 볼 수 없는 것은? 3

1️⃣Process

2️⃣Feedback

3️⃣Maintenance

4️⃣Control

✅입력(Input) : 처리 방법, 처리할 데이터, 조건을 시스템에 투입하는 것
처리(Process) : 입력된 데이터를 처리 방법과 조건에 따라 처리하는 것
출력(Output) : 처리된 결과를 시스템에서 산출하는 것
제어(Control) : 자료를 입력하여 출력될때까지의 처리과정이 올바르게 진행되는지 감독하는것
피드백(Feedback) : 출력된 결과가 예정된 목표를 만족시키지 못할 경우 목표달성을 위해 반복처리 하는것
유지보수(Maintenance) : 시스템 구성요소에는 포함되지 않음

02. 유스케이스(Usecase)에 대한 설명 중 옳은 것은? 2

1️⃣유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다

2️⃣액터는 대상 시스템과 상호작용하는 사람이나 다른시스템에 의한 역할이다

3️⃣사용자 액터는 본 시스템과 데이터를 주고받는 연동 시스템을 의미한다

4️⃣연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는것을 의미한다

유스케이스 : 시스템이 액터에게 제공해야하는 기능, 시스템의 요구사항이자 기능을 의미
유스케이스 다이어그램 : 사용자의 요구를 추출하고 분석하기위해 주로 사용
액터 : 시스템 외부에서 시스템과 상호작용하는 사람 혹은 시스템을 말함
사용자 액터 : 기능을 요구하는 대상이나 시스템의 수행결과를 통보받는 사용자
                   ,기능을 사용하게 될 대상
                   ,시스템이 제공해야하는 기능인 유스케이스의 권한을 가지는 대상, 역할
시스템 액터 : 사용자 액터가 사용한 유스케이스를 처리해주는 외부 시스템
                   ,시스템의 기능 수행을 위해서 연동이 되는 또다른 시스템 액터를 의미

 


03. 요구사항 개발 프로세스의 순서는? 

도출(Elicitation) ➡ 분석(Analysis) ➡ 명세(Specification) ➡ 확인(Validation)


04. 객체지향 기법에서 같은 클래스에 속한 각각의 객체를 의미하는 것은? 1

1️⃣instance

2️⃣message

3️⃣method

4️⃣module

message : 객체에게 어떤 행위를 하도록 지시하는 명령
method : 객체에 소속된 함수
module : 실행코드와 객체들(함수, 클래스, 변수)의 묶음

05. 객체지향 설계에서 객체가 가지고 있는 속성과 오퍼레이션의 일부를 감추어서

     객체의 외부에서는 접근이 불가능하게 하는 개념은?

캡슐화(Encapsulation), 정보은닉(Infomation Hiding)


06. GoF (Gangs of Four) 디자인 패턴에 대한 설명으로 틀린 것은? 

1️⃣factory method pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고

    하위클래스에서 인스턴스를 생성하도록 하는 방식이다

2️⃣prototype pattern은 prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다

3️⃣bridge pattern은 기존에 구현되어 있는 클래스에 기능발생시

    기존클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다

4️⃣mediator pattern은 객체간의 통제와 지시의 역할을 하는 중재자를 두어

    객체지향의 목표를 달성하게 해준다

bridge pattern : 구현부에서 추상층을 분리하여 각자 독립적으로 확장이 가능하게 하는 해턴
3️⃣은 Adapter pattern의 설명이다

07. 요구사항 분석이 어려운 이유가 아닌 것은? 2

1️⃣개발자와 사용자간의 지식이나 표현의 차이가 커서 상호이해가 쉽지 않다

2️⃣사용자의 요구는 예외가 거의 없어 열거와 구조화가 어렵지 않다

3️⃣사용자의 요구사항이 모호하고 불명확하다

4️⃣소프트웨어 개발 과정중에 요구사항이 계속 변할 수 있다


08. 소프트웨어 아키텍처 설계에서 시스템 품질속성이 아닌 것은? 2

1️⃣가용성(Availability)

2️⃣독립성(Isolation)

3️⃣변경 용이성(Modifiability)

4️⃣사용성(Usability)

[ 시스템 품질 속성 ]
가용성
변경 용이성
성능
보안성
사용 편의성
시험 용의성

09. 다음 설명에 해당하는 시스템으로 옳은 것은? 3

시스템 인터페이스를 구성하는 시스템으로

연계할 데이터를 데이터베이스와 애플리케이션으로부터

연계 테이블 또는 파일형태로 생성하여 송신하는 시스템

1️⃣연계 서버

2️⃣중계 서버

3️⃣송신 시스템

4️⃣수신 시스템

[ 연계 시스템 구성 ]
송신 시스템 : 연계할 데이터응 DB와 어플리케이션으로부터 연계테이블 또는 파일형태로 생성하여 송신
수신 시스템 : 수신한 연계테이블, 파일데이터를 수신시스템에서는 관리하는 데이터형식에 맞게 변환하여
                     DB에 저장하거나 애플리케이션에서 활용할 수 있도록 제공

중계 서버 : 송/수신 시스템 사이에서 데이터를 송수신하고, 연계데이터의 송수신 현황을 모니터링함
                 ,연계데이터의 보안강화 및 다중플랫폼 지원 등이 가능

10. CASE(Computer-Aided Software Engineering)의 원천기술이 아닌 것은? 4

1️⃣구조적 기법

2️⃣프로토타이핑 기술

3️⃣정보 저장소 기술

4️⃣일괄처리 기술

[ CASE(Computer-Aided Software Engineering)의 원천기술 ]
구조적 기법
프로토타이핑 기술
자동프로그래밍 기술
정보 저장소 기술
분산 처리 기술

11. 객체에게 어떤 행위를 하도록 지시하는 명령은? 4

1️⃣Class

2️⃣Package

3️⃣Object

4️⃣Message

Class : 객체를 정의해놓은 것, 객체의 설계도
Package : 클래스를 묶어두는 물리적인 단위, 클래스들의 집합

Object : 실제로 존재하는 것, 클래스에 정의된 내용대로 메모리에 생성된 것

12. 서브시스템이 입력 데이터를 받아 처리하고

    결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일은? 4

1️⃣클라이언트 서버 구조

2️⃣계증 구조

3️⃣MVC 구조

4️⃣파이트 필터 구조

클라이언트 서버 구조 : 컴포넌트가 다른 컴포넌트에게 서비스를 요청
                                ,데이터가 여러 컴포넌트를 거치며 처리
계층 구조 : 모듈들로 응집된 계층 단위로 SW를 구성
                 .계층 간에 사용가능의 관계로 표현

MVC 구조 : 모델-뷰-컨트롤러, 기능을 분리한 아키텍처
파이프 필터 : 파이프를 통해 받은 데이터를 변경시키고 그 결과를 파이프로 전송

13. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석활동으로 옳은 것은? 2

1️⃣객체 모델링, 동적 모델링, 정적 모델링

2️⃣객체 모델링, 동적 모델링, 기능 모델링

3️⃣동적 모델링, 기능 모델링, 정적 모델링

4️⃣정적 모델링, 객체 모델링, 기능 모델링

[ 럼바우(Rumbaugh)의 객체지향 분석 ]
객체 모델링
동적 모델링

기능 모델링

14. UML 다이어그램이 아닌 것은? 2

1️⃣액티비티 다이어그램(Activity diagram)

2️⃣절차 다이어그램(Procedural diagram)

3️⃣클래스 다이어그램(Class diagram)

4️⃣시퀀스 다이어그램(Sequence diagram)

[ UML다이어그램 ]
액티비티 다이어그램(Activity diagram) : 업무의 흐름을 모델링하거나 객체의 생명주기를 표현
클래스 다이어그램(Class diagram) : 시스템의 구조적인 모습을 표현

시퀀스 다이어그램(Sequence diagram) : 객체간의 메시지 전달을 시간적 흐름에서 분석
Deployment diagram : 기업환경의 구성과 컴포넌트들 간의 관계를 표현
Collaboration diagram : 객체와 객체가 주고받는 메시지 중심의 작성 동적 다이어그램
Component diagram : 소프트웨어 구조를 표현
Class diagram : 시스템의 구조적인 모습을 표현

15. UML 모델에서 한 객체가 다른 객체에게

    오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은? 2

1️⃣Dependency

2️⃣Realization

3️⃣Generalization

4️⃣Association

[ 연계 시스템 구성 ]
Dependency(의존) : 한 사물의 명세서가 바뀌면 그것을 사용하는 다른 사물에게 영향을 끼치는것
Realization(실체화) : 한 객체가 다른 객체에 의해 오퍼레이션을 수행하도록 지정

Generalization(일반화) : 일반화된 사물과 좀 더 특수화 된 사물사이의 관계
Association(연관) : 두 사물간의 구조적관계로, 어느 한 사물객체가 다른 사물객체와
                           연결되어 있음을 말함('has-a')관계라고도 함

16. 다음 중 상위 CASE 도구가 지원하는 주요기능으로 볼 수 없는 것은? 2

1️⃣모델들 사이의 모순검사 기능

2️⃣전체 소스코드 생성 기능

3️⃣모델의 오류검증 기능

4️⃣자료흐름도 작성 기능

[ CASE  : 시스템 개발과정의 일부 또는 전체를 자동화 시킨것 ]
소프트웨어 생명주기의 전체 단계를 연결해주고 자동화 해주는 통합된 도구를 제공
소프트웨어, 하드웨어, 데이터베이스, 테스트 등을 통합하여 소프트웨어를 개발하는 환경을 제공

[ 상위 CASE : 요구 분석과 설계단계를 지원 ]
모델들 사이의 모순검사 기능
모델의 오류 검증 기능
자료흐름도 작성 기능

[ 하위 CASE : 코드를 작성하고 테스트하며 문서화하는 과정 지원 ]
원시코드 생성 기능

[ 통합 CASE : 소프트웨어 개발 주기 전체과정을 지원 ]

17. 요구사항 관리 도구의 필요성으로 틀린 것은? 2

1️⃣요구사항 변경으로 인한 비용 편익 분석

2️⃣기존 시스템과 신규 시스템의 성능 비교

3️⃣요구사항 변경의 추적

4️⃣요구사항 변경에 따른 영향 평가


18. 애자일 개발 방법론이 아닌 것은? 4

1️⃣스크럼(Scrum)

2️⃣익스트림 프로그래밍(XP, eXtreme Programming)

3️⃣기능 주도 개발(FDD, Feature Driven Development)

4️⃣하둡(Hadoop)

[ 애자일 개발 방법론 ]
익스트림 프로그래밍(XP, eXtreme Programming)
스크럼크리스털 패밀리
기능 주도 개발(FDD, Feature Driven Development)
적응형 소프트웨어 개발(ASD, Adaptive Software Development)
익스트림 모델링

[  하둡(Hadoop) ]
분산 환경에서 빅데이터를 저장하고 처리할 수 있는
  자바 기반의 오픈 소스 프레임워크

19. GoF(Gangs of Four) 디자인 패턴 중 생성패턴으로 옳은 것은? 1

1️⃣singleton pattern

2️⃣adapter pattern

3️⃣decorator pattern

4️⃣state pattern

[ 생성 패턴 : 객체를 생성하는것에 대한 패턴 ]
추상 팩토리 패턴
빌더 패턴
팩토리 메소드 패턴
프로토타입 패턴
싱글톤 패턴(단일체) : 한 클래스에 한 객체만 존재하도록 제한한다

구조 패턴 : 구조를 통해 확장성의 꾀하는 패턴 ]
◼어댑터 패턴 : 인터페이스가 호환되지 않는 클래스들을 함께 이용할 수 있도록
                    ,타 클래스의 인터페이스를 기존 인터페이스에 덧씌운다

브릿지 패턴
컴포지트 패턴
데코레이터 패턴 : 0개, 1개 혹은 그 이상의 객체를 묶어 하나의 객체로 이용할 수 있다
퍼사드 패턴
플라이웨잇 패턴
프록시 패턴


[ 행위 패턴 : 행위의 변경, 수정 등을 위한 패턴 ]
역할 사슬 패턴

커맨드 패턴
인터프리터 패턴
이터레이터 패턴
미디에이터 패턴
메멘토 패턴
옵저버 패턴
스테이트 패턴 : 동일한 동작을 객체의 상태에 따라
                       ,다르게 처리해야 할 때 사용하는 디자인 패턴

스트래티지 패턴
템플릿 메소드 패턴
비지터 패턴

20. 사용자 인터페이스(UI)의 특징으로 틀린 것은? 2

1️⃣구현하고자 하는 결과의 오류를 최소화 한다

2️⃣사용자의 편의성을 높임으로써 작업시간을 증가시킨다

3️⃣막연한 작업 기능에 대해 구체적인 방법을 제시하여 준다

4️⃣사용자 중심의 상호 작용이 되도록 한다


반응형