7급 국가직 소프트웨어공학 2022년 기출문제

시행 2022-10-15 · 책형 나 · 25문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

전체 풀기 (시험 모드)원본 PDF 받기2022 7급 국가직 전과목
1.
소프트웨어 프로젝트에서 수행 작업에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①프로그래밍은 소프트웨어 공학의 모든 작업을 통합하는 작업이다.
  2. ②설계 작업은 요구사항을 어떻게 구현할지 결정하는 과정으로 서브 시스템 분할, 상세 설계, 인터페이스 설계 및 자료 저장 방식 등의 작업으로 구성된다.
  3. ③모델링 작업은 시스템의 기능, 동작 및 구성을 추상화 형태로 표현해 가는 과정으로 사용 사례 모델링, 정·동적 모델링이 있다.
  4. ④테스트 작업은 개별 코드를 테스트하기 위한 단위 테스트, 이를 연결하여 제대로 작동하는지 확인하는 통합 테스트 및 빌드(build)한 시스템의 기능이 원하는 대로 작동하는지 확인하는 시스템 테스트 작업 등이 있다.
정답 보기

정답 ③ · 해설 보기

2.
다음 설명에 해당하는 프로젝트 범위 관리 프로세스는?
○ 주요 프로젝트 인도물을 더 작고 관리 가능한 구성 요소로 나누는 작업이다.
○ WBS(Work Breakdown Structure)를 도구로 사용하고, WBS 체계에 따른 계층 구조와 최하위 항목인 작업 패키지가 결과로 산출된다.
소프트웨어공학
  1. ①범위 기획
  2. ②범위 정의
  3. ③범위 검증
  4. ④범위 변경 통제
정답 보기

정답 ② · 해설 보기

3.
다음 설명에 해당하는 것으로 옳은 것은?
○ 프로젝트 진행의 중요한 상태를 정의한다.
○ 프로젝트나 프로덕트가 특정 상태에 이르렀는지 나타낸다.
○ 계속되는 개발 또는 유지보수 작업의 기준이 된다.
○ 형상 항목에 대한 변경을 제어하는 메커니즘이다.
소프트웨어공학
  1. ①VCS(Version Control System)
  2. ②Baseline
  3. ③CMMI(Capability Maturity Model Integration)
  4. ④CI(Continuous Integration)
정답 보기

정답 ② · 해설 보기

4.
소프트웨어의 품질 속성에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①신뢰성 - 요구된 기능을 실행하여 정확하고 일관성 있는 결과를 생성하는 속성
  2. ②효율성 - 요구된 기능을 최소의 시간과 자원을 사용하여 결과를 생성하는 속성
  3. ③모듈성 - 컴포넌트의 통합이나 조정을 쉽게 만드는 속성
  4. ④상호운용성 - 소프트웨어가 여러 운영 환경 및 플랫폼에서 실행될 수 있도록 변형이 가능한 속성
정답 보기

정답 ④ · 해설 보기

5.
유스케이스 명세서를 구성하는 항목에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①개요는 유스케이스가 제공하는 기능을 나타낸 것으로, 그 기능을 사용하는 사용자 액터까지 표현해야 한다.
  2. ②이벤트 흐름(시나리오)은 유스케이스 기능에 대한 액터와 시스템 간의 대화로, 문자나 순차 다이어그램을 사용해 표현한다.
  3. ③기능 요구사항은 성능, 신뢰성, 보안성, 가용성 등 여러 요구 품질 요소를 나타낸다.
  4. ④후행 조건은 유스케이스의 수행 완료 후에 만족되어야 하는 조건으로 상태나 수치의 바뀐 모습을 명확하고 구체적으로 기술해야 한다.
정답 보기

정답 ③ · 해설 보기

