Structured design principles: which item below is NOT a requirement for a well-structured software design?

Difficulty: Easy

Correct Answer: Using many GOTO statements to jump across the codebase

Explanation:


Introduction / Context:
Structured design emphasizes clarity, maintainability, and testability through disciplined control structures and modular organization. This question asks you to identify what does not belong to structured design practices.


Given Data / Assumptions:

  • Structured programming favors sequence, selection, and iteration.
  • Low coupling and high cohesion improve modularity.
  • GOTO-heavy code degrades readability and reliability.


Concept / Approach:
Structured design avoids arbitrary jumps in flow that make reasoning about correctness difficult. Instead, it advocates for hierarchical decomposition, clear interfaces, and well-defined control constructs within modules.


Step-by-Step Solution:
1) Review standard tenets: hierarchy, low coupling, high cohesion, clear control flow.2) Evaluate each option against these tenets.3) The use of many GOTO statements conflicts with structured principles.4) Therefore, the option referencing many GOTO statements is the correct “NOT a requirement.”


Verification / Alternative check:
Classic literature (e.g., Dijkstra’s critique of GOTO) warns that unstructured jumps hinder verification and maintenance, confirming why structured design avoids them.


Why Other Options Are Wrong:
Top-to-bottom execution, hierarchical modularity, low coupling, and high cohesion are all hallmarks of structured design.


Common Pitfalls:
Believing that occasional, constrained jumps are equivalent to widespread GOTO usage; structured design is about predictable, composable control flow.


Final Answer:
Using many GOTO statements is not a requirement and, in fact, contradicts structured design.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion