What are Software Flowcharts?

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.


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.


Represent an operation in a program that changes the data in some way.


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.


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.


Some sort of external or internal data storage.


Single data document represented by a single rectangle, multiple they're stacked (as shown above).


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!