2. 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?
① 객체 다이어그램(Object Diagram)
② 패키지 다이어그램(Package Diagram)
③ 상태 다이어그램(State Diagram)
④ 자료 흐름도(Data Flow Diagram)
럼바우 객체 지향 분석 기법 객체 모델링 = 객체 다이어그램 동적 모델링 = 상태 다이어그램 기능 모델링 = 자료흐름도
3. CASE(Computer Aided Software Engineering)의 주요 기능으로 옳지 않은 것은?
① S/W 라이프사이클 전 단계의 연결
② 그래픽 지원
③ 다양한 소프트웨어 개발 모형 지원
④ 언어 번역
4. 객체지향 기법의 캡슐화(Encapsulation)에 대한 설명으로 틀린 것은?
① 인터페이스가 단순화 된다.
② 소프트웨어 재사용성이 높아진다.
③ 변경 발생시 오류의 파급효과가 적다.
④ 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미한다.
5. 다음 내용이 설명하는 객체지향 설계 원칙은?
° 클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안 된다. ° 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다.
① 인터페이스 분리 원칙
② 단일 책임 원칙
③ 개방 폐쇄의 원칙
④ 리스코프 교체의 원칙
객체지향 설계 원칙(SOLID) 단일 책임 원칙 (SRP): 클래스는 딱 하나의 책임만 가진다. 개방-폐쇄 원칙 (OCP): 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP): 부모 타입은 자식 타입으로 언제든 대체 가능해야 한다. 인터페이스 분리 원칙 (ISP): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. 의존 역전 원칙 (DIP): 추상화에 의존하고, 구체적인 구현에 의존하지 않아야 한다.
6. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 노드와 간선으로 구성된다.
② 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
③ 계측 모델이라고도 한다.
④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
7. 코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?
① 순차 코드
② 10진 코드
③ 표의 숫자 코드
④ 블록 코드
8. 디자인 패턴 사용의 장·단점에 대한 설명으로 거리가 먼 것은?
① 소프트웨어 구조 파악이 용이하다.
② 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
③ 재사용을 위한 개발 시간이 단축된다.
④ 절차형 언어와 함께 이용될 때 효율이 극대화된다.
절차형 언어보다는 객체지향 언어에서 디자인 패턴의 효율이 더 높다.
9. DFD(data flow diagram)에 대한 설명으로 틀린 것은?
① 자료 흐름 그래프 또는 버블(bubble)차트라고도 한다.
② 구조적 분석 기법에 이용된다.
③ 시간 흐름을 명확하게 표현할 수 있다.
④ DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
10. 소프트웨어 공학의 기본 원칙이라고 볼 수 없는 것은?
① 품질 높은 소프트웨어 상품 개발
② 지속적인 검증 시행
③ 결과에 대한 명확한 기록 유지
④ 최대한 많은 인력 투입
11. UML에서 활용되는 다이어그램 중, 시스템의 동작을 표현하는 행위(Behavioral) 다이어그램에 해당하지 않는 것은?
① 유스케이스 다이어그램(Use Case Diagram)
② 시퀀스 다이어그램(Sequence Diagram)
③ 활동 다이어그램(Activity Diagram)
④ 배치 다이어그램(Deployment Diagram)
구조적 다이어그램 : 클객컴 배복패 행위 다이어그램 : 유시커 상활타
구조적 다이어그램
행위 다이어그램
클래스 다이어그램
유스케이스 다이어그램
객체 다이어그램
시퀀스 다이어그램
컴포넌트 다이그램
커뮤니케이션 다이어그램
배치 다이어그램
상태 다이어그램
복합체 구조 다이어그램
활동 다이어그램
패키지 다이어그램
타이밍 다이어그램
12. 소프트웨어의 상위설계에 속하지 않는 것은?
① 아키텍처 설계
② 모듈 설계
③ 인터페이스 정의
④ 사용자 인터페이스 설계
상위 설계 : 아키텍처 설계, 데이터 설계, 인터페이스 정의, 사용자 인터페이스 설계 하위 설계 : 모듈 설계, 자료 설계, 알고리즘 설계
13. 다음 중 UI(user Interface)에서 사용자 동작에 해당하지 않는 것은?
① Swipe
② Tap
③ Drag
④ Flux
14. 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 인터페이스를 계층구조로 표현한 도형 또는 도면을 무엇이라 하는가?
① Flow Chart
② HIPO Chart
③ Control Specification
④ Box Diagram
HIPO(Hierarchy Input Process Output) - 프로그램의 기능을 계층 구조로 도식화함으로써 개발 순서를 논리적으로 전개할 수 있는 수단이다.
15. 다음 중 요구사항 모델링에 활용되지 않는 것은?
① 에자일(Agile) 방법
② 유스케이스 다이어그램(Use Case Diagram)
③ 시퀀스 다이어그램(Sequence Diagram)
④ 단계 다이어그램(Phase Diagram)
16. 현행 시스템 분석에서 고려하지 않아도 되는 항목은?
① DBMS 분석
② 네트워크 분석
③ 운영체제 분석
④ 인적 자원 분석
17. IPSec(IP Security)에 대한 설명으로 틀린 것은?
① 암호화 수행시 양방향 암호화를 지원한다.
② ESP는 발신지 인증, 데이터 무결성, 기밀성 모두를 보장한다.
③ 운영 모드는 Tunnel 모드와 Transport 모드로 분류된다.
④ Tunnel 모드는 전송 계층과 네트워크 계층 사이에 전달되는 payload를 보호한다.
IPsec에 대한 설명 - 전송모드(Transport)는 전송 계층과 네트워크 계층 사이에 전달되는 payload를 보호한다. - 터널 모드(Tunnel)는 IPSec이 IP 헤더를 포함한 IP 계층의 모든 것을 보호한다.
18. 여러 개의 선택 항목 중 하나의 선택만 가능한 경우 사용하는 사용자 인터페이스(UI)요소는?
① 토글 버튼
② 텍스트 박스
③ 라디오 버튼
④ 체크 박스
19. GoF(Gangs of Four) 디자인 패턴 분류에 해당하지 않는 것은?
① 생성 패턴
② 구조 패턴
③ 행위 패턴
④ 추상 패턴
GoF 디자인패턴도 생성 패턴, 구조 패턴, 행위 패턴으로 분류한다.
20. 코드의 기입과정에서 원래 ‘12639’으로 기입되어야 하는데 ‘12636’으로 표기되었을 경우, 어떤 코드 오류에 해당하는가?
① Addition Error
② Omission Error
③ Sequence Error
④ Transcription Error
21. GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) 패턴에 해당하는 것은?
① 컴퍼지트(Composite)
② 어댑터(Adapter)
③ 추상 팩토리(Abstract Factory)
④ 옵서버(Observer)
GoF 디자인 패턴 생성 패턴 :추빌팩프싱 구조 패턴 :어브컴데 퍼프
생성 패턴
구조 패턴
추상 팩토리
Abstract Factory
어댑터
Adapter
빌더
Builder
브리지
Bridge
프로토타입
Prototype
컴포지트
Composite
팩토리 메소드
Factory Method
데코레이터
Decorator
싱글톤
Singleton
퍼사드
Facade
프록시
Proxy
22. 소프트웨어 설계에서 사용되는 대표적인 추상화 메커니즘이 아닌 것은?
① 프로토콜 추상화
② 자료 추상화
③ 제어 추상화
④ 기능 추상화
추상화 메커니즘 종류 자료 추상화(데이터 추상화), 제어 추상화, 기능 추상화
23. 개체-관계 모델에 대한 설명으로 옳지 않은 것은?
① 오너-멤버(Owner-Member) 관계라고도 한다.
② 개체 타입과 이들 간의 관계 타입을 기본 요소로 이용하여 현실 세계를 개념적으로 표현한다.
③ E-R 다이어그램에서 개체 타입은 사각형으로 나타낸다.
④ E-R 다이어그램에서 속성은 타원으로 나타낸다.
데이터를 개체, 관계, 속성으로 표시한다. 데이터(개체) - 사각형 / 관계 - 다이아몬드 / 속성 - 타원
24. 소프트웨어 아키텍처 모델 중 MVC(Model-View-Controller)와 관련한 설명으로 틀린것은?
① MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
② 모델(Model)은 뷰(View)와 제어(Controller) 사이에서 전달자 역할을 하며, 뷰마다 모델 서브시스템이 각각 하나씩 연결된다.
③ 뷰(View)는 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.
④ 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
Model: 데이터와 핵심 비즈니스 로직 담당 View: 사용자에게 보여지는 화면과 레이아웃 담당 (Model의 데이터를 표시) Controller: 사용자 입력 처리 및 Model과 View 사이의 흐름 제어 일반적으로 하나의 모델은 여러 개의 뷰와 연결될 수 있으나, 각 뷰마다 별도의 모델 서브시스템이 연결되는 것은 아니다.
25. UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계로 옳은 것은?
① Dependency
② Realization
③ Generalization
④ Association
오퍼레이션 수행 : Realization(실체화 관계)
26. 통신을 위한 프로그램을 생성하여 포트를 할당하고, 클라이언트의 통신 요청 시 클라이언트와 연결하는 내·외부 송·수신 연계기술은?
① DB링크 기술
② 소켓 기술
③ 스크럽 기술
④ 프로토타입 기술
포트 할당하는 클라이언트와 통신 : 소켓
27. UI의 종류로 멀티 터치, 동작 인식등 사용자의 자연스러운 움직임을 인식하여 서로 주고 받는 정보를 제공하는 사용자 인터페이스?
① GUI(Graphical User Interface)
② OUI(Organic User Interface)
③ NUI(Natural User Interface)
④ CLI(Command Line Interface)
자연스러운 움직임 - Natural
28. 분산 시스템을 위한 마스터-슬레이브(Master-Slave) 아키텍처에 대한 설명으로 틀린 것은?
① 일반적으로 실시간 시스템에서 사용된다.
② 마스터 프로세스는 일반적으로 연산, 통신, 조정을 책임진다.
③ 슬레이브 프로세스는 데이터 수집 기능을 수행할 수 없다.
④ 마스터 프로세스는 슬레이브 프로세스들을 제어할 수 있다.
슬레이브 프로세스는 마스터의 지시에 따라 데이터 수집 가능
29. 다음 중 시스템의 구조와 관계를 보여주는 UML 다이어그램은?
① 유스케이스 다이어그램
② 액티비티 다이어그램
③ 컴포넌트 다이어그램
④ 시퀀스 다이어그램
30. 시스템의 5가지 기본 요소 중 다음과 같은 특징을 갖는 것은? “ 처리된 결과의 측정, 분석 후 목표치 도달 여부 확인과 만족스럽지 못한 결과는 다시 조정하는 반복 행위 ”
① 입력(input)
② 제어(control)
③ 피드백(feedback)
④ 처리(process)
31. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
① EAI
② FEP
③ GPL
④ Duplexing
FEP(Front-End Processor, 전위처리기) : 미리 입력데이터 처리
32. 객체지향언어(Object-Oriented Programming Language)에서 하나 이상의 유사한 객체(object)들을 묶어서 하나의 공통된 특성으로 표현한 것을 무엇이라 하는가?프로그래밍일반
① 클래스(class)
② 행위(behavior)
③ 사건(event)
④ 메시지(message)
33. 다음 ( ) 안에 들어갈 내용으로 옳은 것은?컴포넌트 설계 시 “( )에 의한 설계”를 따를 경우,
해당 명세에서는 (1) 컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건 (2) 사용 후 만족되어야 할 결과조건 (3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다.
① 협약(Contract)
② 프로토콜(Protocol)
③ 패턴(Pattern)
④ 관계(Relation)
34. 기본 유스케이스 수행 시 특별한 조건을 만족할 때 수행하는 유스케이스는?
① 연관
② 확장
③ 선택
④ 특화
확장 관계 (Extends Association) 기준 유스케이스와 확장 대상 유스케이스 사이에 형성되는 관계로, 해당 유스케이스에 부가적인 유스케이스를 실행할 수 있을 때의 관계이다.
35. UML 다이어그램 중 정적 다이어그램이 아닌 것은?
① 컴포넌트 다이어그램
② 배치 다이어그램
③ 순차 다이어그램
④ 패키지 다이어그램
구조적 다이어그램(정적) :클객컴 배복패 행위 다이어그램(동적) :유시커 상활타
구조적 다이어그램 (정적)
행위 다이어그램 (동적)
클래스 다이어그램
유스케이스 다이어그램
객체 다이어그램
시퀀스 다이어그램
컴포넌트 다이그램
커뮤니케이션 다이어그램
배치 다이어그램
상태 다이어그램
복합체 구조 다이어그램
활동 다이어그램
패키지 다이어그램
타이밍 다이어그램
36. 프로그램 품질관리의 한 방법으로써 워크스루(Walk-through)와 인스펙션(Inspection)이 있다. 워크스루에 대한 설명으로 옳지 않은 것은?
① 소프트웨어 품질을 검토하기 위한 기술적 검토 회의이다.
② 제품 개발자가 주최가 된다.
③ 오류 발견과 발견된 오류의 문제 해결에 중점을 둔다.
④ 검토 자료는 사전에 미리 배포한다.
해당 설명은 인스펙션에 대한 설명이다.
37. 캡슐화(Encapsulation)에 관한 설명 중 옳지 않은 것은?
① 데이터와 데이터를 처리하는 함수를 하나로 묶는 것이다.
② 캡슐화된 객체의 세부 내용이 외부에 은폐되어 변경이 발생해도 오류의 파급효과가 적다.
③ 인터페이스가 단순해지고 객체 간의 결합도가 낮아진다.
④ 캡슐화된 객체들은 재사용이 불가능하다.
캡슐화는 코드 재사용성 높이는데 기여한다.
38. 정형 기술 검토(FTR)의 지침으로 틀린 것은?
① 의제를 제한한다.
② 논쟁과 반박을 제한한다.
③ 문제 영역을 명확히 표현한다.
④ 참가자의 수를 제한하지 않는다.
정형 기술 검토 지침 사항 - 의제와 그 범위를 유지 - 참가자의 수를 제한. - 각 체크 리스트를 작성하고, 자원과 시간 일정을 할당 - 개발자가 아닌 제품의 검토에 집중 - 논쟁과 반박을 제한 - 검토 과정과 결과를 재검토
39. GoF(Gang of Four) 디자인 패턴을 생성, 구조, 행동 패턴의 세 그룹으로 분류할 때, 구조 패턴이 아닌 것은?
① Adapter 패턴
② Bridge 패턴
③ Builder 패턴
④ Proxy 패턴
GoF 디자인 패턴 생성 패턴 : 추빌팩프싱 구조 패턴 : 어브컴데 퍼프
생성 패턴
구조 패턴
추상 팩토리
Abstract Factory
어댑터
Adapter
빌더
Builder
브리지
Bridge
프로토타입
Prototype
컴포지트
Composite
팩토리 메소드
Factory Method
데코레이터
Decorator
싱글톤
Singleton
퍼사드
Facade
프록시
Proxy
40. 유스케이스(Usecase)에 대한 설명 중 옳은 것은?
① 유스케이스 다이어그램은 개발자의 요구를 추출하고 분석하기 위해 주로 사용한다.
② 액터는 대상 시스템과 상호 작용하는 사람이나 다른 시스템에 의한 역할이다.
③ 사용자 액터는 본 시스템과 데이터를 주고받는 연동 시스템을 의미한다.
④ 연동의 개념은 일방적으로 데이터를 파일이나 정해진 형식으로 넘겨주는 것을 의미한다.
액터(Actor) : 서비스를 이용하는 외부 객체
41. 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일은?
① 클라이언트 서버 구조
② 계층 구조
③ MVC 구조
④ 파이프 필터 구조
42. HIPO(Hierarchy Input Process Output)에 대한 설명으로 거리가 먼 것은?
① 상향식 소프트웨어 개발을 위한 문서화 도구이다.
② HIPO 차트 종류에는 가시적 도표, 총체적 도표, 세부적 도표가 있다.
③ 기능과 자료의 의존 관계를 동시에 표현할 수 있다.
④ 보기 쉽고 이해하기 쉽다.
HIPO는 하향식 소프트웨어 개발이다.
43. 객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명 중 틀린 것은?
① 객체(Object)란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
② JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 ‘공개’이다.
③ 상속(Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
④ 같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다.
44. 요구사항 개발 프로세스가 아닌 것은?
① 도출(Elicitation)
② 분석(Analysis)
③ 명세(Specification)
④ 검증(Verification)
SWEBOK에 따른 요구사항 개발 프로세스 - 도출(Elicitation)→분석(Analysis)→명세(Specification)→확인(Validation)
45. 소프트웨어 패키징에 대한 설명으로 틀린 것은?
① 패키징은 개발자 중심으로 진행한다.
② 신규 및 변경 개발소스를 식별하고, 이를 모듈화하여 상용제품으로 패키징한다.
③ 고객의 편의성을 위해 매뉴얼 및 버전관리를 지속적으로 한다.
④ 범용 환경에서 사용이 가능하도록 일반적인 배포 형태로 패키징이 진행된다.
사용자 중심으로 진행
46. 다음 내용이 설명하는 UI설계 도구는?
- 디지인, 사용 방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형 - 시각적으로만 구성 요소를 배치하는 것으로 일반적 으로 실제로 구현되지는 않음
① 스토리보드(Storyboard)
② 목업(Mockup)
③ 프로토타입(Prototype)
④ 유스케이스(Usecase)
47. 인터페이스 구현 시 사용하는 기술로 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷은?
① JSON
② HTML
③ AVPN
④ DOF
48. CASE에 대한 설명으로 옳지 않은 것은?
① 소프트웨어 모듈의 재사용성이 향상된다.
② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
③ 소프트웨어 사용자들이 소프트웨어 사용 방법을 신속히 숙지할 수 있도록 개발된 자동화 패키지이다.
④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
소프트웨어 생명 주기의 전체 단계를 연결해 주고 자동화시켜 주는 통합된 도구를 제공해주는 기술이다.
49. 소프트웨어 설계에서 사용되는 대표적인 추상화(Abstraction) 기법이 아닌 것은?
① 자료 추상화
② 제어 추상화
③ 기능 추상화
④ 강도 추상화
추상화 메커니즘 종류 자료 추상화(데이터 추상화), 제어 추상화, 기능 추상화
50. 소프트웨어 공학에서 모델링(Modeling)과 관련한 설명으로 틀린 것은?
① 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
② 유지보수 단계에서만 모델링 기법을 활용한다.
③ 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
④ 절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법이다.
모델링 기법은 전 단계에서 활용한다.
51. 다음은 어떤 프로그램 구조를 나타낸다. 모듈 F에서의 fan-in 과 fan-out의 수는 얼마인가?
fan-in | fan-out
① 2 | 3
② 3 | 2
③ 1 | 2
④ 2 | 1
52. 프로그램 설계도의 하나인 NS Chart에 대한 설명으로 가장 거리가 먼 것은?
① 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
② 이해하기 쉽고 코드 변환이 용이하다.
③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
④ 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
NS Chart는 구조화된 도형으로 제어 흐름을 표현
53. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련한 설명으로 틀린 것은?
① 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
② 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
③ 스프린트(Sprint)는 소단위 개발 업무를 위한 주기로 2 ~ 4주의 단기간으로 결정된다.
④ 스크럼 마스터는 방해 요소를 찾아 해결하고 완료 작업시간을 소멸 차트(Burndown Chart)에 기록한다.
완료 작업 시간을 소멸 차트에 기록하는 주체는 팀 전체이다.
54. 요구 사항 명세기법에 대한 설명으로 틀린 것은?
① 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
② 비정형 명세기법은 사용자의 요구를 표현할 때 Z 비정형 명세기법을 사용한다.
③ 정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
④ 정형 명세기법은 비정형 명세기법에 비해 표현이 간결하다.
Z 명세는 정형 명세기법에 해당한다.
55. UML 모델에서 한 사물의 명세가 바뀌면 다른 사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계는?
① Association
② Dependency
③ Realization
④ Generalization
56. 익스트림 프로그래밍(XP)에 대한 설명으로 틀린 것은?
① 기존의 방법론에 비해 실용성(Pragmatism)을 강조한 것이라고 볼 수있다.
② 사용자의 요구사항은 언제든지 변할 수있다.
③ 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자 스토리(User Story)를 활용할 수 있다.
④ 빠른 개발을 위해 테스트를 수행하지 않는다.
57. 정형 기술 검토(FTR)의 지침 사항으로 가장 옳지 않은 것은?
① 제품의 검토에만 집중한다.
② 문제 영역을 명확히 표현한다.
③ 참가자의 수를 제한한다.
④ 논쟁이나 반박을 허용한다.
정형 기술 검토 지침 사항 - 의제와 그 범위를 유지 - 참가자의 수를 제한. - 각 체크 리스트를 작성하고, 자원과 시간 일정을 할당 - 개발자가 아닌 제품의 검토에 집중 - 논쟁과 반박을 제한 - 검토 과정과 결과를 재검토
58. UML의 기본 구성요소 중에서 사물(Things)과 가장 관련성이 높은 것은?
① 클래스
② 객체
③ 패키지
④ 다이어그램
59. 간트 차트(Gantt Chart) 작성시 고려사항이 아닌 것은?
① 작업의 순서
② 작업의 기간
③ 작업의 종속성
④ 작업에 필요한 자원
간트 차트는 주로 작업 일정 관리에 초점을 맞추며, 작업에 필요한 자원은 직접적으로 나타내지 않는다.
60. 다음 내용이 설명하는 객체지향 설계 원칙은?
• 클래스를 여러 개로 분리한다. 클래스의 책임이 너무 많다면 해당 클래스를 여러 개로 분리하여 각 클래스에 하나의 책임만을 부여한다. • 클래스에서 수행하는 기능을 분리하고, 클래스가 하나의 책임을 수행하기 위해 여러 개의 기능을 수행한다면 해당 기능을 다른 클래스로 분리한다.
① 인터페이스 분리 원칙
② 단일 책임 원칙
③ 개방 폐쇄의 원칙
④ 리스코프 교체의 원칙
객체지향 설계 원칙(SOLID) 단일 책임 원칙 (SRP): 클래스는 딱 하나의 책임만 가진다. 개방-폐쇄 원칙 (OCP): 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP): 부모 타입은 자식 타입으로 언제든 대체 가능해야 한다. 인터페이스 분리 원칙 (ISP): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. 의존 역전 원칙 (DIP): 추상화에 의존하고, 구체적인 구현에 의존하지 않아야 한다.
61. UI의 설계 지침으로 틀린 것은?
① 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
② 주요 기능을 메인 화면에 노출하여 조작이 쉽도록 하여야 한다.
③ 치명적인 오류에 대한 부정적인 사항은 사용자가 쉽게 인지할 수 있도록 한다.
④ 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하면 인터페이스가 복잡해지므로 한 가지만 수용하도록 한다.
62. EAI(Enterprise Application Integration)의 구성 요소가 아닌 것은?
① Application Adapter
② Message Hub
③ Workflow
④ SOA
SOA (Service-Oriented Architecture)는 EAI를 구현하는 하나의 아키텍처 스타일로, EAI의 필수 구성 요소는 아니다.
63. 객체 지향 개념 중 데이터와 데이터를 처리하는 함수를 캡슐화한 하나의 모듈을 의미하는 것은?
① Class
② Package
③ Object
④ Message
64. DFD(Data Flow Diagram)에 대한 설명으로 거리가 먼 것은?
① 자료 흐름 그래프 또는 버블(Bubble) 차트라고도 한다.
② 구조적 분석 기법에 이용된다.
③ 시간 흐름의 개념을 명확하게 표현할 수 있다.
④ DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
DFD는 자료의 흐름을 나타내는 데 중점을 두며, 시간 흐름의 개념을 명확하게 표현하지는 못한다.
65. 다음 중 추상화(Abstraction) 방법이 아닌 것은?
① 제어 추상화
② 기능 추상화
③ 데이터 추상화
④ 구조 추상화
추상화 메커니즘 종류 자료 추상화(데이터 추상화), 제어 추상화, 기능 추상화
66. 요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?
① 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
② ‘차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다’는 비기능적 요구이다.
③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
④ ‘금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다’는 비기능적 요구이다.
기능적 요구사항 Vs 비기능적 요구사항 - 기능적 요구사항 : 시스템이 실제로 어떻게 동작하는지에 관점을 둔 요구사항 - 비기능적 요구사항 : 시스템 구축에 대한 성능, 보안, 품질, 안정 등에 대한 성능, 보안, 품질, 안정성등으로 실제 수행에 보조적인 요구사항
67. UML 다이어그램 중 시스템 내 업무 처리 과정이나 연산이 수행되는 과정을 나타내는 것은?
① Activity Diagram
② Model Diagram
③ State Diagram
④ class Diagram
68. 소프트웨어 아키텍처 모델 중 MVC(Model•View•Controller)와 관련한 설명으로 틀린 것은?
① MVC 모델은 사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.
② 모델(Model)은 어플리케이션이 “무엇”을 할 것인지를 정의 한다. 내부 비지니스 로직을 처리하기 위한 역할을 할 것이다.
③ 뷰(View)는 Model과 View가 각각 무엇을 해야 할지를 알고 있고, 통제한다.
④ 제어(Controller)는 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.
Model: 데이터와 핵심 비즈니스 로직 담당 View: 사용자에게 보여지는 화면과 레이아웃 담당 (Model의 데이터를 표시) Controller: 사용자 입력 처리 및 Model과 View 사이의 흐름 제어
69. 개발 환경 구성을 위한 빌드(Build) 도구에 해당하지 않는 것은?
① Ant
② Selenium
③ Maven
④ Gradle
Selenium - 다양한 브라우저 지원 및 개발 언어를 지원하는 웹 애플리케이션 테스트 프레임워크이다.
70. 나선형(Spiral) 모형에 대한 설명으로 옳지 않은 것은?
① 대규모 시스템의 소프트웨어 개발에 적합하다.
② 실제 개발될 소프트웨어에 대한 시제품을 만들어 최종 결과물을 예측한다.
③ 위험성 평가에 크게 의존하기 때문에 이를 발견하지 않으면 문제가 발생할 수 있다.
④ 여러 번의 개발 과정을 거쳐 점진적으로 완벽한 소프트웨어를 개발한다.
나선형 모델의 핵심은 위험 관리이며, 시제품은 위험 분석 및 이해를 돕는 수단이지 최종 결과물 예측이 주 목적은 아니다.
71. GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?
① 디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
② bridge pattern은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.
③ 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
④ factory method pattern은 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.
Bridge 패턴은 구현부와 추상화부를 분리하여 독립적으로 확장할 수 있도록 하는 패턴
72. 럼바우의 객체지향 분석 기법에서 자료흐름도를 이용하여 여러 프로세스 간의 자료 흐름을 기술하는 모델링은?
① dynamic modeling
② object modeling
③ functional modeling
④ static modeling
럼바우 객체 지향 분석 기법 객체 모델링 = 객체 다이어그램 동적 모델링 = 상태 다이어그램 기능 모델링 = 자료흐름도
73. 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은?
① 변화에 대한 대응보다는 자세한 계획을 중심으로 소프트웨어를 개발한다.
② 날렵한, 재빠른 이란 사전적 의미와 같이 소프트웨어 개발 중 설계 변경에 신속히 대응하여 요구사항을 수용할 수 있다.
74. COCOMO(Constructive Cost Model) 모형에 대한 설명으로 옳지 않은 것은?
① 산정 결과는 프로젝트를 완성하는데 필요한 man•month로 나타난다.
② 보헴(Boehm)이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법이다.
③ 비용견적의 유연석이 높아 소프트웨어 개발비 견적에 널리 통용되고 있다.
④ 프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
COCOMO 모형은 프로젝트 개발 유형에 따라 Organic, Semidetached, Embedded의 3가지 모드로 구분
75. 객체지향 기법에서 데이터와 데이터를 조작하는 연산을 하나로 묶어 하나의 모듈 내에서 결합 되도록 하는 것은?
① 객체
② 캡슐화
③ 다형성
④ 추상화
76. 서로 다른 모듈들이 연결되거나 인터페이스를 통해 통신하는 경우, 이러한 상호작용이 예상대로 이루어지는지 확인하며 모듈 간의 호환성과 통합 과정에서 발생할 수 있는 문제를 찾는 것이 목적인 테스트는?
① 통합 테스트(Integration Test)
② 단위 테스트(Unit Test)
③ 시스템 테스트(System Test)
④ 인수 테스트(Acceptance Test)
단위 테스트: 개별 모듈이나 컴포넌트가 명세대로 정확하게 작동하는지 검증하는 테스트 통합 테스트: 모듈 간의 상호작용을 검증하여 연결 부위의 오류를 발견하는 테스트 시스템 테스트: 통합된 전체 시스템이 요구사항을 만족하는지 검증하는 테스트 인수 테스트: 사용자의 시각에서 시스템이 사용자의 요구를 충족하는지 검증하는 테스트
77. 정형 기술 검토(FTR)의 지침 사항으로 옳은 내용 모두를 나열한 것은?
① 의제를 제한한다. ② 논쟁과 반박을 제한한다. ③ 문제 영역을 명확히 표현한다. ④ 참가자의 수를 제한하지 않는다.
① ①, ④
② ①, ②, ③
③ ①, ②, ④
④ ①, ②, ③, ④
정형 기술 검토 지침 사항 - 의제와 그 범위를 유지 - 참가자의 수를 제한. - 각 체크 리스트를 작성하고, 자원과 시간 일정을 할당 - 개발자가 아닌 제품의 검토에 집중 - 논쟁과 반박을 제한 - 검토 과정과 결과를 재검토
78. GoF(Gang of Four)의 디자인 패턴에서 행위 패턴에 속하는 것은?
① Builder
② Visitor
③ Prototype
④ Bridge
GoF 디자인 패턴 생성 패턴 :추빌팩프싱 구조 패턴 :어브컴데 퍼프
생성 패턴
구조 패턴
추상 팩토리
Abstract Factory
어댑터
Adapter
빌더
Builder
브리지
Bridge
프로토타입
Prototype
컴포지트
Composite
팩토리 메소드
Factory Method
데코레이터
Decorator
싱글톤
Singleton
퍼사드
Facade
프록시
Proxy
79. 소프트웨어 아키텍처와 관련한 설명으로 틀린 것은?
① 파이프 필터 아키텍처에서 데이터는 파이프를 통해 양방향으로 흐르며, 필터 이동 시 오버헤드가 발생하지 않는다.
② 외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조로 볼 수 있다.
③ 데이터 중심 아키텍처는 공유 데이터저장소를 통해 접근자 간의 통신이 이루어지므로 각 접근자의 수정과 확장이 용이하다.
④ 이해 관계자들의 품질 요구사항을 반영하여 품질 속성을 결정한다.
파이프 필터 아키텍처에서 데이터는 단방향으로 흐르며, 필터 간 데이터 이동 시 오버헤드가 발생할 수 있다.
80. 소프트웨어 개발 방법 중 요구사항 분석(requirements annalysis)과 거리가 먼 것은?
① 비용과 일정에 대한 제약설정
② 타당성 조사
③ 요구사항 정의 문서화
④ 설계 명세서 작성
설계 명세서 작성은 요구사항 분석 단계 이후의 설계 단계에 해당한다.
81. 객체에게 어떤 행위를 하도록 지시하는 명령은?
① Class
② Package
③ Object
④ Message
82. 소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?
① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
② 개발 비용이 가장 많이 소요되는 단계이다.
③ 자료 흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다. 개발 비용이 가장 많이 소요되는 단계는 유지보수 단계이다.
개발 비용이 가장 많이 소요되는 단계는 일반적으로 유지보수 단계이다.
83. 정보공학 방법론에서 데이터베이스 설계의 표현으로 사용하는 모델링 언어는?
① Package Diagram
② State Transition Diagram
③ Deployment Diagram
④ Entity-Relationship Diagram
84. 객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?
① 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
② 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
③ 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다.
④ 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
메소드 오버로딩은 매개 변수의 타입, 개수, 순서 중 하나 이상이 달라야 하며, 메소드 이름은 같아야 한다.
85. 디자인 패턴을 이용한 소프트웨어 재사용으로 얻어지는 장점이 아닌 것은?
① 소프트웨어 코드의 품질을 향상시킬 수 있다.
② 개발 프로세스를 무시할 수 있다.
③ 개발자들 사이의 의사소통을 원활하게 할 수 있다.
④ 소프트웨어의 품질과 생산성을 향상시킬 수 있다.
86. CASE(Computer-Aided Software Engineering)의 원천 기술이 아닌 것은?
① 일괄처리 기술
② 프로토타이핑 기술
③ 정보 저장소 기술
④ 구조적 기법
87. 요구 사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)이 아닌 것은?
① Data Flow Diagram
② UML Diagram
③ E-R Diagram
④ AVL Diagram
88. 객체지행 분석 방법론 중 Coad-Yourdon 방법에 해당하는 것은?
① E-R 다이어그램을 사용하여 객체의 행위를 데이터 모델링하는데 초점을 둔 방법이다.
② 객체, 동적, 기능 모델로 나누어 수행하는 방법이다.
③ 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 방법이다.
④ Use Case를 강조하여 사용하는 방법이다.
89. GoF(Gangs of Four) 디자인 패턴에 대한 설명으로 틀린 것은?
① factory method pattern은 상위클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위클래스에서 인스턴스를 생성하도록 하는 방식이다.
② prototype pattem은 prototype을 먼저 생성하고 인스턴스를 복제하여 사용하는 구조이다.
③ bridge pattem은 기존에 구현되어 있는 클래스에 기능 발생 시 기존 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 한다.
④ mediator pattem은 객체 간의 통제와 지시의 역할을 하는 중재자를 두어 객체지향의 목표를 달성하게 해준다.
90. 다음 중 사용자 인터페이스 방식인 NUI(Natural User Interface)의 예시로 옳지 않은 것은?
① 음성 인식
② 제스처 인식
③ 터치 인터페이스
④ 마우스 및 키보드 인터페이스
91. 시스템에서 모듈 사이의 결합도(Coupling)에 대한 설명으로 옳은 것은?
① 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.
② 한 모듈 내에 있는 처리요소들 사이의 기능적인 연관정도를 나타낸다.
③ 결합도가 높으면 시스템 구현 및 유지보수 작업이 쉽다.
④ 자료결합도는 내용결합도 보다 결합도가 높다.
92. 설계 기법 중 하향식 설계 방법과 상향식 설계 방법에 대한 비교 설명으로 가장 옳지 않은 것은?
① 하향식 설계에서는 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하다.
② 하향식 설계에서 레벨이 낮은 데이터 구조의 세부 사항은 설계 초기 단계에서 필요하다.
③ 상향식 설계는 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다.
④ 상향식 설계에서는 인터페이스가 이미 성립되어 있지 않더라도 기능 추가가 쉽다.
상향식 설계에서는 모듈 간의 인터페이스가 명확히 정의되지 않은 상태에서 기능을 추가하면 일관성을 유지하기 어렵고 통합에 문제를 일으킬 수 있어 기능 추가가 어렵다.
93. CASE(Computer Aided Software Engineering)에 대한 설명으로 틀린 것은?
① 소프트웨어 모듈의 재사용성이 향상된다.
② 자동화된 기법을 통해 소프트웨어 품질이 향상된다.
③ 소프트웨어 사용자들에게 사용 방법을 신속히 숙지시키기 위해 사용된다.
④ 소프트웨어 유지보수를 간편하게 수행할 수 있다.
94. 메시지 지향 미들웨어(Message-Oriented Middleware, MOM)에 대한 설명으로 틀린 것은? 정보처리기사 필기 2022년 2회
① 느리고 안정적인 응답보다는 즉각적인 응답이 필요한 온라인 업무에 적합하다.
② 독립적인 애플리케이션을 하나의 통합된 시스템으로 묶기 위한 역할을 한다.
③ 송신측과 수신측의 연결 시 메시지 큐를 활용하는 방법이 있다.
④ 상이한 애플리케이션 간 통신을 비동기 방식으로 지원한다.
MOM은 비동기 방식으로 메시지를 전달하므로, 즉각적인 응답이 필요한 온라인 업무보다는 비교적. 느리더라도 안정적인 통신이 중요한 업무에 더 적합하다.
95. GoF(Gangs of Four) 디자인 패턴 중 Singleton 패턴에 대한 설명으로 옳은 것은?
① 기능 확장이 필요할 때 서브 클래싱(Sub Classing) 대신 쓸 수 있는 유연한 대안을 제공한다.
② 서브 시스템에 있는 객체들을 사용할 수 있도록 인터페이스 역할을 한다.
③ 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.
④ 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
96. 웹과 컴퓨터 프로그램에서 용량이 적은 데이터를 교환하기 위해 데이터 객체를 속성·값의 쌍 형태로 표현하는 형식으로 자바스크립트(JavaScript)를 토대로 개발되어진 형식은?
① Python
② XML
③ JSON
④ WEB SERVER
97. 자료 흐름도(DFD)를 작성하는 데 지침이 될 수 없는 항목은?
① 자료 흐름은 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여한다.
② 어떤 처리(Process)가 출력자료를 산출하기 위해서는 반드시 입력 자료가 발생해야 한다.
③ 자료 저장소에 입력 화살표가 있으면 반드시 출력 화살표도 표시되어야 한다.
④ 상위 단계의 처리(Process)와 하위 자료 흐름도의 자료 흐름은 서로 일치되어야 한다.
98. 럼바우의 분석 기법에서 다음 설명에 해당하는 것은?
- 자료 흐름도를 이용하여 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정을 표현한 모델링이다. - 어떤 데이터를 입력하여 어떤 결과를 구할 것인지를 표현하는 것이다.
① 기능 모델링
② 동적 모델링
③ 객체 모델링
④ 정적 모델링
럼바우 객체 지향 분석 기법 객체 모델링 = 객체 다이어그램 동적 모델링 = 상태 다이어그램 기능 모델링 = 자료흐름도
99. 객체지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어는?
① 일반화
② 추상화
③ 캡슐화
④ 집단화
100. 소프트웨어 개발 프레임워크의 적용 효과로 볼 수 없는 것은?
① 공통 컴포넌트 재사용으로 중복 예산 절감
② 기술 종속으로 인한 선행 사업자 의존도 증대
③ 표준화된 연 계모듈 활용으로 상호 운용성 향상
④ 개발 표준에 의한 모듈화로 유지보수 용이
101. 객체지향 소프트웨어공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?
① 트랜잭션
② 클래스
③ 시퀀스
④ 서브루틴
102. 색인 순차 파일에 대한 설명으로 옳지 않은 것은?
① 레코드를 참조할 때 색인을 탐색한 후 색인이 가리키는 포인터를 사용하여 직접 참조할 수 있다.
② 레코드를 추가 및 삽입하는 경우, 파일 전체를 복사할 필요가 없다.
③ 인덱스를 저장하기 위한 공간과 오버플로우 처리를 위한 별도의 공간이 필요 없다.
④ 색인 구역은 트랙 색인 구역, 실린더 색인 구역, 마스터 색인 구역으로 구성된다.
색인 순차 파일은 인덱스를 저장하기 위한 공간과 오버플로우 발생 시 처리할 별도의 공간이 필요하다.
103. UML의 기본 구성 요소가 아닌 것은?
① Things
② Terminal
③ Relationship
④ Diagram
UML의 4가지 기본 구성 요소는 사물(Things), 관계(Relationships), 다이어그램(Diagrams)이다.
104. 대표적으로 DOS 및 Unix 등의 운영체제에서 조작을 위해 사용하던 것으로, 정해진 명령 문자열을 입력하여 시스템을 조작하는 사용자인터페이스(User Interface)는?
① GUI(Graphical User Interface)
② CLI(Command Line Interface)
③ CUI(Cell User Interface)
④ MUI(Mobile User Interface)
명령 문자열 - command line
105. 미들웨어(Middleware)에 대한 설명으로 틀린 것은?
① 여러 운영체제에서 응용 프로그램들 사이에 위치한 소프트웨어이다.
② 미들웨어의 서비스 이용을 위해 사용자가 정보 교환 방법 등의 내부 동작을 쉽게 확인할 수 있어야 한다.
③ 소프트웨어 컴포넌트를 연결하기 위한 준비된 인프라 구조를 제공한다.
④ 여러 컴포넌트를 1대 1, 1대 다, 다대 다 등 여러 가지 형태로 연결이 가능하다.
미들웨어는 응용 프로그램 개발자가 분산 환경에서 이기종 시스템 간의 연동을 쉽게 구현하도록 추상화 계층을 제공하므로, 사용자가 내부 동작을 상세히 알 필요가 없다. 오히려 내부 동작은 숨겨지는 것이 일반적이다.
106. 데이터 사전(Data Dictionary)에 대한 설명으로 부적합한 것은?
① 여러 가지 스키마와 이들 속에 포함된 사상들에 관한 정보도 컴파일되어 저장된다.
② 데이터베이스를 실제로 접근하는데 필요한 정보를 유지, 관리하며 시스템만이 접근한다.
③ 사전 자체도 하나의 데이터베이스로 간주되며, 시스템카탈로그(System Catalog)라고도 한다.
④ 데이터베이스가 취급하는 모든 데이터 객체들에 대한 정의나 명세에 관한 정보를 관리 유지한다.
DD는 시스템만 접근하는 것이 아닌 DBA(데이터베이스 관리자)나 응용 프로그래머도 참조하여 데이터베이스의 구조와 내용을 파악하는 데 활용된다.
107. 다음 중 애자일(Agile) 소프트웨어 개발에 대한 설명으로 틀린 것은?
① 공정과 도구보다 개인과의 상호작용을 더 가치 있게 여긴다.
② 동작하는 소프트웨어보다는 포괄적인 문서를 가치 있게 여긴다.
③ 계약 협상보다는 고객과의 협력을 가치 있게 여긴다.
④ 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다.
108. 자료 흐름도(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
109. CASE(Computer-Aided Software Engineering) 도구에 대한 설명으로 거리가 먼 것은?
① 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구이다.
② 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공한다.
③ 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션을 증대한다.
④ 2000년대 이후 소개되었으며, 객체지향 시스템에 한해 효과적으로 활용된다.
CASE 도구는 1980년대부터 등장했으며, 객체지향 시스템뿐만 아니라 구조적 방법론 등 다양한 개발 방법론에 활용될 수 있다.
110. 익스트림 프로그래밍에 대한 설명으로 틀린 것은?
① 대표적인 구조적 방법론 중 하나이다.
② 소규모 개발 조직이 불확실하고 변경이 많은 요구를 접하였을 때 적절한 방법이다.
③ 익스트림 프로그래밍을 구동시키는 원리는 상식적인 원리와 경험을 최대한 끌어올 리는 것이다.
④ 구체적인 실천 방법을 정의하고 있으며, 개발 문서보다는 소스 코드에 중점을 둔다.
익스트림 프로그래밍(XP)은 구조적 방법론이 아닌 애자일 방법론의 하나이다.
111. UML 다이어그램 중 순차 다이어그램에 대한 설명으로 틀린 것은?
① 객체 간의 동적 상호작용을 시간 개념을 중심으로 모델링 하는 것이다.
② 주로 시스템의 정적 측면을 모델링하기 위해 사용된다.
③ 일반적으로 다이어그램의 수직 방향이 시간의 흐름을 나타낸다.
④ 회귀 메시지(Self-Message), 제어블록(Statementblock) 등으로 구성된다.
순차 다이어그램은 동적 모델링이다.
112. 개체-관계 모델(E-R모델)에 대한 설명으로 옳지 않은 것은?
① 개체 타입과 관계타입을 이용해서 현실 세계를 개념적으로 표현하는 방법이다.
② E-R 다이어그램은 E-R모델을 그래프 방식으로 표현한 것이다.
③ E-R 다이어그램의 다이아몬드 현태는 관계타입을 표현하며, 연관된 개체타입들을 링크로 연결한다.
④ 현실 세계의 자료가 데이터베이스로 표현 될 수 있는 물리적 구조를 기술하는 것이다.
E-R 모델은 현실 세계를 개념적 구조를 모델링하는 것
113. 리스코프 교환 원칙에 따르면, 자식 클래스는 어떤 관계를 유지해야 하는가?
① 부모 클래스보다 더 많은 메서드를 가져야 한다.
② 부모 클래스와 완전히 동일한 메서드를 가져야 한다.
③ 부모 클래스의 메서드를 오버라이딩할 수 없다.
④ 부모 클래스의 메서드를 원하는 대로 변경할 수 있다.
객체지향 설계 원칙(SOLID) 단일 책임 원칙 (SRP): 클래스는 딱 하나의 책임만 가진다. 개방-폐쇄 원칙 (OCP): 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP): 부모 타입은 자식 타입으로 언제든 대체 가능해야 한다. 인터페이스 분리 원칙 (ISP): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. 의존 역전 원칙 (DIP): 추상화에 의존하고, 구체적인 구현에 의존하지 않아야 한다.
114. 인터페이스 명세서 작성 중 관련 없는 것은?
① 인터페이스명
② 파라미터
③ 반환값
④ 변수명
115. 소프트웨어 아키텍처 설계에서 시스템 품질속성이 아닌 것은?
① 가용성 (Availability)
② 독립성 (Isolation)
③ 변경 용이성 (Modifiability)
④ 사용성(Usability)
Software Architecture 시스템 품질 속성 7 - 성능, 사용운용성, 보안성, 시험 용이성, 가용성, 변경 용이성, 사용성
116. 아키텍처 설계과정이 올바른 순서로 나열된 것은?
㉮ 설계 목표 설정 ㉯ 시스템 타입 결정 ㉰ 스타일 적용 및 커스터마이즈 ㉱ 서브시스템의 기능, 인터페이스 동작 작성 ㉲ 아키텍처 설계 검토
① ㉮ → ㉯ → ㉰ → ㉱ → ㉲
② ㉲ → ㉮ → ㉯ → ㉱ → ㉰
③ ㉮ → ㉲ → ㉯ → ㉱ → ㉰
④ ㉮ → ㉯ → ㉰ → ㉲ → ㉱
아키텍처 설계과정 설계 목표 설정 → 시스템 타입 결정 → 스타일 적용 및 커스터마이즈 → 서브시스템의 기능, 인터페이스 동작 작성 → 아키텍처 설계 검토
117. 소프트웨어 재공학의 주요 활동 중 다음 설명에 해당하는 것은?
“기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 작업 ”
① Analysis
② Reverse Engineering
③ Restructuring
④ Migration
118. 속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?
① Inheritance
② Class
③ Encapsulation
④ Association
119. 애자일(Agile) 기법 중 스크럼(Scrum)과 관련된 용어에 대한 설명이 틀린 것은?
① 스크럼 마스터(Scrum Master)는 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할 등을 맡는다.
② 제품 백로그(Product Backlog)는 스크럼 팀이 해결해야 하는 목록으로 소프트웨어 요구사항, 아키텍처 정의 등이 포함될 수 있다.
③ 스프린트(Sprint)는 하나의 완성된 최종 결과물을 만드릭 위한 주기로 3달 이상의 장기간으로 결정된다.
④ 속도(Velocity)는 한 번의 스프린트에서 한 팀이 어느 정도의 제품 백로그를 감당할 수 있는지에 대한 추정치로 볼 수 있다.
스프린트(Sprint)는 일반적으로 2~4주의 짧은 주기로 진행된다.
120. 소프트웨어 프로젝트 관리를 효율적으로 수행하기 위한 3P 중 소프트웨어 프로젝트를 수행하기 위한 Framework 의 고려와 가장 연관되는 것은?
① People
② Problem
③ Product
④ Process
효과적인 프로젝트 관리를 위한 3대 요소 - 사람(People) : 프로젝트 팀 구성 및 관리에 대한 고려 사항 - 문제(Problem) : 프로젝트의 목표와 제약 사항을 명확히 이해하는 것 - 프로세스(Process) : 소프트웨어 개발을 위한 절차와 Framework 선택에 대한 고려 사항
121. 소프트웨어 품질 목표 중 정해진 조건 아래에서 소프트웨어 제품의 일정한 성능과 자원 소요 정도의 관계에 관한 속성으로 시간 경제성, 자원 경제성 등의 품질 기준을 갖는 것은?
① Integrity
② Flexibility
③ Efficiency
④ Reliability
122. 소프트웨어의 위기 현상과 가장 거리가 먼 것은?
① 개발 인력의 급증
② 유지보수의 어려움
③ 개발 기간의 지연 및 개발 비용의 증가
④ 신기술에 대한 교육과 훈련의 부족
123. 객체지향 분석 기법과 관련한 설명으로 틀린 것은?
① 동적 모델링 기법이 사용될 수 있다.
② 기능 중심으로 시스템을 파악하며 순차적인 처리가 중요시되는 하향식(Top-down)방식으로 볼 수 있다.
③ 데이터와 행위를 하나로 묶어 객체를 정의 내리고 추상화시키는 작업이라 할 수 있다.
④ 코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다.
객체지향 분석은 객체(데이터와 행위의 묶음) 중심으로 시스템을 파악하는 상향식(Bottom-up) 방식이다. ②번의 설명은 절차지향형 분석 기법에 관한 설명이다.
124. 유스케이스 다이어그램에 관련된 내용으로 틀린것은?
① 시스템과 상호작용하는 외부시스템은 액터로 파악해서는 안된다.
② 유스케이스는 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용을 기술한다.
③ 시스템 액터는 다른 프로젝트에서 이미 개발되어 사용되고 있으며, 본 시스템과 데이터를 주고받는 등 서로 연동되는 시스템을 말한다.
④ 액터가 인식할 수 없는 시스템 내부의 기능을 하나의 유스케이스로 파악해서는 안 된다.
시스템과 상호작용하는 외부 시스템도 액터로 파악하여 유스케이스 다이어그램에 포함시킬 수 있다.
125. 폭포수 모델(Waterfall Model)에 대한 설명으로 옳지 않은 것은?
① 앞 단계가 끝나야만 다음 단계로 넘어갈 수 있다.
② 요구분석 단계에서 프로토타입을 사용하는 것이 특징이다.
③ 제품의 일부가 될 매뉴얼을 작성해야 한다.
④ 각 단계가 끝난 후 결과물이 명확히 나와야 한다.
②번의 설명은 프로토타입에 대한 설명이다.
126. 유스케이스(Use Case)의 구성 요소 간의 관계에 포함되지 않는 것은?
① 연관
② 확장
③ 구체화
④ 일반화
구체화(Realization)는 유스케이스와 클래스 다이어그램 간의 관계에서 주로 사용되는 개념이다.
127. UI의 설계 지침으로 틀린 것은?
① 이해하기 편하고 쉽게 사용할 수 있는 환경을 제공해야 한다.
② 주요 기능을 메인화면에 노출하여 조작이 쉽도록 하여야 한다.
③ 치명적인 오류에 대한 부정적인 사항은 사용자가 인지할 수 없도록 한다.
④ 사용자의 직무, 연령, 성별 등 다양한 계층을 수용하여야 한다.
128. 소프트웨어 개발 영역을 경정하는 요소 중 다음 사항과 관계있는 것은?
- 소프트웨어에 의해 간접적으로 제어되는 장치와 소프트웨어를 실행하는 하드웨어 - 기존의 소프트웨어와 새로운 소프트웨어를 연결하는 소프트웨어 - 순서적 연산에 의해 소프트웨어를 실행하는 절차
① 기능(Function)
② 성능(Performance)
③ 제약 조건(Constraint)
④ 인터페이스(Interface)
129. 객체에 대한 설명으로 틀린 것은?
① 객체는 상태, 동작, 고유 식별자를 가진 모든 것이라 할 수 있다.
② 객체는 공통 속성을 공유하는 클래스들의 집합이다.
③ 객체는 필요한 자료 구조와 이에 수행되는 함수들을 가진 하나의 독립된 존재이다.
④ 객체의 상태는 속성값에 의해 정의된다.
객체는 클래스의 인스턴스이며, 공통 속성을 공유하는 것은 클래스이다.
130. 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서 재사용되는 모든 단위라고 볼 수 있으며 인터페이스를 통해서만 접근할 수 있는 것은?
① Model
② Sheet
③ Component
④ Cell
131. UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것은?
① Feedback
② Posture
③ Module
④ Hash
132. 소프트웨어 모델링과 관련한 설명으로 틀린것은?
① 모델링 작업의 결과물은 다른 모델링 작업에 영향을 줄 수 없다.
② 구조적 방법론에서는 DFD(Data Flow Diagram), DD(Data Dictionary) 등을 사용하여 요구사항의 결과를 표현한다.
③ 객체지향 방법론에서는 UML 표기법을 사용한다.
④ 소프트웨어 모델을 사용할 경우 개발될 소프트웨어에 대한 이해도 및 이해 당사자간의 의사소통 향상에 도움이 된다.
모델링 작업의 결과물은 서로 영향을 주며, 이를 통해 일관성 있고 통합적인 시스템 이해를 돕는다.
133. User Interface 설계 시 오류 메시지나 경고에 관한 지침으로 가장 거리가 먼 것은?
① 메시지는 이해하기 쉬워야 한다.
② 오류로부터 회복을 위한 구체적인 설명이 제공되어야 한다.
③ 오류로 인해 발생 될 수 있는 부정적인 내용을 적극적으로 사용자들에게 알려야한다.
④ 소리나 색의 사용을 줄이고 텍스트로만 전달하도록 한다.
134. 소프트웨어 설계에서 요구사항 분석에 대한 설명으로 틀린 것은?
① 소프트웨어가 무엇을 해야하는가를 추적하여 요구사항 명세를 작성하는 작업이다.
② 사용자의 요구를 추출하여 목표를 정하고 어떤 방식으로 해결할 것인지 결정하는 단계이다.
③ 소프트웨어 시스템이 사용되는 동안 발견되는 오류를 정리하는 단계이다.
④ 소프트웨어 개발의 출발점이면서 실질적인 첫 번째 단계이다.
③번 설명은 테스트 및 유지보스 단계에 진행된다.
135. 객체 지향 기법에서 상위 클래스의 메소드와 속성을 하위 클래스가 물려받는 것을 의미하는 것은?
① Abstraction
② Polymorphism
③ Encapsulation
④ Inheritance
136. 자료흐름도(DFD)의 각 요소별 표기 형태의 연결이 옳지 않은 것은?
① Process : 원
② Data Flow : 화살표
③ Data Store : 삼각형
④ Terminator : 사각형
자료 흐름도(DFD, Data Flow Diagram)
137. 소프트웨어 개발에 이용되는 모델(Model)에 대한 설명 중 거리가 먼 것은?
① 모델은 개발 대상을 추상화하고 기호나 그림 등으로 시각적으로 표현한다.
② 모델을 통해 소프트웨어에 대한 이해도를 향상시킬 수 있다.
③ 모델을 통해 이해 당사자 간의 의사소통이 향상된다.
④ 모델을 통해 향후 개발될 시스템의 유추는 불가능하다.
소프트웨어 개발 모델을 이용해 개발 대상 시스템을 유추할 수 있다.
138. 다음의 설명에 해당하는 언어는?
객체 지향 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화하는데 사용된다. 즉, 개발하는 시스템을 이해하기 쉬운 형태로 표현하여 분석가, 의뢰인, 설계자가 효율적인 의사소통을 할 수 있게 해준다. 따라서, 개발 방법론이나 개발 프로세스가 아니라 표준화된 모델링 언어이다.
① JAVA
② C
③ UML
④ Python
139. 다음 내용이 설명하는 UI설계 도구는?
① 스토리보드(Storyboard)
② 목업(Mockup)
③ 프로토타입(Prototype)
④ 유스케이스(Usecase)
140. LOC기법에 의하여 예측된 총 라인수가 36000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간을 계산한 결과로 가장 옳은 것은?
① 5개월
② 10개월
③ 15개월
④ 20개월
- 개발 기간 = 예측된 LOC / (개발자 수 × 1인당 월평균 생산 LOC) - 개발 기간 = 360000/ (6 × 300) - 개발 기간 = 360000/ 1800 - 개발 기간 = 20
141. 클래스 설계 원칙에 대한 바른 설명은?
① 단일 책임원칙 : 하나의 클래스만 변경 가능해야 한다.
② 개방-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변경에 대해 닫혀 있어야 한다.
③ 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
객체지향 설계 원칙(SOLID) 단일 책임 원칙 (SRP): 클래스는 딱 하나의 책임만 가진다. 개방-폐쇄 원칙 (OCP): 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP): 부모 타입은 자식 타입으로 언제든 대체 가능해야 한다. 인터페이스 분리 원칙 (ISP): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. 의존 역전 원칙 (DIP): 추상화에 의존하고, 구체적인 구현에 의존하지 않아야 한다.
142. 사용자 인터페이스를 설계할 경우 고려해야 할 가이드 라인과 가장 거리가 먼 것은?
① 심미성을 사용성보다 우선하여 설계해야 한다.
② 효율성을 높이게 설계해야 한다.
③ 발생하는 오류를 쉽게 수정할 수 있어야 한다.
④ 사용자에게 피드백을 제공해야 한다.
143. 소프트웨어 설계에서 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법을 무엇이라고 하는가?
① 모듈 분해
② 디자인 패턴
③ 연관 관계
④ 클래스 도출
144. 객체지향 분석기법의 하나로 객체 모형, 동적 모형, 기능 모형의 3개 모형을 생성하는 방법은?
① Wirfs-Block Method
② Rumbaugh Method
③ Booch Method
④ Jacobson Method
145. 객체 지향 개념 중 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 데이터 추상화를 의미하는 것은?
① Method
② Class
③ Field
④ Message
146. 럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은?
① 기능 모델링
② 동적 모델링
③ 객체 모델링
④ 정적 모델링
럼바우 객체 지향 분석 기법 객체 모델링 = 객체 다이어그램 동적 모델링 = 상태 다이어그램 기능 모델링 = 자료흐름도
147. 클래스 다이어그램의 요소로 다음 설명에 해당하는 용어는?
- 클래스의 동작을 의미한다. - 클래스에 속하는 객체에 대하여 적용될 메서드를 정의한 것이다. - UML에서는 동작에 대한 인터페이스를 지칭한다고 볼 수 있다.
① Instance
② Operation
③ Item
④ Hiding
148. 요구사항 검증(Requirements Validation)과 관련한 설명으로 틀린 것은?
① 요구사항이 고객이 정말 원하는 시스템을 제대로 정의하고 있는지 점검하는 과정이다.
② 개발 완료 이후에 문제점이 발견될 경우 막대한 재작업 비용이 들 수 있기 때문에 요구사항 검증은 매우 중요하다.
③ 요구사항이 실제 요구를 반영하는지, 문서상의 요구사항은 서로 상충되지 않는지 등을 점검한다.
④ 요구사항 검증 과정을 통해 모든 요구사항 문제를 발견할 수 있다.
149. 소프트웨어 공학에서 모델링 (Modeling)과 관련한 설명으로 틀린 것은?
① 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
② 유지보수 단계에서만 모델링 기법을 활용한다.
③ 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
④ 절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법이다.
모델링 기법은 전 단계에서 활용한다.
150. 사용자 인터페이스(User Interface)에 대한 설명으로 틀린 것은?
① 사용자와 시스템이 정보를 주고받는 상호작용이 잘 이루어지도록 하는 장치나 소프트웨어를 의미한다.
② 편리한 유지보수를 위해 개발자 중심으로 설계되어야 한다.
③ 배우기가 용이하고 쉽게 사용할 수 있도록 만들어져야 한다.
④ 사용자 요구사항이 UI에 반영될 수 있도록 구성해야 한다.
개발자 중심이 아닌 사용자 중심으로 설계해야 한다.
151. 객체지향의 주요 개념에 대한 설명으로 틀린 것은?
① 캡슐화는 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것을 의미한다.
② 객체는 실세계에 존재하거나 생각할 수 있는 것을 말한다.
③ 클래스는 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것이다.
④ 다형성은 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다.
캡슐화는 데이터와 이를 처리하는 메소드를 묶는 것이며, ①번은 상속에 대한 설명이다.
152. 객체지향 설계에서 정보 은닉(Information Hiding)과 관련한 설명으로 틀린 것은?
① 필요하지 않은 정보는 접근할 수 없도록 하여 한 모듈 또는 하부시스템이 다른 모듈의 구현에 영향을 받지 않게 설계되는 것을 의미한다.
② 모듈들 사이의 독립성을 유지시키는 데 도움이 된다.
③ 설계에서 은닉되어야 할 기본 정보로는 IP주소와 같은 물리적 코드, 상세 데이터 구조 등이 있다.
④ 모듈 내부의 자료 구조와 접근 동작들에만 수정을 국한하기 때문에 요구사항 등 변화에 따른 수정이 불가능하다.
정보 은닉은 모듈 내부 변경이 외부에 미치는 영향을 줄여 요구사항 변화에 따른 수정을 더 쉽게 한다.
153. 순차 다이어그램(Sequence Diagram)과 관련한 설명으로 틀린 것은?
① 객체들의 상호 작용을 나타내기 위해 사용한다.
② 시간의 흐름에 따라 객체들이 주고받는 메시지의 전달 과정을 강조한다.
③ 동적 다이어그램보다는 정적 다이어그램에 가깝다.
④ 교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다.
순차 다이어그램은 동적 다이어그램이다.
154. 분산 시스템에서의 미들웨어 (Middleware)와 관련한 설명으로 틀린 것은?
① 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는 소프트웨어로 볼 수 있다.
② 위치 투명성(Location Transparency)을 제공한다.
③ 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공한다.
④ 애플리케이션과 사용자 사이에서만 분산 서비스를 제공한다.
미들웨어는 애플리케이션과 사용자 사이뿐만 아니라, 분산된 여러 애플리케이션 사이에서도 분산 서비스를 제공하고 상호 작용을 지원한다.
155. GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?
① 디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
② Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.
③ 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
④ Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
Strategy 패턴은 행위 패턴으로, 알고리즘 군을 정의하고 각각을 캡슐화하여 필요에 따라 교체할 수 있게 하는 패턴으로, 인스턴스 복제와는 관련이 없다. ②번에 대한 설명은 Prototype 패턴이다.
156. 애자일 개발 방법론과 관련한 설명으로 틀린 것은?
① 빠른 릴리즈를 통해 문제점을 빠르게 파악할 수 있다.
② 정확한 결과 도출을 위해 계획 수립과 문서화에 중점을 둔다.
③ 고객과의 의사소통을 중요하게 생각한다.
④ 진화하는 요구사항을 수용하는데 적합하다.
157. 요구 분석(Requirement Analysis)에 대한 설명으로 틀린 것은?
① 요구 분석은 소프트웨어 개발의 실제적인 첫 단계로 사용자의 요구에 대해 이해하는 단계라 할 수 있다.
② 요구 추출(Requirement Elicitation)은 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계이다.
③ 도메인 분석(Domain Analysis)은 요구에 대한 정보를 수집하고 배경을 분석하여 이를 토대로 모델링을 하게 된다.
④ 기능적(Functional) 요구에서 시스템 구축에 대한 성능, 보안, 품질, 안정 등에 대한 성능, 보안, 품질, 안정성 등에 대한 요구사항을 도출한다.
성능, 보안, 품질, 안정성 등에 대한 요구사항은 비기능적(Non-functional) 요구에 해당한다.
158. 요구사항 관리 도구의 필요성으로 틀린 것은?
① 요구사항 변경으로 인한 비용 편익 분석
② 기존 시스템과 신규 시스템의 성능 비교
③ 요구사항 변경의 추적
④ 요구사항 변경에 따른 영향 평가
성능 테스트 도구나 분석 영역에 더 가깝다.
159. 애자일 개발 방법론이 아닌 것은?
① 스크럼(Scrum)
② 익스트림 프로그래밍(XP, eXtreme Programming)
③ 기능 주도 개발(FDD, Feature Driven Development)
④ 하둡(Hadoop)
하둡(Hadoop)은 대규모 데이터 처리를 위한 오픈소스 프레임워크이다.
160. 럼바우(Rumbaugh)의 객체지향 분석에서 사용하는 분석활동으로 옳은 것은?
① 객체 모델링, 동적 모델링, 정적 모델링
② 객체 모델링, 동적 모델링, 기능 모델링
③ 동적 모델링, 기능 모델링, 정적 모델링
④ 정적 모델링, 객체 모델링, 기능 모델링
럼바우 객체 지향 분석 기법 객체 모델링 = 객체 다이어그램 동적 모델링 = 상태 다이어그램 기능 모델링 = 자료흐름도
161. 시스템의 구성요소로 볼 수 없는 것은?
① Process
② Feedback
③ Maintenance
④ Control
Maintenance (유지보수)는 시스템의 운영 이후 단계이다. 시스템 구성 요소는 입력, 처리, 출력, 제어, 피드백이 있다.
순차 다이어그램(SequenceDiagram)의 요소 생명선(LifeLine), 통로(Gate), 상호작용(Interaction Fragment), 발생(Occurrence), 실행(Execution), 상태불변(State Invariant), 상호작용(Interaction Use), 메시지(Messages) ,활성(Activations), 객체(Entitiy), Actor
204. 객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?
① Encapsulation
② Class
③ Method
④ Instance
205. 디자인 패턴 중에서 행위적 패턴에 속하지 않는 것은?
① 커맨드(Command) 패턴
② 옵저버(Observer) 패턴
③ 프로토타입(Prototype) 패턴
④ 상태(State) 패턴
GoF 디자인 패턴 생성 패턴 :추빌팩프싱 구조 패턴 :어브컴데 퍼프
생성 패턴
구조 패턴
추상 팩토리
Abstract Factory
어댑터
Adapter
빌더
Builder
브리지
Bridge
프로토타입
Prototype
컴포지트
Composite
팩토리 메소드
Factory Method
데코레이터
Decorator
싱글톤
Singleton
퍼사드
Facade
프록시
Proxy
206. UI 설계 원칙 중 누구나 쉽게 이해하고 사용할 수 있어야 한다는 원칙은?
① 희소성
② 유연성
③ 직관성
④ 멀티운용성
UI 설계 원칙 - 직관성: 누구나 쉽게 이해하고 사용할 수 있도록 한다. - 유효성 : 사용자의 목적을 정확히 달성할 수 있도록 유용하고 효과적이어야 한다. - 학습성: 사용자가 쉽게 배우고 익힐 수 있어야 한다. - 유연성 : 사용자의 요구를 최대한 수용하면서 오류를 최소화해야 한다.
207. 코드의 기본 기능으로 거리가 먼 것은?
① 복잡성
② 표준화
③ 분류
④ 식별
208. 객체 지향 소프트웨어 공학에서 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현한 것은?
① 트랜잭션
② 클래스
③ 시퀀스
④ 서브루틴
209. 아래의 UML 모델에서 ‘차’ 클래스와 각 클래스의 관계로 옳은 것은?
① 추상화 관계
② 의존 관계
③ 일반화 관계
④ 그룹 관계
210. 객체지향 소프트웨어 설계시 디자인패턴을 구성하는 요소로서 가장 거리가 먼 것은?
① 개발자이름
② 문제 및 배경
③ 사례
④ 샘플코드
211. 자료 사전에서 자료의 반복을 의미하는 것은?
① =
② ( )
③ { }
④ [ ]
212. 객체지향 설계 원칙 중, 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 함을 의미하는 원칙은?
① ISP (Interface Segregation Principle)
② DIP (Dependency Inversion Principle)
③ LSP (Liskov Substitution Principle)
④ SRP (Single Responsibility Principle)
객체지향 설계 원칙(SOLID) 단일 책임 원칙 (SRP): 클래스는 딱 하나의 책임만 가진다. 개방-폐쇄 원칙 (OCP): 확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP): 부모 타입은 자식 타입으로 언제든 대체 가능해야 한다. 인터페이스 분리 원칙 (ISP): 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. 의존 역전 원칙 (DIP): 추상화에 의존하고, 구체적인 구현에 의존하지 않아야 한다.
213. 인터페이스 요구 사항 검토 방법에 대한 설명이 옳은 것은?
① 리팩토링 : 작성자 이외의 전문 검토 그룹이 요구 사항 명세서를 상세히 조사하여 결합, 표준 위배, 문제점 등을 파악
② 동료검토 : 요구 사항 명세서 작성자가 요구 사항 명세서를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견
③ 인스펙션 : 자동화된 요구 사항 관리 도구를 이용하여 요구 사항 추적성과 일관성을 검토
④ CASE 도구 : 검토 자료를 회의 전에 배포해서 사전 검토한 후 짧은 시간 동안 검토 회의를 진행하면서 결함을 발견