정보시스템감리/소프트웨어 공학

(제 24회) 소프트웨어 공학 / (26)~(50)

아이티신비 2024. 1. 2. 10:33

 

26. 다음 Sequence diagram의 동작에서 적용된 디자인 패턴으로 가장 적절한 것은?

① Iterator

② Strategy

③ State

④ Chain of Responsibility

 

27. 다음은 3개의 Condition과 2개의 Action으로 구성된 Decision Table이다. 다음과 같이 TC1, TC2, TC3, TC4 4개의 테스트케이스를 사용하는 경우 커버리지는?


TC1: X = -200, Y = 0

TC2: X = 0, Y = 200

TC3: X = -100, Y = 150

TC4: X = -100, Y = 250

 

① 1 / 8 ② 2 / 8

③ 3 / 8 ④ 4 / 8

 

28. Robert C. Martin은 clean architecture를 설명하면서 컴포넌트 결합도에 대한 3가지 원칙을 제시하였다. 이에 대한 설명 중 가장 적절하지 않은 것은?

 

① 자신보다 재사용성이 높은 컴포넌트에 의존해야한다.

② 컴포넌트간의 의존성에 사이클이 존재하지 않아야 한다.

③ 자신보다 안정적(stable)인 컴포넌트에 의존해야 한다.

④ 자신보다 추상화된 컴포넌트에 의존해야 한다.

 

29. 다음 중 인공신경망을 테스팅 할 때 사용할 수 있는 커버리지로 가장 적절하지 않은 것은?

 

① Neuron coverage

② Layer coverage

③ Component coverage

④ Sign-sign coverage

 

30. 다음 설명으로 가장 적절한 용어는?

악의적인 행위자가 시스템에 무단으로 진입하거나 악의적인 행동을 유발하는 데 사용될 수 있는 소프트웨어 아키텍처 및 소스 코드의 문제점을 말하며, 최근 소프트웨어 시스템에 영향을 미치는 다른 심각한 약점을 수용하기 위해 보안을 넘어 그 범위가 확장되고 있다.

① Common Weakness Enumeration

② Technical Debt

③ Bad Smells

④ Anti-patterns

 

31. OMG에서는 하드웨어 등을 포함한 복잡한 시스템을 모델링하기 위한 목적으로 SysML을 정의하였다. SysML을 구성하는 일부 다이어그램은 UML을 차용하였다. 다음 중 SysML과 UML에 공통적으로 존재하는 다이어그램으로 가장 적절한 것은?

 

① Use case diagram

② Class diagram

③ Component diagram

④ Requirement diagram

 

32. CMMI-DEV(CMMI for Development)는 소프트웨어 개발 시 프로세스 품질을 향상시킬 수 있는 가이드라인이다. 다음은 CMMI-DEV의 22개 프로세스 영역 중 일부이다. 이 중 분류체계 성격이 가장 다른 것은 어느 것인가?

 

① Configuration Management(CM)

② Technical Solution(TS)

③ Decision Analysis and Resolution(DAR)

④ Causal Analysis and Resolution(CAR)

 

33. Software Engineering Institute(SEI) 아키텍처 뷰 모델 중 다음 설명에 해당하는 뷰(View)로 가장 적절한 것은?

· 데이터의 생성과 소비에 관련된 내용으로 컴포넌트들에 감지된 이벤트를 통해 상호작용한다.
· 데이터의 생성자와 사용자를 구분하고 이벤트를 통하여 정보의 사용을 관리한다.
· 모든 컴포넌트는 이벤트 분배자(Distributor)에 연결된다.

① Peer to Peer View

② Client-Server View

③ Pipe and Filter View

④ Publish-Subscribe View

 

34. ISO/IEC/IEEE 29119는 소프트웨어 테스트에 대한 표준을정의하고 있다. 다음 중 ISO/IEC/IEEE 29119 파트 2에정의된 전체적 적합성(full conformance)과 맞춤형 적합성(tailored conformance)에 대한 설명 중 가장 적절한 것은?

 

① 전체적 적합성은 모든 프로세스의 요구사항을 전부 만족하는 것이고, 맞춤형 적합성은 프로세스의 일부의 요구사항을 모두 만족하는 것이다.

② 전체적 적합성은 모든 프로세스의 요구사항을전부 만족하는 것이고, 맞춤형 적합성은 일부프로세스의 일부 요구사항을 만족하는 것이다.

③ 전체적 적합성은 합의된 프로세스의 요구사항을모두 만족하는 것이고, 맞춤형 적합성은 합의된 프로세스의 일부를 만족하는 것이다.

