모두CBT

다음 프로그램에서 sender와 receiver 함수 간의 결합도와 r… | [경찰간부후보생 소프트웨어공학] 23년 1회차 기출문제 상세 페이지

1[경찰간부후보생 소프트웨어공학] 23년 1회차
다음 프로그램에서 sender와 receiver 함수 간의 결합도와 receiver 함수의 응집도가 적절하게 나열된 것은?
void sender(void) {
int num1, num2;
int res;
scanf(“%d %d”, &num1, &num2);
res = receiver(num1, num2);
printf(“Result = %d\n”, res);
}

int receiver(int a, int b) {
if (a > b) {
return (a * 3);
} else {
return (b * 2);
}
}
1
제어 결합도, 기능적 응집도
2
자료 결합도, 기능적 응집도
3
제어 결합도, 논리적 응집도
4
자료 결합도, 논리적 응집도
해설

sender와 receiver 사이는 자료 결합도, receiver는 논리적 응집도로 보는 것이 적절하다.

sender는 receiver에 정수 두 개만 매개변수로 넘기고 결과 값만 돌려받으며 제어 플래그를 넘기지 않으므로 가장 느슨한 자료 결합도이다.

receiver는 입력값 비교 결과에 따라 a*3과 b*2라는 서로 다른 처리 중 하나를 골라 수행하므로, 유사한 성격의 처리를 한 모듈에 모아 조건으로 선택하는 논리적 응집도로 판단한다.

  • 제어 결합도와 기능적 응집도의 조합은 플래그 전달이 없고 receiver가 조건에 따라 다른 계산을 고르므로 둘 다 맞지 않다.
  • 자료 결합도와 기능적 응집도의 조합은 결합도는 맞지만 receiver가 단일 기능만 수행한다고 보기 어려워 응집도가 맞지 않다.
  • 제어 결합도와 논리적 응집도의 조합은 응집도는 맞지만 순수 데이터만 넘기므로 결합도가 맞지 않다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[경찰간부후보생 소프트웨어공학] 23년 1회차 40문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요경찰간부후보생 소프트웨어공학 기출문제 암기장 전체 보기