본문 바로가기
IT★자격증/정보시스템감리사 기출문제 풀이

2022년 제 23회 정보시스템 감리사 기출문제 풀이 - 소프트웨어공학(36-40)

by 꼬모부 2024. 1. 19.
728x90
2022년 제 23회 정보시스템 감리사 소프트웨어공학 기출문제 풀이 36-40번까지 풀이를 진행하겠습니다.
도움이 되시길 바랍니다.

 

소프트웨어공학

 

문제 36
36. 다음의 아키텍처 분석/평가 방법에 대한 설명으로 가장 적절한 것은?

입력: 
1) 아키텍처 
2) 아키텍처 전략들 
3) N개의 품질속성 시나리오 

출력: 각 아키텍처 전략의 순위
단계 1. 시나리오 정리(N개의 시나리오를 N/3개의 시나리오로 축소) 
단계 2. 시나리오 정제 
단계 3. 시나리오 우선순위(N/6개의 시나리오로 축소) 
단계 4. 각 시나리오의 응답 수준별로 해당하는 효용값 부여 
단계 5. 아키텍처 전략을 도출하고 각 아키텍처 전략에 대하여 관련 시나리오별 품질속성 응답 수준을 결정 
단계 6. 보정으로 기대되는 품질속성 응답수준의 효용값 결정 
단계 7. 아키텍처 전략이 주는 총 이득 계산 
단계 8. 투자수익률을 기초로 아키텍처 전략 선정 
단계 9. 직관을 이용하여 결과 확인
① SAAM(Software Architecture Analysis Method)
② ATAM(Architecture Tradeoff Analysis Method)
③ ARID(Active Review for Intermediate Designs)
④ CBAM(Cost Benefit Analysis Method)

 

출제의도

아키텍처 분석/평가 방법에 대한 이해를 확인하려는 것입니다.

 

각 문항에 대한 설명
① SAAM (Software Architecture Analysis Method):
SAAM은 소프트웨어 아키텍처의 특성을 분석하는 방법입니다. 이 방법은 소프트웨어 아키텍처를 이해하는 데 사용되는 공통 언어의 부재와 조직의 생명주기 문제에 대한 아키텍처의 이해를 개선하는 데 초점을 맞추고 있습니다

② ATAM (Architecture Tradeoff Analysis Method):
ATAM은 소프트웨어 개발 생명주기 초기에 사용되는 위험 완화 프로세스입니다. 이 방법은 트레이드오프와 민감점을 발견함으로써 적합한 소프트웨어 아키텍처를 선택하는 데 도움을 줍니다.

③ ARID (Active Review for Intermediate Designs):
ARID는 중간 설계에 대한 활성 리뷰입니다. 이 방법은 이해당사자 중심의 시나리오 기반 아키텍처 평가 방법과 설계 명세의 활성 설계 검토를 결합하여 설계 전략에 대한 초기 통찰력을 제공합니다.

④CBAM (Cost Benefit Analysis Method): CBAM은 아키텍처 전략의 이익과 비용, 일정, 위험을 함께 고려하여 최적의 아키텍처 전략을 결정하는 방법입니다. 문제에서 주어진 단계들은 아키텍처 전략의 순위를 결정하기 위해 시나리오를 축소하고, 효용값을 부여하며, 아키텍처 전략을 도출하고, 투자 수익률을 기반으로 아키텍처 전략을 선정하는 등의 과정을 포함하고 있습니다. 

따라서 정답은 ④ CBAM(Cost Benefit Analysis Method)입니다.

 


 

 

문제 37
37. 다음 그림은 각 번호를 부여한 10개의 레거시 시스템을 대상으로 시스템 품질과 비즈니스 가치를 기준으로 평가한 결과이다. 재공학 대상과 유지 보수 대상을 가장 적절하게 묶은 것은?


① 재공학 – 9, 10 유지보수 – 4, 5
② 재공학 – 4, 5 유지보수 – 6, 7, 8
③ 재공학 – 6, 7, 8 유지보수 – 1, 2, 3
④ 재공학 – 9, 10 유지보수 – 6, 7, 8

 

출제의도

 

재공학과 유지보수를 통해 비즈니스 가치와 시스템 품질이 변화할 때, 이를 고려하여 스토리 점수를 추정하는 방법은 다음과 같습니다

a. 비즈니스 가치가 높고 시스템 품질이 높은 경우:

이 경우, 시스템은 이미 잘 작동하고 있으며, 비즈니스에 중요한 가치를 제공하고 있습니다. 따라서 이러한 시스템에 대한 변경 요구사항이나 개선 사항은 상대적으로 낮은 스토리 점수를 받을 수 있습니다. 왜냐하면 시스템이 이미 잘 작동하고 있기 때문에, 추가 개선의 필요성이 그리 크지 않을 수 있기 때문입니다.

