What is a flowchart?
A flow chart is a graphical representation of a process or system that details the sequencing of steps required to create output. A typical flow chart uses a set of basic symbols to represent various functions, and shows the sequence and interconnection of functions with lines and arrows. Each flow chart is concerned with one particular process or system. It begins with the input of data or materials into the system and traces all the procedures needed to convert the input into its final output form.
Flow chart symbols
Flowcharting symbols are dynamic and their meanings continue to grow and change depending on who uses them. Although standards have been established, people deviate from these standards to suit their own needs. In many cases, individual companies develop standards for their internal use. Here is some list of most commonly used computer programming flowchart symbols.
Terminal - indicate the flowchart's starting and ending points.
Process - depicts a process such as a mathematical computation, or a variable assignment.
Input/Output Symbol - represents data that is available for input or resulting from processing.
Connector (on-page connector) - Sometimes a flowchart is broken into two or more smaller flowcharts. This is usually done when a flowchart does not fit on a single page, or must be divided into sections. A connector symbol, which is a small circle with a letter or number inside it, allows you to connect two flowcharts on the same page.
Off-page connector - A connector symbol that looks like a pocket on a shirt, allows you to connect to a flowchart on a different page.
Decision - The diamond is used to represent the true/false statement being tested in a decision symbol.
Flow lines - Note: The default flow is left to right and top to bottom. To save time arrowheads are often only drawn when the flow lines go contrary the normal.
Subroutine - The computer temporarily runs the instructions in the subroutine and then returns to the instruction immediately following the subroutine call. Flowcharts for subroutines can be on different pages than the flowchart for the main program.
Uses of Flowcharts:
- Documenting process and interrelationship of process steps.
- Identifying actual and ideal paths that any data flows.
- Identifying the problems and potential improvements of the system or program.
Here are some examples of flowcharting:
1. Draw a flowchart to find the sum of first 30 natural numbers.
2. Draw a flowchart to find the largest of three numbers A, B, and C.
- Chart the process the way it is really occurring. Do not document the way a written process or a manager thinks the process happens. People typically modify existing processes to enable a more efficient process. If the desired or theoretical process is charted, problems with the existing process will not be recognized and no improvement can be made.
- Note all circumstances actually dealt with. If the operations described on the chart don't happen as charted all the time, note the exceptions on the chart. Is the part or report generated in the process always available when needed or is there sometimes a delay?
- Important assumptions and details should be noted on flow such as special training or assumed knowledge, special procedural requirements, time limitations, etc. to ensure awareness of all these issues when analyzing a process for changes.
- Where process improvements are time-based, collect data on the "standard" or "typical" time it takes for each step in the process and note each time on the flowchart at each step.
- Test the flowchart by trying to follow the chart to perform the process charted. If there is a problem performing the operation as charted, note any differences and modify the chart to correct. A better approach would be to have someone unfamiliar with the process try to follow the flow chart and note questions or problems found.
- Include mental steps in the process such as decisions. These steps are sometimes left out because of familiarity with the process, however, represents sources of problems due to a possible lack of training or information used to make the decision can be inadequte or incorrect if performed by a different person.