In modular software design, what is a structure chart and how does it depict the program’s decomposition into interacting modules?

Difficulty: Easy

Correct Answer: A hierarchical partitioning of the program

Explanation:


Introduction / Context:
Designers need a visual map of how a large program is broken into parts and how those parts interact. The structure chart is the classic diagram for this purpose in structured design. It helps teams reason about coupling, cohesion, interfaces, and test planning before any code is written.


Given Data / Assumptions:

  • The program is decomposed into modules that call one another.
  • Interfaces (data and control) should be explicit between parents and children.
  • We seek the definition that best characterizes the artifact.


Concept / Approach:
A structure chart is a hierarchical diagram (tree) that shows modules, their calling relationships, and the data/control passed between them. It does not prescribe business requirements (that is the role of the requirements statement), nor is it merely a prose document; it is a design-time partitioning that guides implementation and testing strategies (for example, bottom-up integration of leaf modules).


Step-by-Step Solution:

1) Identify the diagram whose essence is hierarchical decomposition. 2) Distinguish requirements prose from design structure diagrams. 3) Conclude that the correct description is “a hierarchical partitioning of the program.”


Verification / Alternative check:
Textbook treatments of structured design consistently present structure charts alongside module interface definitions and data dictionaries to coordinate design artifacts.


Why Other Options Are Wrong:

A document of what has to be accomplished: that is a requirements or scope statement. A statement of information processing requirement: also a requirements artifact, not a structural diagram. All of the above: incorrect because only one option matches the design diagram’s definition.


Common Pitfalls:
Over-decomposing into trivial modules or omitting interface data flows can increase coupling and integration risk.


Final Answer:
A hierarchical partitioning of the program.

Discussion & Comments

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