6.
ISO/IEC 9126 모델에 대한 품질 특성 요소로 잘못 짝 지은 것은?
소프트웨어공학
  1. ①신뢰성 요소 - 성숙성, 결함허용성, 회복성
  2. ②유지보수성 요소 - 분석성, 변경성, 안정성
  3. ③기능성 요소 - 적용성, 설치용이성, 부합성
  4. ④사용성 요소 - 이해성, 학습용이성, 운영성
정답 보기

정답 ③ · 해설 보기

7.
유스케이스 다이어그램에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①시스템 외부의 액터들은 서로 관계를 형성하지 않는다.
  2. ②시스템과 상호작용하는 외부 시스템은 액터로 표현한다.
  3. ③유스케이스들의 공통 호출 서비스는 <<include>> 관계로 유스케이스를 구성한다.
  4. ④유스케이스들의 선택적 서비스는 <<extend>> 관계로 유스케이스를 구성한다.
정답 보기

정답 ① · 해설 보기

8.
MVC(Model-View-Controller) 패턴에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①뷰는 사용자에게 처리 로직의 결과를 보여준다.
  2. ②컨트롤러는 사용자의 요청을 받아 모델에 보낸다.
  3. ③모델은 데이터를 관리하며 변경이 일어나면 뷰에게 통지한다.
  4. ④사용자 인터페이스가 변경되면 모델에 영향을 준다.
정답 보기

정답 ④ · 해설 보기

9.
다음 클래스 다이어그램을 파이썬 코드로 표현한 것이다. (가) ~ (라)에 들어갈 내용으로 옳은 것은?
class (가):
  def __init__(self, name, price):
    self.name = name
    self.price = price

  def (나)(self):
    print("{}'s price = {}".format(self.name, self.price))

class (다)((가)):
  def __init__(self, name, price):
    Food.__init__(self, name, price)

  def (라)(self):
    print("{}".format(self.name))
(가) (나) (다) (라)
소프트웨어공학
  1. ①Food show Korean showname
  2. ②Korean showname Food show
  3. ③Food showname Korean show
  4. ④Korean show Food showname
정답 보기

정답 ① · 해설 보기

10.
다음 클래스 다이어그램과 관련이 있는 디자인 패턴은?
소프트웨어공학
  1. ①데코레이터(Decorator) 패턴
  2. ②메멘토(Memento) 패턴
  3. ③어댑터(Adapter) 패턴
  4. ④빌더(Builder) 패턴
정답 보기

정답 ① · 해설 보기

11.
화이트박스 테스트만을 모두 고르면?
ㄱ. 제어 흐름 테스팅
ㄴ. 경로 테스팅
ㄷ. 상태기반 테스팅
ㄹ. 원인 결과 그래프
소프트웨어공학
  1. ①ㄱ, ㄴ
  2. ②ㄱ, ㄷ
  3. ③ㄴ, ㄷ
  4. ④ㄴ, ㄹ
정답 보기

정답 ① · 해설 보기

12.
다음 Yourdon/DeMarco 표기법에 따라서 자료 흐름도로 표현하였을 때 옳은 것은?
판매자가 음식을 등록하여 등록음식 데이터베이스에 저장한 후에, 고객이 음식을 주문하면, 고객에게 영수증이 발급되고, 판매자에게 판매정보가 전달된다.
소프트웨어공학
  1. ①
  2. ②
  3. ③
  4. ④
정답 보기

정답 ④ · 해설 보기

13.
객체지향 프로그램의 품질 측정 방법으로 옳지 않은 것은?
소프트웨어공학
  1. ①클래스 당 가중치를 갖는 메소드
  2. ②사이클로매틱 복잡성
  3. ③상속 트리의 깊이
  4. ④메소드의 응집 결핍
정답 보기

정답 ② · 해설 보기

14.
소프트웨어의 요구 사항 수집 및 기술에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①사용자의 요구 사항을 구체적으로 파악하기 위해 소프트웨어의 일부 기능을 빠르게 구현한 프로토타입을 이용한다.
  2. ②소프트웨어 사용 관련자들이 브레인스토밍을 통해 다양한 요구 사항을 도출한다.
  3. ③현재 시스템의 문제를 파악하기 위해 관련 직원으로부터 시스템의 문제점을 파악하고 자료를 수집한다.
  4. ④수집한 요구 사항은 프로그래밍 언어를 이용해서 구체적으로 기술한다.
