What are Software Flowcharts?

Flowcharts are a type of diagram used to represent a workflow or process. There are various types of flowcharts:
- Document flowcharts, showing controls over a document flow in a system.
- Data flowcharts, showing controls over a data-flow in a system
- System flowcharts, showing controls at a physical or resource level
- Program flowchart, showing the controls in a program within a system
Flowcharts have boxes of various types, and their order with connecting arrows. They're often used to document or manage a process of program. Flowcharts are also great for planning out complex software architecture.
Flowchart Symbols
There are various standard symbols that are used when building flowcharts.
Flowline (Arrowhead)
![]()
Show the process's order of operations. These link symbols together.
Terminal
![]()
These indicate the beginning or end of a program or subprocess. These usually contain the words "Start" or "End" or another phrase. For example, this may contain the words boot.
Process
![]()
Represent an operation in a program that changes the data in some way.
Decision
![]()
Shows a conditional operation in a program that changes the path the program will take. This is often a yes/no or true/false test.
Input/Output
![]()
Indicated some sort of input or output data, such as a user entering data or displaying results on a screen.
Predefined Process
![]()
Shows a named process that is defined elswhere.
Datafile/Database
![]()
Some sort of external or internal data storage.
Document(s)
![]()
Single data document represented by a single rectangle, multiple they're stacked (as shown above).
Example

Colors are used depending on the symbol normally.
Flowcharts can look really complex, but once you've worked with them for a little bit, it'll all start making sense!


