Which of the following best describes loose coupling in software design?
Think about how modules should communicate to reduce problems when one changes.
Loose coupling means modules interact through clear interfaces and avoid depending on internal details, making the system easier to maintain and change.
Which of the following is an example of functional cohesion in a software module?
Functional cohesion means all parts of the module work together to perform one clear task.
Functional cohesion means the module's parts all contribute to a single well-defined task, like processing a customer order.
Consider two modules: Module A calls Module B's internal functions directly, and Module C calls Module D only through a public interface. Which statement is true about their coupling?
Directly calling internal functions increases dependency and coupling.
When one module calls another's internal functions directly, it creates tight coupling. Using only public interfaces reduces coupling, making it loose.
Which of the following best compares logical cohesion and functional cohesion?
Think about whether tasks are related by purpose or just by timing.
Logical cohesion groups tasks that are related logically (like all input handling) but may perform different functions, while functional cohesion groups tasks that all contribute to one specific function.
A software system has modules with high cohesion but also high coupling. What is the most likely impact on maintainability?
Consider how coupling affects the impact of changes across modules.
High cohesion means modules do one thing well, but high coupling means modules depend heavily on each other, so changes can cause widespread problems, making maintenance difficult.