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

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

아이티신비 2024. 7. 25. 09:00

44. 다음 컴포넌트 Cc의 안정성(stability) 지표로 가장 적절한 것은?

① Fan-in: 3, Fan-out: 1, I(Instability): 1/4

② Fan-in: 1, Fan-out: 3, I(Instability): 1/4

③ Fan-in: 3, Fan-out: 1, I(Instability): 3/4

④ Fan-in: 1, Fan-out: 3, I(Instability): 3/4

 

▣ 용어설명

  • 패키지 설계 원칙 > SDP(Stable Dependency Principle, 안정적 의존 원칙) > 안정성 : 소프트웨어 컴포넌트를 변경하기 어렵게 만드는 확실한 방법은 수많은 다른 컴포넌트가 해당 컴포넌트에 의존하도록 만드는 것이다. 컴포넌트 안쪽으로 들어오는 의존성(Fan-in) 이 많아지면 상당히 안정적이라고 볼 수 있는데, 사소한 변경이라도 의존하는 모든 컴포넌트를 만족시키면서 변경하려면 상당한 노력이 들기 때문이다.
  • Fan-in : 안으로 들어오는 의존성. 컴포넌트 내부의 클래스에 의존하는 컴포넌트 외부의 클래스 개수 Cc 는 세 개의 컴포넌트를 책임진다.
  • Fan-out : 바깥으로 나가는 의존성. 컴포넌트 외부의 클래스에 의존하는 컴포넌트 내부의 클래스 개수 Cc 는 한 컴포넌트에 의존한다
  • Instability : I = Fan-out / (Fan-in + Fan-out), 이 지표는 [0,1] 범위의 값을 갖는다. I = 0 이면 최고로 안정된 컴포넌트라는 뜻이고, I = 1 이면 최고로 불안정한 컴포넌트. Cc의 Instability 는 1/4 이다.

 

● 추가설명) Fan-In, Fam-Out 상세 설명

구분
Fan-In
Fan-Out
개념
어떤 모듈을 제어(호출)하는 모듈의 수
어떤 모듈에 의해 제어(호출)되는 모듈의 수
모듈숫자 계산
모듈 자신을 기준으로 모듈에 들어옴
모듈 자신을 기준으로 모듈에서 나감
고려 사항
  • Fan-In 이 높으면 재사용 측면에서 설계가 잘되었지만, 단일장애점 발생
  • Fan-In 이 높으면 관리 비용 및 테스트 비용 증가
  • Fan-Out 이 높을 경우는 불필요한 모듈 호출 여부 검토 필요
  • Fan-Out 이 높을 경우는 단순화 여부 검토

정답 : ①

 

45. 다음 소스 코드 커버리지의 포함 관계에서 (가)~(라)에 해당하는 항목으로 바르게 연결한 것은?

① (가) 구문커버리지 (나) 조건/결정커버리지 (다) 변경 조건/결정 커버리지 (라) 다중 조건 커버리지

② (가) 다중 조건 커버리지 (나) 조건/결정커버리지 (다) 변경 조건/결정 커버리지 (라) 구문커버리지

③ (가) 구문커버리지 (나) 변경 조건/결정 커버리지 (다) 조건/결정커버리지 (라) 다중 조건 커버리지

④ (가) 다중 조건 커버리지 (나) 변경 조건/결정 커버리지 (다) 조건/결정커버리지 (라) 구문커버리지

 

▣ 테스트 커버리지 관계도

 

● 추가설명) 테스트 커버리지

1) 테스트 완전성 확보를 위한 테스트 커버리지의 개념

- SW 테스트 수행 시 소스코드를 어느 수준까지 테스트 수행하였는가를 나타내는 기준

 

2) 테스트 커버리지의 설명

커버리지
설명
Case
구문
  • 프로그램 영역의 모든 문장이 한번씩 호출
  • 조건과 결과 참, 거짓 여부 무관
TF = F
결정
  • 프로그램 영역의 모든 분기문 선정
  • 조건문의 결과가 참, 거짓이면 만족
TT = T
FF = F
조건
  • 프로그램 영역의 분기문 내에 있는 모든 조건이 포함되도록 선정
  • 모든 조건이 참, 거짓(결과 무관)
TF = F
FT = F
조건/결정
  • 분기문의 참, 거짓과 분기문내 조건의 참, 거짓
TT = T
FF = F
MC/DC
(변경조건)
  • 개별 조건식이 다른 개별 조건식과 무관
  • 전제 조건문에 독립적 영향
TF =F
TT = T
FT = F
MCC
(다중조건)
  • 수행 가능한 모든 경로 검사, 가장 강력
  • 결정 포인트 내의 모든 개별 조건식의 모든 가능한 논리적 조합
  • 100% 커버리지 달성
TT = T
TF = T
FT = T
FF = F

정답 : ④




 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