2015년 8월 29일에 시행한 국가직 7급 공무원 시험 소프트웨어공학 기출문제 (3책형) 입니다.
문 1. 프로젝트 수행 시 발생하는 위험을 관리하고 최소화하는 것이 주된 목적인 소프트웨어 프로세스 모델은?
① 폭포수 모델(Waterfall Model)
② 4세대 기법(4th Generation Techniques)
③ 나선형 모델(Spiral Model)
④ 구축 및 수정 모델(Build-Fix Model)
문 2. 소프트웨어 형상 관리와 가장 거리가 먼 것은?
① 제품 측정
② 감사 추적 기록
③ 변경 관리
④ 버전 관리
문 3. 다음 설명에 해당하는 사용자 요구사항 추출(elicitation) 방법은?
이 방법의 목적은 소프트웨어 엔지니어의 아이디어에 대한 피드백을 조기에 받아서 요구사항을 취합하는 것이다. 이 방법의 가장 단순한 형태는 시스템이 수행될 때 무엇이 일어날 지를 설명하기 위하여 종이에 화면 순서를 기술하여 고객과 사용자에게 보여주는 것이다. |
② 인터뷰
③ 브레인스토밍
④ 프로토타이핑
문 4. 소프트웨어 개발 방법에 대한 설명으로 옳은 것은?
① 구조적 분석 방법은 자료와 함수의 관점으로 요구분석을 수행하며 함수보다는 자료에 중점을 둔다.
② 객체지향 방법은 객체가 가지는 자료와 오퍼레이션을 정의하며 자료흐름도(Data Flow Diagram)가 대표적인 표기법으로 사용된다.
③ 정보공학 방법은 자료에 중점을 두어 자료와 프로세스를 별개의 작업으로 병행 진행한 뒤에는 서로 간의 오류를 상관 분석을 통해 검증한다.
④ 정형명세 방법에서는 시스템의 상태와 상태 변화를 논리적으로 명확하게 표현하는 것이 중요하며 UML이 대표적인 정형명세 방법의 표기법이다.
문 5. 다음 설명에 해당하는 것은?
○ 소프트웨어 품질을 평가하기 위한 국제 표준이다. ○ 소프트웨어 제품 품질 관련 모델들을 통합하기 위한 모델로 제시되었다. ○ 품질 관리, 품질 모델, 품질 측정, 품질 요구사항, 품질 평가 부문 등으로 구성된다. |
② ISO 14764
③ ISO 25000
④ ISO 26262
문 6. SPICE의 성숙도 단계별 수준 중 프로세스가 정해진 절차에 따라 이루어져 산출물을 내며, 모든 작업이 계획되고 추적되는 단계는?
① 레벨 1-예측단계
② 레벨 2-관리단계
③ 레벨 3-최적화단계
④ 레벨 4-확립단계
문 7. 다음은 어떤 소프트웨어 프로젝트를 구성하는 작업들의 선행 작업과 소요기간을 나타낸 표이다. 이 프로젝트를 위한 액티비티 네트워크의 임계경로는?
작업 | T1 | T2 | T3 | T4 | T5 | T6 | T7 | 종료 |
소요기간(일) | 6 | 4 | 2 | 3 | 5 | 3 | 2 | |
선행작업 | - | - | T1 | T2 | T2, T3, T4 | T3, T5 | T5, T6 | T7 |
② T1→T3→T5→T6→T7
③ T2→T5→T6→T7
④ T2→T4→T5→T6→T7
문 8. 자바 프로그래밍 언어에는 private, public, protected 등의 접근 수식자가 있다. 클래스 A의 특정 속성(멤버변수)이 어떠한 접근 수식자도 없이 선언된 경우, 이 속성에 접근할 수 없는 클래스는?
① 동일한 패키지 내의 A의 서브 클래스
② 다른 패키지 내의 A의 서브 클래스
③ 동일한 패키지 내의 A의 서브 클래스가 아닌 클래스
④ 클래스 A 자신
문 9. 비즈니스 프로세스 재공학(BPR:Business Process Reengineering) 모델의 활동이 아닌 것은?
① Business Definition
② Business Inspection
③ Process Evaluation
④ Process Identification
문 10. 다음 C 프로그램을 문장 커버리지(statement coverage)를 사용하여 테스트할 때 필요한 최소의 테스트케이스 개수는?
int foo(int a[10], int x) { int i=0; int count=0; for (i=0; i<10; i++) { if (a[i]==x) count++; } return count; } |
② 2
③ 3
④ 4
문 11. 블랙박스 테스트 기법에 해당하지 않는 것은?
① 경곗값 분석(Boundary Value Analysis)
② 원인-결과 그래프(Cause-Effect Graph)
③ 기본 경로 테스트(Basic Path Test)
④ 동등 분할(Equivalence Partitioning)
문 12. 테스트에 대한 설명으로 옳지 않은 것은?
① 회귀 테스트는 이미 테스트했던 부분을 다시 실행해보고 새로운 변화로 인한 부작용이 있는지 확인하는 과정이다.
② 통계적 테스트에서는 운영 프로파일을 반영하는 테스트 데이터의 집합을 구성한다.
③ 상향식 통합 테스트에서는 테스트케이스 입출력을 조정하기 위한 스텁(stub) 프로그램을 추가로 작성한다.
④ 스트레스 테스트는 소프트웨어 설계 한도를 넘는 상황이 되도록 만들어서 시스템이 어떻게 처리하는가를 테스트하는 것이다.
문 13. 클래스 간의 관계에 대한 설명으로 옳지 않은 것은?
① 연관 관계의 다중성(multiplicity)은 두 클래스의 연관 관계에서 실제로 연관을 가지는 객체의 수를 나타낸다.
② 집합(Aggregation) 관계는 전체와 그 객체의 구성 요소 사이의 관계를 나타내며, whole-part 관계를 나타낸다.
③ 일반화(Generalization) 관계는 일반적인 클래스와 구체적인 클래스 간의 관계 즉 상속 개념을 나타내며, is a kind of의 관계를 나타낸다.
④ 의존 관계는 하나의 클래스에 있는 멤버 함수의 인자가 변해도 다른 클래스에 영향을 미치지 않는 관계를 의미한다.
문 14. 요구공학에 대한 관점(viewpoint) 지향 방법에서 제안된 관점과 설명으로 옳지 않은 것은?
① 패턴(pattern) 관점:시스템의 구축에 적용될 설계 패턴 관점에서 요구사항을 파악
② 간접적(indirect) 관점:시스템을 직접 사용하지는 않지만 어떤 식으로든 요구사항에 영향을 주는 참여자 관점에서 요구사항을 파악
③ 도메인(domain) 관점:도메인 특성과 시스템 요구사항에 영향을 미치는 도메인 특성 제약의 관점에서 요구사항을 파악
④ 상호작용(interactive) 관점:시스템과 직접적으로 상호작용하는 사람 혹은 시스템의 관점에서 요구사항을 파악
문 15. 어떤 모듈의 결합도는 다른 모듈들, 전역 데이터, 외부 환경과의 연결성을 나타낸다. 모듈의 환경 결합도와 가장 관련이 깊은 메트릭은?
① 기능점수(Function Point)
② 순환적 복잡도(Cyclomatic Complexity)
③ LCOM(Lack of Cohesion in Methods)
④ 팬 아웃(Fan-Out)
문 16. 도서관에서 운영 중인 도서관리 시스템에 대하여 다음과 같은 작업을 수행하였다. 소프트웨어 유지보수 활동에 해당하는 것만을 모두 고른 것은?
ㄱ. 대출 빈도가 높은 도서 목록을 추출하는 기능을 운영 중인 도서관리 시스템에 추가한다. ㄴ. Windows XP가 탑재되어 있는 PC에서 운영 중인 도서관리 시스템을 Linux가 탑재된 서버에서 운영 가능하도록 수정한다. ㄷ. 운영 중인 도서관리 시스템의 원시 코드를 분석하여 도서관리 시스템에 대한 문서를 갱신한다. ㄹ. 운영 중인 도서관리 시스템에서 문제가 있는 부분을 수정한 다음 수정된 코드에 의해 영향 받는 부분을 테스트한다. |
② ㄱ, ㄴ, ㄷ
③ ㄴ, ㄷ, ㄹ
④ ㄱ, ㄴ, ㄷ, ㄹ
문 17. 파이프 필터 형태의 소프트웨어 아키텍처에 대한 설명으로 옳은 것은?
① 컴포넌트 사이에 복잡한 상호작용이 필요한 시스템에 가장 적합하다.
② 사용자가 개입하여 데이터 흐름을 전환할 경우에 사용된다.
③ 서브시스템이 입력데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복된다.
④ 모든 필터가 동시에 작동하는 병렬처리 형식이다.
문 18. 동일한 일을 하는 메소드가 여러 서브 클래스에 있을 때, 이 메소드를 슈퍼 클래스로 옮기는 리팩토링 기법은?
① Extract Method
② Move Method
③ Rename Method
④ Pull Up Method
문 19. 디자인 패턴에 대한 설명으로 옳지 않은 것은?
① Observer 패턴:어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 갱신될 수 있게 만든다.
② Mediator 패턴:객체의 상호작용을 캡슐화하는 객체를 정의한다.
③ Composite 패턴:연산을 적용할 원소의 클래스를 변경하지 않고도 새로운 연산을 정의할 수 있게 한다.
④ Bridge 패턴:구현에서 추상을 분리하여, 이들이 독립적으로 다양성을 가질 수 있도록 한다.
문 20. 클래스 설계 원칙에 대한 설명으로 옳은 것은?
① 인터페이스 분리(Interface Segregation) 원칙:추상 클래스나 인터페이스에 의존하지 않고 자주 변경되는 클래스에 의존해야 한다.
② 개방-폐쇄(Open-Closed) 원칙:클래스는 확장(extension)에 대해서는 열려있어야 하며 변경(change)에 대해서 닫혀있어야 한다.
③ 리스코프 교체(Liskov Substitution) 원칙:여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존 관계 역전(Dependency Inversion) 원칙:클라이언트는 자신이 사용하는 메소드와 의존 관계를 갖지 않도록 해야 한다.
문제 PDF 새탭에서 보기
문제 PDF 다운로드
문제 HWP 다운로드
정답 다운로드
댓글 쓰기
Click to see the code!
To insert emoticon you must added at least one space before the code.