b. 비즈니스 가치가 높고 시스템 품질이 낮은 경우:

이 경우, 시스템은 비즈니스에 중요한 가치를 제공하지만, 품질이 낮아 개선의 필요성이 있습니다. 이러한 시스템에 대한 변경 요구사항이나 개선 사항은 높은 스토리 점수를 받을 수 있습니다. 왜냐하면 시스템 품질을 향상시키는 것이 비즈니스 가치를 더욱 높일 수 있기 때문입니다.

c. 비즈니스 가치가 낮고 시스템 품질이 높은 경우:

이 경우, 시스템은 잘 작동하지만 비즈니스에 큰 가치를 제공하지 않습니다. 따라서 이러한 시스템에 대한 변경 요구사항이나 개선 사항은 낮은 스토리 점수를 받을 수 있습니다. 왜냐하면 시스템이 이미 잘 작동하고 있고, 비즈니스 가치 향상의 여지가 그리 크지 않기 때문입니다.

d. 비즈니스 가치가 낮고 시스템 품질이 낮은 경우:

이 경우, 시스템은 비즈니스에 큰 가치를 제공하지 않으며, 품질 또한 낮습니다. 이러한 시스템에 대한 변경 요구사항이나 개선 사항은 중간 정도의 스토리 점수를 받을 수 있습니다. 왜냐하면 시스템 품질을 향상시키는 것이 비즈니스 가치를 일정 수준 향상시킬 수 있기 때문입니다.

이러한 방식으로 스토리 점수 추정은 비즈니스 가치와 시스템 품질을 고려하여 진행됩니다. 이는 제품 소유자가 백로그의 우선순위를 지정하는 데 도움이 됩니다.

 

각 문항에 대한 설명
정답은 ④ 재공학 – 9, 10 유지보수 – 6, 7, 8 입니다.

 


 

 

문제 38
38. 다음 절차로 진행하는 스토리 점수 추정 방법으로 가장 적절한 것은?

착수 준비 - 진행자를 선정한다.
- 추정에 전문가를 참여시킨다.
- 추정을 준비한다.
추정 대상 토론 - 진행자는 추정 방법을 설명하고 서기를 선정한다.
- 제품 책임자는 개발 전문가에게 요구 기능을 설명한다.
- 개발 전문가는 질문 및 토론한다.
- 서기는 업무 범위와 제약사항을 기록한다.
추정 수행 - 개발 전문가는 각자 추정 값을 제시한다.
- 가장 작은 추정 값과 가장 큰 추정 값을 낸 사람이 이유를 설명하고 토론한다. 이때 가정과 제약사항을 기록한다.
- 각자 새로운 추정 값을 제시하고 차이가 줄어들 때까지 계속한다.
① 스토리 워크숍
② 플래닝 포커
③ 스크럼 회의
④ 스프린트 계획과 검토

 

출제의도

스토리 점수 추정 방법에 대한 이해를 확인하는 것입니다. 

 

각 문항에 대한 설명
① 스토리 워크숍: 이 방법은 팀이 모여서 사용자 스토리를 작성하고, 이를 바탕으로 프로젝트의 방향성을 설정하는 과정입니다. 이 방법은 스토리 점수 추정에 직접적으로 사용되지는 않습니다.

② 플래닝 포커: 이 방법은 애자일 개발에서 가장 많이 사용되는 추정 방법으로, 착수 준비, 추정 대상 토론, 추정 수행 등의 절차를 따릅니다.

③ 스크럼 회의: 이 방법은 스크럼 팀이 프로젝트의 진행 상황을 점검하고 문제를 해결하기 위해 정기적으로 만나는 회의입니다. 이 방법은 스토리 점수 추정에 직접적으로 사용되지는 않습니다.

④ 스프린트 계획과 검토: 이 방법은 스크럼 팀이 다음 스프린트 동안 수행할 작업을 계획하고, 스프린트가 끝날 때 그 결과를 검토하는 과정입니다. 이 방법은 스토리 점수 추정에 직접적으로 사용되지는 않습니다.

따라서, 정답은 ② 플래닝 포커입니다.  

 

 


 

 

문제 39
39. 다음과 같이 스프링 모듈 간의 상호 의존 관계를 나타날 때, (가)에 대한 설명으로 가장 적절한 것은?


① spring-core와 spring-beans 모듈은 스프링 DI 기능과 IoC 컨테이너 구현을 제공하고, spring -expression 모듈은 스프링 애플리케이션에서 SpEL 지원을 제공한다.
② spring-aop 모듈은 AOP 기능을, spring-instrument 모듈은 클래스 계측 기능 지원을 제공한다.
③ spring-orm 모듈은 하이버네이트나 JPA와 같은 ORM 프레임워크 통합을 제공하고 spring-jms 모듈은 JMS 공급자와의 상호 작용을 쉽게 만들어준다.
④ spring-webmvc 모듈은 서블릿 기반의 웹 애플리케이션과 RESTful 웹 서비스 개발을 쉽게 해주며, spring-webflux 모듈은 반응형 웹 애플리케 이션과 RESTful 웹 서비스 개발을 쉽게 해 준다.

 

출제의도

 스프링 프레임워크의 모듈 간 상호 의존 관계에 대한 이해를 확인하는 것입니다.

 

각 문항에 대한 설명
① spring-core와 spring-beans 모듈은 스프링 DI 기능과 IoC 컨테이너 구현을 제공하고, spring-expression 모듈은 스프링 애플리케이션에서 SpEL 지원을 제공합니다.

② spring-aop 모듈은 AOP 기능을 제공하고, spring-instrument 모듈은 클래스 계측 기능 지원을 제공합니다.

③ spring-orm 모듈은 하이버네이트나 JPA와 같은 ORM 프레임워크 통합을 제공하고, spring-jms 모듈은 JMS 공급자와의 상호 작용을 쉽게 만들어줍니다.

④ spring-webmvc 모듈은 서블릿 기반의 웹 애플리케이션과 RESTful 웹 서비스 개발을 쉽게 해 주며, spring-webflux 모듈은 반응형 웹 애플리케이션과 RESTful 웹 서비스 개발을 쉽게 해 줍니다


spring-core와 spring-beans 모듈은 스프링 DI 기능과 IoC 컨테이너 구현을 제공하고, spring-expression 모듈은 스프링 애플리케이션에서 SpEL 지원을 제공합니다. 이 세 가지 모듈은 스프링 프레임워크의 핵심 기능을 제공하며, 다른 모듈들은 이들에 의존하여 작동합니다. 스프링 프레임워크는 제공하는 기능에 따라 별도의 모듈로 분리되어 있습니다. 각 모듈은 별도의 jar 파일로 제공되며, 한 모듈을 사용하기 위해 다른 모듈을 필요로 하기도 합니다.

따라서, (가)에 대한 설명으로 가장 적절한 것은 ①입니다. 

 


 

 

문제 40
40. 다음 (가), (나)에 해당하는 Chidamber와 Kemerer의 객체 지향 척도로 가장 적절한 것은?

(가) 클래스에 있는 메서드들의 쌍을 고려하여 계산된다.
이 값은 공유된 속성이 없는 메서드 쌍의 수와 공유된 속성이 있는 메서드 쌍의 수의 차이이다.

(나) 클래스의 객체가 받은 메시지에 응답하여 실행될 가능성이 있는 메서드들의 수를 나타낸다. 이 값이 클수록 클래스가 복잡해지므로 클래스가 오류를 포함할 가능성은 더 높을 수 있다.
① (가) LCOM(Lack of cohesion in methods) (나) WMC(Weighted methods per class)
② (가) WMC(Weighted methods per class) (나) RFC(Response for a class)
③ (가) LCOM(Lack of cohesion in methods) (나) RFC(Response for a class)
④ (가) RFC(Response for a class) (나) LCOM(Lack of cohesion in methods)

 

출제의도

Chidamber와 Kemerer의 객체 지향 척도에 대한 이해를 확인하는 것입니다.

 

각 문항에 대한 설명
(가)는 클래스에 있는 메서드들의 쌍을 고려하여 계산되며, 이 값은 공유된 속성이 없는 메서드 쌍의 수와 공유된 속성이 있는 메서드 쌍의 수의 차이입니다. 이는 LCOM(Lack of cohesion in methods) 척도에 해당합니다.

(나)는 클래스의 객체가 받은 메시지에 응답하여 실행될 가능성이 있는 메서드들의 수를 나타냅니다. 이 값이 클수록 클래스가 복잡해지므로 클래스가 오류를 포함할 가능성은 더 높을 수 있습니다. 이는 RFC(Response for a class) 척도에 해당합니다.

따라서, 정답은 ③ (가) LCOM(Lack of cohesion in methods) (나) RFC(Response for a class)입니다.

 


다음 시간에는 소프트웨어 공학 기출문제 풀이 41-45번까지 풀이를 진행해 보겠습니다.
오늘도 읽어 주셔서 감사합니다.

 

반응형
LIST