By using certain styles and types of boxes to represent questions, logic gates and functions, the internal structure of software can be mapped out before it is actually programmed.
Flow charts developed within the computer industry primarily as a means of showing the steps involved in a process. They were used then, as now, to show steps in a series of accounting processes within the software. Each flow chart shape represents a step in the program.
It must be noted that flow charts are not the actual software; they are simply a developmental technique used to hammer out the basic shape and functionality of software. They make writing software easier as the general chain of events embedded in the software's structure can be seen. A flowchart represents the software in a simplified form, and does not necessarily represent it exactly but rather in a more figurative form. Flow charts essentially make the flow of transactions far easier to comprehend than raw code. They are also far easier to update than code.
Flow charts are a great help in generating the documentation for software on its completion. By interpreting the order of boxes a user manual can easily be written.
Flow charts are usually not dated, and therefore do not give an accurate timescale on development. Task duration cannot be ascertained purely from a flow chart. It is difficult also to understand the significance or importance of a task from a flow chart.