본문 바로가기

주메뉴 바로가기

지안에듀 로고 빅모의고사 로고

문제은행 공통과목

이동할 직렬을 선택해주세요.

닫기
로그인 지안에듀 바로가기
문제은행

지안에듀의 문제은행을 실전처럼 활용해보세요.

2023 경찰간부후보생(73기) 소프트웨어공학 시험 목록 바로가기

  1. 문제은행

40문제가 검색되었습니다.

  • 31

    아래 제시된 제어 흐름 그래프에서 McCabe의 순환복잡도는?

     

    해설

    복잡도 공식 = 제어 흐름 그래프에서의 영역의 수(단, 외부영역도 포함)

    = P + 1(P:분기 노드의 수)

    = E ­ N + 2(E:화살표의 수, N:노드의 수)

  • 32

    리팩토링이 필요하다고 판단되는 의심나는 상황 또는 증표를 부르는 용어는?

     

    해설

    코드 스멜이란 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는 프로그램 소스 코드의 증상을 가리킨다. 그러므로 리팩토링(Refactoring)을 통해 코드 스멜을 없애고 코드의 품질을 향상시키는 작업이 필요하다.

  • 33

    다음의 내용을 자료 사전으로 적절하게 표현한 것은?

    학생정보는 ID, 성명, 성별, 생년월일, 나이로 구성되며, 생년월일과 나이는 둘 중 하나만 선택 가능하고, 성별은 생략할 수 있다.

     

    해설
  • 34

    데이터 추상화에 대한 설명으로 적절하지 않은 것은?

     

    해설

    자료 추상화는 자료와 자료에 적용될 수 있는 기능을 함께 정의함으로써 자료 객체를 구성하는 방법으로, 함수 내부에 대한 상세 정보 없이 무엇을 수행하는지에 집중한다.

  • 35

    화이트 박스 테스트 기법으로 적절하지 않은 것은?

     

    해설

    도메인 테스트(Domain Test) 기법은 블랙 박스 테스트 기법이다.

  • 36

    프로그램에 결함이 있어도 오작동이 늘 일어나는 것은 아니다. 결함이 오작동으로 이어지기 위한 조건이 아닌 것은?

     

    해설

    분할 조건(Partitioning condition)은 프로그램 구조가 너무 복잡할 경우 문제의 복잡도를 줄이기 위한 방안으로 결함이 오작동으로 이어지기 위한 조건과는 무관하다.

  • 37

    객체지향 방법에 따른 개발 순서가 적절한 것은?

    가. 클래스 단위로 테스트한다.

    나. 릴리즈하여 운영중인 시스템으로 통합한다.

    다. 코딩 표준을 작성한다.

    라. 클래스 구현이 끝나면 인스펙션(Inspection)을 수행한다.

    마. 요구사항과 상세 설계를 반영하여 메서드를 코딩한다.

     

    해설

    개발 순서의 기본은 폭포수 모형이다.

    이런 문제는 보기를 보고 앞뒤 관계를 파악하여 찾으면 된다.

  • 38

    아래 그림은 소프트웨어 구성 요소인 모듈의 계층적 구성을 나타내는 프로그램 구조도이다. 팬인(Fan–in)과 팬아웃(Fan–out)의 차이가 1인 모듈의 전체 개수는? (단, 화살표는 모듈 간 호출을 나타낸다.)

     

    해설

    제어도(Fan­out):한 모듈이 호출하는 하위 모듈의 수

    공유도(Fan­in):한 모듈을 호출하는 상위 모듈의 수

    팬인(Fan-in)과 팬아웃(Fan-out)의 차이가 1인 모듈은 C, D, G, H 이다.

  • 39

    다음에서 설명하는 디자인 패턴으로 적절한 것은?

    가. 하위 클래스로 객체 생성에 대한 책임을 위임하고 하위 클래스의 정보를 은닉하고자 할 때 사용한다.

    나. 객체를 만들기 위한 인터페이스를 정의하되, 하위 클래스가 인스턴스를 생성하는 클래스를 결정하도록 한다.

    다. 생성해야 할 객체를 명세하는 하위 클래스가 필요한 경우에 사용한다.

     

    해설

    팩토리 패턴은 기본적으로 위임(delegation) 형태를 갖는데, 객체 생성을 위한 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지에 대한 결정은 서브클래스가 한다. 그러므로 클래스 인스턴스에 다양한 형태의 객체 반환을 보장한다.

  • 40

    다음에서 설명하는 소프트웨어 테스트 방법으로 적절한 것은?

    가. 변경된 소프트웨어 컴포넌트에 중점을 둔 테스트로, 변경으로 인하여 영향을 받게 될 소프트웨어의 기능에 초점을 맞춰 변경이 추가 오류를 가져오지 않는다는 것을 보장하는 활동이다.

    나. 특수하고 중요한 기능을 가지는 최소 모듈 집합을 먼저 구현하고 보조적인 기능의 모듈은 나중에 구현하여 테스트한 후 계속 추가한다.

     

    해설
    • 회귀(Regression) Test는 변경이 돌출 행위나 추가 오류를 가져오지 않는다는 것을 보장하는 활동이다.
    • 연쇄식(Threads)통합Test는 하향식 테스트와 상향식 테스트의 통합으로, 제일 먼저 구현되고 통합될 모듈은 중심을 이루는 기능을 처리하는 모듈의 최소 집합이다. 이렇게 점차적으로 구축된 스레드에 다른 모듈을 추가시켜 나간다.