④ 전체적 적합성은 모든 프로세스의 요구사항과 권고사항을 전부 만족하는 것이고, 맞춤형 적합성은 모든 프로세스의 요구사항만을 만족하는 것이다.

 

35. 다음 설명에 해당하는 아키텍처 스타일로 가장 적절한 것은?

사용자 인터페이스를 시스템의 다른 부분과 분리하여 결합도를 낮추기 위한 아키텍처 스타일로, 사용자 인터페이스를 담당하는 계층의 응집력을 높일 수 있고, 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.

① Event-Driven style

② Client-Server style

③ Model-View-Controller style

④ Layered style

 

36. 다음은 웹 SOA(service oriented architecture)에 대한 주요 표준과 이들에 대한 설명이다. 상호간의 연결이 가장 적절한 것은?

 
가. SOAP
나. WSDL
다. WS-BPEL
A. 여러 개의 다른 서비스를 포함하는 프로세스 프로그램을 정의하는데 사
용되는 워크플로우 언어
B. 서비스 인터페이스 정의에 대한 표준
C. 서비스들 간의 통신을 지원하는 메시지 교환 표준

① 가-A, 나-B, 다-C ② 가-B, 나-C, 다-A

③ 가-C, 나-A, 다-B ④ 가-C, 나-B, 다-A

 

37. 애자일 프로젝트 관리 방법인 스크럼(scrum)에 대한 설명 중 가장 적절하지 않은 것은?

 

① 스크럼(scrum)은 소프트웨어 개발 팀이며 7명을 넘지 않을 것을 권장한다.

② 스프린트(sprint)는 개발에서 이루어지는 반복을 의미하며 주로 2~4주 길이로 구성한다.

③ 제품 백로그(product backlog)는 해야 할 일에 대한 목록이며 소프트웨어 요구사항 등이 포함된다.

④ 스크럼 마스터(scrum master)는 프로젝트 관리자와 유사한 역할이며 팀이 스크럼 프로세스를 효과적으로 따를 수 있도록 한다.

 

38. 다음 중 CMMI 수준 3인 정의(defined) 단계의 프로세스 영역에 해당하는 것으로 가장 적절한 것은?

가. 위험 관리(Risk Management)
나. 통합 프로젝트 관리(Integrated Project Management)
다. 정량적 프로젝트 관리(Quantitative Project Management)
라. 조직 프로세스 정의(Organizational Process Definition)
마. 조직 프로세스 성과 관리(Organizational Process Performance)

① 가, 나, 라 ② 가, 나, 마

③ 나, 다, 라 ④ 다, 라, 마

 

39. 마이크로서비스(microservice) 아키텍처의 특징에 대한 설명 중 가장 적절하지 않은 것은?

 

① 각 컴포넌트는 응집력이 있고 독립적이며 자체 배포가 가능하여 지속적 통합과 배포에 적합하다.

② 특정 컴포넌트에서 장애가 일어나더라도 이를 격리하여 애플리케이션 전체가 중단되지 않도록 할 수 있다.

③ 컴포넌트들은 서로 느슨하게 결합되어 있고 각각 독립된 기능을 제공하며 단일 데이터베이스를 중심으로 통합된다.

④ 마이크로서비스 간 통신은 오케스트레이션 (orchestration) 또는 코레오그래피(choreography) 방식을 사용할 수 있다.

 

40. 다음 UML State Machine 다이어그램의 Y 상태에서 signal 이벤트를 받았을 때 Z 상태로 전이하면서 실행되는 액션의 순서로 가장 적절한 것은?


① A, B, C, E, D ② B, C, A, D, E

③ C, B, A, E, D ④ D, C, A, B, E

 

 

41. 각 개발 단계에서 생성된 결함의 수와 발견된 결함의 수는 다음 표와 같다. 단계별 PCE(Phase Containment Effectiveness)가 큰 단계에서 작은 단계의 순서대로 바르게 나열한 것은?


① 분석 - 설계 – 구현
② 분석 – 구현 - 설계
③ 설계 – 구현 – 분석
④ 설계 – 분석 – 구현

 

42. Git 명령어에 대한 설명으로 가장 적절한 것은?

 

① git push – 원격 저장소의 모든 내용을 로컬 저장소로 복사한다.

② git fetch – 로컬 저장소의 변경 사항을 원격 저장소로보낸다.

③ git pull – git remote 명령을 통해 서로 연결된 원격 저장소의 최신 내용을 로컬 저장소로

가져오면서 병합한다.

④ git clone – 로컬 저장소와 원격 저장소의 변경사항이 다를 때 이를 비교 대조하고 git merge 명령어와 함께 최신 데이터를 반영하거나 충돌문제 등을 해결한다.

 

