2024년 경찰간부후보생 소프트웨어공학 기출문제
2024년 경찰간부후보생 소프트웨어공학 40문항 중 21문항의 발문과 선지입니다. 시험 시간은 40분입니다. 나머지 19문항은 그림이나 지문이 있어 앱에서 볼 수 있습니다. 정답·해설은 앱에서 볼 수 있습니다.
- 1번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 2번클라이언트-서버 아키텍처의 구조와 개념에 대한 설명으로 적절하지 않은 것은?
- ①MOM(Message Oriented Middleware)은 일종의 소프트웨어 버스를 생성하여 레거시 시스템과 협력사의 외부 시스템을 통합할 수 있으며, 기본적으로 강력한 결합의 동기 기술로 메시지의 송신측과 수신측이 강하게 결합되어 있다.
- ②CORBA는 이기종 분산 환경에서 서로 다른 시스템 간에 상호작용을 무리없이 제공하기 위하여 ORB(Object Request Broker)에 광범위하게 사용되는 표준으로 OMG(Object Management Group)에서 개발되었다.
- ③애플리케이션 서버는 N-tier 아키텍처의 중간층에 위치하며 분산 통신, 보안, 트랜잭션 등을 제공하는 컴포넌트 기반의 서버 기술로, 클라이언트 레이어, 웹 레이어, 비즈니스 컴포넌트 레이어, 엔터프라이즈 정보 시스템 레이어로 구성된다.
- ④피어 투 피어(Peer to Peer) 아키텍처는 원칙적으로 클라이언트와 서버의 구분이 존재하지 않는 구조로, 네트워크 상의 개별 노드에서 계산이 실행되며 이를 기반으로 한 대표적인 사례로 블록체인 기술이 있다.
- 3~5번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 6번소프트웨어 구축 프로젝트가 8개월간 1억의 예산으로 착수되었다. 오늘은 4개월째 되는 마지막 날로 계획상으로 전체 공정의 60%를 완료했어야 했다. 그런데, 실제 작업 완료율은 52%이고, 지출된 비용은 5천만원이었다. 프로젝트에 대한 EVA(Earned Value Analysis) 결과 보고서의 내용으로 가장 적절하지 않은 것은?
- ①SV(Schedule Variance)는 –8,000,000원이다.
- ②CV(Cost Variance)는 2,000,000원이다.
- ③SPI(Schedule Performance Index)는 0.86이다.
- ④CPI(Cost Performance Index)는 1.2이다.
- 7번다음 중 GoF의 디자인 패턴에 속하지 않은 것은?
- ①추상 팩토리(Abstract Factory)
- ②단순 팩토리(Simple Factory)
- ③팩토리 메서드(Factory Method)
- ④템플릿 메서드(Template Method)
- 8번요구분석(Requirement analysis) 단계를 올바른 순서로 나열한 것은?
- ①요구 추출 –도메인 분석 –명세화 - 검토
- ②도메인 분석 –요구 추출 –분석과 명세화- 검토
- ③요구 추출 –분석과 명세화 - 도메인 분석 –검토
- ④도메인 분석 –명세화 - 요구 추출 –검토
- 9번소프트웨어공학 지식 체계 (SWEBOK, SoftWare Engineering Body Of Knowledge)에서 정의된 S/W 관리 측면에 속하지 않은 것은?
- ①SW 형상관리
- ②SW 프로세스
- ③SW 유지보수
- ④SW 도구, 방법론
- 10번다음 중 형상변경 제어 단계에 수행되는 활동으로 적절하지 않은 것은?
- ①형상 항목 변경 계획 수립
- ②형상 항목 변경의 이유 파악
- ③형상 항목에 대한 검토(verification)와 확인(validation)
- ④형상 항목 변경 영향도 분석
- 11번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 12번시퀀스 다이어그램의 메시지 설계 방법에 대한 설명으로 적절하지 않은 것은?
- ①객체생명선은 수직 방향의 점선으로 표시하며, 위에서 아래로의 시간 흐름을 의미한다.
- ②객체명은 “객체명:클래스명” 형태로 정의하며, 클래스명 만으로 정의할 수도 있다.
- ③재귀 메시지를 제외한 일반적인 메시지 호출은 수평 방향의 화살표로 표시하며, 화살표 위에는 송신 객체가 가지고 있는 함수명을 정의한다.
- ④수신 객체에게 요청한 함수가 완료될 때까지 기다리는 경우에는 동기 메시지로 호출하고, 수신 객체로부터 반환을 기다리지 않는 경우에는 비동기 메시지 호출로 설계한다.
- 13번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 14번sort() 알고리즘을 상속받은 여러 순서정렬 알고리즘들이 다형성을 이용하여 확장될 수 있도록 설계함으로써 sort() 알고리즘을 수정하는 상황에서도 client 프로그램은 수정에 영향을 받지 않았다. 이것이 만족하고 있는 Martin의 객체지향 설계 원칙으로 가장 적절한 것은?
- ①단일 책임의 원칙(Single Responsibility Principle)
- ②인터페이스 분리의 원칙(Interface Segregation Principle)
- ③개방 폐쇄의 원칙(Open Closed Principle)
- ④리스코프 대체의 원칙(Liskov Substitution Principle)
- 15번어떤 모듈의 설계 품질을 측정한 결과 팬아웃(Fan–out) 지표의 값이 과도하게 커서 재사용이 어렵고, 다른 모듈의 수정에 영향을 크게 받고, 다른 모듈과의 상호작용으로 유지보수 복잡도가 높아질 수 있다는 진단을 받았다. 다음 중 진단된 문제를 해소하기 위하여 고려할 수 있는 가장 적절한 설계 패턴은?
- ①Facade 패턴
- ②Adapter 패턴
- ③Bridge 패턴
- ④Composite 패턴
- 16번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 17번객체지향 설계 메트릭(Metric)이 아닌 것은?
- ①클래스당 가중 메서드(Weighted method per class)
- ②싸이클로매틱 복잡도(Cyclomatic complexity)
- ③메서드 응집 결핍(Lack of cohesion in methods)
- ④상속 트리의 깊이(Depth of inheritance tree)
- 18~19번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 20번다음 중 리팩토링을 하는 이유로 적절하지 않은 것은?
- ①소프트웨어 설계를 개선하려고
- ②소프트웨어 이해를 쉽게 하려고
- ③추가 기능 구현 속도를 빠르게 하려고
- ④소프트웨어 인증을 받으려고
- 21번유지보수 및 운영 중인 소프트웨어의 MTBF(Mean Time Between Failures)가 3,000시간이고, MTTR(Mean Time To Repair)이 120시간으로 측정되었다. 해당 시스템의 가용성은? (단, 소수점 이하에서 반올림한다.)
- ①92%
- ②94%
- ③96%
- ④98%
- 22번소프트웨어 품질 성숙도 수준 평가 체계인 CMMi와 SPICE(ISO/IEC 15504)에 대한 비교설명으로 적절하지 않은 것은?
- ①일반적인 품질 성숙도 수준은 CMMi는 5단계, SPICE는 6단계로 구분한다.
- ②성숙도 평가 시 다양한 영역으로 나누어 측정한 후 SPICE는 하나의 레벨로 조직의 성숙도 등급을 도출하지만, CMMi는 프로세스 영역별로 조직의 역량을 구분하여 성숙도 등급을 도출한다.
- ③CMMi는 현재의 소프트웨어 개발 프로세스 개선을 통해 조직의 품질 성숙도를 향상하고자 하는 목적이 강한 반면, SPICE는 소프트웨어 조직이 제품을 생산하는 역량을 스스로 평가하거나 계약 시 사업자 평가를 위한 목적으로 많이 활용된다.
- ④조직 차원에서 프로세스가 최적화되어 프로젝트 목표를 만족하며, 지속적으로 프로세스 개선이 시도되고 성과가 관리된다면 CMMi와 SPICE 모두 품질 성숙도는 5등급으로 평가될 수 있다.
- 23~24번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 25번소프트웨어 유지보수 활동에 대한 설명으로 적절하지 않은 것은?
- ①소프트웨어 재공학(Reengineering)은 추상화된 정보를 얻기 위한 정공학(Forward engineering)과 새로운 요구사항에 맞춰 구현하는 역공학(Reverse engineering) 작업을 포함한다.
- ②소프트웨어 재공학은 소프트웨어 시스템의 개선 차원에서 활용되며, 소프트웨어의 유지보수와 소프트웨어 개발의 선택 시점에서 적용된다.
- ③역공학은 유지보수 향상에 도움을 주는 설계에 대한 충분한 이해를 목적으로 하며, 대상 시스템의 변경이 아닌 분석에 중점을 둔다.
- ④소프트웨어의 리스트럭처링(Restructuring)은 비구조적인 코드를 구조적인 코드로 변환시키는 것으로 변경 부분, 변경 빈도, 자원 소프트웨어에 대한 의존도를 고려하여 수행한다.
- 26번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 27번두 모듈이 정보를 교환할 때 레코드나 배열과 같은 자료구조를 구성하는 데이터 중 하나의 데이터만을 필요로 하지만 레코드나 배열 전체가 넘어오는 경우에 해당하는 결합(Coupling)으로 적절한 것은?
- ①데이터 결합(Data coupling)
- ②공통 결합(Common coupling)
- ③스탬프 결합(Stamp coupling)
- ④내용 결합(Content coupling)
- 28번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 29번호텔 예약 시스템을 개발할 때, 기능 요구사항으로 적절하지 않은 것은?
- ①고객이 객실 타입, 숙박 인원 등 예약 관련 사항을 입력하고 수정할 수 있어야 한다.
- ②호텔 직원이 고객의 예약정보를 등록하고, 조회하고, 수정할 수 있어야 한다.
- ③시스템의 날짜 표기는 표준에 따라 YYYY-MM-DD 형식으로 제공해야 한다.
- ④시스템 사용자 역할별로 정보의 범위를 명시해야 한다.
- 30번DevOps 프로세스 단계별 수행 활동에 대한 설명 중 적절한 것은?
- ①운영 및 모니터링 단계에서는 사용자의 경험과 반응을 추적하고, 개발척도의 달성 여부를 확인한다.
- ②배포 단계에서는 애플리케이션에 대한 비즈니스 가치와 요구사항을 정의하고, 배포 척도의 조정과 배포 계획의 조정을 수행한다.
- ③테스트 단계에서는 정의된 요구사항을 기반으로 소스 코드를 개발하며 개발자 입장에서의 단위테스트를 수행한다.
- ④빌드 단계에서는 배포된 애플리케이션을 설치하는 과정에서 발생한 문제를 복구하고, 필요 시 스토리지, 데이터베이스, 네트워크 등의 인프라를 구축한다.
- 31번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 32번리팩토링이 필요하다고 판단되는 의심나는 상황 또는 증표를 부르는 용어는?
- ①두 개의 모자
- ②코드의 나쁜 냄새
- ③F.I.R.S.T
- ④TDD(Test Driven Development)
- 33번 그림이나 지문이 있는 문항입니다. 앱에서 보기
- 34번데이터 추상화에 대한 설명으로 적절하지 않은 것은?
- ①데이터와 함께 데이터에 대한 조작도 함께 정의한다.
- ②시스템의 복잡성을 줄이는 데 도움이 된다.
- ③서비스를 제공하는 객체의 집합으로 소프트웨어 시스템을 바라본다.
- ④함수 내부에 대한 상세 정보 없이 호출 방법과 무엇을 수행하는지에 집중한다.
- 35번화이트 박스 테스트 기법으로 적절하지 않은 것은?
- ①분기 커버리지(Branch coverage) 기법
- ②기본 경로 테스트(Basis Path Test) 기법
- ③MC/DC(Modified Condition/Decision Coverage) 기법
- ④도메인 테스트(Domain Test) 기법
- 36번프로그램에 결함이 있어도 오작동이 늘 일어나는 것은 아니다. 결함이 오작동으로 이어지기 위한 조건이 아닌 것은?
- ①도달성 조건(Reachability condition)
- ②분할 조건(Partitioning condition)
- ③감염 조건(Infection condition)
- ④오차 전파 조건(Error propagation condition)
- 37~40번 그림이나 지문이 있는 문항입니다. 앱에서 보기