1
STRUCTURE CHARTS
Elements and Definitions
2
Software System Design
translates SRS into a
===> software system architecture:
systems static structure
systems possible dynamic behaviour
data structures
user interface design
3
Structured Analysis and Design
prepare and analyse a
Data Flow Diagram - DFD
derive from the DFD a
Structure Chart
4
Structure Chart
supports the system and module design phase
diagramming technique with annotations
hierarchy of modules
control (invocation) is explicitly modelled
data flows follow control hierarchy
decomposition is shown in the control hierarchy
software / computer oriented
derived from the DFD and further refined
5
System Structure - Control Hierarchy
S
I1 I2 C1 O1
I11 I12 I21 C11 O11 O12
6
Complete SC Design
Structure Chart Diagram
Data Dictionary (e.g. BNF)
Module Specifications (e.g. PDL)
===> consistent with DFD!
7
Structure Charts - Module
process / subroutine / task
unit of execution
accepts parameters as inputs
produces parameters as outputs
label
parameters: data or control
can be invoked and can invoke
label: verb
linked to module specification
8
Structure Charts - Special Modules
predefined (reused) module
label
highly useful
macro module
label avoid
multi-entry module
label
avoid
9
Structure Charts - Invocation / Call
call of subordinate module
connector element
NOT a data flow
one specific form of control
flow
has a direction
no split or join
NO label
10
Structure Charts -
Invocation / Jump to Address
call jumps INTO
invoked module
assembler type of
programming
modification at run-time
avoid
11
Structure Charts -
Sequence of Execution
sequence of subordinate
X
modules in the diagram is not
reflecting a binding sequence
of invocation
sequence of invocation is
defined in the specification of
the super-ordinate module
X1 X2 X3
module specification is
the decisive element
12
Structure Charts -
Conditional Execution
call of subordinate module
depends on a condition
no label
condition is defined in the
module specification
module specification is
the decisive element
13
Structure Charts -
Loops in the Execution
call of subordinate modules
runs in a loop
no label or condition
loop (and its condition) is
defined in the module
specification
module specification is
the decisive element
14
Structure Charts - Data Flow
flow of information
data transfer
label bound to invocation
label
has a direction
label no splits or joins
label: noun
specified in data-dictionary
15
Structure Charts - Control Flow
flow of control (<> invocation)
==> control execution path
of targeted module
label
bound to invocation
label
has a direction
label no splits or joins
label: flag, decision, condition
specified in data-dictionary
16
Structure Charts - Data Store
storage for permanent data
database / file
label
passive; no activity beyond
basic retrieval capacity
serviced by a module
label: noun
specified in data-dictionary
and/or with an ER-diagram
17
Structure Charts - Devices / Interfaces
provides connection to
peripheral devices
label
origin / destination of
external data flows (controls)
not part of the software
to be developed
label: noun
specified in data-dictionary
18
Structure Charts - SW Infrastructure
provides connection to
external systems, databases,
operating system, etc.
label origin / destination of
external data flows (controls)
not part of the software
to be developed
label: noun
specified in data-dictionary