소프트웨어공학정답(2021-03-04 / 276.0KB / 181회)
소프트웨어공학 공 책형 1 쪽 소프트웨어공학 문 1. 다음 프로그램 흐름 그래프의 사이클로매틱(cyclomatic) 복잡도를 계산하면? 1 2 3 4 5 6 7 8 9 14 10 11 12 13 bottom >top while bottom <= top elemArray[mid] != key elemArray elemArray[mid] > key elemArray[mid] < key [mid] = key ① 3 ② 4 ③ 5 ④ 6 문 2. 소프트웨어 개발 팀 구성에 대한 설명 중 옳지 않은 것은? ① 중앙 집중식 팀 구성은 구성원이 한 관리자의 명령에 따라 일하고 결과를 보고하는 방식을 취한다. ② 중앙집중식 팀은 한 사람에 의하여 통제할 수 있는 비교적 소규모 문제에 적합하다. ③ 분산형 팀 구성은 의사교환을 위한 비용이 크고 개개인의 생산성을 떨어뜨린다. ④ 분산형 팀의 의사교환 경로는 계층적(hierarchical)이다. 문 3. 다음 중 CMM(Capability Maturity Model) 레벨 3의 주요 프로세스 영역(Key Process Area)에 해당되지 않는 것은? ① 통합소프트웨어 관리(integrated software management) ② 교육 프로그램 (training program) ③ 소프트웨어 품질 관리 (software quality management) ④ 동료 검토 (peer reviews) 문 4. 시스템 고장 간의 평균 시간을 나타내는 신뢰성 척도는? ① POFOD ② ROCOF ③ MTTF ④ AVAIL 문 5. V모형은 폭포수 모형에 테스트와 검증을 강조한 것이다. V모형의 단계를 ㉠ ~ ㉥ 까지 순서대로 바르게 나열한 것은? ㉥ ㉠ ㉤ ㉡ ㉣ ㉢ 인수 및 설치 요 구 분 석 ① 시스템설계→상세설계→코딩→단위테스트→통합테스트→시스템테스트 ② 시스템설계→시스템테스트→상세설계→통합테스트→코딩→단위테스트 ③ 시스템테스트→통합테스트→단위테스트→코딩→상세설계→시스템설계 ④ 시스템테스트→시스템설계→통합테스트→상세설계→단위테스트→코딩 문 6. 다음 설명에 해당되는 디자인 패턴은? 1대 다(多)의 객체 의존관계를 정의한 것으로 한 객체가 상태를 변화시켰을 때, 의존관계에 있는 다른 객체들에게 자동적으로 통지하고 변경시킨다. ① Observer ② Facade ③ Mediator ④ Bridge 문 7. CMMI(Capability Maturity Model Integration)에서는 24개 프로세스 영역을 4개 범주로 분할한다. 다음 중 4개 범주 이름이 아닌 것은? ① 프로세스 관리 ② 프로젝트 관리 ③ 프로덕트 관리 ④ 지원 문 8. 소프트웨어 품질보증과 가장 관련이 없는 것은? ① 소프트웨어 품질확보를 위한 요구 제정 ② 소프트웨어를 개발, 운용, 유지보수하기 위한 절차의 제정과 실행 ③ 소프트웨어 개발 모형을 정하고 각 단계에 필요한 액티비티들을 분해하고 작업후의 결과를 제정하고 실행 ④ 소프트웨어의 품질에 영향을 미치는 액티비티를 평가하기 위한 절차의 제정과 실행 소프트웨어공학 공 책형 2 쪽 문 9. 정형 명세(formal specification)는 수학의 엄밀한 정의를 이용 하여 요구 사항을 분명하고 간결하게 기술한다. 정형 명세 중에서 집합, 시퀀스(sequence)와 같은 수학적 모델을 이용해서 시스템의 상태 및 상태변화를 추상적으로 기술하는 것을 모델-기반 명세 (model-based specification)라고 한다. 모델-기반 명세와 거리가 먼 것은? ① Z ② OBJ ③ VDM ④ B 문 10. COCOMO에서 사용되는 유지보수 비용예측 함수의 인자가 아닌 것은? ① 한 해 동안 원시코드 한 줄에 가해지는 변경횟수 (Annual Change Traffic) ② 개발 시 투입된 노력 (Development Effort) ③ 유지보수작업을 위한 보정 노력 (Effort Adjust Factor) ④ 수정된 모듈의 수 (Modified Module Number) 문 11. 소프트웨어 아키텍처를 명시적으로 설계하고 문서화를 통해서 얻을 수 있는 장점과 가장 관련이 적은 것은? ① 소프트웨어 개발 참여자 간의 의사소통 도구 ② 시스템 분석 ③ 대규모 재사용 ④ 구현의 상세화 문 12. 분석 프로세스에서 생성될 수 있는 시스템 모델 유형의 예에 대한 설명으로 옳은 것은? ① 데이터 흐름 모델은 시스템에 있는 개체가 어떻게 다른 개체와 결합되는지를 보여준다. ② 결합 모델은 개체가 어떻게 공통 특성을 가지고 있는지를 보여준다. ③ 아키텍처 모델은 시스템을 구성하는 중요한 서브시스템을 보여준다. ④ 분류 모델은 데이터가 시스템에서 어떻게 단계별로 처리되는가를 보여준다. 문 13. 위험관리의 6단계는 위험식별, 위험감소, 위험분석, 위험관리계획, 위험우선순위, 그리고 위험해결이다. 이들 단계들은 위험측정 (risk assessment)과 위험통제(risk control)로 분류할 수 있다. 다음 중 위험통제에 속하지 않는 단계는? ① 위험우선순위 (risk prioritization) ② 위험해결 (risk resolution) ③ 위험관리계획 (risk management planning) ④ 위험감소 (risk reduction) 문 14. 소프트웨어 개발 프레임워크인 MDA(Model Driven Architecture)의 구성요소로 적합하지 않은 것은? ① XMI (XML Metadata Interchange) ② MOF (Meta Object Facility) ③ CWM (Common Warehouse Metamodel) ④ CASE (Computer Aided Software Engineering) 문 15. 다음 중 UML 다이어그램이 아닌 것은? ① 클래스 다이어그램 (class diagram) ② 속성 다이어그램 (attribute diagram) ③ 사용사례 다이어그램 (use-case diagram) ④ 순차 다이어그램 (sequence diagram) 문 16. 시간이 지날수록 시스템은 변화한다. Lehman이 관찰한 시스템 변화에 관한 특성이 아닌 것은? ① 지속적인 변경 ② 복잡도 증가 ③ 대형 프로그램 진화 ④ 품질 증가 문 17. 다음 사항을 가장 잘 표현한 클래스 다이어그램은? ◦ ‘선생님’은 적어도 하나의 ‘평점’을 관리한다. ◦ ‘평점’은 한분의 ‘선생님’으로부터 관리된다. ◦ ‘평점’은 하나의 ‘성적 카드’에 포함된다. ◦ ‘성적 카드’는 적어도 하나 이상의 ‘평점’을 포함한다. ◦ ‘직원’은 적어도 하나 이상의 ‘성적 카드’를 생성한다. ◦ ‘성적 카드’는 한 사람의 ‘직원’에 의해서만 생성된다. ① 선 생 님 직 원 평 점 성적카드 생성한다 포함한다 1 1..* 1..* 1 1..* 1 관리한다 ② 선 생 님 직 원 평 점 성적카드 관리한다 포함한다 1 1 1..* 1..* 1..* 1 1..* 생성한다 ③ 선 생 님 직 원 평 점 성적카드 생성한다 포함한다 1 1 1..* 1..* 1..* 1 관리한다 ④ 선 생 님 직 원 평 점 성적카드 관리한다 생성한다 포함한다 1 1 1..* 1..* 1..* 1..* 1 소프트웨어공학 공 책형 3 쪽 문 18. 입력값의 유효범위로 1 ~ 99를 갖는 프로그램을 고려하자. 이 프로그램을 테스트하기 위하여 경계값 분석(boundary value analysis) 방법을 이용하여 테스트케이스를 만들려고 한다. 경계값 분석 방법에 가장 적합하지 않은 테스트케이스는? ① 1 ② 70 ③ 99 ④ 100 문 19. 소프트웨어 개발 프로세스인 XP(eXtreme Programming)의 실무 관행(practice)에 해당하지 않는 것은? ① 짝 프로그래밍 (pair programming) ② 소규모 릴리스 (small release) ③ 구현우선개발 (implementation-first development) ④ 점증적인 계획 수립 (incremental planning) 문 20. 다음과 같은 특성을 갖는 모듈간의 결합도는? ◦ 모듈 P가 모듈 Q 내부의 변수 값을 수정한다. ◦ 모듈 P는 모듈 Q의 레이블로 직접 분기한다. ① 내용 결합도 (content coupling) ② 공통 결합도 (common coupling) ③ 제어 결합도 (control coupling) ④ 스탬프 결합도 (stamp coupling)