정답 보기

정답 ④ · 해설 보기

15.
소프트웨어 생명주기에 대한 설명으로 옳지 않은 것은?
소프트웨어공학
  1. ①소프트웨어 개발방법론의 바탕이 된다.
  2. ②일반적으로 정의단계, 개발단계, 유지보수 단계로 구분된다.
  3. ③프로젝트 비용 산정과 개발 계획을 수립할 수 있는 기본 골격이 된다.
  4. ④개발단계에서 시간과 비용이 가장 많이 든다.
정답 보기

정답 ④ · 해설 보기

16.
평가 점수에 따른 성적을 아래 표와 같이 부여하는 소프트웨어를 제작하여 경곗값 분석 기법으로 테스트할 때, 테스트 케이스는 몇 개인가? (단, 평가 점수는 정수이다)
평가 점수
등급
90점 이상부터 100점 이하
A
80점 이상부터 90점 미만
B
70점 이상부터 80점 미만
C
60점 이상부터 70점 미만
D
0점 이상부터 60점 미만
F
소프트웨어공학
  1. ①10
  2. ②15
  3. ③18
  4. ④20
정답 보기

정답 ③ · 해설 보기

17.
다음 디자인 패턴들을 GoF(Gang of Fours) 패턴 분류에 따라 구분하였을 때, 생성 패턴, 구조 패턴, 행위 패턴의 개수를 순서대로 바르게 나열한 것은?
○ Abstract Factory
○ Adapter
○ Bridge
○ Builder
○ Composite
○ Decorator
○ Iterator
○ Mediator
○ Observer
○ Prototype
○ Proxy
○ Singleton
○ Strategy
○ Visitor
 
생성 패턴 구조 패턴 행위 패턴
소프트웨어공학
  1. ①3 5 6
  2. ②4 5 5
  3. ③5 3 6
  4. ④6 4 4
정답 보기

정답 ② · 해설 보기

18.
SPICE(Software Process Improvement and Capability dEtermination) 모델은 소프트웨어 개발 프로세스를 구성하는 각 프로세스 영역의 달성 수준(또는 능력)을 측정하는 레벨을 제시한다. 레벨과 그 레벨의 측정 관점을 짝 지은 것으로 옳지 않은 것은?
소프트웨어공학
  1. ①수행단계 - 해당 프로세스의 목적은 달성하지만 계획되거나 추적되지 않는다.
  2. ②관리단계 - 표준으로 정의된 프로세스를 사용하여 계획되고 관리한다.
  3. ③예측단계 - 표준 프로세스 능력을 정량적으로 측정, 이해, 관리할 수 있어 품질의 정량적 관리가 가능하다.
  4. ④최적화 단계 - 프로세스가 지속적으로 개선되고 최적화된다.
정답 보기

정답 ② · 해설 보기

19.
다음 클래스 다이어그램은 객체지향 설계에서 클래스를 설계할 때의 원칙 가운데 하나를 적용한 사례이다. 설계 원칙으로 옳은 것은?
‘학과평균점수’ 클래스의 역할은 한 대학의 학과별 기말고사 평균 점수를 계산하기 위한 것이다. <보기 1>은 클래스 설계의 해당 원칙을 적용하기 전의 다이어그램이고, <보기 2>는 해당 원칙을 적용한 이후의 다이어그램이다.
 
<보기 1>
 
   
 
<보기 2>
 
   
소프트웨어공학
  1. ①개방 폐쇄의 원칙
  2. ②의존 관계 역전의 원칙
  3. ③인터페이스 분리의 원칙
  4. ④단일 책임 원칙
정답 보기

정답 ① · 해설 보기

20.
다음 Java 코드에서 생략된 부분을 고려하지 않고 명시된 부분만으로 UML 클래스 다이어그램을 작성하였을 때, 다이어그램에 나타나지 않는 관계는?
class Person { ... }
class Work { ... }
interface PublicService {
	public void doWork(Work work);
}
class Official extends Person implements PublicService {
	public void sayHello() { ... }
	public void doWork(Work work) { ... }
	...
}
소프트웨어공학
  1. ①
  2. ②
  3. ③
  4. ④
정답 보기

정답 ② · 해설 보기

21.
화이트박스 테스트 커버리지에 대한 설명으로 옳은 것은?
소프트웨어공학
  1. ①문장 커버리지는 입력 데이터가 미리 정의한 유형에 적합한지를 검증하는 방법이다.
  2. ②동일한 프로그램에 대해 분기 커버리지를 달성하면 조건 커버리지를 달성한다.
  3. ③동일한 프로그램에 대해 조건 커버리지를 달성하면 분기 커버리지를 달성한다.
  4. ④동일한 프로그램에 대해 수정조건분기 커버리지(Modified Condition Decision Coverage, MCDC)를 달성하면 조건 커버리지를 달성한다.
정답 보기

정답 ④ · 해설 보기

22.
소프트웨어 개발 프로젝트 수행을 위한 설명으로 옳은 것은?
소프트웨어공학
  1. ①소프트웨어 기능의 정확성을 검증하기 위해 기능 점수 방법을 적용한다.
  2. ②소프트웨어 개발 요구 사항의 변경에 효과적으로 대응하기 위해 폭포수 모형을 적용한다.
  3. ③소프트웨어 개발 프로젝트의 비용을 예측하기 위해 COCOMO 방법을 적용한다.
  4. ④소프트웨어 개발 프로젝트 일정을 계획하기 위해 CMMI 방법을 적용한다.
정답 보기

정답 ③ · 해설 보기

23.
다음 입력 인자가 가질 수 있는 값들이 <표 1>과 같이 주어져 있을 때, 페어와이즈(pairwise) 테스트를 수행하고자 한다. 페어와이즈 테스트를 위한 인자 조합이 <표 2>와 같다고 할 때, (가) ~ (라)에 들어갈 내용으로 옳은 것은?
<표 1>
 
인자
A
B
C
값
A1
B1
C1
A2
B2
C2
A3
   
<표 2>
A
B
C
A1
B1
C1
A1
B2
C2
A2
(가)
C1
A2
(나)
C2
A3
(다)
C1
A3
(라)
C2
(가) (나) (다) (라)
소프트웨어공학
  1. ①B1 B2 B1 B2
  2. ②B1 B1 B2 B2
  3. ③B1 B2 B2 B1
  4. ④B2 B2 B1 B1
정답 보기

정답 ③ · 해설 보기

24.
소프트웨어의 총 개발 기간은 16개월이며, 처음 6명의 개발 인력이 100 % 투입되었다. 개발지연으로 11개월 시작 시점에 3명 중 2명은 100 %, 1명은 50 %를 추가 투입하여 개발이 완료되었다. 이 소프트웨어 개발에 투입된 총 MM(Man-Month)은?
소프트웨어공학
  1. ①111 MM
  2. ②112 MM
  3. ③113 MM
  4. ④114 MM
정답 보기

정답 ① · 해설 보기

25.
다음은 모듈을 구성하는 코드의 일부이다. 두 함수 A( )와 B( ) 사이에 형성되는 결합으로 옳은 것은? (단, ...은 생략된 코드이며, 해당 코드는 고려하지 않는다)
int A(){
    int a;
     ...
    B(a);
     ...
}
int B(int x){
    ... 
    if(x > 0)
        /*  send data   */
    else
        /*  receive data */
}
소프트웨어공학
  1. ①내용 결합
  2. ②자료 결합
  3. ③스탬프 결합
  4. ④제어 결합
정답 보기

정답 ④ · 해설 보기