43. 다음 그림은 메인라인, 베이스라인, 코드라인의 관계를 나타낸다. A, B, C를 각각의 코드라고 할 때, (가)~(다)에 해당하는 것을 바르게 연결한 것은?


                 (가)           (나)            (다)

① 코드라인        메인라인    베이스라인

② 베이스라인   코드라인      메인라인

③ 코드라인      베이스라인   메인라인

④ 메인라인     베이스라인    코드라인

 

44. 다음 컴포넌트 Cc의 안정성(stability) 지표로 가장 적절한 것은?


① Fan-in: 3, Fan-out: 1, I(Instability): 1/4

② Fan-in: 1, Fan-out: 3, I(Instability): 1/4

③ Fan-in: 3, Fan-out: 1, I(Instability): 3/4

④ Fan-in: 1, Fan-out: 3, I(Instability): 3/4

 

45. 다음 소스 코드 커버리지의 포함 관계에서 (가)~(라)에 해당하는 항목으로 바르게 연결한 것은?


① (가) 구문커버리지 (나) 조건/결정커버리지 (다) 변경 조건/결정 커버리지 (라) 다중 조건 커버리지

② (가) 다중 조건 커버리지 (나) 조건/결정커버리지 (다) 변경 조건/결정 커버리지 (라) 구문커버리지

③ (가) 구문커버리지 (나) 변경 조건/결정 커버리지 (다) 조건/결정커버리지 (라) 다중 조건 커버리지

④ (가) 다중 조건 커버리지 (나) 변경 조건/결정 커버리지 (다) 조건/결정커버리지 (라) 구문커버리지

 

46. 다음은 JUnit4의 코드 골격이다. 테스트 수행시에 메소드들의 수행순서로 가장 적절한 것은?

public class TestSample {
@BeforeClass
public static void a() { }
@AfterClass
public static void b() { }
@Before
public void c() { }
@After
public void d() { }
@Test
public void t1() { }
@Test
public void t2() { }
}

① a(), b(), c(), d(), t1(), t2()

② a(), c(), t1(), t2(), d(), b()

③ a(), c(), t1(), d(), c(), t2(), d(), b()

④ a(), c(), t1(), d(), b(), a(), c(), t2(),d(), b()

 

47. 다음 중 Release testing에 대한 설명으로 가장 적절한 것은?

 

① 심각한 결함을 유발하는 버그들을 검출하기 위해 결함 테스팅을 수행한다.

② 시스템을 개발한 팀원들로 구성된 검증팀을 따로 만들어 테스팅을 수행한다.

③ 외부 배포 이전에 시스템의 요구명세 기반 블랙박스 테스팅을 수행한다.

④ 시스템 테스팅에서 확인된 요구사항은 제외하고 변경 항목들을 테스트한다.

 

48. 다음 상황에 부합하는 유지보수 유형으로 가장 적절한 것은?

데이터베이스 내에서 데이터 세트를 재구성하여 더 빠르게 검색하고 스토리지를 더 적게 사용하도록 성능향상 작업을 진행하고자 한다.

① 수정형 유지보수(corrective maintenance)

② 적응형 유지보수(adaptive maintenance)

③ 완전형 유지보수(perfective maintenance)

④ 예방형 유지보수(preventive maintenance)

 

49. 다음에 설명하는 4가지 유형의 소프트웨어 형상관리 활동에 해당하지 않은 것은?

A. 베이스라인을 설정하고 식별된 모든 형상 항목에 식별자를 부여한다.
B. 변경요청이 발생했을 때 해당 변경에 대한 평가,조정, 변경 승인 등의 활동을 수행한다.
C. 형상 항목에 대한 변경 히스토리를 기록하고 보고 한다.
D. 개발된 소프트웨어 제품이 승인된 제품의 명세와 정확히 일치하는지를 평가한다.

① Configuration Status Accounting

② Configuration Identification

③ Configuration Verification

④ Configuration Control

 

50. 다음 중 (가)~(다)에 들어갈 용어를 순서대로 가장 적절하게 나열한 것은?

SPICE는 소프트웨어 개발 프로세스 개선을 목적으로 제정된 ISO 15504 표준의 별칭으로, L0:Incomplete Process, L1: (가) Process, L2: (나)Process, L3: (다) Process, L4: Predictable Process, L5: Optimizing Process로 총 6레벨의 성숙도로 정의되어 있다.

① Managed, Established, Performed

② Managed, Performed, Established

③ Established, Performed, Managed

④ Performed, Managed, Established

 


 

정답)

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50