Difficulty: Easy
Correct Answer: Both (a) and (b)
Explanation:
Introduction / Context:
Structured design emphasizes modularity, clear control flow, low coupling, and high cohesion. These principles are intended to yield code that is easier to reason about and adapt.
Given Data / Assumptions:
Concept / Approach:
When modules have single, clear purposes (high cohesion) and limited, predictable dependencies (low coupling), a change in one area is less likely to ripple widely. Predictable control flow also aids comprehension, code review, and testing.
Step-by-Step Solution:
1) Evaluate maintainability: modular design localizes change and supports refactoring.2) Evaluate understandability: clear flow and small, focused modules improve readability.3) Conclude both qualities are hallmarks of structured design outputs.
Verification / Alternative check:
Empirical studies and engineering practice find that cyclomatic complexity and coupling correlate with defect rates and maintenance costs; structured design aims to minimize those.
Why Other Options Are Wrong:
Heavy GOTO usage contradicts structured programming and increases testing complexity; “none” is false because structured design demonstrably improves maintainability and comprehension.
Common Pitfalls:
Mistaking design patterns or OOP features as substitutes for fundamental structure; the basics still matter.
Final Answer:
Both (a) and (b) — structured design produces programs that are easier to maintain and understand.
Discussion & Comments