Comet Code


What are Software Flowcharts?

#Software Design#Theory

Caelin Sutch


Table of contents

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) Flowline (Arrowhead)

Show the process's order of operations. These link symbols together.

Terminal 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 Process

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

Decision 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 Input/Output

Indicated some sort of input or output data, such as a user entering data or displaying results on a screen.

Predefined Process Predefined Process

Shows a named process that is defined elswhere.

Datafile/Database Datafile/Database

Some sort of external or internal data storage.

Document(s) Document(s)

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


Example Flowchart

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!

Related Content

Setting up a TypeScript NodeJS Application with Prettier and ESLint
#Software Design#Typescript#NodeJS

Caelin Sutch

Story Driven Development
#Software Design#Theory

Caelin Sutch

Caelin Sutch ©2020