일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Python
- 2020년 제4회 정보처리기사 필기 문제 분석
- jsp
- 스터디
- 2020년 일정
- git
- 코드숨
- 함수형 코딩
- Til
- 주간회고
- 서평
- 책리뷰
- Jackson
- 미니프로젝트
- 항해99
- 알고리즘
- If
- algorithms
- hackerrank
- sqldeveloper
- java
- 2020년 정보처리기사 4회
- LeetCode
- 뇌정리
- Real MySQL
- 정보처리기사
- 회고
- 성적프로그램
- post
- 필기
- Today
- Total
조컴퓨터
2020년 제4회 정보처리기사 필기 문제 분석(Ⅰ) 본문
제1과목 : 소프트웨어설계
1. 애자일 방법론에 해당하지 않는 것은?
① 기능중심 개발
② 스크럼
③ 익스트림 프로그래밍
④ 모듈중심 개발
정답) ④
애자일(Agile) 방법론에는 여러 가지 종류가 있다.
- 익스트림 프로그래밍(Extreme Programming, XP)
- 스크럼(Scrum)
- 동적 시스템 개발 방법론(Dynamic Systems Development Method, DSDM)
- 기능 주도 개발 방법론(Feature Driven Development, FDD)
- 크리스털 패밀리(Crystal family)
- 적응형 소프트웨어 개발 방법론(Adaptive software development)
- 린 소프트웨어 개발 방법론(Lean software development)
이외에도 여러 가지 종류가 있다.
2. 요구 사항 명세기법에 대한 설명으로 틀린 것은?
① 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
② 비정형 명세기법은 사용자의 요구를 표현할 때 Z비정형 명세기법을 사용한다.
③ 정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
④ 정형 명세기법은 비정형 명세기법에 비해 표현이 간결하다.
정답) ②
비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 방법이다. 또는 작업 흐름도와 같은 다이어그램을 사용해 작성한다.
이 경우의 단점은 자연어를 사용함으로써 표현이 애매모호할 수 있고, 그에 따라 달리 해석할 수도 있다는 것이다. 또한 일관성이 떨어지고 명세가 불충분할 수 있다.
정형 명세기법은 사용자의 요구를 표현할 때 수학적 원리와 표기법을 이용하는 것이다. 대표적으로 사용되는 것이 Z정형 명세언어 등이다.
이 경우의 장점은 사용자의 요구를 간결하게 표현하며 수학적 원리와 표기법을 이용하여 작성된 사용자의 요구가 일관성이 있는지, 완전한지 등을 검증할 수 있다는 것이다.
3. 소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?
① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용할 수 있다.
② 개발 비용이 가장 많이 소요되는 단계이다.
③ 자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-spec)가 활용될 수 있다.
정답) ②
개발 비용이 가장 많이 소요되는 단계는 소프트웨어 유지보수 단계이다.
4. CASE(Computer Aided Software Engineering)의 주요 기능으로 옳지 않은 것은?
① S/W 라이프 사이클 전 단계의 연결
② 그래픽 지원
③ 다양한 소프트웨어 개발 모형 지원
④ 언어 번역
정답) ④
CASE의 주요 기능은 소프트웨어 생명 주기(Software life cycle)의 전체 단계의 연결, 그래픽 지원, 다양한 소프트웨어 개발 모형 지원 등이 있다. CASE 시스템 사용의 이점으로는 소프트웨어 개발 기간 단축 및 비용 절감, 프로그램 유지 보수의 용이성, 자동화된 검사를 통한 소프트웨어 품질 향상, 개발 주기의 표준화, 개발 기법의 실용화 등을 들 수 있다.
5. 바람직한 소프트웨어 설계 지침이 아닌 것은?
① 적당한 모듈의 크기를 유지한다.
② 모듈 간의 접속 관계를 분석하여 복잡도와 중복을 줄인다.
③ 모듈 간의 결합도는 강할수록 바람직하다.
④ 모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.
정답) ③
모듈 간의 결합도는 약할수록 모듈의 독립성이 높아지므로 약할수록 바람직하다.
6. UML의 기본 구성요소가 아닌 것은?
① Things
② Terminal
③ Relationship
④ Diagram
정답) ②
통합 모델링 언어(Unified Modeling Language, UML)는 객체 지향 분석, 설계용의 모델링 언어이다.
UML은 Things, Relationships, Diagrams의 세 가지의 기본 구성요소를 가진다. 이 구성요소가 UML이 모델링 체계로서 의미를 가지기 위한 최소한의 단위이다. 각 구성요소는 각각 여러 가지의 하위요소로 이루어져 있다.
7. 다음 내용이 설명하는 객체지향 설계 원칙은?
- 클라이언트는 자신이 사용하지 않는 매서드와 의존관계를 맺으면 안된다.
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
① 인터페이스 분리 원칙
② 단일 책임 원칙
③ 개방 폐쇄의 원칙
④ 리스코프 교체의 원칙
정답) ①
- 인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 매서드에 의존하지 않아야 한다는 원칙이다.
- 단일 책임 원칙은 모든 클래스는 하나의 책임만을 가지며, 클래스는 그 책임을 완전히 캡슐화해야 한다는 원칙이다.
- 개방 폐쇄의 원칙(Open-Closed Principle, OCP)은 소프트웨어 개체는 확장에 대해 열려 있어야 하고, 변경에 대해서는 닫혀 있어야 한다는 원칙이다.
- 리스코프 교체의 원칙(Liskov Substitution Principle, LSP)은 필요한 프로그램의 속성의 변경 없이 자료형의 객체를 그 하위 자료형의 객체로 교체할 수 있어야 한다는 원칙이다.
8. 디자인 패턴 사용의 장단점에 대한 설명으로 거리가 먼 것은?
① 소프트웨어 구조 파악이 용이하다.
② 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
③ 재사용을 위한 개발 시간이 단축된다.
④ 절차형 언어와 함께 이용될 때 효율이 극대화된다.
정답) ④
디자인 패턴은 자주 사용하는 설계 형태를 정형화하여 이를 유형별로 설계 템플릿으로 만들어 둔 것을 말한다.
디자인 패턴을 사용하면 효율성과 재사용성을 높일 수 있지만, 절차형 언어의 경우는 너무 복잡해져 큰 도움이 되지 않는다.
9. 소프트웨어의 사용자 인터페이스 개발 시스템(User Interface Development System)이 가져야 할 기능이 아닌 것은?
① 사용자 입력의 검증
② 에러 처리와 에러 메시지 처리
③ 도움과 프롬프트(prompt) 제공
④ 소스 코드 분석 및 오류 복구
정답) ④
소스 코드 분석 및 오류 복구가 아닌 코드 오류 예방 방지이다.
10. 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어를 무엇이라고 하는가?
① 웨어러블
② 하이웨어
③ 미들웨어
④ 응용 소프트웨어
정답) ③
- 미들웨어 : 클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어
11. 객체지향 기법의 캡슐화(Encapsulation)에 대한 설명으로 틀린 것은?
① 인터페이스가 단순화된다.
② 소프트웨어 재사용성이 높아진다.
③ 변경 발생시 오류의 파급효과가 적다.
④ 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미한다.
정답) ④
- 상속 : 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
12. GoF(Gangs of Four) 디자인 패턴 분류에 해당하지 않는 것은?
① 생성 패턴
② 구조 패턴
③ 행위 패턴
④ 추상 패턴
정답) ④
GoF(Gangs of Four) 디자인 패턴 분류에 해당하는 것은 생성 패턴, 구조 패턴, 행위 패턴이다.
13. 다음 중 자료사전(Data Dictionary)에서 선택의 의미를 나타내는 것은?
① [ ]
② { }
③ +
④ =
정답) ①
선택 [ ]
반복 { }
구성, 연결 +
정의 =
주석 **
생략 ( )
14. XP(eXtreme Programming)의 기본원리로 볼 수 없는 것은?
① Linear Sequential Method
② Pair Programming
③ Collective Ownership
④ Continuous Integration
정답) ①
XP(eXtreme Programming)의 기본원리는 다음과 같다.
Fine-scale feedback
- Pair programming
- Planning game
- Test-driven development
- Whole team
Continuous process
- Continuous integration
- Refactoring or design improvement
- Small releases
Shared understanding
- Coding standards
- Collective code ownership
- Simple design
- System metaphor
Programmer welfare
- Sustainable pace
15. DFD(data flow diagram)에 대한 설명으로 틀린 것은?
① 자료 흐름 그래프 또는 버블(bubble) 차트라고도 한다.
② 구조적 분석 기법에 이용된다.
③ 시간 흐름을 명확하게 표현할 수 있다.
④ DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
정답) ③
DFD(data flow diagram)는 시스템 구성 요소인 프로세스와 프로세스 간의 데이터 흐름을 도형 중심으로 표현하는 방법이다. 이는 자료 흐름 그래프 또는 버블(bubble) 차트라고도 한다.
자료 흐름도 구성 요소
- 자료 흐름(Data flow) - 화살표 - 자료의 흐름
- 프로세스(Process) - 원 - 시스템의 처리 과정
- 단말(Terminator) - 직사각형 - 종착지
- 자료 저장소(Data store) - 직선(단선/이중선) - 자료 저장소
16. 코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?
① 순차 코드
② 10진 코드
③ 표의 숫자 코드
④ 블록 코드
정답) ③
- 순차 코드(Sequence Code) : 각각 정의된 순서에 따라 열거된 항목에 대하여, 각각의 순서에 따라 부여된 고유의 식별 코드
- 10진 코드(Decimal Code) : 코드화 대상 항목을 0 ~ 9까지 10진 분할하고, 다시 그 각각에 대하여 10진 분할하는 방법을 필요한 만큼 반복하는 방법
- 표의 숫자 코드(Significant Digit Code) : 코드화 대상 항목의 성질(길이, 넓이, 부피, 지름, 높이)의 물리적 수치를 그대로 코드에 적용시키는 방법
- 블록 코드(Block Code) : 코드화 대상 항목 중에서 공통성이 있는 것끼리 블록으로 구분하고, 각 블록 내에서 일련 번호를 부여하는 방법
17. 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?
① 객체 다이어그램(Object Diagram)
② 패키지 다이어그램(Package Diagram)
③ 상태 다이어그램(State Diagram)
④ 자료 흐름도(Data Flow Diagram)
정답) ③
동적 모델링은 상태 다이어그램(State Diagram)을 이용해 시간의 흐름에 따른 객체들 사이의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현한다.
18. 소프트웨어의 상위설계에 속하지 않는 것은?
① 아키텍처 설계
② 모듈 설계
③ 인터페이스 정의
④ 사용자 인터페이스 설계
정답) ②
- 상위설계 : 소프트웨어 시스템의 구조와 데이터를 규명하여 사용자 인터페이스를 정의. 이는 기본설계라고도 한다.
- 하위설계 : 각 모듈(컴포넌트, 자료구조, 알고리즘)의 세부 내용을 설계
19. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 노드와 간선으로 구성된다.
② 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
③ 계층 모델이라고도 한다.
④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
정답) ②
서브시스템(필터)이 입력 데이터를 받아 처리하고 결과를 다른 시스템으로 넘겨주는 과정을 반복한다.
20. 그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되지 않는 것은?
① 객체 모델링
② 기능 모델링
③ 동적 모델링
④ 블랙박스 분석 모델링
정답) ④
럼바우 분석 활동은 객체 모델링, 동적 모델링, 기능 모델링을 통해 이루어짐
'정보처리기사 해설 > 필기 해설' 카테고리의 다른 글
2020년 제4회 정보처리기사 필기 문제 분석(Ⅴ) (0) | 2020.10.04 |
---|---|
2020년 제4회 정보처리기사 필기 문제 분석(Ⅳ) (2) | 2020.10.03 |
2020년 제4회 정보처리기사 필기 문제 분석(Ⅲ) (0) | 2020.10.02 |
2020년 제4회 정보처리기사 필기 문제 분석(Ⅱ) (0) | 2020.10.01 |