소프트웨어공학-A정답(2021-04-22 / 265.8KB / 224회)
소프트웨어공학 A 책형 1 쪽 소프트웨어공학 문 1. 블랙박스 테스트로 발견하기 어려운 오류는? ① 인터페이스 오류 ② 행위나 성능 오류 ③ 잘못되거나 누락된 기능 ④ 모듈 내의 논리 구조상의 오류 문 2. 서비스 지향 아키텍처(Service Oriented Architecture: SOA)에 대한 설명으로 옳지 않은 것은? ① 네트워크상에서 사용할 수 있는 서비스를 이용하여 소프트웨어 애플리케이션을 구성하는 아키텍처 스타일이다. ② Find-Bind-Execute 패러다임을 사용한다. ③ SOA는 새로운 개념으로 노후한 정보시스템을 버리고 새로운 프레임워크에 맞춰 기업정보시스템을 혁신하기 위한 방법이다. ④ WSDL, SOAP, UDDI는 SOA를 구현하는 데 사용되는 핵심 기술이다. 문 3. 다음 설명에 해당하는 응집력은? 모듈 안에 있는 하나의 소작업에 대한 결과가 다른 작업의 입력이 되는 경우로, 예를 들어 ‘다음 트랜잭션을 읽고 마스터 파일을 변경함’과 같은 모듈은 이것과 관계가 있다. ① 순차적 응집력 ② 논리적 응집력 ③ 교환적 응집력 ④ 시간적 응집력 문 4. 다양한 부하 조건에서 웹 애플리케이션과 서버 측 환경이 어떻게 반응하는지 판단하는 부하 테스트(load test)를 수행할 때, 단위 시간당 데이터 처리량을 계산하는 변수로 적절하지 않은 것은? ① 동시 사용자 수 ② 트랜잭션당 서버가 처리하는 데이터 부하 ③ 웹 애플리케이션 기능 복잡도 ④ 단위시간당 온라인 트랜잭션 수 문 5. 어떤 소프트웨어의 총 개발 기간은 12개월이며, 5명의 개발 인력이 처음에 투입되었다. 5개월 시작 시점에 추가로 3명이 투입되어 개발이 완료되었다면, 이 소프트웨어의 개발에 투입된 총 인-월 (Man-Month)은? ① 75 ② 81 ③ 84 ④ 96 문 6. 익스트림 프로그래밍(eXtreme Programming: XP)에 대한 설명으로 옳지 않은 것은? ① 요구사항은 스토리 카드에 기록되고, 릴리스(release)마다 스토리의 상대적 우선순위가 결정된다. ② 기능이 구현되기 이전에 그 기능을 시험하기 위해 자동화된 단위시험 프레임워크를 이용한다. ③ 현재의 요구사항과 미래의 요구사항을 충족할 수 있도록 충분한 설계를 한다. ④ 모든 개발자들이 전체 코드에 대한 공동 책임을 가지며, 개발자 누구든지 어떤 코드라도 변경할 수 있다. 문 7. 다음 그림은 시스템 진화(evolution) 프로세스이다. ㉠ ~ ㉢에 적합한 활동을 바르게 나열한 것은? 변경 요청 ㉠ ㉡ ㉢ 시스템 배포 ㉠ ㉡ ㉢ ① 릴리스 계획 수립 변경 구현 영향 분석 ② 릴리스 계획 수립 영향 분석 변경 구현 ③ 영향 분석 릴리스 계획 수립 변경 구현 ④ 영향 분석 변경 구현 릴리스 계획 수립 문 8. 다음 표는 어떤 프로젝트를 수행하는 데 필요한 작업, 작업 수행 기간, 선후행 관계를 나타낸 것이다. 이 프로젝트의 일정에서 여유 기간(slack time)이 0인 작업은? 작업 작업 수행 기간(일) 선행 작업 A 10 - B 15 - C 20 A D 15 B E 15 A, B F 10 C G 20 D H 30 E I 20 H ① A ② B ③ C ④ D 문 9. 시스템의 기능적 요구를 파악하기 위한 질문만을 모두 고른 것은? ㄱ. 입력, 출력이 무엇이며 어떤 형태를 갖는가? ㄴ. 시스템이 무엇을 하는가? ㄷ. 어떤 하드웨어가 사용될 것인가? ㄹ. 어떤 데이터가 얼마나 오랜 기간 유지되어야 하는가? ㅁ. 얼마나 쉽게 위치나 플랫폼을 변동할 수 있는가? ① ㄱ, ㄴ, ㄷ ② ㄱ, ㄴ, ㄹ ③ ㄴ, ㄷ, ㅁ ④ ㄴ, ㄹ, ㅁ 소프트웨어공학 A 책형 2 쪽 문 10. 차량 내비게이션 소프트웨어에서 GPS 신호를 수신하는 경우와 수신하지 못하는 경우에 따라 차량의 위치를 구하는 다른 알고리즘을 선택하고자 할 때 가장 적합한 설계 패턴은? ① Decorator 패턴 ② Adapter 패턴 ③ Composite 패턴 ④ Strategy 패턴 문 11. 시스템 또는 시스템을 구성하는 요소들의 동적인 행위를 표현하기 위한 UML 다이어그램이 아닌 것은? ① 배치(deployment) 다이어그램 ② 상태(state) 다이어그램 ③ 시퀀스(sequence) 다이어그램 ④ 타이밍(timing) 다이어그램 문 12. 컴포넌트에 대한 설명으로 옳지 않은 것은? ① 컴포넌트는 인스턴스를 정의하는 데 사용되는 템플릿으로서 타입을 정의한다. ② 컴포넌트는 배치 가능한 개체로서 실행 플랫폼에 직접 설치된다. ③ 컴포넌트를 정의하는 요소는 인터페이스이다. ④ 컴포넌트는 언어 독립적이고, 객체지향 프로그래밍 언어가 아닌 언어로도 구현할 수 있다. 문 13. 다음 클래스 다이어그램에서 적용되지 않은 개념은? Shape{abstract} draw(){abstract} Circle Triangle draw() Rectangle draw() draw() ① 일반화(generalization) ② 상속(inheritance) ③ 다형성(polymorphism) ④ 합성(composition) 문 14. 소프트웨어 품질에 관한 국제표준규격인 ISO 9126의 품질 특성에 대한 설명으로 옳지 않은 것은? ① 유지보수성(maintainability): 변경 및 오류사항의 교정에 대한 노력을 최소화하는 정도 ② 기능성(functionality): 주어진 조건하에서 기능이 정상적으로 계속 동작하는 정도 ③ 사용성(usability): 사용에 필요한 노력을 최소화하고 쉽게 사용할 수 있는 정도 ④ 효율성(efficiency): 요구되는 기능을 수행하기 위해 필요한 자원의 소요 정도 문 15. 비기능적 요구사항을 제품 요구사항, 조직 요구사항, 외부 요구 사항으로 구분할 때 제품 요구사항에 해당하지 않는 것은? ① 경험이 많은 사용자는 1시간의 교육을 받으면 시스템을 사용할 수 있어야 하고, 사용자의 일별 평균 에러 발생 횟수가 1.0회를 초과하면 안 된다. ② 시스템의 이용가능성은 99.0 % 이상이어야 한다. ③ 특정 하드웨어에 종속적인 기능의 비율은 1.0 % 미만이어야 한다. ④ 시스템은 고객의 개인정보보호를 위해, 사용자 이름과 아이디를 제외한 어떤 정보도 시스템 관리자에게 제공하지 않아야 한다. 문 16. 다음 표를 근거로 계산한 시스템의 MTBF(Mean Time Between Failure)는? 시스템 운용 기간(일) 운용 상태 14 정상가동 3 고장/수리 15 정상가동 2 고장/수리 13 정상가동 1 고장/수리 ① 14일 ② 15일 ③ 16일 ④ 17일 문 17. 아키텍처 스타일과 이를 기반으로 하는 시스템의 관계를 짝지은 것으로 가장 관련이 적은 것은? ① 파이프 필터 구조 - 스프레드시트 시스템 ② 계층 구조 - OSI 참조모델 ③ 클라이언트 서버 구조 - 인터넷 쇼핑몰 ④ 저장소 구조 - 급여 시스템 문 18. 다음 C 프로그램에 대해 조건-결정 커버리지(condition-decision coverage)를 적용하여 테스트할 때 이를 만족하는 테스트 데이터 집합은? void example(int a, int b, int c) { int p = 10; if ((a > 0 && b 65) p = p * 2; else p = p * 1; printf("%d", p); } ① (a : 0, b : 20, c : 70), (a : 5, b : 10, c : 60) ② (a : 0, b : 10, c : 60), (a : 5, b : 20, c : 70) ③ (a : 5, b : 20, c : 70), (a : 5, b : 20, c : 60) ④ (a : 5, b : 10, c : 60), (a : 0, b : 10, c : 60) 소프트웨어공학 A 책형 3 쪽 문 19. 요구사항 기술을 위한 언어 및 처리기에 대한 설명으로 옳지 않은 것은? ① Gist는 실시간 처리 소프트웨어 시스템에서의 요구사항을 명확히 기술할 목적으로 우주 국방 시스템 그룹에 의해서 개발되었다. ② SADT(Structured Analysis and Design Technique)는 그래픽 언어와 방법론 및 관리 지침의 집합으로 이루어져 있으며, SADT 언어는 구조적 분석 언어라고도 한다. ③ REVS(Requirements Engineering Validation System)는 RSL (Requirements Statement Language)의 번역기, ASSM (Abstract System Semantic Model), ASSM 내에 있는 정보를 처리하는 도구들의 집합 등으로 구성된다. ④ PSA(Problem Statement Analyzer)는 PSL(Problem Statement Language)로 기술한 요구사항을 자동으로 분석하는 도구이다. 문 20. 다음 클래스 정의에 따라 ㉠ ~ ㉣ 문장을 수행할 때, 오류가 발생하지 않는 것만을 모두 고른 것은? abstract class A { } class B extends A { } ... A inst1 = new A(); // ㉠ A inst2 = new B(); // ㉡ B inst3 = new B(); // ㉢ B inst4 = new A(); // ㉣ ... ① ㉠, ㉢ ② ㉡, ㉢ ③ ㉡, ㉣ ④ ㉡, ㉢, ㉣