XP(eXtreme Programming)의 기본원리로 볼 수 없는 것은?
① Linear Sequential Method
② Pair Programming
③ Collective Ownership
④ Continuous Integration
럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용되는 다이어그램은?
① 객체 다이어그램(Object Diagram)
② 패키지 다이어그램(Package Diagram)
③ 상태 다이어그램(State Diagram)
④ 자료 흐름도(Data Flow Diagram)
CASE(Computer Aided Software Engineering)의 주요 기능으로 옳지 않은 것은?
① S/W 라이프 사이클 전 단계의 연결
② 그래픽 지원
③ 다양한 소프트웨어 개발 모형 지원
④ 언어 번역
객체지향 기법의 캡슐화(Encapsulation)에 대한 설명으로 틀린 것은?
① 인터페이스가 단순화 된다.
② 소프트웨어 재사용성이 높아진다.
③ 변경 발생 시 오류의 파급효과가 적다.
④ 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것을 의미한다.

파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 노드와 간선으로 구성된다.
② 서브시스템이 입력데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복한다.
③ 계층 모델이라고도 한다.
④ 3개의 서브시스템(모델, 뷰, 제어)으로 구성되어 있다.
코드화 대상 항목의 중량, 면적, 용량 등의 물리적 수치를 이용하여 만든 코드는?
① 순차 코드
② 10진 코드
③ 표의 숫자 코드
④ 블록 코드
디자인 패턴 사용의 장٠단점에 대한 설명으로 거리가 먼 것은?
① 소프트웨어 구조 파악이 용이하다.
② 객체지향 설계 및 구현의 생산성을 높이는데 적합하다.
③ 재사용을 위한 개발 시간이 단축된다.
④ 절차형 언어와 함께 이용될 때 효율이 극대화된다.
DFD(data flow diagram)에 대한 설명으로 틀린 것은?
① 자료 흐름 그래프 또는 버블(bubble) 차트라고도 한다.
② 구조적 분석 기법에 이용된다.
③ 시간 흐름을 명확하게 표현할 수 있다.
④ DFD의 요소는 화살표, 원, 사각형, 직선(단선/이중선)으로 표시한다.
그래픽 표기법을 이용하여 소프트웨어 구성 요소를 모델링하는 럼바우 분석 기법에 포함되지 않는 것은?
① 객체 모델링
② 기능 모델링
③ 동적 모델링
④ 블랙박스 분석 모델링
UML의 기본 구성요소가 아닌 것은?
① Things
② Terminal
③ Relationship
④ Diagram
소프트웨어의 상위설계에 속하지 않는 것은?
① 아키텍처 설계
② 모듈 설계
③ 인터페이스 정의
④ 사용자 인터페이스 설계
다음 중 자료사전(Data Dictionary)에서 선택의 의미를 나타내는 것은?
① [ ]
② { }
③ +
④ =
소프트웨어의 사용자 인터페이스개발시스템(User Interface Development System)이 가져야 할 기능이 아닌 것은?
① 사용자 입력의 검증
② 에러 처리와 에러 메시지 처리
③ 도움과 프롬프트(prompt) 제공
④ 소스 코드 분석 및 오류 복구
요구 사항 명세기법에 대한 설명으로 틀린 것은?
① 비정형 명세기법은 사용자의 요구를 표현할 때 자연어를 기반으로 서술한다.
② 비정형 명세기법은 사용자의 요구를 표현할 때 Z 비정형 명세기법을 사용한다.
③ 정형 명세기법은 사용자의 요구를 표현할 때 수학적인 원리와 표기법을 이용한다.
④ 정형 명세기법은 비정형 명세기법에 비해 표현이 간결하다.
소프트웨어 개발 단계에서 요구 분석 과정에 대한 설명으로 거리가 먼 것은?
① 분석 결과의 문서화를 통해 향후 유지보수에 유용하게 활용 할 수 있다.
② 개발 비용이 가장 많이 소요되는 단계이다.
③ 자료흐름도, 자료 사전 등이 효과적으로 이용될 수 있다.
④ 보다 구체적인 명세를 위해 소단위 명세서(Mini-Spec)가 활용될 수 있다.
애자일 방법론에 해당하지 않는 것은?
① 기능중심 개발
② 스크럼
③ 익스트림 프로그래밍
④ 모듈중심 개발
클라이언트와 서버 간의 통신을 담당하는 시스템 소프트웨어를 무엇이라고 하는가?
① 웨어러블
② 하이웨어
③ 미들웨어
④ 응용 소프트웨어
GoF(Gangs of Four) 디자인 패턴 분류에 해당하지 않는 것은?
① 생성 패턴
② 구조 패턴
③ 행위 패턴
④ 추상 패턴
바람직한 소프트웨어 설계 지침이 아닌 것은?
① 적당한 모듈의 크기를 유지한다.
② 모듈 간의 접속 관계를 분석하여 복잡도와 중복을 줄인다.
③ 모듈 간의 결합도는 강할수록 바람직하다.
④ 모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.
Linear Sequential Method(선형 순차적 방법)은 폭포수 모형을 의미함
동적 모델링은 상태 다이어그램을 이용해 시간 흐름에 따른 객체들 간의 제어 흐름, 상호 작용, 동작 순서 등의 동적인 행위를 표현하는 모델링을 말한다.
CASE(컴퓨터 지원 소프트웨어 공학) : 컴퓨터 지원 시스템 공학,
시스템 개발 방법론들의 자동화를 지원하는 소프트웨어 도구를 제공해 개발자의 반복적인 작업량을 줄이도록 하는 것
캡슐화는 필요한 속성과 행위를 하나로 묶고 그중 일부를 외부에서 사용하지 못하도록 은닉하는 것을 의미함
상속 : 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받음
인터페이스 분리 원칙 : 클라이언트는 자신이 사용하지 않는 메소드와 의존 관계를 맺으면 안된다.
단일 책임 원칙 : 객체는 하나의 챔임만을 가져야 한다.
개방 폐쇄 원칙 : 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다.
리스코프 교체의 원칙 : 기반 클래스는 파생 클래스로 대체 가능해야 한다.
파이프 필터 구조 : 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복된다.
서브시스템을 필터라고 하고 서브시스템 사이의 관계를 파이프라 한다.
표의 숫자 코드 : 대상 항목의 크기, 중량, 거리 등을 그래도 사용하는 코드
디자인 패턴은 객체지향 방법론의 가장 큰 장점인 재사용성과 모듈성을 극대화시켜 시스템 개발은 물론 유지보수에도 큰 효과가 있다.
DFD는 시간 흐름을 명확하게 표현할 수 없다.
럼바우 분석 기법에는 객체, 동적, 기능 모델링이 있다.
사물, 관계, 다이어그램
아키텍처 설계, 데이터 설계, 시스템 분할, 인터페이스 정의, 사용자 인터페이스 설계
모듈 설계, 상세 설계, 자료구조 설계, 알고리즘 설계
[ ] : 자료의 선택
소스 코드 분석 및 오류 복구는 보통 백엔드 컴파일러가 하는 역할이다.
사용자의 요구를 표현할 때 Z 비정형 명세기법을 사용하는 것은 정형 명세 기법이다.
개발비용이 가장 많이 소요되는 단계는 유지보수 단계이다.
익스트림 프로그래밍, 스크럼, 린 소프트웨어 개발 방법론, 크리스탈 패밀리, 기능 주도 개발 방법론, 동적 시스템 개발 방법론
미들웨어 솔루션 : 컴퓨터와 컴퓨터간의 연결을 쉽고 안전하게 할 수 있도록 해주고 이에 대한 관리는 도와주는 소프트웨어
생성 패턴, 구조 패턴, 행위 패턴
모듈 간의 결합도가 약할 수록 좋다.
반대로 응집도는 강할 수록 좋다.