소프트웨어공학정답(2022-08-01 / 659.6KB / 591회)
- 20 - 2 교 시 소프트웨어공학 사 이 버1. 작업 분류체계(WBS, Work Breakdown Structure)에 대한 설명으로 적절하지 않은 것은? ① 작업 프로세스(process) 또는 산출물 위주로 작성한다. ② 프로젝트 목표와 수행할 작업을 정의하기에 효과적이다. ③ 사용자와 개발자의 의사소통 도구로 사용할 수 있다. ④ 시스템 구축 프로젝트에 대한 일정관리 부문 결과물이다. 2. 다음에서 설명하는 소프트웨어 개발 방법으로 적절한 것은? 기존의 문서 중심의 전통적 개발 방법으로 고객의 변경 요청을 처리하고 통합하는 데 많은 비용과 시간이 필요한 ( ㉮ )과 달리 ( ㉯ )은 다양한 변화에 신속히 대처하기 위해, 짧고 반복 적인 주기마다 고객에게 프로젝트에 대한 피드백을 받아 방향을 평가받고 요구사항을 반영하여 배포하는 소스코드 구현 중심의 점진적 개발 방법이다. ㉮ ㉯ ① 나선형(spiral) 모델 애자일(agile) 모델 ② 폭포수(waterfall) 모델 애자일(agile) 모델 ③ 폭포수(waterfall) 모델 프로토타입(prototype) 모델 ④ 나선형(spiral) 모델 프로토타입(prototype) 모델 3. 다음은 작업 소요 기간에 대한 전문가 의견이다. 이를 기반으로 PERT(Program Evaluation and Review Technique) 분석 기법을 통해 베타 분포를 가정하여 예측한 기간은? 가. 본 개발 작업은 기술적 위험이 높은 것으로 예상한다. 나. 일반적으로 9일, 낙관적으로 7일, 비관적으로 14일의 소요기간을 예측한다. ① 9.5일 ② 10.5일 ③ 11.5일 ④ 12.5일 4. 요구공학(requirement engineering)에 대한 설명으로 적절하지 않은 것은? ① 소프트웨어 요구공학은 요구사항 개발과 요구사항 관리로 분 류된다. ② 요구사항 개발은 추출, 분석, 명세, 검증·확인, 명세서 산출물 작성 절차로 진행한다. ③ 요구사항 추출 단계는 요구 정보 출처 확인, 요구 정보 취합, 요구와 제약사항 정리 등의 활동을 수행한다. ④ 요구사항 검증·확인 단계는 도메인 분석, 내·외부 인터페이스를 포함하는 행위에 대한 평가, 요구사항의 우선순위 평가, 제약사항에 대한 대안 검토 등의 활동들을 수행한다. 5. 다음 인사관리시스템의 사원정보 입력 기능을대상으로FP(Function Point) 기법을 이용하여 업무 규모측정시, 이에 대한 설명으로 적절하지 않은 것은? (단, 트랜잭션(transaction)명은 출력 화면 정보를 기준으로 한다.) 가. ‘저장’ 버튼 클릭 시, 확인 메시지가 출력되고, 해당정보는사원정보 테이블에 저장된다. 나. 부서 항목은 연계된 조직관리 시스템에 저장된하나의테이블을 읽어 조회된 값을 선택한다. 다. 우편번호, 자택 주소의 기본 정보항목은 연계된 표준화시스템에저장된 하나의 테이블을 읽어 조회된 값을 선택한다. ① 트랜잭션 데이터는 ‘사원정보’로 정의하고, 기능항목을ILF(Internal Local File)로 식별한다. ② 트랜잭션 명은 ‘사원정보 입력’으로 정의하고, 기능항목을EI(External Input)로 식별한다. ③ ‘사원정보 입력’ 트랜잭션의 FTR(File Type Reference) 개수는3이다. ④ ‘사원정보 입력’ 트랜잭션의 DET(Data Element Type) 개수는9이다. 6. COCOMO Ⅱ(COnstructive COst MOdel II) 비용 산정모델의서브 모델(sub model)이 아닌 것은? ① 반 결합형 모델(semi-detached model) ② 응용 결합 모델(application-composition model) ③ 초기 설계 모델(early design model) ④ 포스트 아키텍처 모델(post architecture model) 7. 소프트웨어 요구사항 명세서의 내용으로 적절하지않은것은? ① 학생은 학부과정과 대학원 과정을 동시에 수강할수없다. ② 교수는 사번과 패스워드를 이용하여 시스템에 로그인한다. ③ 시스템의 페이지는 최대한 빨리 화면에 출력되어야한다. ④ 시스템의 모든 트랜잭션은 128비트 암호화되어야 한다. - 21 - 8. 비기능적 소프트웨어 요구사항으로 적절하지 않은 것은? ① 자료 요구사항(data requirement) ② 품질 요구사항(quality requirement) ③ 성능 요구사항(performance requirement) ④ 보안 요구사항(security requirement) 9. 모듈화(modularization)에 대한 설명으로 적절하지 않은 것은? ① 모듈은 독립적인 기능이 있는 논리적 단위로 다른 프로젝트에 재사용할 수 있다. ② 분석에서 구현까지 소프트웨어 개발의 전체 수명주기에 걸쳐 적용될 수 있다. ③ 소프트웨어의 문제 발생 시 원인 모듈을 수정한 후 적용한 다. ④ 모듈화는 문제를 팀 단위의 개발 요소가 될 만한 수준으로 분 할하는 과정이다. 10. 객체지향 설계에서 속성(attribute)과 오퍼레이션(operation)을 함께 묶어 표현한 개념은? ① 클래스(class) ② 구조체(structure) ③ 루틴(routine) ④ 서브루틴(sub-routine) 11. 소프트웨어 설계에서 사용하는 추상화(abstraction)의 종류가 아닌 것은? ① 제어(control) 추상화 ② 검증(verification) 추상화 ③ 과정(procedural) 추상화 ④ 자료(data) 추상화 12. 객체지향 설계 원리 중 캡슐화(encapsulation)에 대한 설명으로 적절하지 않은 것은? ① 객체 제공자와 사용자(외부 객체)를 명확히 분리할 수 있다. ② 객체 내부 정보의 손상이나 오용(misuse)을 막을 수 있다. ③ 객체 간 인터페이스를 복잡하게 만든다. ④ 객체 간 독립성이 구조적으로 보장된다. 13. 다음과 관련한 SOLID 설계 원칙으로 적절한 것은? 리팩토링(refactoring)을 통해 기존의 설계를 수정하여 추상 클래스 계층과 구현 클래스 계층을 분리하고 인터페이스 클래스를 통해 구현 클래스를 실체화함으로써, 인터페이스를 클라이언트별로 다양화하였다. ① SRP(Single Responsibility Principle) ② DIP(Dependency Inversion Principle) ③ ISP(Interface Segregation Principle) ④ LSP(Liskov Substitution Principle) 14. MVC(Model-View-Controller) 아키텍처에 대한설명으로적절하지 않은 것은? ① 컨트롤러는 뷰가 요청한 결과를 모델로부터 가져와가공및 처리한다. ② 모델은 DBMS(DataBase Management System)를이용해데이터베이스의 자료를 수정한다. ③ 사용자는 브라우저를 통해 컨트롤러에게 데이터처리를요청한다. ④ 뷰는 사용자에게 보여줄 결과물을 생성하여 컨트롤러에게반환한다. 15. 다음의 고객 요구사항을 반영하기 적절한 디자인패턴은?표를 통해 정보가 추가/수정/삭제되며, 변경사항은 관련한분석그래프에 동시에 반영되어 사용자에게 화면으로 제공한다. ① Iterator pattern ② Singleton pattern ③ Observer pattern ④ Factory Method pattern 16. GoF(Gang of Four) 디자인 패턴 분류 중행위패턴(behavioral pattern)에 속하지 않는 것은? ① Strategy pattern ② State pattern ③ Singleton pattern ④ Iterator pattern 17. UML 다이어그램(diagram)에 대한 설명으로적절하지않은 것은? ① 사용사례(usecase) 다이어그램은 업무 프로세스를나타내는사용사례, 시스템을 사용하는 액터(actor), 이들 간상호작용은간선으로 표현한다. ② 클래스 다이어그램은 클래스 내에서 이벤트를처리하는논리적인 과정을 표현하며, 프로세스의 처리 과정에대한도식화에 사용된다. ③ 상태(state) 다이어그램은 상태, 전이, 이벤트로 구성되며, 객체의 상태에 대한 이벤트 발생이나 시간의 흐름에따른변화를 나타낸다. ④ 컴포넌트(component) 다이어그램은 구현 관점에서정적모델링을 할 때, 구성된 실행 모듈과 이들 간 연관성및관계를 표현한다. - 22 - 18. 사용사례 다이어그램에서 구현(implementation) 대상이 아닌 것은? ① ② ③ ④ 19. 다음 클래스 다이어그램에 대한 설명으로 적절하지 않은 것은? ① 한 명의 Engineer는 최대한 5개의 Project에 참여할 수 있다. ② 하나의 Project는 최소한 한 명 이상의 Engineer를 포함한다. ③ 하나의 Project는 최소한 하나 이상의 Project들을 포함한다. ④ Engineer는 Project에 참여해야만 Salary를 받는다. 20. 다음 ItemOrder 소스코드에 대한 클래스 다이어그램으로 적절한 것은? (단, 주어진 소스 코드 이외의 부분은 가정 하지 않는다.) Public class ItemOrder { String ItemId; int amount; ... Payment PaymentType; Delivery DeliveryType; ... public ItemOrder(String ItemId, int amount, ...) { ... Payment payment = new Payment( ); Delivery delivery = new Delivery( ); ... } Public void viewOrder( ) { ... } ... } ① ② ③ ④ 21. 다음 클래스 다이어그램을 JAVA 소스코드로구현시, 적절하지 않은 것은? ① Public class Payment { ... } ② Public class Bank { ... } ③ Public class Cash extends Payment implements Bank { ... }④ Public class Voucher extends Payment { ... } 22. 다음 JAVA 소스코드를 UML 클래스 다이어그램으로표현 시, Sedan과 Factory 클래스 간 나타나는관계로적절한 것은? (단, 주어진 소스 코드 이외의 부분은가정하지 않는다.) class Sedan extends Vehicle { ... } class Factory { public Vehicle order(int passengers) { if(passengers < 5) return new Sedan(passengers); } ... } ① 합성(composition) ② 구현(realization) ③ 일반화(generalization) ④ 의존(dependency) 23. 액티비티 다이어그램(activity diagram)에 대한설명으로적절하지 않은 것은? ① 포크(fork)는 단일 입력 트랜지션(transition)과 다수출력트랜지션(transition)을 가진다. ② 조인(join)은 다중 입력 트랜지션과 단일 출력 트랜지션을가진다. ③ 스윔레인(swim lane)은 액티비티에 참여하는클래스를구분한다. ④ 프레임(frame)은 액티비티를 묶어 조건에 의한택일을표현한다. - 23 - 24. 다음 시퀀스 다이어그램 구성 및 동작이 가능한 클래스 다이어그램으로 적절한 것은? ① ② ③ ④ 25. 객체지향 소프트웨어 설계 시 모듈 간 결합도가 강한 것부터 약한 순서로 적절하게 나열한 것은? 가. 모듈 간 상호 교류 시, 단순 타입의 매개변수를 교환하는 경우 발생되는 의존 나. 다른 모듈의 자료 값을 수정하거나, 내부로 분기하는 경우 발생하는 의존 다. 외부 변수로 선언된 데이터를 서로 다른 모듈에서 참조함으로써 발생되는 의존 라. 여러 모듈이 전역 변수를 참조하는 경우 발생 가능성이 증가하는 의존 마. 레코드, 배열, 구조체 형태의 복합 자료를 모듈 간 선별적으로 공유 시 발생되는 의존 바. 다른 모듈 내의 기능을 제어하거나 두 모듈이 분리된 경우 발생되는 의존 ① 나-다-라-바-마-가 ② 나-라-다-바-마-가 ③ 라-다-바-가-마-나 ④ 라-가-바-다-마-나 26. 객체지향 소프트웨어 설계 시 모듈 내 응집도가 가장 높은 것과 가장 낮은 것을 적절하게 짝지어진 것은? ① 절차적(procedural) 응집도 - 논리적(logical) 응집도 ② 기능적(functional) 응집도 – 우연적(coincidental) 응집도 ③ 대화적(communicational) 응집도 – 절차적(procedural) 응집도 ④ 논리적(logical) 응집도 - 우연적(coincidental) 응집도 27. 다음 C 언어 소스코드에서 swap과 sort 함수 간결합도와응집도는? void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp; } void sort(int* nums, int size) { ... if(*(nums + i) < *(nums + j)) swap(nums + i , nums + j)); ... } 결합도 응집도 ① 내용(content) 결합 기능적(functional) 응집② 내용(content) 결합 절차적(procedural) 응집③ 외부(external) 결합 기능적(functional) 응집④ 외부(external) 결합 절차적(procedural) 응집28. 사용자 인터페이스 설계 원리 중 아래에 기술된지침을모두 만족하는 UI 설계개념으로 적절한 것은? 가. 초보와 숙련자 모두가 쉽게 배우고, 사용할 수 있게한다. 나. 소프트웨어 사용자를 즉각적으로 만족시켜야한다. 다. 사용자 입력을 최소화하고 불필요한 입력은 제외한다. 라. 사용자 액션에 적절하고 의미있는 피드백을 제공한다. ① 마법사(wizard) ② 사이트 이동 경로(breadcrumbs) ③ 메타포(metaphor) ④ GUI 프레임워크(GUI Framework) 29. 다음 제시된 그래프(흐름도)에서 McCabe의 순환복잡도는?① 5 ② 6 ③ 7 ④8 - 24 - 30. V&V 모델의 ㉮ ∼ ㉱에 들어갈 내용으로 적절한 것은? ㉮ ㉯ ㉰ ㉱ ① 상세설계 요구분석 성능 테스트 복구 테스트 ② 상세설계 UI설계 보안 테스트 성능 테스트 ③ 요구분석 UI설계 성능 테스트 인수 테스트 ④ 요구분석 상세설계 단위 테스트 인수 테스트 31. 블랙박스(black box) 테스트 기법으로 적절하지 않은 것은? ① 조건 커버리지(condition coverage) 기법 ② 동등 분할(equivalence partitioning) 기법 ③ 경곗값 분석(boundary value analysis) 기법 ④ 원인-결과 그래프(cause-effect graph) 기법 32. 다음 빈칸에 들어갈 단어를 적절하게 짝지어진 것은? 소프트웨어 개발 절차에서, ( ㉮ )는/은 개발자 관점에서 사용자의 요구사항 명세에 따라 개발되었는지 과정의 준수 여부와 결과물의 적정성을 검토하고, ( ㉯ ) 는/은 개발된 제품이 사용자의 요구사항에 부합하는지를 검토하는 활동이다. ㉮ ㉯ ① 검증(verification) 검사(validation) ② 인증(authentication) 검증(verification) ③ 검사(validation) 인증(authentication) ④ 검사(validation) 검증(verification) 33. ISO/IEC 25010 국제표준모델에서 제시하고 있는 제품 품질의 신뢰성 평가 항목으로 적절하지 않은 것은? ① 가용성(availability) ② 회복성(recoverability) ③ 결함허용성(fault-tolerance) ④ 시험가능성(testability) 34. ISO/IEC 9126 소프트웨어 품질 평가 모델에서 정의한 주 품질 특성에 속하지 않는 것은? ① 기능성(functionality) ② 신뢰성(reliability) ③ 사용성(usability) ④ 보안성(security) 35. 부정적 위험에 대한 대응방안 중 회피 전략으로 적절한 것은? ① 대외 정보시스템 간 연계 작업 혼선으로 인한 위험을 감지하여 관련된 모든 작업의 기간과 일정을 조정하였다. ② 태풍 등 계절적 영향으로 장비 조달 및 설치의 위험이 있어 해당 범위에 한정된 보험에 가입하였다. ③ 기술적 위험이 높은 사업의 성격을 반영하여 위험 발생 확률과 영향도 기준을 수용 가능 한계로 하향 조정하였다. ④ 위험을 제거하는 것이 어렵다고 판단하여 프로젝트 계획 변경 없이 상황을 지속적으로 모니터링한다. 36. 다음 EVA(Earning Value Analysis) 개념도에서㉮∼㉱에들어갈 지표명이 올바르게 나열된 것은? ㉮ ㉯ ㉰ ㉱ ① BAC AC EV PV ② EAC EV AC PV ③ BAC AC PV EV ④ EAC PV AC EV 37. 변경 대상 형상 항목(configuration item)에 대한수정작업이 완료되면 검토 및 승인 절차를 거친 후형상관리서버(server)에 다시 등록하는 행위는? ① 체크아웃(check-out) ② 체크인(check-in) ③ 리포지토리(repository) ④ 배포(release) 38. 진화하는 시스템의 유지보수 프로세스는 시스템이소멸될때까지 일정한 평균 작업량을 보인다는Lehman의소프트웨어 진화 법칙은? ① 지속적인 변경의 원칙 ② 지속적 성장의 법칙 ③ 안정성 유지의 법칙 ④ 엔트로피, 복잡도 증가의 원칙 39. 소프트웨어 개발 프로세스 수행 중 변경 요청에대한평가, 조정, 승인 여부를 결정하는 형상 관리단계는?① 형상 식별(identification) ② 형상 통제(control) ③ 상태 보고(status accounting) ④ 형상 감사(audits) 40. CMMI(Capability Maturity Model Integration)의 성숙도모델에서최적화 단계에 해당하는 것은? ① 근본 원인 분석 및 해결 ② 정량적 프로젝트 관리③ 의사 결정 분석 및 해결 ④ 프로세스/제품 품질보증