728x90
반응형

정보시스템 감리 기출해설/소프트웨어공학 해설 24

(제 23회) 소프트웨어 공학 / (48)~(50) 해설

48. 다음은 시스템의 신뢰성을 향상시키는 방법에 대한 설명이다. (가), (나)에 들어갈 내용으로 가장 적절한 순서대로 나열한 것은?  광범위한 컴파일러 검사가 가능한 강한 자료형의 언어를 사용하는 것과 포인터와 같이 오류가 발생하기 쉬운 요소의 사용을 최소화하는 것은 (가)기법이고, 체계적인 테스팅, 디버깅, 정적 분석은 (나) 기법의 예이다.① 결함 내성, 결함 회피② 결함 내성, 결함 감지 및 정정③ 결함 회피, 결함 내성④ 결함 회피, 결함 감지 및 정정 ▣ 시스템 신뢰성(System Reliability)1) 결함 회피(Fault Avoidance)설계 및 프로그래밍 오류를 피하는 소프트웨어 개발 방식으로 시스템에 도입되는 결함을 최소화 함강한 자료형 언어 사용, 포인터와 같은 오류가 발생하기..

(제 23회) 소프트웨어 공학 / (46)~(47) 해설

46. 시스템 요청에 대한 실패가 인명이나 환경에 피해를 주는 등 심각한 결과를 초래할 수 있는 시스템의 신뢰성을 표현하는 척도로 가장 적절한 것은?① 평균 고장 간격 (MTBF: mean time between failure)② 평균 고장 시간 (MTTF: mean time to failure)③ 고장 발생 비율 (ROCOF: rate of occurrence of failure)④ 온 디맨드 고장 확률 (POFOD: probability of failure on demand) ▣ 신뢰성 척도가) 신뢰성주어진 환경에서 특정 목적을 위해 지정된 시간 동안에 고장 없이 운영될 확률 나) 신뢰성과 가용성을 명시하는 3가지 척도① 온 디멘드 고장 확률(POFOD : Probability of Failure O..

(제 23회) 소프트웨어 공학 / (44)~(45) 해설

44. 다음의 Cause-Effect Graph에서 C1과 C2의 각 값에 대한 A1, A2, A3의 값으로 가장 적절한 것은?    가나다라CITTFFC2TFTFA1TTTTA2TFFFA3TTFT① 가 ② 나③ 다 ④ 라 ▣ 원인-결과 그래프에서 사용되는 기호 기호표기법사용 예설명동치(Equal, -)ⓐ-ⓑif A then BA=1이면 B=1, A=0 이면 B=0부정(NOT,~)ⓐ~ⓑif not A then BA=1이면 B=0, A=0 이면 B=1합(OR, V)ⓐVⓑif A or B then C(A,B,C)에서(1,1)=1,(1,0)=1,(0,1)=1,(0,0)=0곱(AND, ^)ⓐ^ⓑif A and B then C(A,B,C)에서(1,1)=1,(1,0)=0,(0,1)=0,(0,0)=0  정답 : ② ..

(제 23회) 소프트웨어 공학 / (42)~(43) 해설

42. 다음 문장들은 문서편집 프로그램에 대한 요구사항을 기술하고 있다. 이 중에서 ISO/IEC 25010의 신뢰성(reliability)에 대한 설명으로 가장 적절하게 묶은 것은?  가. 500페이지 정도의 문서를 2초 이내에 읽어야 한다.나. 자신 고유의 파일 포맷뿐만 아니라 다른 문서 편집 프로그램의 파일 포맷도 읽어야 한다.다. 메모리가 부족해지면 가용 메모리 양에 맞추어 문서의 일부분이라도 편집할 수 있도록 한다.라. 예상치 못한 이유로 프로그램이 종료되면 재시작을하고 기존 문서를 바로 보여주도록 한다.① 가 ② 나, 다③ 다, 라 ④ 라 ▣ ISO/IEC 25010:2011 품질 부특성품질특성내용부특성내용기능성요구되는 기능을 만족시키는 능력기능성숙도명시된 요구사항 구현 정도기능정확도정의된 정..

(제 23회) 소프트웨어 공학 / (40)~(41) 해설

40. 다음 (가), (나)에 해당하는 Chidamber와 Kemerer의 객체 지향 척도로 가장 적절한 것은?  (가) 클래스에 있는 메서드들의 쌍을 고려하여 계산된다. 이 값은 공유된 속성이 없는 메서드 쌍의 수와 공유된 속성이 있는 메서드 쌍의 수의 차이이다.(나) 클래스의 객체가 받은 메시지에 응답하여 실행될 가능성이 있는 메서드들의 수를 나타낸다. 이 값이 클수록 클래스가 복잡해지므로 클래스가 오류를 포함할 가능성은 더 높을 수 있다.① (가) LCOM(Lack of cohesion in methods) (나) WMC(Weighted methods per class)② (가) WMC(Weighted methods per class) (나) RFC(Response for a class)③ (가) ..

(제 23회) 소프트웨어 공학 / (38)~(39) 해설

38. 다음 절차로 진행하는 스토리 점수 추정 방법으로 가장 적절한 것은? 착수 준비- 진행자를 선정한다.- 추정에 전문가를 참여시킨다.- 추정을 준비한다.추정 대상토론- 진행자는 추정 방법을 설명하고 서기를 선정한다.- 제품 책임자는 개발 전문가에게 요구기능을 설명한다.- 개발 전문가는 질문 및 토론한다.- 서기는 업무 범위와 제약사항을 기록한다.추정 수행- 개발 전문가는 각자 추정 값을 제시한다.- 가장 작은 추정 값과 가장 큰 추정 값을 낸 사람이 이유를 설명하고 토론한다. 이때 가정과 제약사항을 기록한다.- 각자 새로운 추정 값을 제시하고 차이가 줄어들 때까지 계속한다.① 스토리 워크숍② 플래닝 포커③ 스크럼 회의④ 스프린트 계획과 검토 ▣ 플래닝 포커사용자 스토리의 규모를 추정하는 방식전통적인 ..

(제 23회) 소프트웨어 공학 / (36)~(37) 해설

36. 다음의 아키텍처 분석/평가 방법에 대한 설명으로 가장 적절한 것은? 입력: 1) 아키텍처 2) 아키텍처 전략들 3) N개의 품질속성 시나리오출력: 각 아키텍처 전략의 순위단계 1. 시나리오 정리(N개의 시나리오를 N/3개의 시나리오로 축소)단계 2. 시나리오 정제단계 3. 시나리오 우선순위(N/6개의 시나리오로 축소)단계 4. 각 시나리오의 응답수준별로 해당하는 효용값 부여단계 5. 아키텍처 전략을 도출하고 각 아키텍처 전략에 대하여 관련 시나리오별 품질속성 응답수준을 결정단계 6. 보정으로 기대되는 품질속성 응답수준의 효용값 결정단계 7. 아키텍처 전략이 주는 총 이득 계산단계 8. 투자수익률을 기초로 아키텍처 전략 선정단계 9. 직관을 이용하여 결과 확인① SAAM(Software Archit..

(제 23회) 소프트웨어 공학 / (34)~(35) 해설

34. 다음은 은행에서 일정 금액(amount)을 지급 (withdraw)하는 코드의 일부분을 리팩토링 한 것이다. 적용 후 코드를 생성하기 위해 사용된 리팩토링 기법으로 가장 적절한 것은? (단, 코드 실행상의 문제는 고려하지 않음)  적용전 코드int withdraw(int amount) { if (amount > _balence) return –1; else { _balence -= amount; return 0;} 적용후 코드void withdraw(int amount) throws B_exception {if (amount > _balence) throw newB_exception();_balence -= amount;}① replace error code with exception② repla..

(제 23회) 소프트웨어 공학 / (32)~(33) 해설

32. 다음은 아키텍처 스타일에 대한 설명이다. 각 설명에 대응하는 아키텍처 스타일이 가장 적절하지 않은 것은? 가. 입력되는 이벤트(event)에 대한 응답으로 프레임워크에서 제공하는 서비스를 투명하게 업데이트하는 메커니즘을 제공하고, 애플리케이션을 통해 프레임워크의 이벤트 처리 동작을 검사한다.나. 복잡한 시스템 기능은 순차적인 하위작업들로 분리되며, 각 하위작업은 이 작업만을 담당하는 독립된 구성요소에 의해 스트림(stream) 데이터를 처리한다.다. 시스템 구성요소가 버전별로 다른 방식으로 구성될 수 있으며, 파생된 시스템별 서비스를 위해 플러그 앤 플레이(plug-and-play) 인프라를 제공한다.라. 시스템의 구조적 및 행동적 측면은 메타 객체에 저장되고 애플리케이션 논리 구성요소와 분리하며..

(제 23회) 소프트웨어 공학 / (30)~(31) 해설

30. 다음은 검색 알고리즘에 관한 JAVA Code 문제이다. 숫자 배열 {1, 2, 3, 4}와 정수 k는 3으로 입력 되었을 때, 출력 결과로 가장 적절한 것은?  public class Search{ public static int search(List list,int k) { int left = 0, right = list.size() -1, result= -1; while(left int mid = left + ((right - left) / 2); if (list.get(mid) > k) { right = mid -1; } else if (list.get(mid) == k) { result = mid; right = mid -1; } else { left = mid+1; } } return..

728x90
반응형