Difficulty: Easy
Correct Answer: to identify a top-level function and then create a hierarchy of lower-level modules and components
Explanation:
Introduction / Context:
Top-down design (stepwise refinement) begins with a clear statement of the problem and iteratively decomposes it into smaller, cohesive modules. This method improves clarity, maintainability, and testability, and it aligns with modular programming and modern architectural practices.
Given Data / Assumptions:
Concept / Approach:
Correct top-down analysis identifies the top-level function and then organizes a hierarchy: subsystem → module → component → function. Each level refines interfaces and responsibilities, avoiding premature coding and ad hoc aggregation. The approach favors low coupling and high cohesion throughout the decomposition.
Step-by-Step Solution:
Verification / Alternative check:
Software engineering texts describe stepwise refinement as the canonical top-down method, often paired with structured design notations.
Why Other Options Are Wrong:
Preparing flowcharts after coding reverses the process (code-and-fix), increasing defects.
“Combining smaller components” describes bottom-up assembly, not top-down decomposition.
“All” cannot be correct as the other statements contradict top-down principles.
Common Pitfalls:
Decomposing by technical layers only; ensure decomposition follows business capabilities and use cases.
Final Answer:
to identify a top-level function and then create a hierarchy of lower-level modules and components
Discussion & Comments