A structure chart represents the software architecture, i.e. the various modules making up the system, the dependency (which module calls which other modules), and the parameters that are passed among the different modules. Hence, the structure chart representation can be easily implemented using some programming language. Since the main focus in a structure chart representation is on the module structure of the software and the interactions among different modules, the procedural aspects (e.g. how a particular functionality is achieved) are not represented. The basic building blocks which are used to design structure charts are the following:
- Rectangular boxes: Represents a module.
- Module invocation arrows: Control is passed from on one module to another module in the direction of the connecting arrow.
- Data flow arrows: Arrows are annotated with data name; named data passes from one module to another module in the direction of the arrow.
- Library modules: Represented by a rectangle with double edges.
- Selection: Represented by a diamond symbol.
- Repetition: Represented by a loop around the control flow arrow.