34. ISO/IEC/IEEE 29119 Part 4에서는 Cause-effect graphing 방법을 설명하고 있다. Cause-effect graphing에서는 여러 개의 Cause들간의 제약 사항을 표현할 수 있다. 다음 중 Cause간의 제약사항으로서 가장 적절하지 않은 것은?
① Mask ② Requires
③ Exclusive ④ One and only one
■ 해설
- 설명 : 원인-결과 그래프에서 불가능한 원인 조합 또는 결과 조합을 표현하기 위해 제약(constraints) 이 추가 될 수도 있다(그래프 상에서 점선과 제약 심볼을 표기하여 나타냄)
- 원인에 적용가능한 제약 심볼은 E(exclusive), I(inclusive), O(one and only one), R(Requires)
- 결과에 적용가능한 제약 심볼로 M(Mask)
정답 : ①
35. 다음의 Video 클래스는 2개의 type code를 가지고 있다. kindCode는 VHS, CD를 의미하며, priceCode는 Normal, Discount를 의미한다. 이에 대한 Refactoring 후의 클래스 다이어그램으로서 가장 적절한 것은?
①
②
③
④
■ Type Code
- 별도의 데이터 유형 대신 특정 엔티티에 허용되는 값의 목록을 구성하는 숫자나 문자열 집합이 있을 때 발생
- 이러한 특정 숫자와 문자열에는 상수를 통해 이해하기 쉬운 이름이 부여되는 경우가 많기 때문에 이러한 유형 코드가 자주 발생
● Replace Type Code with Subclasses
1) 문제상황(Motivation)
- 프로그램 동작에 직접적인 영향을 주는 Type Code 가 존재
- 이 필드의 값은 조건부로 다양한 코드를 실행시킴
2) 해결방안(refactoring)
- 코딩된 타입의 각 값에 대한 하위 클래스를 생성. 그런 다음 원래 클래스에서 이러한 하위 클래스로 관련 동작을 추출
- 제어 흐름 코드를 다형성으로 변경
● Replace Type Code with State/Strategy
1) 문제 상황(Motivation)
- 객체가 생성된 후 Type Code의 값이 변경되는 경우
- Type Code 가 있는 클래스가 다른 이유로 이미 하위 클래스로 분류되어 있는 경우
2) 해결 방안(refactoring)
- Type Code 를 상태/전략 객체로 변경
- 필드 값을 Type Code 로 대체해야 하는 경우 다른 상태 개체가 "연결"
● 문제해설
정답 : ①
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보시스템 감리 기출해설 > 소프트웨어공학 해설' 카테고리의 다른 글
(제 25회) 소프트웨어 공학 / (38)~(39) 해설 (0) | 2025.01.19 |
---|---|
(제 25회) 소프트웨어 공학 / (36)~(37) 해설 (0) | 2025.01.18 |
(제 25회) 소프트웨어 공학 / (32)~(33) 해설 (0) | 2025.01.16 |
(제 25회) 소프트웨어 공학 / (30)~(31) 해설 (0) | 2025.01.15 |
(제 25회) 소프트웨어 공학 / (28)~(29) 해설 (0) | 2025.01.14 |