Wednesday, November 16, 2011

Types of flowchart


Sterneckert (2003) suggested that flowcharts can be modelled from the perspective of different user groups (such as managers, system analysts and clerks) and that there are four general types:

    * Document flowcharts, showing controls over a document-flow through a system
    * Data flowcharts, showing controls over a data flows in a system
    * System flowcharts showing controls at a physical or resource level
    * Program flowchart, showing the controls in a program within a system

Notice that every type of flowchart focusses on some kind of control, rather than on the particular flow itself.
However there are several of these classifications.
For example Andrew Veronis (1978) named three basic types of flowcharts:
the system flowchart,
the general flowchart, and the
detailed flowchart.

FLOWCHART


A flowchart is a type of diagram, which represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. This diagrammatic representation can give a step-by-step solution to a given problem. Data is represented in these boxes, and arrows connecting them represent flow / direction of flow of data. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields.

Flowchart building blocks

Examples
A simple flowchart for computing factorial N (10!) A flowchart for computing factorial N (10!) where N! = (1*2*3*4*5*6*7*8*9*10).
                
This flowchart represents a "loop and a half" — a situation discussed in introductory programming textbooks that requires either a duplication of a component (to be both inside and outside the loop) or the component to be put inside a branch in the loop.

Symbols
A typical flowchart from older computer science textbooks may have the following kinds of symbols:

Start and end symbols
Represented as circles, ovals or rounded rectangles, usually containing the word "Start" or "End", or another phrase signaling the start or end of a process, such as "submit enquiry" or "receive product".

Arrows
Showing what's called "flow of control" in computer science. An arrow coming from one symbol and ending at another symbol represents that control passes to the symbol the arrow points to.

Processing steps
Represented as rectangles. Examples: "Add 1 to X"; "replace identified part"; "save changes" or similar.

Input/output
Represented as a parallelogram. Examples: Get X from the user; display X.

Conditional or decision
Represented as a diamond (rhombus). These typically contain a Yes/No question or True/False test. This symbol is unique in that it has two arrows coming out of it, usually from the bottom point and right point, one corresponding to Yes or True, and one corresponding to No or False. The arrows should always be labeled. A decision is necessary in a flowchart. More than two arrows can be used, but this is normally a clear indicator that a complex decision is being taken, in which case it may need to be broken-down further, or replaced with the "pre-defined process" symbol.

A number of other symbols that have less universal currency, such as:

    * A Document represented as a rectangle with a wavy base;
    * A Manual input represented by parallelogram, with the top irregularly sloping up from left to right. An example would be to signify data-entry from a form;
    * A Manual operation represented by a trapezoid with the longest parallel side at the top, to represent an operation or adjustment to process that can only be made manually.
    * A Data File represented by a cylinder.

Flowcharts may contain other symbols, such as connectors, usually represented as circles, to represent converging paths in the flowchart. Circles will have more than one arrow coming into them but only one going out. Some flowcharts may just have an arrow point to another arrow instead. These are useful to represent an iterative process (what in Computer Science is called a loop). A loop may, for example, consist of a connector where control first enters, processing steps, a conditional with one arrow exiting the loop, and one going back to the connector. Off-page connectors are often used to signify a connection to a (part of another) process held on another sheet or screen. It is important to remember to keep these connections logical in order. All processes should flow from top to bottom and left to right.