Structure charts in software design: What is the most accurate description of a structure chart used during modular program design?
-
Aa document that states what must be accomplished
-
Ba hierarchical partitioning of the program into modules and their calling relationships
-
Ca statement of information-processing requirements
-
DAll of the above
-
ENone of the above
Answer
Correct Answer: a hierarchical partitioning of the program into modules and their calling relationships
Explanation
Introduction / Context:Structure charts emerged from structured design to depict program architecture. They help engineers reason about module boundaries, coupling, and cohesion before coding, improving maintainability and testability.
Given Data / Assumptions:
- We are distinguishing design artifacts (how the system is built) from requirements artifacts (what the system must do).
- Structure charts show modules, calls, and data/control interfaces.
- They are not the same as requirement statements or general narratives.
Concept / Approach:A structure chart is a hierarchical decomposition of a program. Parent modules call child modules; data and control parameters are shown to clarify interfaces. This supports top-down design, minimizes coupling, and maximizes cohesion.
Step-by-Step Solution:Identify artifact type: design, not requirements.Recognize “hierarchical partitioning” as the core feature.Select the option that explicitly references modules and calling relations.
Verification / Alternative check:Design reviews often use structure charts and module interface specs together; if the chart shows levels and calls, it is a structure chart.
Why Other Options Are Wrong:
- What must be accomplished / processing requirements: These are requirement specifications, not structure charts.
- All of the above: Combines conflicting artifact purposes.
- None of the above: Incorrect because option describing hierarchical partitioning is correct.
Common Pitfalls:Overloading charts with data flow detail (better suited to DFDs); ignoring coupling measures that the chart is intended to highlight.
Final Answer:a hierarchical partitioning of the program into modules and their calling relationships