공시 한 판

2024년 경찰간부후보생 소프트웨어공학 기출문제

2024년 경찰간부후보생 소프트웨어공학 40문항 중 21문항의 발문과 선지입니다. 시험 시간은 40분입니다. 나머지 19문항은 그림이나 지문이 있어 앱에서 볼 수 있습니다. 정답·해설은 앱에서 볼 수 있습니다.

출처: 경찰청 원서접수 사이트 시험 관련 공지사항

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