Software Design · Software Engineering

Structure Chart

Watch lectures

Structure Chart

Definition

A Structure Chart is a hierarchical diagram that shows the decomposition of a system into modules, the calling relationships between them (which module invokes which), and the data/control information passed between modules — the primary output of Structured Design.

Notation

Symbol Meaning
Rectangle A module
Arrow (line connecting boxes) Calling relationship (parent calls child)
Arrow with open circle (data arrow) Data passed between modules
Arrow with filled/solid circle (control arrow/flag) Control information passed (e.g., a flag)
Diamond at branch Conditional call (module calls one of several children based on a condition)
Curved arrow at branch Iterative call (module calls children repeatedly in a loop)

Example Structure Chart (simplified)

                    [Process Order]
                    /      │       \
             [Get Order] [Validate] [Generate Invoice]
                              │
                         (data: order)
  • Top module = highest level of control (the "boss" module)
  • Lower modules = more detailed, specific tasks
  • Modules communicate via parameters (data) shown as labeled arrows

Key Concepts Shown in a Structure Chart

  • Fan-out — number of modules directly called by a given module (should be moderate; too high = overly complex controller)
  • Fan-in — number of modules that call a given module (high fan-in = good reuse)
  • Depth — number of levels in the hierarchy
  • Width — total span of modules at the widest level

Purpose

  • Visualize the modular decomposition of the system
  • Communicate the architecture to the development team
  • Basis for evaluating coupling and cohesion of the design

Relationship to DFD

The Structure Chart is derived from the DFD via Transform Analysis or Transaction Analysis (see Structured Design topic) — DFD shows what data flows, Structure Chart shows how modules call each other to process it.


Exam tip: Practice drawing a structure chart for a simple system (e.g., "Process Order," "Student Registration") given its DFD — a very common practical diagram question. Know the data-flow arrow (open circle) vs control-flow arrow (filled circle) distinction.

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.

← All Software Engineering modules