Ajay Prakash Nair
Ajay Prakash Nair's Blog

Ajay Prakash Nair's Blog

What is a Flowchart?

What is a Flowchart?

Ajay Prakash Nair's photo
Ajay Prakash Nair
·Dec 1, 2021·

3 min read

Subscribe to my newsletter and never miss my upcoming articles

A flowchart is a schematic representation of an algorithm or a stepwise process, showing the steps as boxes of various kinds, and their order by connecting these with arrows. Flowcharts are used in designing or documenting a process or program.

A flow chart, or flow diagram, is a graphical representation of a process or system that details the sequencing of steps required to create output.

A flowchart is a picture of the separate steps of a process in sequential order.

Types of Flowchart

High-Level Flowchart

A high-level (also called first-level or top-down) flowchart shows the major steps in a process. It illustrates a "birds-eye view" of a process, such as the example in the figure entitled High-Level Flowchart of Prenatal Care. It can also include the intermediate outputs of each step (the product or service produced), and the sub-steps involved. Such a flowchart offers a basic picture of the process and identifies the changes taking place within the process. It is significantly useful for identifying appropriate team members (those who are involved in the process) and for developing indicators for monitoring the process because of its focus on intermediate outputs.

Most processes can be adequately portrayed in four or five boxes that represent the major steps or activities of the process. In fact, it is a good idea to use only a few boxes, because doing so forces one to consider the most important steps. Other steps are usually sub-steps of the more important ones.

Detailed Flowchart

The detailed flowchart provides a detailed picture of a process by mapping all of the steps and activities that occur in the process. This type of flowchart indicates the steps or activities of a process and includes such things as decision points, waiting periods, tasks that frequently must be redone (rework), and feedback loops. This type of flowchart is useful for examining areas of the process in detail and for looking for problems or areas of inefficiency. For example, the Detailed Flowchart of Patient Registration reveals the delays that result when the record clerk and clinical officer are not available to assist clients.

Deployment or Matrix Flowchart

A deployment flowchart maps out the process in terms of who is doing the steps. It is in the form of a matrix, showing the various participants and the flow of steps among these participants. It is chiefly useful in identifying who is providing inputs or services to whom, as well as areas where different people may be needlessly doing the same task. See the Deployment of the Matrix Flowchart.

The benefits of flowcharts are as follows:

  1. Communication: Flowcharts are a better way of communicating the logic of a system to all concerned.

  2. Effective analysis: With the help of a flowchart, problems can be analyzed in a more effective way.

  3. Proper documentation: Program flowcharts serve as a good program documentation, which is needed for various purposes.

  4. Efficient Coding: The flowcharts act as a guide or blueprint during the systems analysis and program development phase.

  5. Proper Debugging: The flowchart helps in debugging process.

  6. Efficient Program Maintenance: The maintenance of the operating program becomes easy with the help of a flowchart. It helps the programmer to put effort more efficiently into that part.

Guidelines of drawing a Flowchart

Flowcharts are usually drawn using some standard symbols; however, some special symbols can also be developed when required. Some standard symbols, which are frequently required for flowcharting many computer programs.




A flowchart for computing factorial N (N!) Where N! = 1 2 3 ... N. 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.


Share this