Saturday, 6 December 2014

Understanding Large Codebases via Control Flow Diagrams and other Tools

Imagine a large software system, possibly poorly programmed without any documentation or comments. To understand the system well, we need to get a handle on its architecture. The first step could be to evaluate a reference copy, and clean it up. The next step may well be to make some basic documentation.

Tools to understand software:

Control flow diagrams
Data flow diagrams

Control flow diagrams were developed in the nineteen fifties and are used, not just in software, but also in modelling business processes e.g modelling a quality control process.

A rectangle with rounded edges represents a Start or End symbol.
A square or rectangular box represents a Process.
A rectangular box with one vertical bar either side represents a Subprocess.
Decisions/Conditionals are represented by diamond.

No comments: