A flowchart is a graphical depiction of a sequence of activities in a process. Flowcharts were first used in the early 20th century to describe engineering and manufacturing systems. With the rise of computer programming, the system flowchart has become a valuable tool for depicting the flow of control through a computer system and where decisions are made that affect the flow.
System Flowchart vs. Data Flowchart
A variety of standard symbols are used in both system and data flowcharts, with the shape of the symbol indicating its function. The symbols are connected by lines that show the direction of flow. Text inside the symbol describes its specific function. Unlike data flowcharts that show the movement of data, system flowcharts show decisions that change the flow of program logic. System flowcharts use the diamond symbol to represent yes/no decisions, with a separate line leaving the diamond for each response.
System Flowchart Symbols
All system flowcharts begin and end with an oval shape that indicates the beginning and end of the programming task being described. Within the flowchart, a rectangle is used to represent a process or activity to be completed. Data input or output to the system is represented by a parallelogram. In a computer system, examples of data input sources include keyboards, mice, scanners, cameras, microphones and different types of sensors. Examples of output destinations include 2D and 3D printers, display devices and speakers.
Reading a System Flowchart
If you want to understand a system, you need to know how to read the system flowchart that describes it. Beginning with the start symbol, follow the flowlines through each symbol to the end symbol. At each decision symbol, trace the alternative paths. Going through a flowchart this way is referred to as "desk checking" it. Programmers use desk checking to make sure all decisions and processes are correctly defined before they begin coding.
Benefits of System Flowcharts
Computer programming requires careful planning and logical thinking. Programmers need to thoroughly understand a task before beginning to code. System flowcharts were heavily used in the early days of programming to help system designers visualize all the decisions that needed to be addressed. Other tools have since been introduced that may be more appropriate for describing complex systems. One of these tools is pseudocode, which uses a combination of programming language syntax and English-like natural language to describe how a task will be completed. Many system designers find pseudocode easier to produce and modify than a complicated flowchart. However, flowcharts are still used for many business applications.