2과목 : 소프트웨어 개발 |
21. 통합 테스트(Integration Test)와 관련한 설명으로 틀린 것은?
① 시스템을 구성하는 모듈의 인터페이스와 결합을 테스트하는 것이다.
② 하향식 통합 테스트의 경우 넓이 우선(Breadth First) 방식으로 테스트를 할 모듈을 선택할 수 있다.
③ 상향식 통합 테스트의 경우 시스템 구조도의 최상위에 있는 모듈을 먼저 구현하고 테스트한다.
④ 모듈 간의 인터페이스와 시스템의 동작이 정상적으로 잘되고 있는지를 빨리 파악하고자 할 때 상향식 보다는 하향식 통합 테스트를 사용하는 것이 좋다.
22. 다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
① 2
② 3
③ 4
④ 5
23. 소프트웨어 공학에서 워크스루(Walkthrough)에 대한 설명으로 틀린 것은?
① 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
② 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
③ 인스펙션(Inspection)과 동일한 의미를 가진다.
④ 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
24. 소프트웨어의 개발과정에서 소프트웨어의 변경사항을 관리하기 위해 개발된 일련의 활동을 뜻하는 것은?
① 복호화
② 형상관리
③ 저작권
④ 크랙
25. 테스트 케이스와 관련한 설명으로 틀린 것은?
① 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
② 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스트 케이스를 찾는 것이 중요하다.
③ 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으로 볼 수 있다.
④ 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라고 한다.
26. 객체지향 개념을 활용한 소프트웨어 구현과 관련한 설명 중 틀린 것은?
① 객체(Object)란 필요한 자료 구조와 수행되는 함수들을 가진 하나의 독립된 존재이다.
② JAVA에서 정보은닉(Information Hiding)을 표기할 때 private의 의미는 ‘공개’이다.
③ 상속(Inheritance)은 개별 클래스를 상속 관계로 묶음으로써 클래스 간의 체계화된 전체 구조를 파악하기 쉽다는 장점이 있다.
④ 같은 클래스에 속하는 개개의 객체이자 하나의 클래스에서 생성된 객체를 인스턴스(Instance)라고 한다.
27. DRM(Digital Rights Management)과 관련한 설명으로 틀린 것은?
① 디지털 콘텐츠와 디바이스의 사용을 제한하기 위해 하드웨어 제조업자, 저작권자, 출판업자 등이 사용할 수 있는 접근 제어 기술을 의미한다.
② 디지털 미디어의 생명 주기 동안 발생하는 사용 권한 관리, 과금, 유통 단계를 관리하는 기술로도 볼 수 있다.
③ 클리어링 하우스(Clearing House)는 사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해주는 시스템을 말한다.
④ 원본을 안전하게 유통하기 위한 전자적 보안은 고려하지 않기 때문에 불법 유통과 복제의 방지는 불가능하다.
28. 위험 모니터링의 의미로 옳은 것은?
① 위험을 이해하는 것
② 첫 번째 조치로 위험을 피할 수 있도록 하는 것
③ 위험 발생 후 즉시 조치하는 것
④ 위험 요소 징후들에 대하여 계속적으로 인지하는 것
29. 동시에 소스를 수정하는 것을 방지하며 다른 방향으로 진행된 개발 결과를 합치거나 변경 내용을 추적할 수 있는 소프트웨어 버전 관리 도구는?
① RCS(Revision Control System)
② RTS(Reliable Transfer Service)
③ RPC(Remote Procedure Call)
④ RVS(Relative Version System)
30. 화이트박스 테스트와 관련한 설명으로 틀린 것은?
① 화이트박스 테스트의 이해를 위해 논리흐름도(Logic-Flow Diagram)를 이용할 수 있다.
② 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당한다.
③ 프로그램의 구조를 고려하지 않기 때문에 테스트 케이스는 프로그램 또는 모듈의 요구나 명세를 기초로 결정한다.
④ 테스트 데이터를 선택하기 위하여 검증기준(Test Coverage)을 정한다.
31. 알고리즘과 관련한 설명으로 틀린 것은?
① 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
② 검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾는 알고리즘이다.
③ 정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
④ 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
32. 버블 정렬을 이용하여 다음 자료를 오름차순으로 정렬할 경우 PASS 1의 결과는?
9, 6, 7, 3, 5 |
① 6, 9, 7, 3, 5
② 3, 9, 6, 7, 5
③ 3, 6, 7, 9, 5
④ 6, 7, 3, 5, 9
33. 다음은 인스펙션(Inspection) 과정을 표현한 것이다. (가)~(마)에 들어갈 말을 보기에서 찾아 바르게 연결한 것은?
㉠ 준비 ㉡ 사전교육 ㉢ 인스펙션 회의 ㉣ 수정 ㉤ 후속조치 |
① (가) – ㉡, (나) – ㉢
② (나) – ㉠, (다) – ㉢
③ (다) – ㉢, (라) – ㉤
④ (라) – ㉣, (마) – ㉢
34. 소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부구조를 변경하는 것은?
① Refactoring
② Architecting
③ Specification
④ Renewal
35. 단위 테스트(Unit Test)와 관련한 설명으로 틀린 것은?
① 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
② 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
③ 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라고 한다.
④ 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.
36. IDE(Integrated Development Environment) 도구의 각 기능에 대한 설명으로 틀린 것은?
① Coding – 프로그래밍 언어를 가지고 컴퓨터 프로그램을 작성할 수 있는 환경을 제공
② Compile – 저급언어의 프로그램을 고급언어 프로그램으로 변환하는 기능
③ Debugging – 프로그램에서 발견되는 버그를 찾아 수정할 수 있는 기능
④ Deployment – 소프트웨어를 최종 사용자에게 전달하기 위한 기능
37. 아래 Tree 구조에 대하여 후위 순회(Postorder) 한 결과는?
① a → b → d → c → e → g → h → f
② d → b → g → h → e → f → c → a
③ d → b → a → g → e → h → c → f
④ a → b → d → g → e → h → c → f
38. 인터페이스 구현 시 사용하는 기술로 속성-값 쌍(Attribute-Value Pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷은?
① JSON
② HTML
③ AVPN
④ DOF
39. 순서가 있는 리스트에서 데이터의 삽입(Push), 삭제(Pop)가 한 쪽 끝에서 일어나며 LIFO(Last-In-First-Out)의 특징을 가지는 자료구조는?
① Tree
② Graph
③ Stack
④ Queue
40. 다음 중 단위 테스트 도구로 사용될 수 없는 것은?
① CppUnit
② JUnit
③ HttpUnit
④ IgpUnit