Computer Science: An Overview: Global Edition (12th Edition)

Published by Pearson Higher Education
ISBN 10: 1292061162
ISBN 13: 978-1-29206-116-0

Chapter 7 - Software Engineering - Section 7.4 - Modularity - Questions & Exercises - Page 348: 3

Answer

This is a tough one. From one point of view, we could start by placing everything in a single module. This would result in little cohesion and no coupling at all. If we then begin to divide this single module into smaller ones, the result would be an increase in coupling. We might, therefore, conclude that increasing cohesion tends to increase coupling. On the other hand, suppose the problem at hand naturally divides into three very cohesive modules, which we will call A, B, and C. If our original design did not observe this natural division (for example, half of task A might be placed with half of task B, and so on), we would expect the cohesion to be low and the coupling high. In this case, redesigning the system by isolating tasks A, B, and C into separate modules would most likely decrease intermodule coupling as intramodule cohesion increases.

Work Step by Step

This is a tough one. From one point of view, we could start by placing everything in a single module. This would result in little cohesion and no coupling at all. If we then begin to divide this single module into smaller ones, the result would be an increase in coupling. We might, therefore, conclude that increasing cohesion tends to increase coupling. On the other hand, suppose the problem at hand naturally divides into three very cohesive modules, which we will call A, B, and C. If our original design did not observe this natural division (for example, half of task A might be placed with half of task B, and so on), we would expect the cohesion to be low and the coupling high. In this case, redesigning the system by isolating tasks A, B, and C into separate modules would most likely decrease intermodule coupling as intramodule cohesion increases.
Update this answer!

You can help us out by revising, improving and updating this answer.

Update this answer

After you claim an answer you’ll have 24 hours to send in a draft. An editor will review the submission and either publish your submission or provide feedback.